#include <BonHeuristicDiveMIP.hpp>
Inheritance diagram for Bonmin::HeuristicDiveMIP:
Public Member Functions | |
HeuristicDiveMIP (BonminSetup *setup) | |
Constructor with setup. | |
HeuristicDiveMIP (const HeuristicDiveMIP ©) | |
Copy constructor. | |
~HeuristicDiveMIP () | |
Destructor. | |
HeuristicDiveMIP & | operator= (const HeuristicDiveMIP &rhs) |
Assignment operator. | |
virtual CbcHeuristic * | clone () const =0 |
Clone. | |
void | Initialize (BonminSetup *setup) |
Initialize method. | |
virtual void | resetModel (CbcModel *model) |
Resets stuff if model changes. | |
virtual void | setSetup (BonminSetup *setup) |
Change setup used for heuristic. | |
virtual int | solution (double &solutionValue, double *betterSolution) |
Performs heuristic. | |
virtual void | setInternalVariables (TMINLP2TNLP *minlp)=0 |
sets internal variables | |
virtual void | selectVariableToBranch (TMINLP2TNLP *minlp, const vector< int > &integerColumns, const double *newSolution, int &bestColumn, int &bestRound)=0 |
If bestColumn = -1, it means that no variable was found. | |
Protected Attributes | |
BonminSetup * | setup_ |
Setup to use for local searches (will make copies). | |
Private Attributes | |
int | howOften_ |
How often to do (code can change). | |
SubMipSolver * | mip_ |
A subsolver for MIP. |
Definition at line 19 of file BonHeuristicDiveMIP.hpp.
Bonmin::HeuristicDiveMIP::HeuristicDiveMIP | ( | BonminSetup * | setup | ) |
Constructor with setup.
Definition at line 40 of file BonHeuristicDiveMIP.cpp.
References Initialize().
Bonmin::HeuristicDiveMIP::HeuristicDiveMIP | ( | const HeuristicDiveMIP & | copy | ) |
Bonmin::HeuristicDiveMIP::~HeuristicDiveMIP | ( | ) |
HeuristicDiveMIP & Bonmin::HeuristicDiveMIP::operator= | ( | const HeuristicDiveMIP & | rhs | ) |
Assignment operator.
Definition at line 67 of file BonHeuristicDiveMIP.cpp.
References howOften_, mip_, and setup_.
Referenced by Bonmin::HeuristicDiveMIPVectorLength::operator=(), and Bonmin::HeuristicDiveMIPFractional::operator=().
virtual CbcHeuristic* Bonmin::HeuristicDiveMIP::clone | ( | ) | const [pure virtual] |
void Bonmin::HeuristicDiveMIP::Initialize | ( | BonminSetup * | setup | ) |
Initialize method.
Definition at line 51 of file BonHeuristicDiveMIP.cpp.
References mip_, and Bonmin::BabSetupBase::prefix().
Referenced by HeuristicDiveMIP().
virtual void Bonmin::HeuristicDiveMIP::resetModel | ( | CbcModel * | model | ) | [inline, virtual] |
virtual void Bonmin::HeuristicDiveMIP::setSetup | ( | BonminSetup * | setup | ) | [inline, virtual] |
Change setup used for heuristic.
Reimplemented in Bonmin::HeuristicDiveMIPFractional, and Bonmin::HeuristicDiveMIPVectorLength.
Definition at line 51 of file BonHeuristicDiveMIP.hpp.
References setup_.
Referenced by Bonmin::HeuristicDiveMIPVectorLength::setSetup(), and Bonmin::HeuristicDiveMIPFractional::setSetup().
int Bonmin::HeuristicDiveMIP::solution | ( | double & | solutionValue, | |
double * | betterSolution | |||
) | [virtual] |
Performs heuristic.
Definition at line 95 of file BonHeuristicDiveMIP.cpp.
References Bonmin::adjustPrimalTolerance(), Bonmin::B_BB, c, Bonmin::OsiTMINLPInterface::clone(), Bonmin::TMINLP::CONTINUOUS, Bonmin::TMINLP2TNLP::get_nlp_info(), Bonmin::TMINLP::get_variables_linearity(), Bonmin::BonminSetup::getAlgorithm(), Bonmin::OsiTMINLPInterface::getInfinity(), Bonmin::SubMipSolver::getLastSolution(), howOften_, Bonmin::OsiTMINLPInterface::initialSolve(), Bonmin::isNlpFeasible(), Couenne::LINEAR, mip_, Bonmin::OsiTMINLPInterface::model(), Bonmin::BabSetupBase::nonlinearSolver(), Bonmin::SubMipSolver::optimize(), Bonmin::OsiTMINLPInterface::problem(), selectVariableToBranch(), setInternalVariables(), Bonmin::SubMipSolver::setLpSolver(), setup_, and Bonmin::SubMipSolver::solver().
virtual void Bonmin::HeuristicDiveMIP::setInternalVariables | ( | TMINLP2TNLP * | minlp | ) | [pure virtual] |
sets internal variables
Implemented in Bonmin::HeuristicDiveMIPFractional, and Bonmin::HeuristicDiveMIPVectorLength.
Referenced by solution().
virtual void Bonmin::HeuristicDiveMIP::selectVariableToBranch | ( | TMINLP2TNLP * | minlp, | |
const vector< int > & | integerColumns, | |||
const double * | newSolution, | |||
int & | bestColumn, | |||
int & | bestRound | |||
) | [pure virtual] |
If bestColumn = -1, it means that no variable was found.
Implemented in Bonmin::HeuristicDiveMIPFractional, and Bonmin::HeuristicDiveMIPVectorLength.
Referenced by solution().
BonminSetup* Bonmin::HeuristicDiveMIP::setup_ [protected] |
Setup to use for local searches (will make copies).
Definition at line 73 of file BonHeuristicDiveMIP.hpp.
Referenced by operator=(), setSetup(), and solution().
int Bonmin::HeuristicDiveMIP::howOften_ [private] |
How often to do (code can change).
Definition at line 77 of file BonHeuristicDiveMIP.hpp.
Referenced by operator=(), and solution().
SubMipSolver* Bonmin::HeuristicDiveMIP::mip_ [private] |
A subsolver for MIP.
Definition at line 79 of file BonHeuristicDiveMIP.hpp.
Referenced by Initialize(), operator=(), solution(), and ~HeuristicDiveMIP().