Bonmin
1.8.8
src
Algorithms
QuadCuts
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
{
20
class
LinearCutsGenerator
:
public
CglCutGenerator
{
21
public
:
23
struct
CuttingMethod
:
public
Coin::ReferencedObject
24
{
25
int
frequency
;
26
std::string
id
;
27
CglCutGenerator
*
cgl
;
28
bool
atSolution
;
29
bool
normal
;
30
CuttingMethod
():
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
};
43
LinearCutsGenerator
():
44
CglCutGenerator
(),
45
methods_(){
46
}
47
48
49
LinearCutsGenerator
(
const
LinearCutsGenerator
& other):
50
CglCutGenerator
(other),
51
methods_(other.methods_){
52
}
53
54
CglCutGenerator
*
clone
()
const
{
55
return
new
LinearCutsGenerator
(*
this
);
56
}
57
58
virtual
~LinearCutsGenerator
(){
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:16
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:26
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:24
Generated by
1.8.18