diff options
Diffstat (limited to 'build/Bonmin/include/coin/BonMilpRounding.hpp')
-rw-r--r-- | build/Bonmin/include/coin/BonMilpRounding.hpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/build/Bonmin/include/coin/BonMilpRounding.hpp b/build/Bonmin/include/coin/BonMilpRounding.hpp new file mode 100644 index 0000000..94f8723 --- /dev/null +++ b/build/Bonmin/include/coin/BonMilpRounding.hpp @@ -0,0 +1,74 @@ +// Copyright (C) 2010, International Business Machines Corporation and others. +// All Rights Reserved. +// This code is published under the Eclipse Public License. +// +// Authors : +// Pierre Bonami CNRS +// +// Date : May, 26 2010 + +#ifndef BonMilpRounding_HPP +#define BonMilpRounding_HPP +#include "BonOsiTMINLPInterface.hpp" +#include "BonBonminSetup.hpp" +#include "CbcHeuristic.hpp" +#include "CbcStrategy.hpp" +#include "OsiCuts.hpp" + +namespace Bonmin +{ + class SubMipSolver; + class MilpRounding : public CbcHeuristic + { + public: + + /// Constructor with setup + MilpRounding(BonminSetup * setup); + + /// Copy constructor + MilpRounding(const MilpRounding ©); + + /// Destructor + ~MilpRounding(); + + /// Assignment operator + MilpRounding & operator=(const MilpRounding & rhs); + + /// Clone + virtual CbcHeuristic * clone() const{ + return new MilpRounding(*this); + } + + /// Initialize method + void Initialize(BonminSetup * setup); + + /// Resets stuff if model changes + virtual void resetModel(CbcModel * model){ + setModel(model); + } + + /** Change setup used for heuristic.*/ + virtual void setSetup(BonminSetup * setup){ + setup_ = setup; + // Initialize(setup_->options()); + } + + /// Performs heuristic + virtual int solution(double &solutionValue, double *betterSolution); + + + static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions); + protected: + /** Setup to use for local searches (will make copies).*/ + BonminSetup * setup_; + + private: + /// How often to do (code can change) + int howOften_; + /// A subsolver for MIP + SubMipSolver * mip_; + + OsiCuts noGoods; + }; +} +#endif |