# CbcStrategy Class Reference

Strategy base class. More...

`#include <CbcStrategy.hpp>`

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

List of all members.

## Public Member Functions
| CbcStrategy ()
virtual | ~CbcStrategy ()
virtual CbcStrategy * | clone () const =0
| Clone.
virtual void | setupCutGenerators (CbcModel &model)=0
| Setup cut generators.
virtual void | setupHeuristics (CbcModel &model)=0
| Setup heuristics.
virtual void | setupPrinting (CbcModel &model, int modelLogLevel)=0
| Do printing stuff.
virtual void | setupOther (CbcModel &model)=0
| Other stuff e.g. strong branching and preprocessing.
void | setNested (int depth)
| Set model depth (i.e. how nested).
int | getNested () const
| Get model depth (i.e. how nested).
void | setPreProcessState (int state)
| Say preProcessing done.
int | preProcessState () const
| See what sort of preprocessing was done.
CglPreProcess * | process () const
| Pre-processing object.
void | deletePreProcess ()
| Delete pre-processing object to save memory.
virtual CbcNodeInfo * | fullNodeInfo (CbcModel *model, int numberRowsAtContinuous) const
| Return a new Full node information pointer (descendant of CbcFullNodeInfo).
virtual CbcNodeInfo * | partialNodeInfo (CbcModel *model, CbcNodeInfo *parent, CbcNode *owner, int numberChangedBounds, const int *variables, const double *boundChanges, const CoinWarmStartDiff *basisDiff) const
| Return a new Partial node information pointer (descendant of CbcPartialNodeInfo).
virtual void | generateCpp (FILE *)
| Create C++ lines to get to current state.
virtual int | status (CbcModel *model, CbcNodeInfo *parent, int whereFrom)
| After a CbcModel::resolve this can return a status -1 no effect 0 treat as optimal 1 as 0 but do not do any more resolves (i.e.
## Protected Attributes
int | depth_
| Model depth.
int | preProcessState_
| PreProcessing state - -1 infeasible 0 off 1 was done (so need post-processing).
CglPreProcess * | process_
| If preprocessing then this is object.
## Private Member Functions
CbcStrategy & | operator= (const CbcStrategy &rhs)
| Illegal Assignment operator.

## Detailed Description

Strategy base class.

Definition at line 18 of file CbcStrategy.hpp.

## Constructor & Destructor Documentation

CbcStrategy::CbcStrategy | ( |  | ) |

virtual CbcStrategy::~CbcStrategy | ( |  | ) | `[virtual]`

## Member Function Documentation

virtual CbcStrategy* CbcStrategy::clone | ( |  | ) | const`[pure virtual]`

Clone.

Implemented in CbcStrategyNull, CbcStrategyDefault, and CbcStrategyDefaultSubTree.

virtual void CbcStrategy::setupCutGenerators | ( | CbcModel & | model | ) | `[pure virtual]`

Setup cut generators.

Implemented in CbcStrategyNull, CbcStrategyDefault, and CbcStrategyDefaultSubTree.

virtual void CbcStrategy::setupHeuristics | ( | CbcModel & | model | ) | `[pure virtual]`

Setup heuristics.

Implemented in CbcStrategyNull, CbcStrategyDefault, and CbcStrategyDefaultSubTree.

virtual void CbcStrategy::setupPrinting | ( | CbcModel & | model,
|  | int | modelLogLevel |
| ) |  |  | `[pure virtual]`

Do printing stuff.

Implemented in CbcStrategyNull, CbcStrategyDefault, and CbcStrategyDefaultSubTree.

virtual void CbcStrategy::setupOther | ( | CbcModel & | model | ) | `[pure virtual]`

Other stuff e.g. strong branching and preprocessing.

Implemented in CbcStrategyNull, CbcStrategyDefault, and CbcStrategyDefaultSubTree.

void CbcStrategy::setNested | ( | int | depth | ) | `[inline]`

Set model depth (i.e. how nested).

Definition at line 37 of file CbcStrategy.hpp.

int CbcStrategy::getNested | ( |  | ) | const`[inline]`

Get model depth (i.e. how nested).

Definition at line 41 of file CbcStrategy.hpp.

void CbcStrategy::setPreProcessState | ( | int | state | ) | `[inline]`

Say preProcessing done.

Definition at line 45 of file CbcStrategy.hpp.

int CbcStrategy::preProcessState | ( |  | ) | const`[inline]`

See what sort of preprocessing was done.

Definition at line 49 of file CbcStrategy.hpp.

CglPreProcess* CbcStrategy::process | ( |  | ) | const`[inline]`

Pre-processing object.

Definition at line 53 of file CbcStrategy.hpp.

void CbcStrategy::deletePreProcess | ( |  | ) |

Delete pre-processing object to save memory.

virtual CbcNodeInfo* CbcStrategy::fullNodeInfo | ( | CbcModel * | model,
|  | int | numberRowsAtContinuous |
| ) |  |  | const`[virtual]`

Return a new Full node information pointer (descendant of CbcFullNodeInfo).

virtual CbcNodeInfo* CbcStrategy::partialNodeInfo | ( | CbcModel * | model,
|  | CbcNodeInfo * | parent,
|  | CbcNode * | owner,
|  | int | numberChangedBounds,
|  | const int * | variables,
|  | const double * | boundChanges,
|  | const CoinWarmStartDiff * | basisDiff |
| ) |  |  | const`[virtual]`

Return a new Partial node information pointer (descendant of CbcPartialNodeInfo).

virtual void CbcStrategy::generateCpp | ( | FILE * |  | ) | `[inline, virtual]`

Create C++ lines to get to current state.

Reimplemented in CbcStrategyDefault.

Definition at line 66 of file CbcStrategy.hpp.

virtual int CbcStrategy::status | ( | CbcModel * | model,
|  | CbcNodeInfo * | parent,
|  | int | whereFrom |
| ) |  |  | `[virtual]`

After a CbcModel::resolve this can return a status -1 no effect 0 treat as optimal 1 as 0 but do not do any more resolves (i.e.

no more cuts) 2 treat as infeasible

CbcStrategy& CbcStrategy::operator= | ( | const CbcStrategy & | rhs | ) | `[private]`

Illegal Assignment operator.

Reimplemented in CbcStrategyNull, CbcStrategyDefault, and CbcStrategyDefaultSubTree.

## Member Data Documentation

int CbcStrategy::depth_`[protected]`

Model depth.

Definition at line 81 of file CbcStrategy.hpp.

int CbcStrategy::preProcessState_`[protected]`

PreProcessing state - -1 infeasible 0 off 1 was done (so need post-processing).

Definition at line 87 of file CbcStrategy.hpp.

CglPreProcess* CbcStrategy::process_`[protected]`

If preprocessing then this is object.

Definition at line 89 of file CbcStrategy.hpp.

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

- /home/coin/svn-release/Cbc-2.7.7/Cbc/src/CbcStrategy.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines