# CbcHeuristicGreedyEquality Class Reference

`#include <CbcHeuristicGreedy.hpp>`

Inheritance diagram for CbcHeuristicGreedyEquality:
[legend]
Collaboration diagram for CbcHeuristicGreedyEquality:
[legend]

List of all members.

## 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)
## Protected Member Functions
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 98 of file CbcHeuristicGreedy.hpp.

## Constructor & Destructor Documentation

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.

Reimplemented from CbcHeuristic.

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 148 of file CbcHeuristicGreedy.hpp.

void CbcHeuristicGreedyEquality::setAlgorithm | ( | int | value | ) | `[inline]`

Definition at line 151 of file CbcHeuristicGreedy.hpp.

void CbcHeuristicGreedyEquality::setFraction | ( | double | value | ) | `[inline]`

Definition at line 155 of file CbcHeuristicGreedy.hpp.

double CbcHeuristicGreedyEquality::fraction | ( |  | ) | const`[inline]`

Definition at line 158 of file CbcHeuristicGreedy.hpp.

int CbcHeuristicGreedyEquality::numberTimes | ( |  | ) | const`[inline]`

Definition at line 162 of file CbcHeuristicGreedy.hpp.

void CbcHeuristicGreedyEquality::setNumberTimes | ( | int | value | ) | `[inline]`

Definition at line 165 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 174 of file CbcHeuristicGreedy.hpp.

double CbcHeuristicGreedyEquality::fraction_`[protected]`

Definition at line 176 of file CbcHeuristicGreedy.hpp.

int CbcHeuristicGreedyEquality::originalNumberRows_`[protected]`

Definition at line 178 of file CbcHeuristicGreedy.hpp.

int CbcHeuristicGreedyEquality::algorithm_`[protected]`

Definition at line 184 of file CbcHeuristicGreedy.hpp.

int CbcHeuristicGreedyEquality::numberTimes_`[protected]`

Do this many times.

Definition at line 186 of file CbcHeuristicGreedy.hpp.

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

- /home/coin/svn-release/Cbc-2.7.8/Cbc/src/CbcHeuristicGreedy.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines