Bonmin  1.8.8
BonLinearCutsGenerator.hpp
Go to the documentation of this file.
1 // (C) Copyright International Business Machines Corporation 2007
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors :
6 // Pierre Bonami, International Business Machines Corporation
7 //
8 // Date : 10/06/2007
9 
10 #ifndef BonLinearCutsGenerator_H
11 #define BonLinearCutsGenerator_H
12 
13 #include "CglCutGenerator.hpp"
14 #include "CoinSmartPtr.hpp"
15 #include "BonOuterApprox.hpp"
16 #include "BonBonminSetup.hpp"
17 #include <list>
18 
19 namespace Bonmin {
21  public:
24  {
25  int frequency;
26  std::string id;
28  bool atSolution;
29  bool normal;
31  atSolution(false),
32  normal(true)
33  {}
34 
35  CuttingMethod(const CuttingMethod & other):
36  frequency(other.frequency),
37  id(other.id),
38  cgl(other.cgl),
39  atSolution(other.atSolution),
40  normal(other.normal)
41  {}
42  };
45  methods_(){
46  }
47 
48 
50  CglCutGenerator(other),
51  methods_(other.methods_){
52  }
53 
54  CglCutGenerator * clone() const {
55  return new LinearCutsGenerator(*this);
56  }
57 
59  }
60 
61  bool needsOptimalBasis() { return false;}
62 
63  void initialize(BabSetupBase& s);
64 
65  void generateCuts(const OsiSolverInterface &solver, OsiCuts &cs,
66  const CglTreeInfo info = CglTreeInfo());
67 
68  private:
69  std::list<Coin::SmartPtr<CuttingMethod> > methods_;
70 };
71 
72 }/* Ends Bonmin namespace.*/
73 
74 #endif
75 
Bonmin::LinearCutsGenerator::CuttingMethod::CuttingMethod
CuttingMethod(const CuttingMethod &other)
Definition: BonLinearCutsGenerator.hpp:35
CoinSmartPtr.hpp
CglTreeInfo
Bonmin
(C) Copyright International Business Machines Corporation 2007
Definition: BonAmplSetup.hpp:15
Bonmin::LinearCutsGenerator::needsOptimalBasis
bool needsOptimalBasis()
Definition: BonLinearCutsGenerator.hpp:61
Bonmin::LinearCutsGenerator::CuttingMethod::CuttingMethod
CuttingMethod()
Definition: BonLinearCutsGenerator.hpp:30
Bonmin::LinearCutsGenerator::CuttingMethod::atSolution
bool atSolution
Definition: BonLinearCutsGenerator.hpp:28
Bonmin::BabSetupBase
A class to have all elements necessary to setup a branch-and-bound.
Definition: BonBabSetupBase.hpp:25
BonOuterApprox.hpp
Bonmin::LinearCutsGenerator::initialize
void initialize(BabSetupBase &s)
CglCutGenerator
Bonmin::LinearCutsGenerator::~LinearCutsGenerator
virtual ~LinearCutsGenerator()
Definition: BonLinearCutsGenerator.hpp:58
Bonmin::LinearCutsGenerator::CuttingMethod::cgl
CglCutGenerator * cgl
Definition: BonLinearCutsGenerator.hpp:27
OsiCuts
Bonmin::LinearCutsGenerator
Definition: BonLinearCutsGenerator.hpp:20
Bonmin::LinearCutsGenerator::CuttingMethod::normal
bool normal
Definition: BonLinearCutsGenerator.hpp:29
OsiSolverInterface
Bonmin::LinearCutsGenerator::clone
CglCutGenerator * clone() const
Definition: BonLinearCutsGenerator.hpp:54
Bonmin::LinearCutsGenerator::CuttingMethod::id
std::string id
Definition: BonLinearCutsGenerator.hpp:26
Bonmin::LinearCutsGenerator::LinearCutsGenerator
LinearCutsGenerator(const LinearCutsGenerator &other)
Definition: BonLinearCutsGenerator.hpp:49
Bonmin::LinearCutsGenerator::LinearCutsGenerator
LinearCutsGenerator()
Definition: BonLinearCutsGenerator.hpp:43
Bonmin::LinearCutsGenerator::generateCuts
void generateCuts(const OsiSolverInterface &solver, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
Bonmin::LinearCutsGenerator::CuttingMethod::frequency
int frequency
Definition: BonLinearCutsGenerator.hpp:25
CglCutGenerator.hpp
BonBonminSetup.hpp
Coin::ReferencedObject
Bonmin::LinearCutsGenerator::CuttingMethod
Type for cut generation method with its frequency and string identification.
Definition: BonLinearCutsGenerator.hpp:23