MeshKit
1.0
|
#include <IAIntWaveNlp.hpp>
Classes | |
struct | SparseMatrixEntry |
Public Member Functions | |
IAIntWaveNlp (const IAData *data_ptr, const IPData *ip_data_ptr, IASolution *solution_ptr, const bool set_silent=true) | |
virtual | ~IAIntWaveNlp () |
Overloaded from TNLP | |
virtual bool | get_nlp_info (Index &n, Index &m, Index &nnz_jac_g, Index &nnz_h_lag, IndexStyleEnum &index_style) |
virtual bool | get_bounds_info (Index n, Number *x_l, Number *x_u, Index m, Number *g_l, Number *g_u) |
virtual bool | get_starting_point (Index n, bool init_x, Number *x_init, bool init_z, Number *z_L, Number *z_U, Index m, bool init_lambda, Number *lambda) |
virtual bool | eval_f (Index n, const Number *x, bool new_x, Number &obj_value) |
virtual bool | eval_grad_f (Index n, const Number *x, bool new_x, Number *grad_f) |
virtual bool | eval_g (Index n, const Number *x, bool new_x, Index m, Number *g) |
virtual bool | eval_jac_g (Index n, const Number *x, bool new_x, Index m, Index nele_jac, Index *iRow, Index *jCol, Number *values) |
virtual bool | eval_h (Index n, const Number *x, bool new_x, Number obj_factor, Index m, const Number *lambda, bool new_lambda, Index nele_hess, Index *iRow, Index *jCol, Number *values) |
Solution Methods | |
virtual void | finalize_solution (SolverReturn status, Index n, const Number *x, const Number *z_L, const Number *z_U, Index m, const Number *g, const Number *lambda, Number obj_value, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq) |
Protected Types | |
typedef std::map< int, SparseMatrixEntry > | SparseMatrixMap |
Protected Member Functions | |
double | f_x_value (double I_i, double x_i) |
void | add_hessian_entry (int i, int j, int &k) |
void | build_hessian () |
int | get_hessian_k (int i, int j) |
void | print_hessian () |
virtual double | eval_g_int_x (const double x)=0 |
virtual double | eval_g_int_s (const double s)=0 |
virtual double | eval_jac_int_x (const double x)=0 |
virtual double | eval_jac_int_s (const double s)=0 |
virtual double | eval_hess_int_x (const double x)=0 |
virtual double | eval_hess_int_s (const double s)=0 |
Protected Attributes | |
const IAData * | data |
const IPData * | ipData |
IASolution * | solution |
IANlp | baseNlp |
const int | base_n |
const int | base_m |
const int | problem_n |
const int | problem_m |
const int | wave_even_constraint_start |
const int | wave_int_constraint_start |
const bool | silent |
const bool | debugging |
const bool | verbose |
SparseMatrixMap | hessian_map |
std::vector< SparseMatrixEntry > | hessian_vector |
Private Member Functions | |
IAIntWaveNlp () | |
IAIntWaveNlp (const IAIntWaveNlp &) | |
IAIntWaveNlp & | operator= (const IAIntWaveNlp &) |
Definition at line 28 of file IAIntWaveNlp.hpp.
typedef std::map<int, SparseMatrixEntry> SparseMatrixMap [protected] |
Definition at line 145 of file IAIntWaveNlp.hpp.
IAIntWaveNlp | ( | const IAData * | data_ptr, |
const IPData * | ip_data_ptr, | ||
IASolution * | solution_ptr, | ||
const bool | set_silent = true |
||
) |
default constructor
Definition at line 23 of file IAIntWaveNlp.cpp.
~IAIntWaveNlp | ( | ) | [virtual] |
default destructor
Definition at line 42 of file IAIntWaveNlp.cpp.
IAIntWaveNlp | ( | ) | [private] |
IAIntWaveNlp | ( | const IAIntWaveNlp & | ) | [private] |
void add_hessian_entry | ( | int | i, |
int | j, | ||
int & | k | ||
) | [protected] |
Definition at line 347 of file IAIntWaveNlp.cpp.
void build_hessian | ( | ) | [protected] |
Definition at line 363 of file IAIntWaveNlp.cpp.
bool eval_f | ( | Index | n, |
const Number * | x, | ||
bool | new_x, | ||
Number & | obj_value | ||
) | [virtual] |
Method to return the objective value
Definition at line 147 of file IAIntWaveNlp.cpp.
bool eval_g | ( | Index | n, |
const Number * | x, | ||
bool | new_x, | ||
Index | m, | ||
Number * | g | ||
) | [virtual] |
Method to return the constraint residuals
Definition at line 160 of file IAIntWaveNlp.cpp.
virtual double eval_g_int_s | ( | const double | s | ) | [protected, pure virtual] |
Implemented in IAIntParabolaNlp, and IAIntCosNlp.
virtual double eval_g_int_x | ( | const double | x | ) | [protected, pure virtual] |
Implemented in IAIntParabolaNlp, and IAIntCosNlp.
bool eval_grad_f | ( | Index | n, |
const Number * | x, | ||
bool | new_x, | ||
Number * | grad_f | ||
) | [virtual] |
Method to return the gradient of the objective
Definition at line 154 of file IAIntWaveNlp.cpp.
bool eval_h | ( | Index | n, |
const Number * | x, | ||
bool | new_x, | ||
Number | obj_factor, | ||
Index | m, | ||
const Number * | lambda, | ||
bool | new_lambda, | ||
Index | nele_hess, | ||
Index * | iRow, | ||
Index * | jCol, | ||
Number * | values | ||
) | [virtual] |
Method to return: 1) The structure of the hessian of the lagrangian (if "values" is NULL) 2) The values of the hessian of the lagrangian (if "values" is not NULL)
Definition at line 461 of file IAIntWaveNlp.cpp.
virtual double eval_hess_int_s | ( | const double | s | ) | [protected, pure virtual] |
Implemented in IAIntParabolaNlp, and IAIntCosNlp.
virtual double eval_hess_int_x | ( | const double | x | ) | [protected, pure virtual] |
Implemented in IAIntParabolaNlp, and IAIntCosNlp.
bool eval_jac_g | ( | Index | n, |
const Number * | x, | ||
bool | new_x, | ||
Index | m, | ||
Index | nele_jac, | ||
Index * | iRow, | ||
Index * | jCol, | ||
Number * | values | ||
) | [virtual] |
Method to return: 1) The structure of the jacobian (if "values" is NULL) 2) The values of the jacobian (if "values" is not NULL)
Definition at line 201 of file IAIntWaveNlp.cpp.
virtual double eval_jac_int_s | ( | const double | s | ) | [protected, pure virtual] |
Implemented in IAIntParabolaNlp, and IAIntCosNlp.
virtual double eval_jac_int_x | ( | const double | x | ) | [protected, pure virtual] |
Implemented in IAIntParabolaNlp, and IAIntCosNlp.
double f_x_value | ( | double | I_i, |
double | x_i | ||
) | [protected] |
void finalize_solution | ( | SolverReturn | status, |
Index | n, | ||
const Number * | x, | ||
const Number * | z_L, | ||
const Number * | z_U, | ||
Index | m, | ||
const Number * | g, | ||
const Number * | lambda, | ||
Number | obj_value, | ||
const IpoptData * | ip_data, | ||
IpoptCalculatedQuantities * | ip_cq | ||
) | [virtual] |
This method is called when the algorithm is complete so the TNLP can store/write the solution
Definition at line 575 of file IAIntWaveNlp.cpp.
bool get_bounds_info | ( | Index | n, |
Number * | x_l, | ||
Number * | x_u, | ||
Index | m, | ||
Number * | g_l, | ||
Number * | g_u | ||
) | [virtual] |
Method to return the bounds for my problem
Definition at line 100 of file IAIntWaveNlp.cpp.
int get_hessian_k | ( | int | i, |
int | j | ||
) | [protected] |
Definition at line 411 of file IAIntWaveNlp.cpp.
bool get_nlp_info | ( | Index & | n, |
Index & | m, | ||
Index & | nnz_jac_g, | ||
Index & | nnz_h_lag, | ||
IndexStyleEnum & | index_style | ||
) | [virtual] |
Method to return some info about the nlp
Definition at line 45 of file IAIntWaveNlp.cpp.
bool get_starting_point | ( | Index | n, |
bool | init_x, | ||
Number * | x_init, | ||
bool | init_z, | ||
Number * | z_L, | ||
Number * | z_U, | ||
Index | m, | ||
bool | init_lambda, | ||
Number * | lambda | ||
) | [virtual] |
Method to return the starting point for the algorithm
Definition at line 125 of file IAIntWaveNlp.cpp.
IAIntWaveNlp& operator= | ( | const IAIntWaveNlp & | ) | [private] |
void print_hessian | ( | ) | [protected] |
Definition at line 420 of file IAIntWaveNlp.cpp.
const int base_m [protected] |
Definition at line 117 of file IAIntWaveNlp.hpp.
const int base_n [protected] |
Definition at line 117 of file IAIntWaveNlp.hpp.
Definition at line 115 of file IAIntWaveNlp.hpp.
Definition at line 107 of file IAIntWaveNlp.hpp.
const bool debugging [protected] |
Definition at line 125 of file IAIntWaveNlp.hpp.
SparseMatrixMap hessian_map [protected] |
Definition at line 147 of file IAIntWaveNlp.hpp.
std::vector< SparseMatrixEntry > hessian_vector [protected] |
Definition at line 148 of file IAIntWaveNlp.hpp.
Definition at line 108 of file IAIntWaveNlp.hpp.
const int problem_m [protected] |
Definition at line 118 of file IAIntWaveNlp.hpp.
const int problem_n [protected] |
Definition at line 118 of file IAIntWaveNlp.hpp.
const bool silent [protected] |
Definition at line 124 of file IAIntWaveNlp.hpp.
IASolution* solution [protected] |
Definition at line 111 of file IAIntWaveNlp.hpp.
const bool verbose [protected] |
Definition at line 126 of file IAIntWaveNlp.hpp.
const int wave_even_constraint_start [protected] |
Definition at line 119 of file IAIntWaveNlp.hpp.
const int wave_int_constraint_start [protected] |
Definition at line 120 of file IAIntWaveNlp.hpp.