Bonmin  1.7
BonHeuristicDiveFractional.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 BonHeuristicDiveFractional_H
00011 #define BonHeuristicDiveFractional_H
00012 
00013 #include "BonBonminSetup.hpp"
00014 #include "BonHeuristicDive.hpp"
00015 
00019 namespace Bonmin
00020 {
00021   class HeuristicDiveFractional : public HeuristicDive {
00022   public:
00024     HeuristicDiveFractional ();
00025 
00027     HeuristicDiveFractional(BonminSetup * setup);
00028 
00030     HeuristicDiveFractional(const HeuristicDiveFractional &copy);
00031 
00033     ~HeuristicDiveFractional() {}
00034 
00036     HeuristicDiveFractional & operator=(const HeuristicDiveFractional & rhs);
00037 
00039     virtual CbcHeuristic * clone() const;
00040 
00042     virtual void setSetup(BonminSetup * setup){
00043       HeuristicDive::setSetup(setup);
00044       Initialize(setup->options());
00045     }
00046 
00048     virtual void setInternalVariables(TMINLP2TNLP* minlp);
00049 
00051 
00053     virtual void selectVariableToBranch(TMINLP2TNLP* minlp,
00054                                         const vector<int> & integerColumns,
00055                                         const double* newSolution,
00056                                         int& bestColumn,
00057                                         int& bestRound);
00058 
00060     static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
00061     
00063     void Initialize(Ipopt::SmartPtr<Ipopt::OptionsList> options);
00064 
00065   };
00066 }
00067 #endif