CbcSubProblem.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef CbcSubProblem_H
00009 #define CbcSubProblem_H
00010
00011 #ifdef COIN_HAS_CLP
00012 #include "ClpSimplex.hpp"
00013 #include "ClpNode.hpp"
00014
00018 class CoinWarmStartDiff;
00019 class CbcSubProblem {
00020
00021 public:
00022
00024 CbcSubProblem ();
00025
00027 CbcSubProblem (const OsiSolverInterface * solver,
00028 const double * lowerBefore,
00029 const double * upperBefore,
00030 const unsigned char * status,
00031 int depth);
00032
00034 CbcSubProblem ( const CbcSubProblem &);
00035
00037 CbcSubProblem & operator= (const CbcSubProblem& rhs);
00038
00040 virtual ~CbcSubProblem ();
00041
00043 void takeOver ( CbcSubProblem &, bool cleanup);
00045 void apply(OsiSolverInterface * model, int what = 3) const;
00046
00047 public:
00049 double objectiveValue_;
00051 double sumInfeasibilities_;
00053 double branchValue_;
00055 double djValue_;
00058 int * variables_;
00060 double * newBounds_;
00062 mutable CoinWarmStartBasis * status_;
00064 int depth_;
00066 int numberChangedBounds_;
00068 int numberInfeasibilities_;
00076 int problemStatus_;
00078 int branchVariable_;
00079 };
00080
00081 #endif //COIN_HAS_CLP
00082 #endif
00083