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:
CbcBranchCut CbcObject

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 (const OsiBranchingInformation *info, int &preferredWay) const
 Infeasibility - large is 0.5.
virtual bool canDoHeuristics () const
 Return true if object can take part in normal heuristics.
virtual CbcBranchingObjectcreateCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
 Creates a branching object.
virtual void redoSequenceEtc (CbcModel *model, int numberColumns, const int *originalColumns)
 Redoes data when sequence numbers change.

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  ) 
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 ( const OsiBranchingInformation *  info,
int &  preferredWay 
) const [virtual]

Infeasibility - large is 0.5.

Reimplemented from CbcBranchCut.

virtual bool CbcBranchToFixLots::canDoHeuristics (  )  const [inline, virtual]

Return true if object can take part in normal heuristics.

Definition at line 239 of file CbcBranchCut.hpp.

virtual CbcBranchingObject* CbcBranchToFixLots::createCbcBranch ( OsiSolverInterface *  solver,
const OsiBranchingInformation *  info,
int  way 
) [virtual]

Creates a branching object.

Reimplemented from CbcBranchCut.

virtual void CbcBranchToFixLots::redoSequenceEtc ( CbcModel model,
int  numberColumns,
const int *  originalColumns 
) [virtual]

Redoes data when sequence numbers change.

Reimplemented from CbcObject.


Member Data Documentation

data

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

Definition at line 252 of file CbcBranchCut.hpp.

We only need to make sure this fraction fixed.

Definition at line 254 of file CbcBranchCut.hpp.

char* CbcBranchToFixLots::mark_ [protected]

Never fix ones marked here.

Definition at line 256 of file CbcBranchCut.hpp.

CoinPackedMatrix CbcBranchToFixLots::matrixByRow_ [protected]

Matrix by row.

Definition at line 258 of file CbcBranchCut.hpp.

int CbcBranchToFixLots::depth_ [protected]

Do if depth multiple of this.

Definition at line 260 of file CbcBranchCut.hpp.

number of ==1 rows which need to be clean

Definition at line 262 of file CbcBranchCut.hpp.

If true then always create branch.

Definition at line 264 of file CbcBranchCut.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