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.
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.
Public Member Functions inherited from CbcBranchCut
 CbcBranchCut ()
 CbcBranchCut (CbcModel *model)
 In to maintain normal methods.
 CbcBranchCut (const CbcBranchCut &)
CbcBranchCut & operator= (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 CbcBranchingObject * preferredNewFeasible () 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 CbcBranchingObject * notPreferredNewFeasible () 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: