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