#include <BonCurvBranchingSolver.hpp>
Inheritance diagram for Bonmin::CurvBranchingSolver:
Public Member Functions | |
CurvBranchingSolver (OsiTMINLPInterface *solver) | |
Constructor from solver (so we can set up arrays etc). | |
CurvBranchingSolver (const CurvBranchingSolver &) | |
Copy constructor. | |
CurvBranchingSolver & | operator= (const CurvBranchingSolver &rhs) |
Assignment operator. | |
virtual | ~CurvBranchingSolver () |
Destructor. | |
virtual void | markHotStart (OsiTMINLPInterface *tminlp_interface) |
Called to initialize solver before a bunch of strong branching solves. | |
virtual TNLPSolver::ReturnStatus | solveFromHotStart (OsiTMINLPInterface *tminlp_interface) |
Called to solve the current TMINLP (with changed bound information). | |
virtual void | unmarkHotStart (OsiTMINLPInterface *tminlp_interface) |
Called after all strong branching solves in a node. | |
Private Member Functions | |
CurvBranchingSolver () | |
Default Constructor. | |
Private Attributes | |
SmartPtr< CurvatureEstimator > | cur_estimator_ |
Stuff for the curvature estimator | |
bool | new_bounds_ |
bool | new_x_ |
bool | new_mults_ |
double * | orig_d_ |
double * | projected_d_ |
Number * | x_l_orig_ |
Number * | x_u_orig_ |
Number * | g_l_orig_ |
Number * | g_u_orig_ |
Information about the problem | |
int | numCols_ |
int | numRows_ |
const double * | solution_ |
const double * | duals_ |
double | obj_value_ |
Definition at line 18 of file BonCurvBranchingSolver.hpp.
Bonmin::CurvBranchingSolver::CurvBranchingSolver | ( | OsiTMINLPInterface * | solver | ) |
Constructor from solver (so we can set up arrays etc).
Definition at line 13 of file BonCurvBranchingSolver.cpp.
Bonmin::CurvBranchingSolver::CurvBranchingSolver | ( | const CurvBranchingSolver & | ) |
Bonmin::CurvBranchingSolver::~CurvBranchingSolver | ( | ) | [virtual] |
Destructor.
Definition at line 47 of file BonCurvBranchingSolver.cpp.
References duals_, g_l_orig_, g_u_orig_, orig_d_, projected_d_, solution_, x_l_orig_, and x_u_orig_.
Bonmin::CurvBranchingSolver::CurvBranchingSolver | ( | ) | [private] |
Default Constructor.
CurvBranchingSolver & Bonmin::CurvBranchingSolver::operator= | ( | const CurvBranchingSolver & | rhs | ) |
Assignment operator.
Definition at line 38 of file BonCurvBranchingSolver.cpp.
References Bonmin::StrongBranchingSolver::operator=(), and x_l_orig_.
void Bonmin::CurvBranchingSolver::markHotStart | ( | OsiTMINLPInterface * | tminlp_interface | ) | [virtual] |
Called to initialize solver before a bunch of strong branching solves.
Implements Bonmin::StrongBranchingSolver.
Definition at line 60 of file BonCurvBranchingSolver.cpp.
References cur_estimator_, duals_, Bonmin::TMINLP2TNLP::duals_sol(), g_l_orig_, g_u_orig_, Bonmin::OsiTMINLPInterface::getNumCols(), Bonmin::OsiTMINLPInterface::getNumRows(), Bonmin::StrongBranchingSolver::Jnlst(), new_bounds_, new_mults_, new_x_, numCols_, numRows_, Bonmin::TMINLP2TNLP::obj_value(), obj_value_, Bonmin::StrongBranchingSolver::Options(), orig_d_, Bonmin::OsiTMINLPInterface::problem(), projected_d_, solution_, x_l_orig_, Bonmin::TMINLP2TNLP::x_sol(), and x_u_orig_.
TNLPSolver::ReturnStatus Bonmin::CurvBranchingSolver::solveFromHotStart | ( | OsiTMINLPInterface * | tminlp_interface | ) | [virtual] |
Called to solve the current TMINLP (with changed bound information).
Implements Bonmin::StrongBranchingSolver.
Definition at line 137 of file BonCurvBranchingSolver.cpp.
References alpha, Bonmin::TNLPSolver::computationError, cur_estimator_, duals_, g_l_orig_, g_u_orig_, Bonmin::OsiTMINLPInterface::getColLower(), Bonmin::OsiTMINLPInterface::getColUpper(), Bonmin::TNLPSolver::iterationLimit, lam, new_bounds_, new_mults_, new_x_, numCols_, numRows_, obj_value_, orig_d_, Bonmin::OsiTMINLPInterface::problem(), projected_d_, Bonmin::TMINLP2TNLP::set_obj_value(), solution_, x_l_orig_, and x_u_orig_.
void Bonmin::CurvBranchingSolver::unmarkHotStart | ( | OsiTMINLPInterface * | tminlp_interface | ) | [virtual] |
Called after all strong branching solves in a node.
Implements Bonmin::StrongBranchingSolver.
Definition at line 115 of file BonCurvBranchingSolver.cpp.
References duals_, g_l_orig_, g_u_orig_, orig_d_, projected_d_, solution_, x_l_orig_, and x_u_orig_.
SmartPtr<CurvatureEstimator> Bonmin::CurvBranchingSolver::cur_estimator_ [private] |
Definition at line 49 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), and solveFromHotStart().
bool Bonmin::CurvBranchingSolver::new_bounds_ [private] |
Definition at line 53 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), and solveFromHotStart().
bool Bonmin::CurvBranchingSolver::new_x_ [private] |
Definition at line 54 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), and solveFromHotStart().
bool Bonmin::CurvBranchingSolver::new_mults_ [private] |
Definition at line 55 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), and solveFromHotStart().
double* Bonmin::CurvBranchingSolver::orig_d_ [private] |
Definition at line 56 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().
double* Bonmin::CurvBranchingSolver::projected_d_ [private] |
Definition at line 57 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().
Number* Bonmin::CurvBranchingSolver::x_l_orig_ [private] |
Definition at line 58 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), operator=(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().
Number* Bonmin::CurvBranchingSolver::x_u_orig_ [private] |
Definition at line 59 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().
Number* Bonmin::CurvBranchingSolver::g_l_orig_ [private] |
Definition at line 60 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().
Number* Bonmin::CurvBranchingSolver::g_u_orig_ [private] |
Definition at line 61 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().
int Bonmin::CurvBranchingSolver::numCols_ [private] |
Definition at line 66 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), and solveFromHotStart().
int Bonmin::CurvBranchingSolver::numRows_ [private] |
Definition at line 67 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), and solveFromHotStart().
const double* Bonmin::CurvBranchingSolver::solution_ [private] |
Definition at line 68 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().
const double* Bonmin::CurvBranchingSolver::duals_ [private] |
Definition at line 69 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().
double Bonmin::CurvBranchingSolver::obj_value_ [private] |
Definition at line 70 of file BonCurvBranchingSolver.hpp.
Referenced by markHotStart(), and solveFromHotStart().