CbcBranchFollow2.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, International Business Machines
2 // Corporation and others. All Rights Reserved.
3 #ifndef CbcBranchFollowOn2_H
4 #define CbcBranchFollowOn2_H
5 
6 #include "CbcBranchActual.hpp"
7 #include "CoinPackedMatrix.hpp"
8 
9 
23 class CbcFollowOn2 : public CbcObject {
24 
25 public:
26 
27  // Default Constructor
28  CbcFollowOn2 ();
29 
33 
34  // Copy constructor
35  CbcFollowOn2 ( const CbcFollowOn2 &);
36 
38  virtual CbcObject * clone() const;
39 
40  // Assignment operator
41  CbcFollowOn2 & operator=( const CbcFollowOn2& rhs);
42 
43  // Destructor
44  ~CbcFollowOn2 ();
45 
47  virtual double infeasibility(int & preferredWay) const;
48 
50  virtual void feasibleRegion();
52  virtual CbcBranchingObject * createBranch(int way) ;
56  virtual int gutsOfFollowOn2(int & otherRow, int & preferredWay,
57  int & effectiveRhs) const;
58 
60  inline int maximumRhs() const
61  { return maximumRhs_;}
62  inline void setMaximumRhs(int value)
63  { maximumRhs_=value;}
64 protected:
67  CoinPackedMatrix matrix_;
69  CoinPackedMatrix matrixByRow_;
71  int * rhs_;
74 };
75 
76 #endif
Abstract branching object base class Now just difference with OsiBranchingObject. ...
CoinPackedMatrix matrix_
data Matrix
virtual double infeasibility(int &preferredWay) const
Infeasibility - large is 0.5.
CbcFollowOn2 & operator=(const CbcFollowOn2 &rhs)
virtual void feasibleRegion()
This looks at solution and sets bounds to contain solution.
virtual int gutsOfFollowOn2(int &otherRow, int &preferredWay, int &effectiveRhs) const
As some computation is needed in more than one place - returns row.
virtual CbcObject * clone() const
Clone.
virtual CbcBranchingObject * createBranch(int way)
Creates a branching object.
int maximumRhs() const
get and set for maximum rhws (affects cuts as branch)
Define a follow on class.
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.
Definition: CbcObject.hpp:235
void setMaximumRhs(int value)
int * rhs_
Possible rhs (if 0 then not possible)
CoinPackedMatrix matrixByRow_
Matrix by row.
CbcModel * model() const
Return model.
Definition: CbcObject.hpp:230
int maximumRhs_
If >1 then allow cuts if effective rhs <= this.
Simple Branch and bound class.
Definition: CbcModel.hpp:98