Bonmin  1.7
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 //
00004 //
00005 #error "BonCurvBranchingSolver not supported anymore"
00006 #ifndef BonCurvBranchingSolver_H
00007 #define BonCurvBranchingSolver_H
00008 
00009 #include "BonStrongBranchingSolver.hpp"
00010 #include "BonCurvatureEstimator.hpp"
00011 
00012 namespace Bonmin
00013 {
00014 
00018   class CurvBranchingSolver : public StrongBranchingSolver
00019   {
00020 
00021   public:
00022 
00024     CurvBranchingSolver (OsiTMINLPInterface * solver);
00025 
00027     CurvBranchingSolver (const CurvBranchingSolver &);
00028 
00030     CurvBranchingSolver & operator= (const CurvBranchingSolver& rhs);
00031 
00033     virtual ~CurvBranchingSolver ();
00034 
00037     virtual void markHotStart(OsiTMINLPInterface* tminlp_interface);
00038 
00040     virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface* tminlp_interface);
00041 
00043     virtual void unmarkHotStart(OsiTMINLPInterface* tminlp_interface);
00044 
00045   private:
00047     CurvBranchingSolver ();
00048 
00049     SmartPtr<CurvatureEstimator> cur_estimator_;
00050 
00053     bool new_bounds_;
00054     bool new_x_;
00055     bool new_mults_;
00056     double* orig_d_;
00057     double* projected_d_;
00058     Number* x_l_orig_;
00059     Number* x_u_orig_;
00060     Number* g_l_orig_;
00061     Number* g_u_orig_;
00063 
00066     int numCols_;
00067     int numRows_;
00068     const double* solution_;
00069     const double* duals_;
00070     double obj_value_;
00072 
00073   };
00074 
00075 }
00076 
00077 #endif