CbcSimpleIntegerPseudoCost.hpp
Go to the documentation of this file.
1 // Edwin 11/10/2009-- carved out of CbcBranchActual
2 #ifndef CbcSimpleIntegerPseudoCost_H
3 #define CbcSimpleIntegerPseudoCost_H
4 
5 #include "CbcSimpleInteger.hpp"
7 
9 
10 public:
11 
12  // Default Constructor
14 
15  // Useful constructor - passed model index
16  CbcSimpleIntegerPseudoCost (CbcModel * model, int iColumn, double breakEven = 0.5);
17 
18  // Useful constructor - passed and model index and pseudo costs
19  CbcSimpleIntegerPseudoCost (CbcModel * model, int iColumn,
20  double downPseudoCost, double upPseudoCost);
21  // Useful constructor - passed and model index and pseudo costs
22  CbcSimpleIntegerPseudoCost (CbcModel * model, int dummy, int iColumn,
23  double downPseudoCost, double upPseudoCost);
24 
25  // Copy constructor
27 
29  virtual CbcObject * clone() const;
30 
31  // Assignment operator
33 
34  // Destructor
35  virtual ~CbcSimpleIntegerPseudoCost ();
36 
38  virtual double infeasibility(const OsiBranchingInformation * info,
39  int &preferredWay) const;
40 
42  virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ;
43 
45  inline double downPseudoCost() const {
46  return downPseudoCost_;
47  }
49  inline void setDownPseudoCost(double value) {
50  downPseudoCost_ = value;
51  }
52 
54  inline double upPseudoCost() const {
55  return upPseudoCost_;
56  }
58  inline void setUpPseudoCost(double value) {
59  upPseudoCost_ = value;
60  }
61 
63  inline double upDownSeparator() const {
64  return upDownSeparator_;
65  }
67  inline void setUpDownSeparator(double value) {
68  upDownSeparator_ = value;
69  }
70 
72  virtual double upEstimate() const;
74  virtual double downEstimate() const;
75 
77  inline int method() const {
78  return method_;
79  }
81  inline void setMethod(int value) {
82  method_ = value;
83  }
84 
85 protected:
87 
91  double upPseudoCost_;
103  int method_;
104 };
105 
106 
107 #endif
108