Cbc 2.10.8
CbcSubProblem.hpp
Go to the documentation of this file.
1// $Id$
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
18class CoinWarmStartDiff;
19class CbcSubProblem {
20
21public:
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
46public:
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*/