CbcFullNodeInfo Class Reference

Holds complete information for recreating a subproblem. More...

#include <CbcNode.hpp>

Inheritance diagram for CbcFullNodeInfo:
CbcNodeInfo

List of all members.

Public Member Functions

virtual void applyToModel (CbcModel *model, CoinWarmStartBasis *&basis, CbcCountRowCut **addCuts, int &currentNumberCuts) const
 Modify model according to information at node.
virtual int applyBounds (int iColumn, double &lower, double &upper, int force)
 Just apply bounds to one variable - force means overwrite by lower,upper (1=>infeasible).
virtual CbcNodeInfobuildRowBasis (CoinWarmStartBasis &basis) const
 Builds up row basis backwards (until original model).
 CbcFullNodeInfo ()
 CbcFullNodeInfo (CbcModel *model, int numberRowsAtContinuous)
 Constructor from continuous or satisfied.
 CbcFullNodeInfo (const CbcFullNodeInfo &)
 ~CbcFullNodeInfo ()
virtual CbcNodeInfoclone () const
 Clone.
const double * lower () const
 Lower bounds.
const double * upper () const
 Upper bounds.

Protected Attributes

CoinWarmStartBasis * basis_
 Full basis.
int numberIntegers_
double * lower_
double * upper_

Private Member Functions

CbcFullNodeInfooperator= (const CbcFullNodeInfo &rhs)
 Illegal Assignment operator.

Detailed Description

Holds complete information for recreating a subproblem.

A CbcFullNodeInfo object contains all necessary information (bounds, basis, and cuts) required to recreate a subproblem.

Todo:
While there's no explicit statement, the code often makes the implicit assumption that an CbcFullNodeInfo structure will appear only at the root node of the search tree. Things will break if this assumption is violated.

Definition at line 317 of file CbcNode.hpp.


Constructor & Destructor Documentation

CbcFullNodeInfo::CbcFullNodeInfo (  ) 
CbcFullNodeInfo::CbcFullNodeInfo ( CbcModel model,
int  numberRowsAtContinuous 
)

Constructor from continuous or satisfied.

CbcFullNodeInfo::CbcFullNodeInfo ( const CbcFullNodeInfo  ) 
CbcFullNodeInfo::~CbcFullNodeInfo (  ) 

Member Function Documentation

virtual void CbcFullNodeInfo::applyToModel ( CbcModel model,
CoinWarmStartBasis *&  basis,
CbcCountRowCut **  addCuts,
int &  currentNumberCuts 
) const [virtual]

Modify model according to information at node.

The routine modifies the model according to bound information at node, creates a new basis according to information at node, but with the size passed in through basis, and adds any cuts to the addCuts array.

Note:
The basis passed in via basis is solely a vehicle for passing in the desired basis size. It will be deleted and a new basis returned.

Implements CbcNodeInfo.

virtual int CbcFullNodeInfo::applyBounds ( int  iColumn,
double &  lower,
double &  upper,
int  force 
) [virtual]

Just apply bounds to one variable - force means overwrite by lower,upper (1=>infeasible).

Implements CbcNodeInfo.

virtual CbcNodeInfo* CbcFullNodeInfo::buildRowBasis ( CoinWarmStartBasis &  basis  )  const [virtual]

Builds up row basis backwards (until original model).

Returns NULL or previous one to apply . Depends on Free being 0 and impossible for cuts

Implements CbcNodeInfo.

virtual CbcNodeInfo* CbcFullNodeInfo::clone (  )  const [virtual]

Clone.

Implements CbcNodeInfo.

const double* CbcFullNodeInfo::lower (  )  const [inline]

Lower bounds.

Definition at line 359 of file CbcNode.hpp.

const double* CbcFullNodeInfo::upper (  )  const [inline]

Upper bounds.

Definition at line 362 of file CbcNode.hpp.

CbcFullNodeInfo& CbcFullNodeInfo::operator= ( const CbcFullNodeInfo rhs  )  [private]

Illegal Assignment operator.


Member Data Documentation

CoinWarmStartBasis* CbcFullNodeInfo::basis_ [protected]

Full basis.

This MUST BE A POINTER to avoid cutting extra information in derived warm start classes.

Definition at line 371 of file CbcNode.hpp.

Definition at line 372 of file CbcNode.hpp.

double* CbcFullNodeInfo::lower_ [protected]

Definition at line 374 of file CbcNode.hpp.

double* CbcFullNodeInfo::upper_ [protected]

Definition at line 375 of file CbcNode.hpp.


The documentation for this class was generated from the following file:
Generated on Fri May 28 17:17:30 2010 by  doxygen 1.6.3