Bonmin  1.7
BonHeuristicDiveMIPFractional.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 BonHeuristicDiveMIPFractional_H
00011 #define BonHeuristicDiveMIPFractional_H
00012 
00013 #include "BonBonminSetup.hpp"
00014 #include "BonHeuristicDiveMIP.hpp"
00015 
00019 namespace Bonmin
00020 {
00021   class HeuristicDiveMIPFractional : public HeuristicDiveMIP {
00022   public:
00024     HeuristicDiveMIPFractional ();
00025 
00027     HeuristicDiveMIPFractional(BonminSetup * setup);
00028 
00030     HeuristicDiveMIPFractional(const HeuristicDiveMIPFractional &copy);
00031 
00033     ~HeuristicDiveMIPFractional() {}
00034 
00036     HeuristicDiveMIPFractional & operator=(const HeuristicDiveMIPFractional & rhs);
00037 
00039     virtual CbcHeuristic * clone() const;
00040 
00042     virtual void setSetup(BonminSetup * setup){
00043       HeuristicDiveMIP::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