/home/coin/SVN-release/OS-2.1.0/Bonmin/src/CbcBonmin/Heuristics/BonHeuristicDiveMIP.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2007, International Business Machines Corporation and others. 
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // Authors :
00006 // Joao P. Goncalves, International Business Machines Corporation
00007 //
00008 // Date : November 12, 2007
00009 
00010 #ifndef BonHeuristicDiveMIP_HPP
00011 #define BonHeuristicDiveMIP_HPP
00012 #include "BonOsiTMINLPInterface.hpp"
00013 #include "BonBonminSetup.hpp"
00014 #include "CbcHeuristic.hpp"
00015 #include "CbcStrategy.hpp"
00016 namespace Bonmin
00017 {
00018   class HeuristicDiveMIP : public CbcHeuristic
00019   {
00020   public:
00021 #if 0
00023     HeuristicDiveMIP();
00024 #endif
00025 
00027     HeuristicDiveMIP(BonminSetup * setup);
00028 
00030     HeuristicDiveMIP(const HeuristicDiveMIP &copy);
00031 
00033     ~HeuristicDiveMIP();
00034 
00036     HeuristicDiveMIP & operator=(const HeuristicDiveMIP & rhs);
00037 
00039     virtual CbcHeuristic * clone() const = 0;
00040 
00042     void Initialize(BonminSetup * setup);
00043 
00045     virtual void resetModel(CbcModel * model){
00046       setModel(model);
00047     }
00048 
00050     virtual void setSetup(BonminSetup * setup){
00051       setup_ = setup;
00052       //      Initialize(setup_->options());
00053     }
00054 
00056     virtual int solution(double &solutionValue, double *betterSolution);
00057 
00059     virtual void setInternalVariables(TMINLP2TNLP* minlp) = 0;
00060 
00062 
00064     virtual void selectVariableToBranch(TMINLP2TNLP* minlp,
00065                                         const vector<int> & integerColumns,
00066                                         const double* newSolution,
00067                                         int& bestColumn,
00068                                         int& bestRound) = 0;
00069 
00070   protected:
00072     BonminSetup * setup_; 
00073 
00074   private:
00076     int howOften_;
00078     OsiSolverInterface * emptyInterface_;
00080     CbcStrategy * strategy_;
00081 
00082   };
00083 }
00084 #endif

Generated on Tue Mar 30 03:04:35 2010 by  doxygen 1.4.7