Blis
0.94.0
|
Heuristic base class. More...
#include <BlisHeuristic.h>
Public Member Functions | |
BlisHeuristic () | |
Default Constructor. More... | |
BlisHeuristic (BlisModel *model, const char *name, BlisHeurStrategy strategy, int heurCallFrequency) | |
Useful constructor. More... | |
virtual | ~BlisHeuristic () |
Distructor. More... | |
BlisHeuristic (const BlisHeuristic &rhs) | |
Copy constructor. More... | |
virtual void | setModel (BlisModel *model) |
update model (This is needed if cliques update matrix etc). More... | |
virtual void | setStrategy (BlisHeurStrategy strategy) |
Get/set strategy. More... | |
virtual BlisHeurStrategy | strategy () const |
virtual void | setHeurCallFrequency (int freq) |
Get/set call frequency. More... | |
virtual int | heurCallFrequency () const |
virtual BlisHeuristic * | clone () const |
Clone a heuristic. More... | |
virtual bool | searchSolution (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 More... | |
virtual bool | searchSolution (double &objectiveValue, double *newSolution, OsiCuts &cs) |
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... | |
const char * | name () const |
return name of generator. More... | |
void | addNumSolutions (int num=1) |
Record number of solutions found. More... | |
int | numSolutions () const |
Number of solutions found. More... | |
void | addTime (double t=0.0) |
Record Cpu time used. More... | |
double | time () const |
Cpu time used. More... | |
void | addCalls (int c=1) |
Record number of times called. More... | |
int | calls () const |
Number of times called. More... | |
int | noSolCalls () const |
Number called and no cons found. More... | |
void | addNoSolCalls (int n=1) |
Increase the number of no cons called. More... | |
Protected Attributes | |
BlisModel * | model_ |
Pointer to the model. More... | |
char * | name_ |
Heuristics name. More... | |
BlisHeurStrategy | strategy_ |
When to call findSolution() routine. More... | |
int | heurCallFrequency_ |
The frequency with which to call the heuristic. More... | |
int | numSolutions_ |
Number of solutions found. More... | |
double | time_ |
Used CPU/User time. More... | |
int | calls_ |
The times of calling this heuristic. More... | |
int | noSolsCalls_ |
The times of calling this heuristic and no solutions found. More... | |
Heuristic base class.
Definition at line 48 of file BlisHeuristic.h.
|
inline |
Default Constructor.
Definition at line 90 of file BlisHeuristic.h.
|
inline |
Useful constructor.
Definition at line 102 of file BlisHeuristic.h.
|
inlinevirtual |
Distructor.
Definition at line 120 of file BlisHeuristic.h.
|
inline |
Copy constructor.
Definition at line 123 of file BlisHeuristic.h.
|
inlinevirtual |
update model (This is needed if cliques update matrix etc).
Reimplemented in BlisHeurRound.
Definition at line 135 of file BlisHeuristic.h.
|
inlinevirtual |
Get/set strategy.
Definition at line 139 of file BlisHeuristic.h.
|
inlinevirtual |
Definition at line 140 of file BlisHeuristic.h.
|
inlinevirtual |
Get/set call frequency.
Definition at line 145 of file BlisHeuristic.h.
|
inlinevirtual |
Definition at line 146 of file BlisHeuristic.h.
|
inlinevirtual |
|
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 BlisHeurRound.
|
inlinevirtual |
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 172 of file BlisHeuristic.h.
|
inline |
return name of generator.
Definition at line 177 of file BlisHeuristic.h.
|
inline |
Record number of solutions found.
Definition at line 180 of file BlisHeuristic.h.
|
inline |
Number of solutions found.
Definition at line 183 of file BlisHeuristic.h.
|
inline |
Record Cpu time used.
Definition at line 186 of file BlisHeuristic.h.
|
inline |
Cpu time used.
Definition at line 189 of file BlisHeuristic.h.
|
inline |
Record number of times called.
Definition at line 192 of file BlisHeuristic.h.
|
inline |
Number of times called.
Definition at line 195 of file BlisHeuristic.h.
|
inline |
Number called and no cons found.
Definition at line 198 of file BlisHeuristic.h.
|
inline |
Increase the number of no cons called.
Definition at line 201 of file BlisHeuristic.h.
|
protected |
Pointer to the model.
Definition at line 58 of file BlisHeuristic.h.
|
protected |
Heuristics name.
Definition at line 61 of file BlisHeuristic.h.
|
protected |
When to call findSolution() routine.
BlisHeurStrategyNone: disable BlisHeurStrategyRoot: just root BlisHeurStrategyAuto: automatically decided by BLIS BlisHeurStrategyPeriodic: every 't' nodes BlisHeurStrategyBeforeRoot: before solving first LP
Definition at line 70 of file BlisHeuristic.h.
|
protected |
The frequency with which to call the heuristic.
Definition at line 73 of file BlisHeuristic.h.
|
protected |
Number of solutions found.
Definition at line 76 of file BlisHeuristic.h.
|
protected |
Used CPU/User time.
Definition at line 79 of file BlisHeuristic.h.
|
protected |
The times of calling this heuristic.
Definition at line 82 of file BlisHeuristic.h.
|
protected |
The times of calling this heuristic and no solutions found.
Definition at line 85 of file BlisHeuristic.h.