# CbcFullNodeInfo.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/24/09 carved from CbcNode
    00007
    00008 #ifndef CbcFullNodeInfo_H
    00009 #define CbcFullNodeInfo_H
    00010
    00011 #include <string>
    00012 #include <vector>
    00013
    00014 #include "CoinWarmStartBasis.hpp"
    00015 #include "CoinSearchTree.hpp"
    00016 #include "CbcBranchBase.hpp"
    00017 #include "CbcNodeInfo.hpp"
    00018
    00019 class OsiSolverInterface;
    00020 class OsiSolverBranch;
    00021
    00022 class OsiCuts;
    00023 class OsiRowCut;
    00024 class OsiRowCutDebugger;
    00025 class CoinWarmStartBasis;
    00026 class CbcCountRowCut;
    00027 class CbcModel;
    00028 class CbcNode;
    00029 class CbcSubProblem;
    00030 class CbcGeneralBranchingObject;
    00031
    00032 //#############################################################################
    00081 class CbcFullNodeInfo : public CbcNodeInfo {
    00082
    00083 public:
    00084
    00094     virtual void applyToModel (CbcModel *model, CoinWarmStartBasis *&basis,
    00095                                CbcCountRowCut **addCuts,
    00096                                int &currentNumberCuts) const ;
    00097
    00099     virtual int applyBounds(int iColumn, double & lower, double & upper, int force) ;
    00100
    00105     virtual CbcNodeInfo * buildRowBasis(CoinWarmStartBasis & basis) const ;
    00106     // Default Constructor
    00107     CbcFullNodeInfo ();
    00108
    00111     CbcFullNodeInfo (CbcModel * model,
    00112                      int numberRowsAtContinuous);
    00113
    00114     // Copy constructor
    00115     CbcFullNodeInfo ( const CbcFullNodeInfo &);
    00116
    00117     // Destructor
    00118     ~CbcFullNodeInfo ();
    00119
    00121     virtual CbcNodeInfo * clone() const;
    00123     inline const double * lower() const {
    00124         return lower_;
    00125     }
    00127     inline const double * upper() const {
    00128         return upper_;
    00129     }
    00130 protected:
    00131     // Data
    00137     CoinWarmStartBasis *basis_;
    00138     int numberIntegers_;
    00139     // Bounds stored in full
    00140     double * lower_;
    00141     double * upper_;
    00142 private:
    00144     CbcFullNodeInfo & operator=(const CbcFullNodeInfo& rhs);
    00145 };
    00146 #endif //CbcFullNodeInfo_H
    00147

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines