Go to the documentation of this file.00001
00002 #ifndef CbcSimpleIntegerPseudoCost_H
00003 #define CbcSimpleIntegerPseudoCost_H
00004
00005 #include "CbcSimpleInteger.hpp"
00007
00008 class CbcSimpleIntegerPseudoCost : public CbcSimpleInteger {
00009
00010 public:
00011
00012
00013 CbcSimpleIntegerPseudoCost ();
00014
00015
00016 CbcSimpleIntegerPseudoCost (CbcModel * model, int iColumn, double breakEven = 0.5);
00017
00018
00019 CbcSimpleIntegerPseudoCost (CbcModel * model, int iColumn,
00020 double downPseudoCost, double upPseudoCost);
00021
00022 CbcSimpleIntegerPseudoCost (CbcModel * model, int dummy, int iColumn,
00023 double downPseudoCost, double upPseudoCost);
00024
00025
00026 CbcSimpleIntegerPseudoCost ( const CbcSimpleIntegerPseudoCost &);
00027
00029 virtual CbcObject * clone() const;
00030
00031
00032 CbcSimpleIntegerPseudoCost & operator=( const CbcSimpleIntegerPseudoCost& rhs);
00033
00034
00035 virtual ~CbcSimpleIntegerPseudoCost ();
00036
00038 virtual double infeasibility(const OsiBranchingInformation * info,
00039 int &preferredWay) const;
00040
00042 virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ;
00043
00045 inline double downPseudoCost() const {
00046 return downPseudoCost_;
00047 }
00049 inline void setDownPseudoCost(double value) {
00050 downPseudoCost_ = value;
00051 }
00052
00054 inline double upPseudoCost() const {
00055 return upPseudoCost_;
00056 }
00058 inline void setUpPseudoCost(double value) {
00059 upPseudoCost_ = value;
00060 }
00061
00063 inline double upDownSeparator() const {
00064 return upDownSeparator_;
00065 }
00067 inline void setUpDownSeparator(double value) {
00068 upDownSeparator_ = value;
00069 }
00070
00072 virtual double upEstimate() const;
00074 virtual double downEstimate() const;
00075
00077 inline int method() const {
00078 return method_;
00079 }
00081 inline void setMethod(int value) {
00082 method_ = value;
00083 }
00084
00085 protected:
00087
00089 double downPseudoCost_;
00091 double upPseudoCost_;
00096 double upDownSeparator_;
00103 int method_;
00104 };
00105
00106
00107 #endif
00108