• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/tmp/buildd/coinor-cbc-2.5.0/debian/tmp/usr/include/coin/CbcSimpleIntegerPseudoCost.hpp

Go to the documentation of this file.
00001 // Edwin 11/10/2009-- carved out of CbcBranchActual
00002 #ifndef CbcSimpleIntegerPseudoCost_H
00003 #define CbcSimpleIntegerPseudoCost_H
00004 
00005 #include "CbcSimpleInteger.hpp"
00007 
00008 class CbcSimpleIntegerPseudoCost : public CbcSimpleInteger {
00009 
00010 public:
00011 
00012     // Default Constructor
00013     CbcSimpleIntegerPseudoCost ();
00014 
00015     // Useful constructor - passed model index
00016     CbcSimpleIntegerPseudoCost (CbcModel * model, int iColumn, double breakEven = 0.5);
00017 
00018     // Useful constructor - passed and model index and pseudo costs
00019     CbcSimpleIntegerPseudoCost (CbcModel * model, int iColumn,
00020                                 double downPseudoCost, double upPseudoCost);
00021     // Useful constructor - passed and model index and pseudo costs
00022     CbcSimpleIntegerPseudoCost (CbcModel * model, int dummy, int iColumn,
00023                                 double downPseudoCost, double upPseudoCost);
00024 
00025     // Copy constructor
00026     CbcSimpleIntegerPseudoCost ( const CbcSimpleIntegerPseudoCost &);
00027 
00029     virtual CbcObject * clone() const;
00030 
00031     // Assignment operator
00032     CbcSimpleIntegerPseudoCost & operator=( const CbcSimpleIntegerPseudoCost& rhs);
00033 
00034     // Destructor
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 

Generated on Tue Sep 7 2010 20:23:52 by  doxygen 1.7.1