Public Member Functions | Private Attributes

CbcCliqueBranchingObject Class Reference

Branching object for unordered cliques. More...

#include <CbcClique.hpp>

Inheritance diagram for CbcCliqueBranchingObject:
CbcBranchingObject CbcBranchingObject

List of all members.

Public Member Functions

 CbcCliqueBranchingObject ()
 CbcCliqueBranchingObject (CbcModel *model, const CbcClique *clique, int way, int numberOnDownSide, const int *down, int numberOnUpSide, const int *up)
 CbcCliqueBranchingObject (const CbcCliqueBranchingObject &)
CbcCliqueBranchingObjectoperator= (const CbcCliqueBranchingObject &rhs)
virtual CbcBranchingObjectclone () const
 Clone.
virtual ~CbcCliqueBranchingObject ()
virtual double branch ()
 Does next branch and updates state.
virtual void print ()
 Print something about branch - only if log level high.
virtual CbcBranchObjType type () const
 Return the type (an integer identifier) of this.
virtual int compareOriginalObject (const CbcBranchingObject *brObj) const
 Compare the original object of this with the original object of brObj.
virtual CbcRangeCompare compareBranchingObject (const CbcBranchingObject *brObj, const bool replaceIfOverlap=false)
 Compare the this with brObj.
 CbcCliqueBranchingObject ()
 CbcCliqueBranchingObject (CbcModel *model, const CbcClique *clique, int way, int numberOnDownSide, const int *down, int numberOnUpSide, const int *up)
 CbcCliqueBranchingObject (const CbcCliqueBranchingObject &)
CbcCliqueBranchingObjectoperator= (const CbcCliqueBranchingObject &rhs)
virtual CbcBranchingObjectclone () const
 Clone.
virtual ~CbcCliqueBranchingObject ()
virtual double branch ()
 Does next branch and updates state.
virtual void print ()
 Print something about branch - only if log level high.
virtual CbcBranchObjType type () const
 Return the type (an integer identifier) of this.
virtual int compareOriginalObject (const CbcBranchingObject *brObj) const
 Compare the original object of this with the original object of brObj.
virtual CbcRangeCompare compareBranchingObject (const CbcBranchingObject *brObj, const bool replaceIfOverlap=false)
 Compare the this with brObj.

Private Attributes

const CbcCliqueclique_
 data
unsigned int downMask_ [2]
 downMask - bit set to fix to weak bounds, not set to leave unfixed
unsigned int upMask_ [2]
 upMask - bit set to fix to weak bounds, not set to leave unfixed

Detailed Description

Branching object for unordered cliques.

Intended for cliques which are long enough to make it worthwhile but <= 64 members. There will also be ones for long cliques.

Variable_ is the clique id number (redundant, as the object also holds a pointer to the clique.

Definition at line 159 of file CbcClique.hpp.


Constructor & Destructor Documentation

CbcCliqueBranchingObject::CbcCliqueBranchingObject (  ) 
CbcCliqueBranchingObject::CbcCliqueBranchingObject ( CbcModel model,
const CbcClique clique,
int  way,
int  numberOnDownSide,
const int *  down,
int  numberOnUpSide,
const int *  up 
)
CbcCliqueBranchingObject::CbcCliqueBranchingObject ( const CbcCliqueBranchingObject  ) 
virtual CbcCliqueBranchingObject::~CbcCliqueBranchingObject (  )  [virtual]
CbcCliqueBranchingObject::CbcCliqueBranchingObject (  ) 
CbcCliqueBranchingObject::CbcCliqueBranchingObject ( CbcModel model,
const CbcClique clique,
int  way,
int  numberOnDownSide,
const int *  down,
int  numberOnUpSide,
const int *  up 
)
CbcCliqueBranchingObject::CbcCliqueBranchingObject ( const CbcCliqueBranchingObject  ) 
virtual CbcCliqueBranchingObject::~CbcCliqueBranchingObject (  )  [virtual]

Member Function Documentation

CbcCliqueBranchingObject& CbcCliqueBranchingObject::operator= ( const CbcCliqueBranchingObject rhs  ) 
virtual CbcBranchingObject* CbcCliqueBranchingObject::clone (  )  const [virtual]

Clone.

Implements CbcBranchingObject.

virtual double CbcCliqueBranchingObject::branch (  )  [virtual]

Does next branch and updates state.

Implements CbcBranchingObject.

virtual void CbcCliqueBranchingObject::print (  )  [virtual]

Print something about branch - only if log level high.

virtual CbcBranchObjType CbcCliqueBranchingObject::type (  )  const [inline, virtual]

Return the type (an integer identifier) of this.

Implements CbcBranchingObject.

Definition at line 194 of file CbcClique.hpp.

virtual int CbcCliqueBranchingObject::compareOriginalObject ( const CbcBranchingObject brObj  )  const [virtual]

Compare the original object of this with the original object of brObj.

Assumes that there is an ordering of the original objects. This method should be invoked only if this and brObj are of the same type. Return negative/0/positive depending on whether this is smaller/same/larger than the argument.

Reimplemented from CbcBranchingObject.

virtual CbcRangeCompare CbcCliqueBranchingObject::compareBranchingObject ( const CbcBranchingObject brObj,
const bool  replaceIfOverlap = false 
) [virtual]

Compare the this with brObj.

this and brObj must be of the same type and must have the same original object, but they may have different feasible regions. Return the appropriate CbcRangeCompare value (first argument being the sub/superset if that's the case). In case of overlap (and if replaceIfOverlap is true) replace the current branching object with one whose feasible region is the overlap.

Implements CbcBranchingObject.

CbcCliqueBranchingObject& CbcCliqueBranchingObject::operator= ( const CbcCliqueBranchingObject rhs  ) 
virtual CbcBranchingObject* CbcCliqueBranchingObject::clone (  )  const [virtual]

Clone.

Implements CbcBranchingObject.

virtual double CbcCliqueBranchingObject::branch (  )  [virtual]

Does next branch and updates state.

Implements CbcBranchingObject.

virtual void CbcCliqueBranchingObject::print (  )  [virtual]

Print something about branch - only if log level high.

virtual CbcBranchObjType CbcCliqueBranchingObject::type (  )  const [inline, virtual]

Return the type (an integer identifier) of this.

Implements CbcBranchingObject.

Definition at line 194 of file CbcClique.hpp.

virtual int CbcCliqueBranchingObject::compareOriginalObject ( const CbcBranchingObject brObj  )  const [virtual]

Compare the original object of this with the original object of brObj.

Assumes that there is an ordering of the original objects. This method should be invoked only if this and brObj are of the same type. Return negative/0/positive depending on whether this is smaller/same/larger than the argument.

Reimplemented from CbcBranchingObject.

virtual CbcRangeCompare CbcCliqueBranchingObject::compareBranchingObject ( const CbcBranchingObject brObj,
const bool  replaceIfOverlap = false 
) [virtual]

Compare the this with brObj.

this and brObj must be of the same type and must have the same original object, but they may have different feasible regions. Return the appropriate CbcRangeCompare value (first argument being the sub/superset if that's the case). In case of overlap (and if replaceIfOverlap is true) replace the current branching object with one whose feasible region is the overlap.

Implements CbcBranchingObject.


Member Data Documentation

data

Definition at line 220 of file CbcClique.hpp.

unsigned int CbcCliqueBranchingObject::downMask_ [private]

downMask - bit set to fix to weak bounds, not set to leave unfixed

Definition at line 222 of file CbcClique.hpp.

unsigned int CbcCliqueBranchingObject::upMask_ [private]

upMask - bit set to fix to weak bounds, not set to leave unfixed

Definition at line 224 of file CbcClique.hpp.


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