Bonmin 1.8.9
Loading...
Searching...
No Matches
BonMilpRounding.hpp
Go to the documentation of this file.
1// Copyright (C) 2010, International Business Machines Corporation and others.
2// All Rights Reserved.
3// This code is published under the Eclipse Public License.
4//
5// Authors :
6// Pierre Bonami CNRS
7//
8// Date : May, 26 2010
9
10#ifndef BonMilpRounding_HPP
11#define BonMilpRounding_HPP
13#include "BonBonminSetup.hpp"
14#include "CbcHeuristic.hpp"
15#include "CbcStrategy.hpp"
16#include "OsiCuts.hpp"
17
18namespace Bonmin
19{
20 class SubMipSolver;
21 class MilpRounding : public CbcHeuristic
22 {
23 public:
24
27
30
33
36
38 virtual CbcHeuristic * clone() const{
39 return new MilpRounding(*this);
40 }
41
43 void Initialize(BonminSetup * setup);
44
46 virtual void resetModel(CbcModel * model){
47 setModel(model);
48 }
49
51 virtual void setSetup(BonminSetup * setup){
52 setup_ = setup;
53 // Initialize(setup_->options());
54 }
55
57 virtual int solution(double &solutionValue, double *betterSolution);
58
59
61 protected:
64
65 private:
67 int howOften_;
69 SubMipSolver * mip_;
70
71 OsiCuts noGoods;
72 };
73}
74#endif
~MilpRounding()
Destructor.
virtual CbcHeuristic * clone() const
Clone.
BonminSetup * setup_
Setup to use for local searches (will make copies).
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
MilpRounding(const MilpRounding &copy)
Copy constructor.
MilpRounding & operator=(const MilpRounding &rhs)
Assignment operator.
MilpRounding(BonminSetup *setup)
Constructor with setup.
void Initialize(BonminSetup *setup)
Initialize method.
virtual void setSetup(BonminSetup *setup)
Change setup used for heuristic.
virtual int solution(double &solutionValue, double *betterSolution)
Performs heuristic.
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
A very simple class to provide a common interface for solving MIPs with Cplex and Cbc.
(C) Copyright International Business Machines Corporation 2007