Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbcSubProblem.hpp
Go to the documentation of this file.
1 // $Id: CbcSubProblem.hpp 1899 2013-04-09 18:12:08Z stefan $
2 // Copyright (C) 2002, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 // This code is licensed under the terms of the Eclipse Public License (EPL).
5 
6 // Edwin 11/10/2009-- carved out of CbcBranchActual
7 
8 #ifndef CbcSubProblem_H
9 #define CbcSubProblem_H
10 
11 #ifdef COIN_HAS_CLP
12 #include "ClpSimplex.hpp"
13 #include "ClpNode.hpp"
14 
18 class CoinWarmStartDiff;
19 class CbcSubProblem {
20 
21 public:
22 
24  CbcSubProblem ();
25 
27  CbcSubProblem (const OsiSolverInterface * solver,
28  const double * lowerBefore,
29  const double * upperBefore,
30  const unsigned char * status,
31  int depth);
32 
34  CbcSubProblem ( const CbcSubProblem &);
35 
37  CbcSubProblem & operator= (const CbcSubProblem& rhs);
38 
40  virtual ~CbcSubProblem ();
41 
43  void takeOver ( CbcSubProblem &, bool cleanup);
45  void apply(OsiSolverInterface * model, int what = 3) const;
46 
47 public:
49  double objectiveValue_;
51  double sumInfeasibilities_;
53  double branchValue_;
55  double djValue_;
58  int * variables_;
60  double * newBounds_;
62  mutable CoinWarmStartBasis * status_;
64  int depth_;
66  int numberChangedBounds_;
68  int numberInfeasibilities_;
76  int problemStatus_;
78  int branchVariable_;
79 };
80 
81 #endif //COIN_HAS_CLP
82 #endif
83 
The default COIN simplex (basis-oriented) warm start class.
Abstract Base Class for describing an interface to a solver.
Abstract base class for warm start `diff' objects.