CbcBranchToFixLots Class Reference

Define a branch class that branches so that one way variables are fixed while the other way cuts off that solution. More...

#include <CbcBranchCut.hpp>

Inheritance diagram for CbcBranchToFixLots:

Inheritance graph
[legend]
Collaboration diagram for CbcBranchToFixLots:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CbcBranchToFixLots ()
 CbcBranchToFixLots (CbcModel *model, double djTolerance, double fractionFixed, int depth, int numberClean=0, const char *mark=NULL, bool alwaysCreate=false)
 Useful constructor - passed reduced cost tolerance and fraction we would like fixed.
 CbcBranchToFixLots (const CbcBranchToFixLots &)
virtual CbcObjectclone () const
 Clone.
CbcBranchToFixLotsoperator= (const CbcBranchToFixLots &rhs)
 ~CbcBranchToFixLots ()
int shallWe () const
 Does a lot of the work, Returns 0 if no good, 1 if dj, 2 if clean, 3 if both.
virtual double infeasibility (int &preferredWay) const
 Infeasibility - large is 0.5.
virtual CbcBranchingObjectcreateBranch (int way)
 Creates a branching object.

Protected Attributes

double djTolerance_
 Reduced cost tolerance i.e. dj has to be >= this before fixed.
double fractionFixed_
 We only need to make sure this fraction fixed.
char * mark_
 Never fix ones marked here.
CoinPackedMatrix matrixByRow_
 Matrix by row.
int depth_
 Do if depth multiple of this.
int numberClean_
 number of ==1 rows which need to be clean
bool alwaysCreate_
 If true then always create branch.

Detailed Description

Define a branch class that branches so that one way variables are fixed while the other way cuts off that solution.

a) On reduced cost b) When enough ==1 or <=1 rows have been satisfied (not fixed - satisfied)

Definition at line 198 of file CbcBranchCut.hpp.


Constructor & Destructor Documentation

CbcBranchToFixLots::CbcBranchToFixLots (  ) 

CbcBranchToFixLots::CbcBranchToFixLots ( CbcModel model,
double  djTolerance,
double  fractionFixed,
int  depth,
int  numberClean = 0,
const char *  mark = NULL,
bool  alwaysCreate = false 
)

Useful constructor - passed reduced cost tolerance and fraction we would like fixed.

Also depth level to do at. Also passed number of 1 rows which when clean triggers fix Always does if all 1 rows cleaned up and number>0 or if fraction columns reached Also whether to create branch if can't reach fraction.

CbcBranchToFixLots::CbcBranchToFixLots ( const CbcBranchToFixLots  ) 

CbcBranchToFixLots::~CbcBranchToFixLots (  ) 


Member Function Documentation

virtual CbcObject* CbcBranchToFixLots::clone (  )  const [virtual]

Clone.

Reimplemented from CbcBranchCut.

CbcBranchToFixLots& CbcBranchToFixLots::operator= ( const CbcBranchToFixLots rhs  ) 

int CbcBranchToFixLots::shallWe (  )  const

Does a lot of the work, Returns 0 if no good, 1 if dj, 2 if clean, 3 if both.

virtual double CbcBranchToFixLots::infeasibility ( int &  preferredWay  )  const [virtual]

Infeasibility - large is 0.5.

Reimplemented from CbcBranchCut.

virtual CbcBranchingObject* CbcBranchToFixLots::createBranch ( int  way  )  [virtual]

Creates a branching object.

Reimplemented from CbcBranchCut.


Member Data Documentation

double CbcBranchToFixLots::djTolerance_ [protected]

Reduced cost tolerance i.e. dj has to be >= this before fixed.

Definition at line 247 of file CbcBranchCut.hpp.

double CbcBranchToFixLots::fractionFixed_ [protected]

We only need to make sure this fraction fixed.

Definition at line 249 of file CbcBranchCut.hpp.

char* CbcBranchToFixLots::mark_ [protected]

Never fix ones marked here.

Definition at line 251 of file CbcBranchCut.hpp.

CoinPackedMatrix CbcBranchToFixLots::matrixByRow_ [protected]

Matrix by row.

Definition at line 253 of file CbcBranchCut.hpp.

int CbcBranchToFixLots::depth_ [protected]

Do if depth multiple of this.

Definition at line 255 of file CbcBranchCut.hpp.

int CbcBranchToFixLots::numberClean_ [protected]

number of ==1 rows which need to be clean

Definition at line 257 of file CbcBranchCut.hpp.

bool CbcBranchToFixLots::alwaysCreate_ [protected]

If true then always create branch.

Definition at line 259 of file CbcBranchCut.hpp.


The documentation for this class was generated from the following file:
Generated on Sun Nov 14 14:12:35 2010 for Coin-All by  doxygen 1.4.7