CbcBonmin.hpp

Go to the documentation of this file.
00001 #ifndef BonminBB_hpp
00002 #define BonminBB_hpp
00003 
00004 #include "BonminCbcParam.hpp"
00005 
00006 class IpoptInterface;
00007 class CbcObject;
00009 class BonminBB
00010 {
00011 public:
00013   enum MipStatuses {FeasibleOptimal ,
00014       ProvenInfeasible ,
00015       Feasible ,
00016       NoSolutionKnown};
00018   BonminBB();
00020   virtual ~BonminBB();
00022   void branchAndBound(IpoptInterface &ip,
00023       const BonminCbcParam&par);
00024 
00026   void operator()(IpoptInterface &ip, const BonminCbcParam& par)
00027   {
00028     branchAndBound(ip,par);
00029   }
00030 
00033   const Number * bestSolution() const
00034   {
00035     return bestSolution_;
00036   }
00038   double bestObj() const
00039   {
00040     return bestObj_;
00041   }
00043   MipStatuses mipStatus() const
00044   {
00045     return mipStatus_;
00046   }
00048   double bestBound();
00050   int numNodes() const
00051   {
00052     return numNodes_;
00053   }
00055   int iterationCount()
00056   {
00057     return mipIterationCount_;
00058   }
00060   double continuousRelaxation()
00061   {
00062     return continuousRelaxation_;
00063   }
00064 
00067   virtual void replaceIntegers(CbcObject ** objects, int numberObjects)
00068   {};
00069 private:
00071   double * bestSolution_;
00073   MipStatuses mipStatus_;
00075   double bestObj_;
00077   double bestBound_;
00079   double continuousRelaxation_;
00081   int numNodes_;
00083   int mipIterationCount_;
00084 };
00085 #endif

Generated on Fri May 16 21:05:57 2008 for Bonmin by  doxygen 1.4.7