# CbcCliqueBranchingObject Class Reference

Branching object for unordered cliques. More...

`#include <CbcClique.hpp>`

Inheritance diagram for CbcCliqueBranchingObject:
[legend]
Collaboration diagram for CbcCliqueBranchingObject:
[legend]

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 &)
CbcCliqueBranchingObject & | operator= (const CbcCliqueBranchingObject &rhs)
| Assignment operator.
virtual CbcBranchingObject * | clone () 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 CbcClique * | clique_
| 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 162 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]`

## Member Function Documentation

CbcCliqueBranchingObject& CbcCliqueBranchingObject::operator= | ( | const CbcCliqueBranchingObject & | rhs | ) |

Assignment operator.

Reimplemented from CbcBranchingObject.

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 197 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.

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.

## Member Data Documentation

const CbcClique* CbcCliqueBranchingObject::clique_`[private]`

data

Definition at line 223 of file CbcClique.hpp.

unsigned int CbcCliqueBranchingObject::downMask_[2]`[private]`

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

Definition at line 225 of file CbcClique.hpp.

unsigned int CbcCliqueBranchingObject::upMask_[2]`[private]`

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

Definition at line 227 of file CbcClique.hpp.

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

- /home/coin/svn-release/Cbc-2.8.0/Cbc/src/CbcClique.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines