/home/coin/SVN-release/Cbc-1.1.1/Cbc/src/CbcHeuristicFPump.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2004, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef CbcHeuristicFeasibilityPump_H
00004 #define CbcHeuristicFeasibilityPump_H
00005 
00006 #include "CbcHeuristic.hpp"
00007 
00011 class CbcHeuristicFPump : public CbcHeuristic {
00012 public:
00013 
00014   // Default Constructor 
00015   CbcHeuristicFPump ();
00016 
00017   // Constructor with model - assumed before cuts
00018   CbcHeuristicFPump (CbcModel & model,
00019                      double downValue=0.5,bool roundExpensive=false);
00020   
00021   // Copy constructor 
00022   CbcHeuristicFPump ( const CbcHeuristicFPump &);
00023    
00024   // Destructor 
00025   ~CbcHeuristicFPump ();
00026   
00028   virtual CbcHeuristic * clone() const;
00030   virtual void generateCpp( FILE * fp) ;
00031 
00033   virtual void resetModel(CbcModel * model);
00034 
00036   virtual void setModel(CbcModel * model);
00037   
00046   virtual int solution(double & objectiveValue,
00047                        double * newSolution);
00048 
00050   inline void setMaximumPasses(int value)
00051   { maximumPasses_=value;};
00053   inline int maximumPasses() const
00054   { return maximumPasses_;};
00056   void setMaximumTime(double value);
00058   inline double maximumTime() const
00059   { return maximumTime_;};
00060 
00061 protected:
00062   // Data
00064   double startTime_;
00066   double maximumTime_;
00068   int maximumPasses_;
00070   double downValue_;
00072   bool roundExpensive_;
00073 
00074 private:
00076   CbcHeuristicFPump & operator=(const CbcHeuristicFPump& rhs);
00081   int rounds(double * solution, const double * objective, 
00082              bool roundExpensive=false,
00083              double downValue=0.5, int *flip=0);
00084 };
00085 
00086 
00087 #endif

Generated on Thu May 15 21:59:04 2008 by  doxygen 1.4.7