source: trunk/Cbc/src/CbcSubProblem.hpp @ 1623

Last change on this file since 1623 was 1573, checked in by lou, 9 years ago

Change to EPL license notice.

File size: 1.7 KB
Line 
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
15/** Defines a general subproblem
16    Basis will be made more compact later
17*/
18class CoinWarmStartDiff;
19class CbcSubProblem {
20
21public:
22
23    /// Default constructor
24    CbcSubProblem ();
25
26    /// Constructor from model
27    CbcSubProblem (const OsiSolverInterface * solver,
28                   const double * lowerBefore,
29                   const double * upperBefore,
30                   const unsigned char * status,
31                   int depth);
32
33    /// Copy constructor
34    CbcSubProblem ( const CbcSubProblem &);
35
36    /// Assignment operator
37    CbcSubProblem & operator= (const CbcSubProblem& rhs);
38
39    /// Destructor
40    virtual ~CbcSubProblem ();
41
42    /// Apply subproblem (1=bounds, 2=basis, 3=both)
43    void apply(OsiSolverInterface * model, int what = 3) const;
44
45public:
46    /// Value of objective
47    double objectiveValue_;
48    /// Sum of infeasibilities
49    double sumInfeasibilities_;
50    /** Which variable (top bit if upper bound changing)
51        next bit if changing on down branch only */
52    int * variables_;
53    /// New bound
54    double * newBounds_;
55    /// Status
56    mutable CoinWarmStartBasis * status_;
57    /// Depth
58    int depth_;
59    /// Number of Extra bound changes
60    int numberChangedBounds_;
61    /// Number of infeasibilities
62    int numberInfeasibilities_;
63};
64
65#endif //COIN_HAS_CLP
66#endif
67
Note: See TracBrowser for help on using the repository browser.