Bonmin::CurvBranchingSolver Class Reference

Implementation of BonChooseVariable for curvature-based braching. More...

#include <BonCurvBranchingSolver.hpp>

Inheritance diagram for Bonmin::CurvBranchingSolver:

Inheritance graph
[legend]
Collaboration diagram for Bonmin::CurvBranchingSolver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CurvBranchingSolver (OsiTMINLPInterface *solver)
 Constructor from solver (so we can set up arrays etc).
 CurvBranchingSolver (const CurvBranchingSolver &)
 Copy constructor.
CurvBranchingSolveroperator= (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< CurvatureEstimatorcur_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_

Detailed Description

Implementation of BonChooseVariable for curvature-based braching.

Definition at line 15 of file BonCurvBranchingSolver.hpp.


Constructor & Destructor Documentation

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  ) 

Copy constructor.

Definition at line 25 of file BonCurvBranchingSolver.cpp.

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.


Member Function Documentation

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_.


Member Data Documentation

SmartPtr<CurvatureEstimator> Bonmin::CurvBranchingSolver::cur_estimator_ [private]

Definition at line 46 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), and solveFromHotStart().

bool Bonmin::CurvBranchingSolver::new_bounds_ [private]

Definition at line 50 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), and solveFromHotStart().

bool Bonmin::CurvBranchingSolver::new_x_ [private]

Definition at line 51 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), and solveFromHotStart().

bool Bonmin::CurvBranchingSolver::new_mults_ [private]

Definition at line 52 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), and solveFromHotStart().

double* Bonmin::CurvBranchingSolver::orig_d_ [private]

Definition at line 53 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().

double* Bonmin::CurvBranchingSolver::projected_d_ [private]

Definition at line 54 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().

Number* Bonmin::CurvBranchingSolver::x_l_orig_ [private]

Definition at line 55 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), operator=(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().

Number* Bonmin::CurvBranchingSolver::x_u_orig_ [private]

Definition at line 56 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().

Number* Bonmin::CurvBranchingSolver::g_l_orig_ [private]

Definition at line 57 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().

Number* Bonmin::CurvBranchingSolver::g_u_orig_ [private]

Definition at line 58 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().

int Bonmin::CurvBranchingSolver::numCols_ [private]

Definition at line 63 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), and solveFromHotStart().

int Bonmin::CurvBranchingSolver::numRows_ [private]

Definition at line 64 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), and solveFromHotStart().

const double* Bonmin::CurvBranchingSolver::solution_ [private]

Definition at line 65 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().

const double* Bonmin::CurvBranchingSolver::duals_ [private]

Definition at line 66 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), solveFromHotStart(), unmarkHotStart(), and ~CurvBranchingSolver().

double Bonmin::CurvBranchingSolver::obj_value_ [private]

Definition at line 67 of file BonCurvBranchingSolver.hpp.

Referenced by markHotStart(), and solveFromHotStart().


The documentation for this class was generated from the following files:
Generated on Thu Aug 5 03:12:18 2010 by  doxygen 1.4.7