Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbcBranchAllDifferent.hpp
Go to the documentation of this file.
1 // $Id: CbcBranchAllDifferent.hpp 1899 2013-04-09 18:12:08Z stefan $
2 // Copyright (C) 2004, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 // This code is licensed under the terms of the Eclipse Public License (EPL).
5 
6 // Edwin 11/13/2009-- carved out of CbcBranchCut
7 
8 #ifndef CbcBranchAllDifferent_H
9 #define CbcBranchAllDifferent_H
10 
11 #include "CbcBranchBase.hpp"
12 #include "OsiRowCut.hpp"
13 #include "CoinPackedMatrix.hpp"
14 #include "CbcBranchCut.hpp"
15 
23 
24 public:
25 
26  // Default Constructor
28 
31  CbcBranchAllDifferent (CbcModel * model, int number, const int * which);
32 
33  // Copy constructor
35 
37  virtual CbcObject * clone() const;
38 
39  // Assignment operator
41 
42  // Destructor
44 
46  virtual double infeasibility(const OsiBranchingInformation * info,
47  int &preferredWay) const;
48 
50  virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ;
51 
52 
53 protected:
55 
59  int * which_;
60 };
61 #endif
62 
Define a cut branching class.
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.
Definition: CbcObject.hpp:245
Abstract Base Class for describing an interface to a solver.
Define a branch class that branches so that it is only satsified if all members have different values...
double infeasibility() const
Return infeasibility.
virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object.
CbcModel * model() const
Return model.
Definition: CbcObject.hpp:240
Abstract branching object base class Now just difference with OsiBranchingObject. ...
CbcBranchAllDifferent & operator=(const CbcBranchAllDifferent &rhs)
virtual CbcObject * clone() const
Clone.
int * which_
Which variables.
Simple Branch and bound class.
Definition: CbcModel.hpp:101