#include <OSBonminSolver.h>
Public Member Functions | |
BonminProblem (OSInstance *osinstance_, OSOption *osoption_) | |
the BonminProblemclass constructor | |
virtual | ~BonminProblem () |
the BonminProblem class destructor | |
virtual bool | get_scaling_parameters (Ipopt::Number &obj_scaling, bool &use_x_scaling, Ipopt::Index n, Ipopt::Number *x_scaling, bool &use_g_scaling, Ipopt::Index m, Ipopt::Number *g_scaling) |
virtual const SosInfo * | sosConstraints () const |
virtual const BranchingInfo * | branchingInfo () const |
void | printSolutionAtEndOfAlgorithm () |
Overloaded functions specific to a TMINLP. | |
virtual bool | get_variables_types (Ipopt::Index n, VariableType *var_types) |
Pass the type of the variables (INTEGER, BINARY, CONTINUOUS) to the optimizer. | |
virtual bool | get_variables_linearity (Ipopt::Index n, Ipopt::TNLP::LinearityType *var_types) |
Pass info about linear and nonlinear variables. | |
virtual bool | get_constraints_linearity (Ipopt::Index m, Ipopt::TNLP::LinearityType *const_types) |
Pass the type of the constraints (LINEAR, NON_LINEAR) to the optimizer. | |
Overloaded functions defining a TNLP. | |
This group of function implement the various elements needed to define and solve a TNLP. They are the same as those in a standard Ipopt NLP problem | |
virtual bool | get_nlp_info (Ipopt::Index &n, Ipopt::Index &m, Ipopt::Index &nnz_jac_g, Ipopt::Index &nnz_h_lag, Ipopt::TNLP::IndexStyleEnum &index_style) |
Method to pass the main dimensions of the problem to Ipopt. | |
virtual bool | get_bounds_info (Ipopt::Index n, Ipopt::Number *x_l, Ipopt::Number *x_u, Ipopt::Index m, Ipopt::Number *g_l, Ipopt::Number *g_u) |
Bonmin specific methods for defining the nlp problem. | |
virtual bool | get_starting_point (Ipopt::Index n, bool init_x, Ipopt::Number *x, bool init_z, Ipopt::Number *z_L, Ipopt::Number *z_U, Ipopt::Index m, bool init_lambda, Ipopt::Number *lambda) |
Method to return the starting point for the algorithm. | |
virtual bool | eval_f (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number &obj_value) |
Method to return the objective value. | |
virtual bool | eval_grad_f (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number *grad_f) |
Method to return the gradient of the objective. | |
virtual bool | eval_g (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Index m, Ipopt::Number *g) |
Method to return the constraint residuals. | |
virtual bool | eval_jac_g (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Index m, Ipopt::Index nele_jac, Ipopt::Index *iRow, Ipopt::Index *jCol, Ipopt::Number *values) |
Method to return: 1) The structure of the jacobian (if "values" is NULL) 2) The values of the jacobian (if "values" is not NULL). | |
virtual bool | eval_h (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number obj_factor, Ipopt::Index m, const Ipopt::Number *lambda, bool new_lambda, Ipopt::Index nele_hess, Ipopt::Index *iRow, Ipopt::Index *jCol, Ipopt::Number *values) |
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). | |
Solution Methods | |
virtual void | finalize_solution (Bonmin::TMINLP::SolverReturn status_, Ipopt::Index n, const Ipopt::Number *x, Ipopt::Number obj_value) |
Method called by Ipopt at the end of optimization. | |
Public Attributes | |
OSInstance * | osinstance |
OSOption * | osoption |
Bonmin::TMINLP::SolverReturn | status |
Private Attributes | |
bool | printSol_ |
std::string | bonminErrorMsg |
Definition at line 53 of file OSBonminSolver.h.
BonminProblem::BonminProblem | ( | OSInstance * | osinstance_, | |
OSOption * | osoption_ | |||
) |
the BonminProblemclass constructor
Definition at line 1144 of file OSBonminSolver.cpp.
BonminProblem::~BonminProblem | ( | ) | [virtual] |
the BonminProblem class destructor
Definition at line 1151 of file OSBonminSolver.cpp.
virtual bool BonminProblem::get_variables_types | ( | Ipopt::Index | n, | |
VariableType * | var_types | |||
) | [virtual] |
Pass the type of the variables (INTEGER, BINARY, CONTINUOUS) to the optimizer.
n | size of var_types (has to be equal to the number of variables in the problem) | |
var_types | types of the variables (has to be filled by function). |
virtual bool BonminProblem::get_variables_linearity | ( | Ipopt::Index | n, | |
Ipopt::TNLP::LinearityType * | var_types | |||
) | [virtual] |
Pass info about linear and nonlinear variables.
virtual bool BonminProblem::get_constraints_linearity | ( | Ipopt::Index | m, | |
Ipopt::TNLP::LinearityType * | const_types | |||
) | [virtual] |
Pass the type of the constraints (LINEAR, NON_LINEAR) to the optimizer.
m | size of const_types (has to be equal to the number of constraints in the problem) | |
const_types | types of the constraints (has to be filled by function). |
virtual bool BonminProblem::get_nlp_info | ( | Ipopt::Index & | n, | |
Ipopt::Index & | m, | |||
Ipopt::Index & | nnz_jac_g, | |||
Ipopt::Index & | nnz_h_lag, | |||
Ipopt::TNLP::IndexStyleEnum & | index_style | |||
) | [virtual] |
Method to pass the main dimensions of the problem to Ipopt.
n | number of variables in problem. | |
m | number of constraints. | |
nnz_jac_g | number of nonzeroes in Jacobian of constraints system. | |
nnz_h_lag | number of nonzeroes in Hessian of the Lagrangean. | |
index_style | indicate wether arrays are numbered from 0 (C-style) or from 1 (Fortran). |
virtual bool BonminProblem::get_bounds_info | ( | Ipopt::Index | n, | |
Ipopt::Number * | x_l, | |||
Ipopt::Number * | x_u, | |||
Ipopt::Index | m, | |||
Ipopt::Number * | g_l, | |||
Ipopt::Number * | g_u | |||
) | [virtual] |
Bonmin specific methods for defining the nlp problem.
Method to return the bounds for my problem
virtual bool BonminProblem::get_starting_point | ( | Ipopt::Index | n, | |
bool | init_x, | |||
Ipopt::Number * | x, | |||
bool | init_z, | |||
Ipopt::Number * | z_L, | |||
Ipopt::Number * | z_U, | |||
Ipopt::Index | m, | |||
bool | init_lambda, | |||
Ipopt::Number * | lambda | |||
) | [virtual] |
Method to return the starting point for the algorithm.
virtual bool BonminProblem::eval_f | ( | Ipopt::Index | n, | |
const Ipopt::Number * | x, | |||
bool | new_x, | |||
Ipopt::Number & | obj_value | |||
) | [virtual] |
Method to return the objective value.
virtual bool BonminProblem::eval_grad_f | ( | Ipopt::Index | n, | |
const Ipopt::Number * | x, | |||
bool | new_x, | |||
Ipopt::Number * | grad_f | |||
) | [virtual] |
Method to return the gradient of the objective.
virtual bool BonminProblem::eval_g | ( | Ipopt::Index | n, | |
const Ipopt::Number * | x, | |||
bool | new_x, | |||
Ipopt::Index | m, | |||
Ipopt::Number * | g | |||
) | [virtual] |
Method to return the constraint residuals.
virtual bool BonminProblem::eval_jac_g | ( | Ipopt::Index | n, | |
const Ipopt::Number * | x, | |||
bool | new_x, | |||
Ipopt::Index | m, | |||
Ipopt::Index | nele_jac, | |||
Ipopt::Index * | iRow, | |||
Ipopt::Index * | jCol, | |||
Ipopt::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).
virtual bool BonminProblem::eval_h | ( | Ipopt::Index | n, | |
const Ipopt::Number * | x, | |||
bool | new_x, | |||
Ipopt::Number | obj_factor, | |||
Ipopt::Index | m, | |||
const Ipopt::Number * | lambda, | |||
bool | new_lambda, | |||
Ipopt::Index | nele_hess, | |||
Ipopt::Index * | iRow, | |||
Ipopt::Index * | jCol, | |||
Ipopt::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).
virtual bool BonminProblem::get_scaling_parameters | ( | Ipopt::Number & | obj_scaling, | |
bool & | use_x_scaling, | |||
Ipopt::Index | n, | |||
Ipopt::Number * | x_scaling, | |||
bool & | use_g_scaling, | |||
Ipopt::Index | m, | |||
Ipopt::Number * | g_scaling | |||
) | [virtual] |
virtual void BonminProblem::finalize_solution | ( | Bonmin::TMINLP::SolverReturn | status_, | |
Ipopt::Index | n, | |||
const Ipopt::Number * | x, | |||
Ipopt::Number | obj_value | |||
) | [virtual] |
Method called by Ipopt at the end of optimization.
virtual const SosInfo* BonminProblem::sosConstraints | ( | ) | const [inline, virtual] |
Definition at line 166 of file OSBonminSolver.h.
virtual const BranchingInfo* BonminProblem::branchingInfo | ( | ) | const [inline, virtual] |
Definition at line 170 of file OSBonminSolver.h.
void BonminProblem::printSolutionAtEndOfAlgorithm | ( | ) | [inline] |
Definition at line 175 of file OSBonminSolver.h.
Definition at line 66 of file OSBonminSolver.h.
Definition at line 68 of file OSBonminSolver.h.
Bonmin::TMINLP::SolverReturn BonminProblem::status |
Definition at line 70 of file OSBonminSolver.h.
bool BonminProblem::printSol_ [private] |
Definition at line 185 of file OSBonminSolver.h.
std::string BonminProblem::bonminErrorMsg [private] |
Definition at line 205 of file OSBonminSolver.h.