4 #include "CoinPragma.hpp"
140 const double* z_L =
duals_;
145 const double* b_L = tminlp_interface->
getColLower();
146 const double* b_U = tminlp_interface->
getColUpper();
178 const double alpha = 1.0;
180 alpha*gradLagTd + 0.5*alpha*alpha*dTHLagd;
This class is the base class for a solver that can be used in BonOsiSolverInterface to perform the st...
virtual void markHotStart(OsiTMINLPInterface *tminlp_interface)
Called to initialize solver before a bunch of strong branching solves.
virtual const double * getColLower() const
Get pointer to array[getNumCols()] of column lower bounds.
const TMINLP2TNLP * problem() const
get pointer to the TMINLP2TNLP adapter
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
CurvBranchingSolver()
Default Constructor.
void set_obj_value(Ipopt::Number value)
Manually set objective value.
virtual int getNumRows() const
Get number of rows.
const Ipopt::Number * duals_sol() const
get the dual values
Ipopt::SmartPtr< Ipopt::Journalist > & Jnlst()
virtual int getNumCols() const
Get number of columns.
virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface *tminlp_interface)
Called to solve the current TMINLP (with changed bound information)
Ipopt::Number obj_value() const
Get the objective value.
bool IsNull(const OSSmartPtr< U > &smart_ptr)
ReturnStatus
Standard return statuses for a solver.
StrongBranchingSolver & operator=(const StrongBranchingSolver &rhs)
Assignment operator.
CurvBranchingSolver & operator=(const CurvBranchingSolver &rhs)
Assignment operator.
void fint fint fint fint fint fint fint fint fint fint real real real real real real real real real fint real fint real * lam
const Ipopt::Number * x_sol() const
get the solution values
virtual const double * getColUpper() const
Get pointer to array[getNumCols()] of column upper bounds.
SmartPtr< CurvatureEstimator > cur_estimator_
virtual ~CurvBranchingSolver()
Destructor.
virtual void unmarkHotStart(OsiTMINLPInterface *tminlp_interface)
Called after all strong branching solves in a node.
Implementation of BonChooseVariable for curvature-based braching.
Ipopt::SmartPtr< Ipopt::OptionsList > & Options()