Go to the documentation of this file.00001
00002 #ifndef CbcSubProblem_H
00003 #define CbcSubProblem_H
00004
00005 #ifdef COIN_HAS_CLP
00006 #include "ClpSimplex.hpp"
00007 #include "ClpNode.hpp"
00008
00012 class CoinWarmStartDiff;
00013 class CbcSubProblem {
00014
00015 public:
00016
00018 CbcSubProblem ();
00019
00021 CbcSubProblem (const OsiSolverInterface * solver,
00022 const double * lowerBefore,
00023 const double * upperBefore,
00024 const unsigned char * status,
00025 int depth);
00026
00028 CbcSubProblem ( const CbcSubProblem &);
00029
00031 CbcSubProblem & operator= (const CbcSubProblem& rhs);
00032
00034 virtual ~CbcSubProblem ();
00035
00037 void apply(OsiSolverInterface * model, int what = 3) const;
00038
00039 public:
00041 double objectiveValue_;
00043 double sumInfeasibilities_;
00046 int * variables_;
00048 double * newBounds_;
00050 mutable CoinWarmStartBasis * status_;
00052 int depth_;
00054 int numberChangedBounds_;
00056 int numberInfeasibilities_;
00057 };
00058
00059 #endif //COIN_HAS_CLP
00060 #endif
00061