Bonmin
1.7
|
00001 // (C) Copyright CNRS and International Business Machines Corporation 00002 // All Rights Reserved. 00003 // This code is published under the Common Public License. 00004 // 00005 // Authors : 00006 // Pierre Bonami, LIF Université de la Méditérannée-CNRS 00007 // Joao Goncalves, International Business Machines Corporation 00008 // 00009 // Date : 06/18/2008 00010 00011 #ifndef BonHeuristicLocalBranching_H 00012 #define BonHeuristicLocalBranching_H 00013 #include "BonLocalSolverBasedHeuristic.hpp" 00014 00015 namespace Bonmin { 00016 class HeuristicLocalBranching:public LocalSolverBasedHeuristic { 00017 public: 00019 HeuristicLocalBranching(); 00021 HeuristicLocalBranching(BonminSetup * setup); 00022 00024 HeuristicLocalBranching(const HeuristicLocalBranching &other); 00026 virtual CbcHeuristic * clone() const{ 00027 return new HeuristicLocalBranching(*this); 00028 } 00029 00031 virtual ~HeuristicLocalBranching(); 00032 00034 virtual void setModel(CbcModel * model); 00035 00037 virtual void validate(); 00038 00040 int solution(double & objectiveValue, 00041 double * newSolution); 00042 00044 static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions); 00045 00047 void Initialize(Ipopt::SmartPtr<Ipopt::OptionsList> options); 00048 00049 private: 00051 int howOften_; 00053 int numberSolutions_; 00054 00055 }; 00056 00057 }/* Ends Bonmin namepace.*/ 00058 #endif 00059