diff options
author | Harpreet | 2016-09-03 00:36:51 +0530 |
---|---|---|
committer | Harpreet | 2016-09-03 00:36:51 +0530 |
commit | a0d9443af147e949c1e6a01ac24749d12593ec5b (patch) | |
tree | 1a1955c5482ae608fd7f618b06f4ecc6a0d39a23 /thirdparty/linux/include/coin/BonMilpRounding.hpp | |
parent | 4b64cf486f5c999fd8167758cae27839f3b50848 (diff) | |
download | FOSSEE-Optim-toolbox-development-a0d9443af147e949c1e6a01ac24749d12593ec5b.tar.gz FOSSEE-Optim-toolbox-development-a0d9443af147e949c1e6a01ac24749d12593ec5b.tar.bz2 FOSSEE-Optim-toolbox-development-a0d9443af147e949c1e6a01ac24749d12593ec5b.zip |
cbcintlinprog added
Diffstat (limited to 'thirdparty/linux/include/coin/BonMilpRounding.hpp')
-rw-r--r-- | thirdparty/linux/include/coin/BonMilpRounding.hpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/thirdparty/linux/include/coin/BonMilpRounding.hpp b/thirdparty/linux/include/coin/BonMilpRounding.hpp new file mode 100644 index 0000000..94f8723 --- /dev/null +++ b/thirdparty/linux/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 |