Cbc trunk
CbcSubProblem.hpp
Go to the documentation of this file.
00001 // $Id$
00002 // Copyright (C) 2002, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
00005 
00006 // Edwin 11/10/2009-- carved out of CbcBranchActual
00007 
00008 #ifndef CbcSubProblem_H
00009 #define CbcSubProblem_H
00010 
00011 #ifdef COIN_HAS_CLP
00012 #include "ClpSimplex.hpp"
00013 #include "ClpNode.hpp"
00014 
00018 class CoinWarmStartDiff;
00019 class CbcSubProblem {
00020 
00021 public:
00022 
00024     CbcSubProblem ();
00025 
00027     CbcSubProblem (const OsiSolverInterface * solver,
00028                    const double * lowerBefore,
00029                    const double * upperBefore,
00030                    const unsigned char * status,
00031                    int depth);
00032 
00034     CbcSubProblem ( const CbcSubProblem &);
00035 
00037     CbcSubProblem & operator= (const CbcSubProblem& rhs);
00038 
00040     virtual ~CbcSubProblem ();
00041 
00043     void apply(OsiSolverInterface * model, int what = 3) const;
00044 
00045 public:
00047     double objectiveValue_;
00049     double sumInfeasibilities_;
00052     int * variables_;
00054     double * newBounds_;
00056     mutable CoinWarmStartBasis * status_;
00058     int depth_;
00060     int numberChangedBounds_;
00062     int numberInfeasibilities_;
00063 };
00064 
00065 #endif //COIN_HAS_CLP
00066 #endif
00067 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines