Cbc  2.10.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbcBranchFollow2.hpp
Go to the documentation of this file.
1 // $Id: CbcBranchFollow2.hpp 2469 2019-01-06 23:17:46Z unxusr $
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 #ifndef CbcBranchFollowOn2_H
7 #define CbcBranchFollowOn2_H
8 
9 #include "CbcBranchActual.hpp"
10 #include "CoinPackedMatrix.hpp"
11 
25 class CbcFollowOn2 : public CbcObject {
26 
27 public:
28  // Default Constructor
29  CbcFollowOn2();
30 
34 
35  // Copy constructor
36  CbcFollowOn2(const CbcFollowOn2 &);
37 
39  virtual CbcObject *clone() const;
40 
41  // Assignment operator
42  CbcFollowOn2 &operator=(const CbcFollowOn2 &rhs);
43 
44  // Destructor
45  ~CbcFollowOn2();
46 
48  virtual double infeasibility(int &preferredWay) const;
49 
51  virtual void feasibleRegion();
53  virtual CbcBranchingObject *createBranch(int way);
57  virtual int gutsOfFollowOn2(int &otherRow, int &preferredWay,
58  int &effectiveRhs) const;
59 
61  inline int maximumRhs() const
62  {
63  return maximumRhs_;
64  }
65  inline void setMaximumRhs(int value)
66  {
67  maximumRhs_ = value;
68  }
69 
70 protected:
77  int *rhs_;
80 };
81 
82 #endif
virtual void feasibleRegion()
This looks at solution and sets bounds to contain solution.
int maximumRhs() const
get and set for maximum rhws (affects cuts as branch)
CbcFollowOn2 & operator=(const CbcFollowOn2 &rhs)
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.
Definition: CbcObject.hpp:258
virtual CbcObject * clone() const
Clone.
double infeasibility() const
Return infeasibility.
CbcModel * model() const
Return model.
Definition: CbcObject.hpp:252
Abstract branching object base class Now just difference with OsiBranchingObject. ...
virtual int gutsOfFollowOn2(int &otherRow, int &preferredWay, int &effectiveRhs) const
As some computation is needed in more than one place - returns row.
Sparse Matrix Base Class.
int * rhs_
Possible rhs (if 0 then not possible)
virtual CbcBranchingObject * createBranch(int way)
Creates a branching object.
int maximumRhs_
If >1 then allow cuts if effective rhs <= this.
Define a follow on class.
CoinPackedMatrix matrixByRow_
Matrix by row.
Simple Branch and bound class.
Definition: CbcModel.hpp:100
CoinPackedMatrix matrix_
data Matrix
void setMaximumRhs(int value)