Bonmin  1.7
BonHeuristicLocalBranching.hpp
Go to the documentation of this file.
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