/home/coin/SVN-release/OS-2.0.1/Bonmin/src/Algorithms/Branching/BonCurvBranchingSolver.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2006, 2007 International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef BonCurvBranchingSolver_H
00004 #define BonCurvBranchingSolver_H
00005 
00006 #include "BonStrongBranchingSolver.hpp"
00007 #include "BonCurvatureEstimator.hpp"
00008 
00009 namespace Bonmin
00010 {
00011 
00015   class CurvBranchingSolver : public StrongBranchingSolver
00016   {
00017 
00018   public:
00019 
00021     CurvBranchingSolver (OsiTMINLPInterface * solver);
00022 
00024     CurvBranchingSolver (const CurvBranchingSolver &);
00025 
00027     CurvBranchingSolver & operator= (const CurvBranchingSolver& rhs);
00028 
00030     virtual ~CurvBranchingSolver ();
00031 
00034     virtual void markHotStart(OsiTMINLPInterface* tminlp_interface);
00035 
00037     virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface* tminlp_interface);
00038 
00040     virtual void unmarkHotStart(OsiTMINLPInterface* tminlp_interface);
00041 
00042   private:
00044     CurvBranchingSolver ();
00045 
00046     SmartPtr<CurvatureEstimator> cur_estimator_;
00047 
00050     bool new_bounds_;
00051     bool new_x_;
00052     bool new_mults_;
00053     double* orig_d_;
00054     double* projected_d_;
00055     Number* x_l_orig_;
00056     Number* x_u_orig_;
00057     Number* g_l_orig_;
00058     Number* g_u_orig_;
00060 
00063     int numCols_;
00064     int numRows_;
00065     const double* solution_;
00066     const double* duals_;
00067     double obj_value_;
00069 
00070   };
00071 
00072 }
00073 
00074 #endif

Generated on Thu Oct 8 03:02:54 2009 by  doxygen 1.4.7