|
| CbcHeuristicDiveGuided () |
|
| CbcHeuristicDiveGuided (CbcModel &model) |
|
| CbcHeuristicDiveGuided (const CbcHeuristicDiveGuided &) |
|
| ~CbcHeuristicDiveGuided () |
|
virtual CbcHeuristicDiveGuided * | clone () const |
| Clone. More...
|
|
CbcHeuristicDiveGuided & | operator= (const CbcHeuristicDiveGuided &rhs) |
| Assignment operator. More...
|
|
virtual void | generateCpp (FILE *fp) |
| Create C++ lines to get to current state. More...
|
|
virtual bool | canHeuristicRun () |
| Tests if the heuristic can run. More...
|
|
virtual bool | selectVariableToBranch (OsiSolverInterface *solver, const double *newSolution, int &bestColumn, int &bestRound) |
| Selects the next variable to branch on. More...
|
|
| CbcHeuristicDive () |
|
| CbcHeuristicDive (CbcModel &model) |
|
| CbcHeuristicDive (const CbcHeuristicDive &) |
|
| ~CbcHeuristicDive () |
|
CbcHeuristicDive & | operator= (const CbcHeuristicDive &rhs) |
| Assignment operator. More...
|
|
void | generateCpp (FILE *fp, const char *heuristic) |
| Create C++ lines to get to current state - does work for base class. More...
|
|
virtual void | resetModel (CbcModel *model) |
| Resets stuff if model changes. More...
|
|
virtual void | setModel (CbcModel *model) |
| update model (This is needed if cliques update matrix etc) More...
|
|
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 More...
|
|
int | solution (double &objectiveValue, int &numberNodes, int &numberCuts, OsiRowCut **cuts, CbcSubProblem **&nodes, double *newSolution) |
| inner part of dive More...
|
|
int | fathom (CbcModel *model, int &numberNodes, CbcSubProblem **&nodes) |
| returns 0 if no solution, 1 if valid solution with better objective value than one passed in also returns list of nodes This does Fractional Diving More...
|
|
virtual void | validate () |
| Validate model i.e. sets when_ to 0 if necessary (may be NULL) More...
|
|
void | setPriorities () |
| Sets priorities if any. More...
|
|
void | selectBinaryVariables () |
| Select candidate binary variables for fixing. More...
|
|
void | setPercentageToFix (double value) |
| Set percentage of integer variables to fix at bounds. More...
|
|
void | setMaxIterations (int value) |
| Set maximum number of iterations. More...
|
|
void | setMaxSimplexIterations (int value) |
| Set maximum number of simplex iterations. More...
|
|
int | maxSimplexIterations () const |
| Get maximum number of simplex iterations. More...
|
|
void | setMaxSimplexIterationsAtRoot (int value) |
| Set maximum number of simplex iterations at root node. More...
|
|
void | setMaxTime (double value) |
| Set maximum time allowed. More...
|
|
virtual void | initializeData () |
| Initializes any data which is going to be used repeatedly in selectVariableToBranch. More...
|
|
int | reducedCostFix (OsiSolverInterface *solver) |
| Perform reduced cost fixing on integer variables. More...
|
|
virtual int | fixOtherVariables (OsiSolverInterface *solver, const double *solution, PseudoReducedCost *candidate, const double *random) |
| Fix other variables at bounds. More...
|
|
| CbcHeuristic () |
|
| CbcHeuristic (CbcModel &model) |
|
| CbcHeuristic (const CbcHeuristic &) |
|
virtual | ~CbcHeuristic () |
|
CbcHeuristic & | operator= (const CbcHeuristic &rhs) |
| Assignment operator. More...
|
|
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 More...
|
|
void | setWhen (int value) |
| Sets "when" flag - 0 off, 1 at root, 2 other than root, 3 always. More...
|
|
int | when () const |
| Gets "when" flag - 0 off, 1 at root, 2 other than root, 3 always. More...
|
|
void | setNumberNodes (int value) |
| Sets number of nodes in subtree (default 200) More...
|
|
int | numberNodes () const |
| Gets number of nodes in a subtree (default 200) More...
|
|
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 16 bit - needs new solution to run 1024 bit - stop all heuristics on max time. More...
|
|
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 16 bit - needs new solution to run 1024 bit - stop all heuristics on max time 65536 bit and above used for temporary communication. More...
|
|
bool | exitNow (double bestObjective) const |
| Whether to exit at once on gap. More...
|
|
void | setFeasibilityPumpOptions (int value) |
| Sets feasibility pump options (-1 is off) More...
|
|
int | feasibilityPumpOptions () const |
| Gets feasibility pump options (-1 is off) More...
|
|
void | setModelOnly (CbcModel *model) |
| Just set model - do not do anything else. More...
|
|
void | setFractionSmall (double value) |
| Sets fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound (default 1.0) More...
|
|
double | fractionSmall () const |
| Gets fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound (default 1.0) More...
|
|
int | numberSolutionsFound () const |
| Get how many solutions the heuristic thought it got. More...
|
|
void | incrementNumberSolutionsFound () |
| Increment how many solutions the heuristic thought it got. More...
|
|
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. More...
|
|
void | generateCpp (FILE *fp, const char *heuristic) |
| Create C++ lines to get to current state - does work for base class. More...
|
|
virtual bool | canDealWithOdd () const |
| Returns true if can deal with "odd" problems e.g. sos type 2. More...
|
|
const char * | heuristicName () const |
| return name of heuristic More...
|
|
void | setHeuristicName (const char *name) |
| set name of heuristic More...
|
|
void | setSeed (int value) |
| Set random number generator seed. More...
|
|
int | getSeed () const |
| Get random number generator seed. More...
|
|
void | setDecayFactor (double value) |
| Sets decay factor (for howOften) on failure. More...
|
|
void | setInputSolution (const double *solution, double objValue) |
| Set input solution. More...
|
|
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. More...
|
|
void | setHowOftenShallow (int value) |
| How often to invoke the heuristics in the shallow part of the tree. More...
|
|
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. More...
|
|
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. More...
|
|
bool | shouldHeurRun_randomChoice () |
| Check whether the heuristic should run this time. More...
|
|
void | debugNodes () |
|
void | printDistanceToNodes () |
|
int | numRuns () const |
| how many times the heuristic has actually run More...
|
|
int | numCouldRun () const |
| How many times the heuristic could run. More...
|
|
double | trueObjValue (double value) const |
| Return objective function value with sign corrected. More...
|
|
bool | isHeuristicInteger (const OsiSolverInterface *solver, int iColumn) |
| Is it integer for heuristics? More...
|
|
OsiSolverInterface * | cloneBut (int type) |
| Clone, but ... More...
|
|