# 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