BonminCbcNlpStrategy.hpp

Go to the documentation of this file.
00001 // (C) Copyright International Business Machines Corporation and Carnegie Mellon University 2006
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // Authors :
00006 // John J. Forrest, International Business Machines Corporation
00007 // Pierre Bonami, Carnegie Mellon University,
00008 //
00009 // Date : 03/15/2006
00010 
00011 #ifndef BonminCbcNlpStrategy_H
00012 #define BonminCbcNlpStrategy_H
00013 
00014 #include "CbcStrategy.hpp"
00015 class CglPreProcess;
00016 class CbcNodeInfo;
00017 class CbcNode;
00018 class CoinWarmStartDiff;
00019 
00020 class BonminCbcNlpStrategy : public CbcStrategy
00021 {
00022 public:
00023 
00024   // Default Constructor
00025   BonminCbcNlpStrategy (int maxFailures,
00026       int maxInfeasibles,
00027       int pretendFailIsInfeasible);
00028 
00029   // Copy constructor
00030   BonminCbcNlpStrategy ( const BonminCbcNlpStrategy &);
00031 
00032   // Destructor
00033   virtual ~BonminCbcNlpStrategy ();
00034 
00036   virtual CbcStrategy * clone() const;
00037 
00039   virtual CbcNodeInfo * fullNodeInfo(CbcModel * model,int numberRowsAtContinuous) const;
00041   virtual CbcNodeInfo * partialNodeInfo(CbcModel * model, CbcNodeInfo * parent, CbcNode * owner,
00042       int numberChangedBounds,const int * variables,
00043       const double * boundChanges,
00044       const CoinWarmStartDiff *basisDiff) const;
00051   virtual int status(CbcModel * model, CbcNodeInfo * parent, int whereFrom);
00053   inline void setMaxFailure(int value)
00054   {
00055     maxFailure_ = value;
00056   }
00058   inline void setMaxInfeasible(int value)
00059   {
00060     maxInfeasible_ = value;
00061   }
00062 
00064   virtual void setupCutGenerators(CbcModel & model);
00066   virtual void setupHeuristics(CbcModel & model);
00068   virtual void setupPrinting(CbcModel & model,int modelLogLevel);
00070   virtual void setupOther(CbcModel & model);
00071 
00072   bool hasFailed()
00073   {
00074     return hasFailed_;
00075   }
00076 protected:
00077   // Data
00079   bool hasFailed_;
00081   int maxFailure_;
00083   int maxInfeasible_;
00086   int pretendFailIsInfeasible_;
00087 
00088 private:
00090   BonminCbcNlpStrategy & operator=(const BonminCbcNlpStrategy& rhs);
00091 
00092 };
00093 
00094 
00095 #endif

Generated on Fri May 16 21:05:57 2008 for Bonmin by  doxygen 1.4.7