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)
 Assignment operator.
 ~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_
 data
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  ) 

Assignment operator.

Reimplemented from CbcBranchCut.

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

data

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

Definition at line 247 of file CbcBranchCut.hpp.

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.

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.

number of ==1 rows which need to be clean

Definition at line 257 of file CbcBranchCut.hpp.

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 15 Mar 2015 for Coin-All by  doxygen 1.6.1