# CbcBranchAllDifferent Class Reference

Define a branch class that branches so that it is only satsified if all members have different values So cut is x <= y-1 or x >= y+1. More...

`#include <CbcBranchAllDifferent.hpp>`

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

List of all members.

## Public Member Functions
| CbcBranchAllDifferent ()
| CbcBranchAllDifferent (CbcModel *model, int number, const int *which)
| Useful constructor - passed set of integer variables which must all be different.
| CbcBranchAllDifferent (const CbcBranchAllDifferent &)
virtual CbcObject * | clone () const
| Clone.
CbcBranchAllDifferent & | operator= (const CbcBranchAllDifferent &rhs)
| ~CbcBranchAllDifferent ()
virtual double | infeasibility (const OsiBranchingInformation *info, int &preferredWay) const
| Infeasibility - large is 0.5.
virtual CbcBranchingObject * | createCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
| Creates a branching object.
## Protected Attributes
int | numberInSet_
| data
int * | which_
| Which variables.

## Detailed Description

Define a branch class that branches so that it is only satsified if all members have different values So cut is x <= y-1 or x >= y+1.

Definition at line 22 of file CbcBranchAllDifferent.hpp.

## Constructor & Destructor Documentation

CbcBranchAllDifferent::CbcBranchAllDifferent | ( |  | ) |

CbcBranchAllDifferent::CbcBranchAllDifferent | ( | CbcModel * | model,
|  | int | number,
|  | const int * | which |
| ) |  |  |

Useful constructor - passed set of integer variables which must all be different.

CbcBranchAllDifferent::CbcBranchAllDifferent | ( | const CbcBranchAllDifferent & |  | ) |

CbcBranchAllDifferent::~CbcBranchAllDifferent | ( |  | ) |

## Member Function Documentation

virtual CbcObject* CbcBranchAllDifferent::clone | ( |  | ) | const`[virtual]`

Clone.

Reimplemented from CbcBranchCut.

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

Reimplemented from CbcBranchCut.

virtual double CbcBranchAllDifferent::infeasibility | ( | const OsiBranchingInformation * | info,
|  | int & | preferredWay |
| ) |  |  | const`[virtual]`

Infeasibility - large is 0.5.

Reimplemented from CbcBranchCut.

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

Creates a branching object.

Reimplemented from CbcBranchCut.

## Member Data Documentation

int CbcBranchAllDifferent::numberInSet_`[protected]`

data

Number of entries

Definition at line 57 of file CbcBranchAllDifferent.hpp.

int* CbcBranchAllDifferent::which_`[protected]`

Which variables.

Definition at line 59 of file CbcBranchAllDifferent.hpp.

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

- /home/coin/svn-release/Cbc-2.7.7/Cbc/src/CbcBranchAllDifferent.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines