Public Member Functions | Protected Member Functions | Protected Attributes

CbcHeuristicGreedyEquality Class Reference

#include <CbcHeuristicGreedy.hpp>

Inheritance diagram for CbcHeuristicGreedyEquality:
CbcHeuristic CbcHeuristic

List of all members.

Public Member Functions

 CbcHeuristicGreedyEquality ()
 CbcHeuristicGreedyEquality (CbcModel &model)
 CbcHeuristicGreedyEquality (const CbcHeuristicGreedyEquality &)
 ~CbcHeuristicGreedyEquality ()
virtual CbcHeuristicclone () const
 Clone.
CbcHeuristicGreedyEqualityoperator= (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 CbcHeuristicclone () const
 Clone.
CbcHeuristicGreedyEqualityoperator= (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.

Detailed Description

Definition at line 96 of file CbcHeuristicGreedy.hpp.


Constructor & Destructor Documentation

CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality (  ) 
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality ( CbcModel model  ) 
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality ( const CbcHeuristicGreedyEquality  ) 
CbcHeuristicGreedyEquality::~CbcHeuristicGreedyEquality (  ) 
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality (  ) 
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality ( CbcModel model  ) 
CbcHeuristicGreedyEquality::CbcHeuristicGreedyEquality ( const CbcHeuristicGreedyEquality  ) 
CbcHeuristicGreedyEquality::~CbcHeuristicGreedyEquality (  ) 

Member Function Documentation

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.


Member Data Documentation

CoinPackedMatrix CbcHeuristicGreedyEquality::matrix_ [protected]

Definition at line 172 of file CbcHeuristicGreedy.hpp.

Definition at line 174 of file CbcHeuristicGreedy.hpp.

Definition at line 176 of file CbcHeuristicGreedy.hpp.

Definition at line 182 of file CbcHeuristicGreedy.hpp.

Do this many times.

Definition at line 184 of file CbcHeuristicGreedy.hpp.


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