#include <CbcHeuristicGreedy.hpp>
Public Member Functions | |
CbcHeuristicGreedyEquality () | |
CbcHeuristicGreedyEquality (CbcModel &model) | |
CbcHeuristicGreedyEquality (const CbcHeuristicGreedyEquality &) | |
~CbcHeuristicGreedyEquality () | |
virtual CbcHeuristic * | clone () const |
Clone. | |
CbcHeuristicGreedyEquality & | operator= (const CbcHeuristicGreedyEquality &rhs) |
Assignment operator. | |
virtual void | generateCpp (FILE *fp) |
Create C++ lines to get to current state. | |
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. | |
virtual void | validate () |
Validate model i.e. sets when_ to 0 if necessary (may be NULL) | |
virtual void | resetModel (CbcModel *model) |
Resets stuff if model changes. | |
int | algorithm () const |
void | setAlgorithm (int value) |
void | setFraction (double value) |
double | fraction () const |
int | numberTimes () const |
void | setNumberTimes (int value) |
CbcHeuristicGreedyEquality () | |
CbcHeuristicGreedyEquality (CbcModel &model) | |
CbcHeuristicGreedyEquality (const CbcHeuristicGreedyEquality &) | |
~CbcHeuristicGreedyEquality () | |
virtual CbcHeuristic * | clone () const |
Clone. | |
CbcHeuristicGreedyEquality & | operator= (const CbcHeuristicGreedyEquality &rhs) |
Assignment operator. | |
virtual void | generateCpp (FILE *fp) |
Create C++ lines to get to current state. | |
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. | |
virtual void | validate () |
Validate model i.e. sets when_ to 0 if necessary (may be NULL) | |
virtual void | resetModel (CbcModel *model) |
Resets stuff if model changes. | |
int | algorithm () const |
void | setAlgorithm (int value) |
void | setFraction (double value) |
double | fraction () const |
int | numberTimes () const |
void | setNumberTimes (int value) |
Protected Member Functions | |
void | gutsOfConstructor (CbcModel *model) |
Guts of constructor from a CbcModel. | |
void | gutsOfConstructor (CbcModel *model) |
Guts of constructor from a CbcModel. | |
Protected Attributes | |
CoinPackedMatrix | matrix_ |
double | fraction_ |
int | originalNumberRows_ |
int | algorithm_ |
int | numberTimes_ |
Do this many times. |
Definition at line 96 of file CbcHeuristicGreedy.hpp.
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality | ( | ) |
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality | ( | CbcModel & | model | ) |
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality | ( | const CbcHeuristicGreedyEquality & | ) |
CbcHeuristicGreedyEquality::~CbcHeuristicGreedyEquality | ( | ) |
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality | ( | ) |
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality | ( | CbcModel & | model | ) |
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality | ( | const CbcHeuristicGreedyEquality & | ) |
CbcHeuristicGreedyEquality::~CbcHeuristicGreedyEquality | ( | ) |
virtual CbcHeuristic* CbcHeuristicGreedyEquality::clone | ( | ) | const [virtual] |
Clone.
Implements CbcHeuristic.
CbcHeuristicGreedyEquality& CbcHeuristicGreedyEquality::operator= | ( | const CbcHeuristicGreedyEquality & | rhs | ) |
Assignment operator.
virtual void CbcHeuristicGreedyEquality::generateCpp | ( | FILE * | fp | ) | [virtual] |
Create C++ lines to get to current state.
Reimplemented from CbcHeuristic.
virtual void CbcHeuristicGreedyEquality::setModel | ( | CbcModel * | model | ) | [virtual] |
update model (This is needed if cliques update matrix etc)
Reimplemented from CbcHeuristic.
virtual int CbcHeuristicGreedyEquality::solution | ( | double & | objectiveValue, |
double * | newSolution | ||
) | [virtual] |
returns 0 if no solution, 1 if valid solution.
Sets solution values if good, sets objective value (only if good) We leave all variables which are at one at this node of the tree to that value and will initially set all others to zero. We then sort all variables in order of their cost divided by the number of entries in rows which are not yet covered. We randomize that value a bit so that ties will be broken in different ways on different runs of the heuristic. We then choose the best one and set it to one and repeat the exercise.
Implements CbcHeuristic.
virtual void CbcHeuristicGreedyEquality::validate | ( | ) | [virtual] |
Validate model i.e. sets when_ to 0 if necessary (may be NULL)
Reimplemented from CbcHeuristic.
virtual void CbcHeuristicGreedyEquality::resetModel | ( | CbcModel * | model | ) | [virtual] |
Resets stuff if model changes.
Implements CbcHeuristic.
int CbcHeuristicGreedyEquality::algorithm | ( | ) | const [inline] |
Definition at line 146 of file CbcHeuristicGreedy.hpp.
void CbcHeuristicGreedyEquality::setAlgorithm | ( | int | value | ) | [inline] |
Definition at line 149 of file CbcHeuristicGreedy.hpp.
void CbcHeuristicGreedyEquality::setFraction | ( | double | value | ) | [inline] |
Definition at line 153 of file CbcHeuristicGreedy.hpp.
double CbcHeuristicGreedyEquality::fraction | ( | ) | const [inline] |
Definition at line 156 of file CbcHeuristicGreedy.hpp.
int CbcHeuristicGreedyEquality::numberTimes | ( | ) | const [inline] |
Definition at line 160 of file CbcHeuristicGreedy.hpp.
void CbcHeuristicGreedyEquality::setNumberTimes | ( | int | value | ) | [inline] |
Definition at line 163 of file CbcHeuristicGreedy.hpp.
void CbcHeuristicGreedyEquality::gutsOfConstructor | ( | CbcModel * | model | ) | [protected] |
Guts of constructor from a CbcModel.
virtual CbcHeuristic* CbcHeuristicGreedyEquality::clone | ( | ) | const [virtual] |
Clone.
Implements CbcHeuristic.
CbcHeuristicGreedyEquality& CbcHeuristicGreedyEquality::operator= | ( | const CbcHeuristicGreedyEquality & | rhs | ) |
Assignment operator.
virtual void CbcHeuristicGreedyEquality::generateCpp | ( | FILE * | fp | ) | [virtual] |
Create C++ lines to get to current state.
Reimplemented from CbcHeuristic.
virtual void CbcHeuristicGreedyEquality::setModel | ( | CbcModel * | model | ) | [virtual] |
update model (This is needed if cliques update matrix etc)
Reimplemented from CbcHeuristic.
virtual int CbcHeuristicGreedyEquality::solution | ( | double & | objectiveValue, |
double * | newSolution | ||
) | [virtual] |
returns 0 if no solution, 1 if valid solution.
Sets solution values if good, sets objective value (only if good) We leave all variables which are at one at this node of the tree to that value and will initially set all others to zero. We then sort all variables in order of their cost divided by the number of entries in rows which are not yet covered. We randomize that value a bit so that ties will be broken in different ways on different runs of the heuristic. We then choose the best one and set it to one and repeat the exercise.
Implements CbcHeuristic.
virtual void CbcHeuristicGreedyEquality::validate | ( | ) | [virtual] |
Validate model i.e. sets when_ to 0 if necessary (may be NULL)
Reimplemented from CbcHeuristic.
virtual void CbcHeuristicGreedyEquality::resetModel | ( | CbcModel * | model | ) | [virtual] |
Resets stuff if model changes.
Implements CbcHeuristic.
int CbcHeuristicGreedyEquality::algorithm | ( | ) | const [inline] |
Definition at line 146 of file CbcHeuristicGreedy.hpp.
void CbcHeuristicGreedyEquality::setAlgorithm | ( | int | value | ) | [inline] |
Definition at line 149 of file CbcHeuristicGreedy.hpp.
void CbcHeuristicGreedyEquality::setFraction | ( | double | value | ) | [inline] |
Definition at line 153 of file CbcHeuristicGreedy.hpp.
double CbcHeuristicGreedyEquality::fraction | ( | ) | const [inline] |
Definition at line 156 of file CbcHeuristicGreedy.hpp.
int CbcHeuristicGreedyEquality::numberTimes | ( | ) | const [inline] |
Definition at line 160 of file CbcHeuristicGreedy.hpp.
void CbcHeuristicGreedyEquality::setNumberTimes | ( | int | value | ) | [inline] |
Definition at line 163 of file CbcHeuristicGreedy.hpp.
void CbcHeuristicGreedyEquality::gutsOfConstructor | ( | CbcModel * | model | ) | [protected] |
Guts of constructor from a CbcModel.
CoinPackedMatrix CbcHeuristicGreedyEquality::matrix_ [protected] |
Definition at line 172 of file CbcHeuristicGreedy.hpp.
double CbcHeuristicGreedyEquality::fraction_ [protected] |
Definition at line 174 of file CbcHeuristicGreedy.hpp.
int CbcHeuristicGreedyEquality::originalNumberRows_ [protected] |
Definition at line 176 of file CbcHeuristicGreedy.hpp.
int CbcHeuristicGreedyEquality::algorithm_ [protected] |
Definition at line 182 of file CbcHeuristicGreedy.hpp.
int CbcHeuristicGreedyEquality::numberTimes_ [protected] |
Do this many times.
Definition at line 184 of file CbcHeuristicGreedy.hpp.