CbcSubProblem.hpp
Go to the documentation of this file.
1 // Edwin 11/10/2009-- carved out of CbcBranchActual
2 #ifndef CbcSubProblem_H
3 #define CbcSubProblem_H
4 
5 #ifdef COIN_HAS_CLP
6 #include "ClpSimplex.hpp"
7 #include "ClpNode.hpp"
8 
12 class CoinWarmStartDiff;
13 class CbcSubProblem {
14 
15 public:
16 
18  CbcSubProblem ();
19 
21  CbcSubProblem (const OsiSolverInterface * solver,
22  const double * lowerBefore,
23  const double * upperBefore,
24  const unsigned char * status,
25  int depth);
26 
28  CbcSubProblem ( const CbcSubProblem &);
29 
31  CbcSubProblem & operator= (const CbcSubProblem& rhs);
32 
34  virtual ~CbcSubProblem ();
35 
37  void apply(OsiSolverInterface * model, int what = 3) const;
38 
39 public:
41  double objectiveValue_;
43  double sumInfeasibilities_;
46  int * variables_;
48  double * newBounds_;
50  mutable CoinWarmStartBasis * status_;
52  int depth_;
54  int numberChangedBounds_;
56  int numberInfeasibilities_;
57 };
58 
59 #endif //COIN_HAS_CLP
60 #endif
61