Dive class. More...
#include <CbcHeuristicDive.hpp>
Public Member Functions | |
CbcHeuristicDive () | |
CbcHeuristicDive (CbcModel &model) | |
CbcHeuristicDive (const CbcHeuristicDive &) | |
~CbcHeuristicDive () | |
virtual CbcHeuristicDive * | clone () const =0 |
Clone. | |
CbcHeuristicDive & | operator= (const CbcHeuristicDive &rhs) |
Assignment operator. | |
virtual void | generateCpp (FILE *fp) |
Create C++ lines to get to current state. | |
void | generateCpp (FILE *fp, const char *heuristic) |
Create C++ lines to get to current state - does work for base class. | |
virtual void | resetModel (CbcModel *model) |
Resets stuff if model changes. | |
virtual void | setModel (CbcModel *model) |
update model (This is needed if cliques update matrix etc) | |
virtual int | solution (double &objectiveValue, double *newSolution) |
returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets solution values if good, sets objective value (only if good) This is called after cuts have been added - so can not add cuts This does Fractional Diving | |
virtual void | validate () |
Validate model i.e. sets when_ to 0 if necessary (may be NULL). | |
void | selectBinaryVariables () |
Select candidate binary variables for fixing. | |
void | setPercentageToFix (double value) |
Set percentage of integer variables to fix at bounds. | |
void | setMaxIterations (int value) |
Set maximum number of iterations. | |
void | setMaxTime (double value) |
Set maximum time allowed. | |
virtual bool | canHeuristicRun () |
Tests if the heuristic can run. | |
virtual void | selectVariableToBranch (OsiSolverInterface *solver, const double *newSolution, int &bestColumn, int &bestRound)=0 |
Selects the next variable to branch on. | |
Protected Attributes | |
CoinPackedMatrix | matrix_ |
CoinPackedMatrix | matrixByRow_ |
unsigned short * | downLocks_ |
unsigned short * | upLocks_ |
std::vector< int > | binVarIndex_ |
std::vector< int > | vbRowIndex_ |
double | percentageToFix_ |
int | maxIterations_ |
double | maxTime_ |
Dive class.
Definition at line 11 of file CbcHeuristicDive.hpp.
CbcHeuristicDive::CbcHeuristicDive | ( | ) |
CbcHeuristicDive::CbcHeuristicDive | ( | CbcModel & | model | ) |
CbcHeuristicDive::CbcHeuristicDive | ( | const CbcHeuristicDive & | ) |
CbcHeuristicDive::~CbcHeuristicDive | ( | ) |
virtual CbcHeuristicDive* CbcHeuristicDive::clone | ( | ) | const [pure virtual] |
Clone.
Implements CbcHeuristic.
Implemented in CbcHeuristicDiveCoefficient, CbcHeuristicDiveFractional, CbcHeuristicDiveGuided, and CbcHeuristicDiveVectorLength.
CbcHeuristicDive& CbcHeuristicDive::operator= | ( | const CbcHeuristicDive & | rhs | ) |
Assignment operator.
Reimplemented from CbcHeuristic.
Reimplemented in CbcHeuristicDiveCoefficient, CbcHeuristicDiveFractional, CbcHeuristicDiveGuided, and CbcHeuristicDiveVectorLength.
virtual void CbcHeuristicDive::generateCpp | ( | FILE * | fp | ) | [inline, virtual] |
Create C++ lines to get to current state.
Reimplemented from CbcHeuristic.
Reimplemented in CbcHeuristicDiveCoefficient, CbcHeuristicDiveFractional, CbcHeuristicDiveGuided, and CbcHeuristicDiveVectorLength.
Definition at line 33 of file CbcHeuristicDive.hpp.
void CbcHeuristicDive::generateCpp | ( | FILE * | fp, | |
const char * | heuristic | |||
) |
Create C++ lines to get to current state - does work for base class.
Reimplemented from CbcHeuristic.
virtual void CbcHeuristicDive::resetModel | ( | CbcModel * | model | ) | [virtual] |
Resets stuff if model changes.
Implements CbcHeuristic.
virtual void CbcHeuristicDive::setModel | ( | CbcModel * | model | ) | [virtual] |
update model (This is needed if cliques update matrix etc)
Reimplemented from CbcHeuristic.
virtual int CbcHeuristicDive::solution | ( | double & | objectiveValue, | |
double * | newSolution | |||
) | [virtual] |
returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets solution values if good, sets objective value (only if good) This is called after cuts have been added - so can not add cuts This does Fractional Diving
Implements CbcHeuristic.
virtual void CbcHeuristicDive::validate | ( | ) | [virtual] |
Validate model i.e. sets when_ to 0 if necessary (may be NULL).
Reimplemented from CbcHeuristic.
void CbcHeuristicDive::selectBinaryVariables | ( | ) |
Select candidate binary variables for fixing.
void CbcHeuristicDive::setPercentageToFix | ( | double | value | ) | [inline] |
Set percentage of integer variables to fix at bounds.
Definition at line 61 of file CbcHeuristicDive.hpp.
void CbcHeuristicDive::setMaxIterations | ( | int | value | ) | [inline] |
Set maximum number of iterations.
Definition at line 65 of file CbcHeuristicDive.hpp.
void CbcHeuristicDive::setMaxTime | ( | double | value | ) | [inline] |
Set maximum time allowed.
Definition at line 69 of file CbcHeuristicDive.hpp.
virtual bool CbcHeuristicDive::canHeuristicRun | ( | ) | [virtual] |
Tests if the heuristic can run.
Reimplemented in CbcHeuristicDiveGuided.
virtual void CbcHeuristicDive::selectVariableToBranch | ( | OsiSolverInterface * | solver, | |
const double * | newSolution, | |||
int & | bestColumn, | |||
int & | bestRound | |||
) | [pure virtual] |
Selects the next variable to branch on.
Implemented in CbcHeuristicDiveCoefficient, CbcHeuristicDiveFractional, CbcHeuristicDiveGuided, and CbcHeuristicDiveVectorLength.
CoinPackedMatrix CbcHeuristicDive::matrix_ [protected] |
Definition at line 85 of file CbcHeuristicDive.hpp.
CoinPackedMatrix CbcHeuristicDive::matrixByRow_ [protected] |
Definition at line 88 of file CbcHeuristicDive.hpp.
unsigned short* CbcHeuristicDive::downLocks_ [protected] |
Definition at line 91 of file CbcHeuristicDive.hpp.
unsigned short* CbcHeuristicDive::upLocks_ [protected] |
Definition at line 94 of file CbcHeuristicDive.hpp.
std::vector<int> CbcHeuristicDive::binVarIndex_ [protected] |
Definition at line 98 of file CbcHeuristicDive.hpp.
std::vector<int> CbcHeuristicDive::vbRowIndex_ [protected] |
Definition at line 101 of file CbcHeuristicDive.hpp.
double CbcHeuristicDive::percentageToFix_ [protected] |
Definition at line 104 of file CbcHeuristicDive.hpp.
int CbcHeuristicDive::maxIterations_ [protected] |
Definition at line 107 of file CbcHeuristicDive.hpp.
double CbcHeuristicDive::maxTime_ [protected] |
Definition at line 110 of file CbcHeuristicDive.hpp.