diff options
author | Georgey | 2017-07-05 11:40:43 +0530 |
---|---|---|
committer | Georgey | 2017-07-05 11:40:43 +0530 |
commit | 938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427 (patch) | |
tree | b343c0ee5609433c80e0de1db8b6886c9126dc2d /thirdparty/linux/include/coin/BonHeuristicDiveMIP.hpp | |
parent | 5b72577efe080c5294b32d804e4d26351fef30bc (diff) | |
download | FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.tar.gz FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.tar.bz2 FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.zip |
Added linux shared libraries and header files for int and ecos functions
Diffstat (limited to 'thirdparty/linux/include/coin/BonHeuristicDiveMIP.hpp')
-rw-r--r-- | thirdparty/linux/include/coin/BonHeuristicDiveMIP.hpp | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/thirdparty/linux/include/coin/BonHeuristicDiveMIP.hpp b/thirdparty/linux/include/coin/BonHeuristicDiveMIP.hpp new file mode 100644 index 0000000..11da60a --- /dev/null +++ b/thirdparty/linux/include/coin/BonHeuristicDiveMIP.hpp @@ -0,0 +1,83 @@ +// Copyright (C) 2007, International Business Machines Corporation and others. +// All Rights Reserved. +// This code is published under the Eclipse Public License. +// +// Authors : +// Joao P. Goncalves, International Business Machines Corporation +// +// Date : November 12, 2007 + +#ifndef BonHeuristicDiveMIP_HPP +#define BonHeuristicDiveMIP_HPP +#include "BonOsiTMINLPInterface.hpp" +#include "BonBonminSetup.hpp" +#include "CbcHeuristic.hpp" +#include "CbcStrategy.hpp" +namespace Bonmin +{ + class SubMipSolver; + class HeuristicDiveMIP : public CbcHeuristic + { + public: +#if 0 + /// Default constructor + HeuristicDiveMIP(); +#endif + + /// Constructor with setup + HeuristicDiveMIP(BonminSetup * setup); + + /// Copy constructor + HeuristicDiveMIP(const HeuristicDiveMIP ©); + + /// Destructor + ~HeuristicDiveMIP(); + + /// Assignment operator + HeuristicDiveMIP & operator=(const HeuristicDiveMIP & rhs); + + /// Clone + virtual CbcHeuristic * clone() const = 0; + + /// 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); + + /// sets internal variables + virtual void setInternalVariables(TMINLP2TNLP* minlp) = 0; + + /// Selects the next variable to branch on + /** If bestColumn = -1, it means that no variable was found + */ + virtual void selectVariableToBranch(TMINLP2TNLP* minlp, + const vector<int> & integerColumns, + const double* newSolution, + int& bestColumn, + int& bestRound) = 0; + + 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_; + + }; +} +#endif |