62 std::shared_ptr<std::vector<Constraint>> constraintPropertiesIn, std::shared_ptr<DagObj> dagObj);
76 virtual bool get_nlp_info(Ipopt::Index& n, Ipopt::Index& m, Ipopt::Index& nnz_jac_g,
77 Ipopt::Index& nnz_h_lag, IndexStyleEnum& Index_style);
88 virtual bool get_bounds_info(Ipopt::Index n, Ipopt::Number* x_l, Ipopt::Number* x_u,
89 Ipopt::Index m, Ipopt::Number* g_l, Ipopt::Number* g_u);
105 bool init_z, Ipopt::Number* z_L, Ipopt::Number* z_U,
106 Ipopt::Index m,
bool init_lambda,
107 Ipopt::Number* lambda);
116 virtual bool eval_f(Ipopt::Index n,
const Ipopt::Number* x,
bool new_x, Ipopt::Number& obj_value);
126 virtual bool eval_grad_f(Ipopt::Index n,
const Ipopt::Number* x,
bool new_x, Ipopt::Number* grad_f);
137 virtual bool eval_g(Ipopt::Index n,
const Ipopt::Number* x,
bool new_x, Ipopt::Index m, Ipopt::Number* g);
151 virtual bool eval_jac_g(Ipopt::Index n,
const Ipopt::Number* x,
bool new_x,
152 Ipopt::Index m, Ipopt::Index nele_jac, Ipopt::Index* iRow, Ipopt::Index* jCol,
153 Ipopt::Number* values);
170 virtual bool eval_h(Ipopt::Index n,
const Ipopt::Number* x,
bool new_x,
171 Ipopt::Number obj_factor, Ipopt::Index m,
const Ipopt::Number* lambda,
172 bool new_lambda, Ipopt::Index nele_hess, Ipopt::Index* iRow,
173 Ipopt::Index* jCol, Ipopt::Number* values);
191 Ipopt::Index n,
const Ipopt::Number* x,
const Ipopt::Number* z_L,
const Ipopt::Number* z_U,
192 Ipopt::Index m,
const Ipopt::Number* g,
const Ipopt::Number* lambda,
193 Ipopt::Number obj_value,
194 const Ipopt::IpoptData* ip_data,
195 Ipopt::IpoptCalculatedQuantities* ip_cq);
virtual bool eval_g(Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Index m, Ipopt::Number *g)
Function called by Ipopt to evaluate the constraints.
Definition: ipoptProblem.cpp:145
std::vector< double > _xL
Definition: ipoptProblem.h:228
virtual bool eval_f(Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number &obj_value)
Function called by Ipopt to evaluate the objective function.
Definition: ipoptProblem.cpp:125
std::shared_ptr< std::vector< Constraint > > _constraintProperties
Definition: ipoptProblem.h:226
virtual ~IpoptProblem()
Destructor.
Definition: ipoptProblem.cpp:36
virtual bool eval_grad_f(Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number *grad_f)
Function called by Ipopt to evaluate the gradient of the objective function.
Definition: ipoptProblem.cpp:135
virtual bool get_nlp_info(Ipopt::Index &n, Ipopt::Index &m, Ipopt::Index &nnz_jac_g, Ipopt::Index &nnz_h_lag, IndexStyleEnum &Index_style)
Function called by Ipopt to get basic information on the problem.
Definition: ipoptProblem.cpp:44
std::shared_ptr< DagObj > _DAGobj
Definition: ipoptProblem.h:215
IpoptProblem()
Standard constructor.
IpoptProblem & operator=(const IpoptProblem &)
Ipopt::Index _nineqSquash
Definition: ipoptProblem.h:223
double get_solution(std::vector< double > &sol_x)
Function called from the upper bounding wrapper to query the solution.
Definition: ipoptProblem.cpp:249
Ipopt::Index _nvar
Definition: ipoptProblem.h:221
UbpStructure * _structure
Definition: ipoptProblem.h:225
std::vector< double > _xStart
Definition: ipoptProblem.h:230
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)
Function called by Ipopt to evaluate the Hessian - not implemented, just throws an exception! ...
Definition: ipoptProblem.cpp:189
namespace holding all essentials of MAiNGO
Definition: aleModel.h:25
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)
Function called by Ipopt to get information on variables bounds.
Definition: ipoptProblem.cpp:69
double _solution_f
Definition: ipoptProblem.h:227
std::vector< double > _xU
Definition: ipoptProblem.h:229
void set_bounds_and_starting_point(const std::vector< double > &xL, const std::vector< double > &xU, const std::vector< double > &xStart)
Function called from the upper bounding wrapper to specify the variable bounds and starting point...
Definition: ipoptProblem.cpp:259
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)
Function called by Ipopt to evaluate the constraints.
Definition: ipoptProblem.cpp:155
Ipopt::Index _nineq
Definition: ipoptProblem.h:222
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)
Function called by Ipopt to query the starting point for local search.
Definition: ipoptProblem.cpp:103
Class for representing problems to be solved by IpOpt, providing an interface to the problem definiti...
Definition: ipoptProblem.h:42
Struct for storing structure information for the upper bounding solver.
Definition: ubpStructure.h:30
virtual void finalize_solution(Ipopt::SolverReturn status, Ipopt::Index n, const Ipopt::Number *x, const Ipopt::Number *z_L, const Ipopt::Number *z_U, Ipopt::Index m, const Ipopt::Number *g, const Ipopt::Number *lambda, Ipopt::Number obj_value, const Ipopt::IpoptData *ip_data, Ipopt::IpoptCalculatedQuantities *ip_cq)
Function called by Ipopt to communicate the result of the local search.
Definition: ipoptProblem.cpp:230
Ipopt::Index _neq
Definition: ipoptProblem.h:224
std::vector< double > _solutionX
Definition: ipoptProblem.h:231