CbcFullNodeInfo Class Reference

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

#include <CbcNode.hpp>

Inheritance diagram for CbcFullNodeInfo:
Inheritance graph
[legend]
Collaboration diagram for CbcFullNodeInfo:
Collaboration graph
[legend]

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.

Protected Attributes

CoinWarmStartBasisbasis_
 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 303 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.

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

Illegal Assignment operator.

Reimplemented from CbcNodeInfo.


Member Data Documentation

Full basis.

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

Definition at line 351 of file CbcNode.hpp.

Definition at line 352 of file CbcNode.hpp.

double* CbcFullNodeInfo::lower_ [protected]

Definition at line 354 of file CbcNode.hpp.

double* CbcFullNodeInfo::upper_ [protected]

Definition at line 355 of file CbcNode.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1