# CbcHeuristic Class Reference

Heuristic base class. More...

`#include <CbcHeuristic.hpp>`

Inheritance diagram for CbcHeuristic:
[legend]
Collaboration diagram for CbcHeuristic:
[legend]

List of all members.

## Public Member Functions
| CbcHeuristic ()
| CbcHeuristic (CbcModel &model)
| CbcHeuristic (const CbcHeuristic &)
virtual | ~CbcHeuristic ()
virtual CbcHeuristic * | clone () const =0
| Clone.
CbcHeuristic & | operator= (const CbcHeuristic &rhs)
| Assignment operator.
virtual void | setModel (CbcModel *model)
| update model (This is needed if cliques update matrix etc)
virtual void | resetModel (CbcModel *model)=0
| Resets stuff if model changes.
virtual int | solution (double &objectiveValue, double *newSolution)=0
| 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 This is called after cuts have been added - so can not add cuts
virtual int | solution2 (double &, double *, OsiCuts &)
| returns 0 if no solution, 1 if valid solution, -1 if just returning an estimate of best possible solution with better objective value than one passed in Sets solution values if good, sets objective value (only if nonzero code) This is called at same time as cut generators - so can add cuts Default is do nothing
virtual void | validate ()
| Validate model i.e. sets when_ to 0 if necessary (may be NULL).
void | setWhen (int value)
| Sets "when" flag - 0 off, 1 at root, 2 other than root, 3 always.
int | when () const
| Gets "when" flag - 0 off, 1 at root, 2 other than root, 3 always.
void | setNumberNodes (int value)
| Sets number of nodes in subtree (default 200).
int | numberNodes () const
| Gets number of nodes in a subtree (default 200).
void | setSwitches (int value)
| Switches (does not apply equally to all heuristics) 1 bit - stop once allowable gap on objective reached 2 bit - always do given number of passes 4 bit - weaken cutoff by 5% every 50 passes? 8 bit - if has cutoff and suminf bobbling for 20 passes then first try halving distance to best possible then try keep halving distance to known cutoff 1024 bit - stop all heuristics on max time.
int | switches () const
| Switches (does not apply equally to all heuristics) 1 bit - stop once allowable gap on objective reached 2 bit - always do given number of passes 4 bit - weaken cutoff by 5% every 50 passes? 8 bit - if has cutoff and suminf bobbling for 20 passes then first try halving distance to best possible then try keep halving distance to known cutoff 1024 bit - stop all heuristics on max time.
bool | exitNow (double bestObjective) const
| Whether to exit at once on gap.
void | setFeasibilityPumpOptions (int value)
| Sets feasibility pump options (-1 is off).
int | feasibilityPumpOptions () const
| Gets feasibility pump options (-1 is off).
void | setModelOnly (CbcModel *model)
| Just set model - do not do anything else.
void | setFractionSmall (double value)
| Sets fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound (default 1.0).
double | fractionSmall () const
| Gets fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound (default 1.0).
int | numberSolutionsFound () const
| Get how many solutions the heuristic thought it got.
void | incrementNumberSolutionsFound ()
| Increment how many solutions the heuristic thought it got.
int | smallBranchAndBound (OsiSolverInterface *solver, int numberNodes, double *newSolution, double &newSolutionValue, double cutoff, std::string name) const
| Do mini branch and bound - return 0 not finished - no solution 1 not finished - solution 2 finished - no solution 3 finished - solution (could add global cut if finished) -1 returned on size -2 time or user event.
virtual void | generateCpp (FILE *)
| 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 bool | canDealWithOdd () const
| Returns true if can deal with "odd" problems e.g. sos type 2.
const char * | heuristicName () const
| return name of heuristic
void | setHeuristicName (const char *name)
| set name of heuristic
void | setSeed (int value)
| Set random number generator seed.
void | setDecayFactor (double value)
| Sets decay factor (for howOften) on failure.
void | setInputSolution (const double *solution, double objValue)
| Set input solution.
void | setWhereFrom (int value)
int | whereFrom () const
void | setShallowDepth (int value)
| Upto this depth we call the tree shallow and the heuristic can be called multiple times.
void | setHowOftenShallow (int value)
| How often to invoke the heuristics in the shallow part of the tree.
void | setMinDistanceToRun (int value)
| How "far" should this node be from every other where the heuristic was run in order to allow the heuristic to run in this node, too.
virtual bool | shouldHeurRun (int whereFrom)
| Check whether the heuristic should run at all 0 - before cuts at root node (or from doHeuristics) 1 - during cuts at root 2 - after root node cuts 3 - after cuts at other nodes 4 - during cuts at other nodes 8 added if previous heuristic in loop found solution.
bool | shouldHeurRun_randomChoice ()
| Check whether the heuristic should run this time.
void | debugNodes ()
void | printDistanceToNodes ()
int | numRuns () const
| how many times the heuristic has actually run
int | numCouldRun () const
| How many times the heuristic could run.
OsiSolverInterface * | cloneBut (int type)
| Clone, but .
## Protected Attributes
CbcModel * | model_
| Model.
int | when_
| When flag - 0 off, 1 at root, 2 other than root, 3 always.
int | numberNodes_
| Number of nodes in any sub tree.
int | feasibilityPumpOptions_
| Feasibility pump options (-1 is off).
double | fractionSmall_
| Fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound.
CoinThreadRandom | randomNumberGenerator_
| Thread specific random number generator.
std::string | heuristicName_
| Name for printing.
int | howOften_
| How often to do (code can change).
double | decayFactor_
| How much to increase how often.
int | switches_
| Switches (does not apply equally to all heuristics) 1 bit - stop once allowable gap on objective reached 2 bit - always do given number of passes 4 bit - weaken cutoff by 5% every 50 passes? 8 bit - if has cutoff and suminf bobbling for 20 passes then first try halving distance to best possible then try keep halving distance to known cutoff 1024 bit - stop all heuristics on max time.
int | whereFrom_
int | shallowDepth_
| Upto this depth we call the tree shallow and the heuristic can be called multiple times.
int | howOftenShallow_
| How often to invoke the heuristics in the shallow part of the tree.
int | numInvocationsInShallow_
| How many invocations happened within the same node when in a shallow part of the tree.
int | numInvocationsInDeep_
| How many invocations happened when in the deep part of the tree.
int | lastRunDeep_
| After how many deep invocations was the heuristic run last time.
int | numRuns_
| how many times the heuristic has actually run
int | minDistanceToRun_
| How "far" should this node be from every other where the heuristic was run in order to allow the heuristic to run in this node, too.
CbcHeuristicNodeList | runNodes_
| The description of the nodes where this heuristic has been applied.
int | numCouldRun_
| How many times the heuristic could run.
int | numberSolutionsFound_
| How many solutions the heuristic thought it got.
double * | inputSolution_
## Private Member Functions
void | gutsOfDelete ()
void | gutsOfCopy (const CbcHeuristic &rhs)

## Detailed Description

Heuristic base class.

Definition at line 77 of file CbcHeuristic.hpp.

## Constructor & Destructor Documentation

CbcHeuristic::CbcHeuristic | ( |  | ) |

CbcHeuristic::CbcHeuristic | ( | CbcModel & | model | ) |

CbcHeuristic::CbcHeuristic | ( | const CbcHeuristic & |  | ) |

virtual CbcHeuristic::~CbcHeuristic | ( |  | ) | `[virtual]`

## Member Function Documentation

void CbcHeuristic::gutsOfDelete | ( |  | ) | `[inline, private]`

Definition at line 79 of file CbcHeuristic.hpp.

void CbcHeuristic::gutsOfCopy | ( | const CbcHeuristic & | rhs | ) | `[private]`

virtual CbcHeuristic* CbcHeuristic::clone | ( |  | ) | const`[pure virtual]`

Clone.

Implemented in CbcRounding, CbcHeuristicPartial, CbcSerendipity, CbcHeuristicJustOne, CbcHeuristicDINS, CbcHeuristicDive, CbcHeuristicDiveCoefficient, CbcHeuristicDiveFractional, CbcHeuristicDiveGuided, CbcHeuristicDiveLineSearch, CbcHeuristicDivePseudoCost, CbcHeuristicDiveVectorLength, CbcHeuristicFPump, CbcHeuristicGreedyCover, CbcHeuristicGreedyEquality, CbcHeuristicGreedySOS, CbcHeuristicLocal, CbcHeuristicNaive, CbcHeuristicCrossover, CbcHeuristicPivotAndFix, CbcHeuristicRandRound, CbcHeuristicRENS, CbcHeuristicRINS, CbcHeuristicVND, and CbcHeuristicDynamic3.

CbcHeuristic& CbcHeuristic::operator= | ( | const CbcHeuristic & | rhs | ) |

Assignment operator.

Reimplemented in CbcRounding, CbcHeuristicPartial, CbcSerendipity, CbcHeuristicJustOne, CbcHeuristicDINS, CbcHeuristicDive, CbcHeuristicDiveCoefficient, CbcHeuristicDiveFractional, CbcHeuristicDiveGuided, CbcHeuristicDiveLineSearch, CbcHeuristicDivePseudoCost, CbcHeuristicDiveVectorLength, CbcHeuristicFPump, CbcHeuristicGreedyCover, CbcHeuristicGreedyEquality, CbcHeuristicGreedySOS, CbcHeuristicLocal, CbcHeuristicNaive, CbcHeuristicCrossover, CbcHeuristicPivotAndFix, CbcHeuristicRandRound, CbcHeuristicRENS, CbcHeuristicRINS, CbcHeuristicVND, and CbcHeuristicDynamic3.

virtual void CbcHeuristic::setModel | ( | CbcModel * | model | ) | `[virtual]`

update model (This is needed if cliques update matrix etc)

Reimplemented in CbcRounding, CbcHeuristicPartial, CbcSerendipity, CbcHeuristicJustOne, CbcHeuristicDINS, CbcHeuristicDive, CbcHeuristicFPump, CbcHeuristicGreedyCover, CbcHeuristicGreedyEquality, CbcHeuristicGreedySOS, CbcHeuristicLocal, CbcHeuristicNaive, CbcHeuristicCrossover, CbcHeuristicPivotAndFix, CbcHeuristicRandRound, CbcHeuristicRENS, CbcHeuristicRINS, CbcHeuristicVND, and CbcHeuristicDynamic3.

virtual void CbcHeuristic::resetModel | ( | CbcModel * | model | ) | `[pure virtual]`

Resets stuff if model changes.

Implemented in CbcRounding, CbcHeuristicPartial, CbcSerendipity, CbcHeuristicJustOne, CbcHeuristicDINS, CbcHeuristicDive, CbcHeuristicFPump, CbcHeuristicGreedyCover, CbcHeuristicGreedyEquality, CbcHeuristicGreedySOS, CbcHeuristicLocal, CbcHeuristicNaive, CbcHeuristicCrossover, CbcHeuristicPivotAndFix, CbcHeuristicRandRound, CbcHeuristicRENS, CbcHeuristicRINS, CbcHeuristicVND, and CbcHeuristicDynamic3.

virtual int CbcHeuristic::solution | ( | double & | objectiveValue,
|  | double * | newSolution |
| ) |  |  | `[pure 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 This is called after cuts have been added - so can not add cuts

Implemented in CbcRounding, CbcHeuristicPartial, CbcSerendipity, CbcHeuristicJustOne, CbcHeuristicDINS, CbcHeuristicDive, CbcHeuristicFPump, CbcHeuristicGreedyCover, CbcHeuristicGreedyEquality, CbcHeuristicGreedySOS, CbcHeuristicLocal, CbcHeuristicNaive, CbcHeuristicCrossover, CbcHeuristicPivotAndFix, CbcHeuristicRandRound, CbcHeuristicRENS, CbcHeuristicRINS, CbcHeuristicVND, and CbcHeuristicDynamic3.

virtual int CbcHeuristic::solution2 | ( | double & | ,
|  | double * | ,
|  | OsiCuts & |  |
| ) |  |  | `[inline, virtual]`

returns 0 if no solution, 1 if valid solution, -1 if just returning an estimate of best possible solution with better objective value than one passed in Sets solution values if good, sets objective value (only if nonzero code) This is called at same time as cut generators - so can add cuts Default is do nothing

Definition at line 121 of file CbcHeuristic.hpp.

virtual void CbcHeuristic::validate | ( |  | ) | `[inline, virtual]`

Validate model i.e. sets when_ to 0 if necessary (may be NULL).

Reimplemented in CbcRounding, CbcHeuristicPartial, CbcHeuristicJustOne, CbcHeuristicDive, CbcHeuristicGreedyCover, CbcHeuristicGreedyEquality, and CbcHeuristicGreedySOS.

Definition at line 128 of file CbcHeuristic.hpp.

void CbcHeuristic::setWhen | ( | int | value | ) | `[inline]`

Sets "when" flag - 0 off, 1 at root, 2 other than root, 3 always.

If 10 added then don't worry if validate says there are funny objects as user knows it will be fine

Definition at line 134 of file CbcHeuristic.hpp.

int CbcHeuristic::when | ( |  | ) | const`[inline]`

Gets "when" flag - 0 off, 1 at root, 2 other than root, 3 always.

Definition at line 138 of file CbcHeuristic.hpp.

void CbcHeuristic::setNumberNodes | ( | int | value | ) | `[inline]`

Sets number of nodes in subtree (default 200).

Definition at line 143 of file CbcHeuristic.hpp.

int CbcHeuristic::numberNodes | ( |  | ) | const`[inline]`

Gets number of nodes in a subtree (default 200).

Definition at line 147 of file CbcHeuristic.hpp.

void CbcHeuristic::setSwitches | ( | int | value | ) | `[inline]`

Switches (does not apply equally to all heuristics) 1 bit - stop once allowable gap on objective reached 2 bit - always do given number of passes 4 bit - weaken cutoff by 5% every 50 passes? 8 bit - if has cutoff and suminf bobbling for 20 passes then first try halving distance to best possible then try keep halving distance to known cutoff 1024 bit - stop all heuristics on max time.

Definition at line 159 of file CbcHeuristic.hpp.

int CbcHeuristic::switches | ( |  | ) | const`[inline]`

Switches (does not apply equally to all heuristics) 1 bit - stop once allowable gap on objective reached 2 bit - always do given number of passes 4 bit - weaken cutoff by 5% every 50 passes? 8 bit - if has cutoff and suminf bobbling for 20 passes then first try halving distance to best possible then try keep halving distance to known cutoff 1024 bit - stop all heuristics on max time.

Definition at line 171 of file CbcHeuristic.hpp.

bool CbcHeuristic::exitNow | ( | double | bestObjective | ) | const

Whether to exit at once on gap.

void CbcHeuristic::setFeasibilityPumpOptions | ( | int | value | ) | `[inline]`

Sets feasibility pump options (-1 is off).

Definition at line 177 of file CbcHeuristic.hpp.

int CbcHeuristic::feasibilityPumpOptions | ( |  | ) | const`[inline]`

Gets feasibility pump options (-1 is off).

Definition at line 181 of file CbcHeuristic.hpp.

void CbcHeuristic::setModelOnly | ( | CbcModel * | model | ) | `[inline]`

Just set model - do not do anything else.

Definition at line 185 of file CbcHeuristic.hpp.

void CbcHeuristic::setFractionSmall | ( | double | value | ) | `[inline]`

Sets fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound (default 1.0).

Definition at line 191 of file CbcHeuristic.hpp.

double CbcHeuristic::fractionSmall | ( |  | ) | const`[inline]`

Gets fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound (default 1.0).

Definition at line 195 of file CbcHeuristic.hpp.

int CbcHeuristic::numberSolutionsFound | ( |  | ) | const`[inline]`

Get how many solutions the heuristic thought it got.

Definition at line 199 of file CbcHeuristic.hpp.

void CbcHeuristic::incrementNumberSolutionsFound | ( |  | ) | `[inline]`

Increment how many solutions the heuristic thought it got.

Definition at line 203 of file CbcHeuristic.hpp.

int CbcHeuristic::smallBranchAndBound | ( | OsiSolverInterface * | solver,
|  | int | numberNodes,
|  | double * | newSolution,
|  | double & | newSolutionValue,
|  | double | cutoff,
|  | std::string | name |
| ) |  |  | const

Do mini branch and bound - return 0 not finished - no solution 1 not finished - solution 2 finished - no solution 3 finished - solution (could add global cut if finished) -1 returned on size -2 time or user event.

virtual void CbcHeuristic::generateCpp | ( | FILE * |  | ) | `[inline, virtual]`

Create C++ lines to get to current state.

Reimplemented in CbcRounding, CbcHeuristicPartial, CbcSerendipity, CbcHeuristicJustOne, CbcHeuristicDINS, CbcHeuristicDive, CbcHeuristicDiveCoefficient, CbcHeuristicDiveFractional, CbcHeuristicDiveGuided, CbcHeuristicDiveLineSearch, CbcHeuristicDivePseudoCost, CbcHeuristicDiveVectorLength, CbcHeuristicFPump, CbcHeuristicGreedyCover, CbcHeuristicGreedyEquality, CbcHeuristicGreedySOS, CbcHeuristicLocal, CbcHeuristicNaive, CbcHeuristicCrossover, CbcHeuristicPivotAndFix, CbcHeuristicRandRound, CbcHeuristicRINS, and CbcHeuristicVND.

Definition at line 220 of file CbcHeuristic.hpp.

void CbcHeuristic::generateCpp | ( | FILE * | fp,
|  | const char * | heuristic |
| ) |  |  |

Create C++ lines to get to current state - does work for base class.

Reimplemented in CbcHeuristicDive.

virtual bool CbcHeuristic::canDealWithOdd | ( |  | ) | const`[inline, virtual]`

Returns true if can deal with "odd" problems e.g. sos type 2.

Reimplemented in CbcHeuristicDynamic3.

Definition at line 224 of file CbcHeuristic.hpp.

const char* CbcHeuristic::heuristicName | ( |  | ) | const`[inline]`

return name of heuristic

Definition at line 228 of file CbcHeuristic.hpp.

void CbcHeuristic::setHeuristicName | ( | const char * | name | ) | `[inline]`

set name of heuristic

Definition at line 232 of file CbcHeuristic.hpp.

void CbcHeuristic::setSeed | ( | int | value | ) |

Set random number generator seed.

Reimplemented in CbcRounding.

void CbcHeuristic::setDecayFactor | ( | double | value | ) | `[inline]`

Sets decay factor (for howOften) on failure.

Definition at line 238 of file CbcHeuristic.hpp.

void CbcHeuristic::setInputSolution | ( | const double * | solution,
|  | double | objValue |
| ) |  |  |

Set input solution.

void CbcHeuristic::setWhereFrom | ( | int | value | ) | `[inline]`

Definition at line 251 of file CbcHeuristic.hpp.

int CbcHeuristic::whereFrom | ( |  | ) | const`[inline]`

Definition at line 254 of file CbcHeuristic.hpp.

void CbcHeuristic::setShallowDepth | ( | int | value | ) | `[inline]`

Upto this depth we call the tree shallow and the heuristic can be called multiple times.

That is, the test whether the current node is far from the others where the jeuristic was invoked will not be done, only the frequency will be tested. After that depth the heuristic will can be invoked only once per node, right before branching. That's when it'll be tested whether the heur should run at all.

Definition at line 263 of file CbcHeuristic.hpp.

void CbcHeuristic::setHowOftenShallow | ( | int | value | ) | `[inline]`

How often to invoke the heuristics in the shallow part of the tree.

Definition at line 267 of file CbcHeuristic.hpp.

void CbcHeuristic::setMinDistanceToRun | ( | int | value | ) | `[inline]`

How "far" should this node be from every other where the heuristic was run in order to allow the heuristic to run in this node, too.

Currently this is tested, but we may switch to avgDistanceToRun_ in the future.

Definition at line 273 of file CbcHeuristic.hpp.

virtual bool CbcHeuristic::shouldHeurRun | ( | int | whereFrom | ) | `[virtual]`

Check whether the heuristic should run at all 0 - before cuts at root node (or from doHeuristics) 1 - during cuts at root 2 - after root node cuts 3 - after cuts at other nodes 4 - during cuts at other nodes 8 added if previous heuristic in loop found solution.

Reimplemented in CbcHeuristicPartial.

bool CbcHeuristic::shouldHeurRun_randomChoice | ( |  | ) |

Check whether the heuristic should run this time.

void CbcHeuristic::debugNodes | ( |  | ) |

void CbcHeuristic::printDistanceToNodes | ( |  | ) |

int CbcHeuristic::numRuns | ( |  | ) | const`[inline]`

how many times the heuristic has actually run

Definition at line 291 of file CbcHeuristic.hpp.

int CbcHeuristic::numCouldRun | ( |  | ) | const`[inline]`

How many times the heuristic could run.

Definition at line 296 of file CbcHeuristic.hpp.

OsiSolverInterface* CbcHeuristic::cloneBut | ( | int | type | ) |

Clone, but .

..

If type is

- 0 clone the solver for the model,
- 1 clone the continuous solver for the model
- Add 2 to say without integer variables which are at low priority
- Add 4 to say quite likely infeasible so give up easily (clp only).

## Member Data Documentation

CbcModel* CbcHeuristic::model_`[protected]`

Model.

Definition at line 311 of file CbcHeuristic.hpp.

int CbcHeuristic::when_`[protected]`

When flag - 0 off, 1 at root, 2 other than root, 3 always.

Definition at line 313 of file CbcHeuristic.hpp.

int CbcHeuristic::numberNodes_`[protected]`

Number of nodes in any sub tree.

Definition at line 315 of file CbcHeuristic.hpp.

int CbcHeuristic::feasibilityPumpOptions_`[protected]`

Feasibility pump options (-1 is off).

Definition at line 317 of file CbcHeuristic.hpp.

double CbcHeuristic::fractionSmall_`[mutable, protected]`

Fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound.

Definition at line 319 of file CbcHeuristic.hpp.

CoinThreadRandom CbcHeuristic::randomNumberGenerator_`[protected]`

Thread specific random number generator.

Definition at line 321 of file CbcHeuristic.hpp.

std::string CbcHeuristic::heuristicName_`[protected]`

Name for printing.

Definition at line 323 of file CbcHeuristic.hpp.

int CbcHeuristic::howOften_`[protected]`

How often to do (code can change).

Reimplemented in CbcHeuristicDINS, CbcHeuristicRINS, and CbcHeuristicVND.

Definition at line 326 of file CbcHeuristic.hpp.

double CbcHeuristic::decayFactor_`[protected]`

How much to increase how often.

Definition at line 328 of file CbcHeuristic.hpp.

int CbcHeuristic::switches_`[mutable, protected]`

Switches (does not apply equally to all heuristics) 1 bit - stop once allowable gap on objective reached 2 bit - always do given number of passes 4 bit - weaken cutoff by 5% every 50 passes? 8 bit - if has cutoff and suminf bobbling for 20 passes then first try halving distance to best possible then try keep halving distance to known cutoff 1024 bit - stop all heuristics on max time.

Definition at line 338 of file CbcHeuristic.hpp.

int CbcHeuristic::whereFrom_`[protected]`

Definition at line 347 of file CbcHeuristic.hpp.

int CbcHeuristic::shallowDepth_`[protected]`

Upto this depth we call the tree shallow and the heuristic can be called multiple times.

That is, the test whether the current node is far from the others where the jeuristic was invoked will not be done, only the frequency will be tested. After that depth the heuristic will can be invoked only once per node, right before branching. That's when it'll be tested whether the heur should run at all.

Definition at line 354 of file CbcHeuristic.hpp.

int CbcHeuristic::howOftenShallow_`[protected]`

How often to invoke the heuristics in the shallow part of the tree.

Definition at line 356 of file CbcHeuristic.hpp.

int CbcHeuristic::numInvocationsInShallow_`[protected]`

How many invocations happened within the same node when in a shallow part of the tree.

Definition at line 359 of file CbcHeuristic.hpp.

int CbcHeuristic::numInvocationsInDeep_`[protected]`

How many invocations happened when in the deep part of the tree.

For every node we count only one invocation.

Definition at line 362 of file CbcHeuristic.hpp.

int CbcHeuristic::lastRunDeep_`[protected]`

After how many deep invocations was the heuristic run last time.

Definition at line 364 of file CbcHeuristic.hpp.

int CbcHeuristic::numRuns_`[protected]`

how many times the heuristic has actually run

Definition at line 366 of file CbcHeuristic.hpp.

int CbcHeuristic::minDistanceToRun_`[protected]`

How "far" should this node be from every other where the heuristic was run in order to allow the heuristic to run in this node, too.

Currently this is tested, but we may switch to avgDistanceToRun_ in the future.

Definition at line 370 of file CbcHeuristic.hpp.

CbcHeuristicNodeList CbcHeuristic::runNodes_`[protected]`

The description of the nodes where this heuristic has been applied.

Definition at line 373 of file CbcHeuristic.hpp.

int CbcHeuristic::numCouldRun_`[protected]`

How many times the heuristic could run.

Definition at line 376 of file CbcHeuristic.hpp.

int CbcHeuristic::numberSolutionsFound_`[protected]`

How many solutions the heuristic thought it got.

Definition at line 379 of file CbcHeuristic.hpp.

double* CbcHeuristic::inputSolution_`[protected]`

Definition at line 382 of file CbcHeuristic.hpp.

The documentation for this class was generated from the following file:

- /home/coin/svn-release/Cbc-2.7.7/Cbc/src/CbcHeuristic.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines