MeshKit  1.0
IAIntWaveNlp Class Reference

#include <IAIntWaveNlp.hpp>

Inheritance diagram for IAIntWaveNlp:

List of all members.

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 IADatadata
const IPDataipData
IASolutionsolution
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< SparseMatrixEntryhessian_vector

Private Member Functions

 IAIntWaveNlp ()
 IAIntWaveNlp (const IAIntWaveNlp &)
IAIntWaveNlpoperator= (const IAIntWaveNlp &)

Detailed Description

Definition at line 28 of file IAIntWaveNlp.hpp.


Member Typedef Documentation

typedef std::map<int, SparseMatrixEntry> SparseMatrixMap [protected]

Definition at line 145 of file IAIntWaveNlp.hpp.


Constructor & Destructor Documentation

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]

Member Function Documentation

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.


Member Data Documentation

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.

IANlp baseNlp [protected]

Definition at line 115 of file IAIntWaveNlp.hpp.

const IAData* data [protected]

Definition at line 107 of file IAIntWaveNlp.hpp.

const bool debugging [protected]

Definition at line 125 of file IAIntWaveNlp.hpp.

Definition at line 147 of file IAIntWaveNlp.hpp.

std::vector< SparseMatrixEntry > hessian_vector [protected]

Definition at line 148 of file IAIntWaveNlp.hpp.

const IPData* ipData [protected]

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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines