Cbc  2.10.5
 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 2465 2019-01-03 19:26:52Z unxusr $
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:
23  CbcSubProblem();
24 
26  CbcSubProblem(const OsiSolverInterface *solver,
27  const double *lowerBefore,
28  const double *upperBefore,
29  const unsigned char *status,
30  int depth);
31 
33  CbcSubProblem(const CbcSubProblem &);
34 
36  CbcSubProblem &operator=(const CbcSubProblem &rhs);
37 
39  virtual ~CbcSubProblem();
40 
42  void takeOver(CbcSubProblem &, bool cleanup);
44  void apply(OsiSolverInterface *model, int what = 3) const;
45 
46 public:
48  double objectiveValue_;
50  double sumInfeasibilities_;
52  double branchValue_;
54  double djValue_;
57  int *variables_;
59  double *newBounds_;
61  mutable CoinWarmStartBasis *status_;
63  int depth_;
65  int numberChangedBounds_;
67  int numberInfeasibilities_;
75  int problemStatus_;
77  int branchVariable_;
78 };
79 
80 #endif //COIN_HAS_CLP
81 #endif
82 
83 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
84 */
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.