Cbc 2.10.13
Loading...
Searching...
No Matches
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:
Collaboration diagram for CbcBranchAllDifferent:

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.
CbcBranchAllDifferentoperator= (const CbcBranchAllDifferent &rhs)
 ~CbcBranchAllDifferent ()
virtual double infeasibility (const OsiBranchingInformation *info, int &preferredWay) const
 Infeasibility - large is 0.5.
virtual CbcBranchingObjectcreateCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
 Creates a branching object.
Public Member Functions inherited from CbcBranchCut
 CbcBranchCut ()
 CbcBranchCut (CbcModel *model)
 In to maintain normal methods.
 CbcBranchCut (const CbcBranchCut &)
CbcBranchCutoperator= (const CbcBranchCut &rhs)
 ~CbcBranchCut ()
virtual void feasibleRegion ()
 Set bounds to contain the current solution.
virtual bool boundBranch () const
 Return true if branch created by object should fix variables.
virtual CbcBranchingObjectpreferredNewFeasible () const
 Given a valid solution (with reduced costs, etc.), return a branching object which would give a new feasible point in the good direction.
virtual CbcBranchingObjectnotPreferredNewFeasible () const
 Given a valid solution (with reduced costs, etc.), return a branching object which would give a new feasible point in a bad direction.
virtual void resetBounds ()
 Reset original upper and lower bound values from the solver.

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 21 of file CbcBranchAllDifferent.hpp.

Constructor & Destructor Documentation

◆ CbcBranchAllDifferent() [1/3]

CbcBranchAllDifferent::CbcBranchAllDifferent ( )

◆ CbcBranchAllDifferent() [2/3]

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

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

◆ CbcBranchAllDifferent() [3/3]

CbcBranchAllDifferent::CbcBranchAllDifferent ( const CbcBranchAllDifferent & )

◆ ~CbcBranchAllDifferent()

CbcBranchAllDifferent::~CbcBranchAllDifferent ( )

Member Function Documentation

◆ clone()

virtual CbcObject * CbcBranchAllDifferent::clone ( ) const
virtual

Clone.

Reimplemented from CbcBranchCut.

◆ operator=()

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

◆ infeasibility()

virtual double CbcBranchAllDifferent::infeasibility ( const OsiBranchingInformation * info,
int & preferredWay ) const
virtual

Infeasibility - large is 0.5.

Reimplemented from CbcBranchCut.

◆ createCbcBranch()

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

Creates a branching object.

Reimplemented from CbcBranchCut.

Member Data Documentation

◆ numberInSet_

int CbcBranchAllDifferent::numberInSet_
protected

data

Number of entries

Definition at line 54 of file CbcBranchAllDifferent.hpp.

◆ which_

int* CbcBranchAllDifferent::which_
protected

Which variables.

Definition at line 56 of file CbcBranchAllDifferent.hpp.


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