Blis 0.95.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
BlisHeuristic Class Referenceabstract

Heuristic base class. More...

#include <BlisHeuristic.h>

+ Inheritance diagram for BlisHeuristic:
+ Collaboration diagram for BlisHeuristic:

Public Member Functions

 BlisHeuristic ()
 Default Constructor.
 
 BlisHeuristic (BlisModel *model, const char *name, BlisHeurStrategy strategy, int heurCallFrequency)
 Useful constructor.
 
virtual ~BlisHeuristic ()
 Distructor.
 
 BlisHeuristic (const BlisHeuristic &rhs)
 Copy constructor.
 
virtual void setModel (BlisModel *model)
 update model (This is needed if cliques update matrix etc).
 
virtual void setStrategy (BlisHeurStrategy strategy)
 Get/set strategy.
 
virtual BlisHeurStrategy strategy () const
 
virtual void setHeurCallFrequency (int freq)
 Get/set call frequency.
 
virtual int heurCallFrequency () const
 
virtual BlisHeuristicclone () const
 Clone a heuristic.
 
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
 
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
 
const char * name () const
 return name of generator.
 
void addNumSolutions (int num=1)
 Record number of solutions found.
 
int numSolutions () const
 Number of solutions found.
 
void addTime (double t=0.0)
 Record Cpu time used.
 
double time () const
 Cpu time used.
 
void addCalls (int c=1)
 Record number of times called.
 
int calls () const
 Number of times called.
 
int noSolCalls () const
 Number called and no cons found.
 
void addNoSolCalls (int n=1)
 Increase the number of no cons called.
 

Protected Attributes

BlisModelmodel_
 Pointer to the model.
 
char * name_
 Heuristics name.
 
BlisHeurStrategy strategy_
 When to call findSolution() routine.
 
int heurCallFrequency_
 The frequency with which to call the heuristic.
 
int numSolutions_
 Number of solutions found.
 
double time_
 Used CPU/User time.
 
int calls_
 The times of calling this heuristic.
 
int noSolsCalls_
 The times of calling this heuristic and no solutions found.
 

Detailed Description

Heuristic base class.

Definition at line 49 of file BlisHeuristic.h.

Constructor & Destructor Documentation

◆ BlisHeuristic() [1/3]

BlisHeuristic::BlisHeuristic ( )
inline

Default Constructor.

Definition at line 91 of file BlisHeuristic.h.

◆ BlisHeuristic() [2/3]

BlisHeuristic::BlisHeuristic ( BlisModel * model,
const char * name,
BlisHeurStrategy strategy,
int heurCallFrequency )
inline

Useful constructor.

Definition at line 103 of file BlisHeuristic.h.

◆ ~BlisHeuristic()

virtual BlisHeuristic::~BlisHeuristic ( )
inlinevirtual

Distructor.

Definition at line 121 of file BlisHeuristic.h.

◆ BlisHeuristic() [3/3]

BlisHeuristic::BlisHeuristic ( const BlisHeuristic & rhs)
inline

Copy constructor.

Definition at line 124 of file BlisHeuristic.h.

Member Function Documentation

◆ setModel()

virtual void BlisHeuristic::setModel ( BlisModel * model)
inlinevirtual

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

Reimplemented in BlisHeurRound.

Definition at line 136 of file BlisHeuristic.h.

◆ setStrategy()

virtual void BlisHeuristic::setStrategy ( BlisHeurStrategy strategy)
inlinevirtual

Get/set strategy.

Definition at line 140 of file BlisHeuristic.h.

◆ strategy()

virtual BlisHeurStrategy BlisHeuristic::strategy ( ) const
inlinevirtual

Definition at line 141 of file BlisHeuristic.h.

◆ setHeurCallFrequency()

virtual void BlisHeuristic::setHeurCallFrequency ( int freq)
inlinevirtual

Get/set call frequency.

Definition at line 146 of file BlisHeuristic.h.

◆ heurCallFrequency()

virtual int BlisHeuristic::heurCallFrequency ( ) const
inlinevirtual

Definition at line 147 of file BlisHeuristic.h.

◆ clone()

virtual BlisHeuristic * BlisHeuristic::clone ( ) const
inlinevirtual

Clone a heuristic.

Reimplemented in BlisHeurRound.

Definition at line 151 of file BlisHeuristic.h.

◆ searchSolution() [1/2]

virtual bool BlisHeuristic::searchSolution ( 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 BlisHeurRound.

◆ searchSolution() [2/2]

virtual bool BlisHeuristic::searchSolution ( double & objectiveValue,
double * newSolution,
OsiCuts & cs )
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 173 of file BlisHeuristic.h.

◆ name()

const char * BlisHeuristic::name ( ) const
inline

return name of generator.

Definition at line 178 of file BlisHeuristic.h.

◆ addNumSolutions()

void BlisHeuristic::addNumSolutions ( int num = 1)
inline

Record number of solutions found.

Definition at line 181 of file BlisHeuristic.h.

◆ numSolutions()

int BlisHeuristic::numSolutions ( ) const
inline

Number of solutions found.

Definition at line 184 of file BlisHeuristic.h.

◆ addTime()

void BlisHeuristic::addTime ( double t = 0.0)
inline

Record Cpu time used.

Definition at line 187 of file BlisHeuristic.h.

◆ time()

double BlisHeuristic::time ( ) const
inline

Cpu time used.

Definition at line 190 of file BlisHeuristic.h.

◆ addCalls()

void BlisHeuristic::addCalls ( int c = 1)
inline

Record number of times called.

Definition at line 193 of file BlisHeuristic.h.

◆ calls()

int BlisHeuristic::calls ( ) const
inline

Number of times called.

Definition at line 196 of file BlisHeuristic.h.

◆ noSolCalls()

int BlisHeuristic::noSolCalls ( ) const
inline

Number called and no cons found.

Definition at line 199 of file BlisHeuristic.h.

◆ addNoSolCalls()

void BlisHeuristic::addNoSolCalls ( int n = 1)
inline

Increase the number of no cons called.

Definition at line 202 of file BlisHeuristic.h.

Member Data Documentation

◆ model_

BlisModel* BlisHeuristic::model_
protected

Pointer to the model.

Definition at line 59 of file BlisHeuristic.h.

◆ name_

char* BlisHeuristic::name_
protected

Heuristics name.

Definition at line 62 of file BlisHeuristic.h.

◆ strategy_

BlisHeurStrategy BlisHeuristic::strategy_
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 71 of file BlisHeuristic.h.

◆ heurCallFrequency_

int BlisHeuristic::heurCallFrequency_
protected

The frequency with which to call the heuristic.

Definition at line 74 of file BlisHeuristic.h.

◆ numSolutions_

int BlisHeuristic::numSolutions_
protected

Number of solutions found.

Definition at line 77 of file BlisHeuristic.h.

◆ time_

double BlisHeuristic::time_
protected

Used CPU/User time.

Definition at line 80 of file BlisHeuristic.h.

◆ calls_

int BlisHeuristic::calls_
protected

The times of calling this heuristic.

Definition at line 83 of file BlisHeuristic.h.

◆ noSolsCalls_

int BlisHeuristic::noSolsCalls_
protected

The times of calling this heuristic and no solutions found.

Definition at line 86 of file BlisHeuristic.h.


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