Cgl
0.60.10
Toggle main menu visibility
Loading...
Searching...
No Matches
Cgl
src
CglStored.hpp
Go to the documentation of this file.
1
// $Id$
2
// Copyright (C) 2005, International Business Machines
3
// Corporation and others. All Rights Reserved.
4
// This code is licensed under the terms of the Eclipse Public License (EPL).
5
6
#ifndef CglStored_H
7
#define CglStored_H
8
9
#include <string>
10
11
#include "
CglCutGenerator.hpp
"
12
13
class
CoinWarmStartBasis;
14
class
CglTreeProbingInfo
;
16
class
CglStored
:
public
CglCutGenerator
{
17
18
public
:
21
29
virtual
void
generateCuts
(
const
OsiSolverInterface &si, OsiCuts &cs,
30
const
CglTreeInfo
info =
CglTreeInfo
());
32
37
38
inline
void
setRequiredViolation
(
double
value)
39
{
40
requiredViolation_
= value;
41
}
42
43
inline
double
getRequiredViolation
()
const
44
{
45
return
requiredViolation_
;
46
}
47
48
inline
void
setProbingInfo
(
CglTreeProbingInfo
*info)
49
{
50
probingInfo_
= info;
51
}
52
53
56
57
void
addCut
(
const
OsiCuts &cs);
59
void
addCut
(
const
OsiRowCut &
cut
);
61
void
addCut
(
double
lb,
double
ub,
const
CoinPackedVector &vector);
63
void
addCut
(
double
lb,
double
ub,
int
size,
const
int
*colIndices,
const
double
*elements);
64
inline
int
sizeRowCuts
()
const
65
{
66
return
cuts_
.sizeRowCuts();
67
}
68
const
OsiRowCut *
rowCutPointer
(
int
index)
const
69
{
70
return
cuts_
.rowCutPtr(index);
71
}
72
73
void
saveStuff
(
double
bestObjective
,
const
double
*
bestSolution
,
74
const
double
*lower,
const
double
*upper);
76
inline
const
double
*
bestSolution
()
const
77
{
78
return
bestSolution_
;
79
}
80
81
double
bestObjective
()
const
;
83
const
double
*
tightLower
()
const
84
{
85
return
bounds_
;
86
}
87
88
const
double
*
tightUpper
()
const
89
{
90
return
bounds_
+
numberColumns_
;
91
}
92
93
96
97
CglStored
(
int
numberColumns = 0);
98
100
CglStored
(
const
CglStored
&rhs);
101
103
CglStored
(
const
char
*fileName);
104
106
virtual
CglCutGenerator
*
clone
()
const
;
107
109
CglStored
&
110
operator=
(
const
CglStored
&rhs);
111
113
virtual
~CglStored
();
115
116
protected
:
117
// Protected member methods
118
119
// Protected member data
120
123
124
double
requiredViolation_
;
126
CglTreeProbingInfo
*
probingInfo_
;
128
OsiCuts
cuts_
;
130
int
numberColumns_
;
132
double
*
bestSolution_
;
134
double
*
bounds_
;
136
};
137
#endif
138
139
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
140
*/
CglCutGenerator.hpp
CglCutGenerator::CglCutGenerator
CglCutGenerator()
Default constructor.
CglStored::setRequiredViolation
void setRequiredViolation(double value)
Set.
Definition
CglStored.hpp:38
CglStored::setProbingInfo
void setProbingInfo(CglTreeProbingInfo *info)
Takes over ownership of probing info.
Definition
CglStored.hpp:48
CglStored::numberColumns_
int numberColumns_
Number of columns in model.
Definition
CglStored.hpp:130
CglStored::~CglStored
virtual ~CglStored()
Destructor.
CglStored::addCut
void addCut(double lb, double ub, int size, const int *colIndices, const double *elements)
Add a row cut from elements.
CglStored::bounds_
double * bounds_
Tight bounds.
Definition
CglStored.hpp:134
CglStored::addCut
void addCut(double lb, double ub, const CoinPackedVector &vector)
Add a row cut from a packed vector.
CglStored::bestSolution
const double * bestSolution() const
Best solution (or NULL).
Definition
CglStored.hpp:76
CglStored::addCut
void addCut(const OsiCuts &cs)
Add cuts.
CglStored::probingInfo_
CglTreeProbingInfo * probingInfo_
Pointer to probing information.
Definition
CglStored.hpp:126
CglStored::sizeRowCuts
int sizeRowCuts() const
Definition
CglStored.hpp:64
CglStored::generateCuts
virtual void generateCuts(const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
Generate Mixed Integer Stored cuts for the model of the solver interface, si.
CglStored::saveStuff
void saveStuff(double bestObjective, const double *bestSolution, const double *lower, const double *upper)
Save stuff.
CglStored::clone
virtual CglCutGenerator * clone() const
Clone.
CglStored::bestSolution_
double * bestSolution_
Best solution (objective at end).
Definition
CglStored.hpp:132
CglStored::CglStored
CglStored(const char *fileName)
Constructor from file.
CglStored::addCut
void addCut(const OsiRowCut &cut)
Add a row cut.
CglStored::bestObjective
double bestObjective() const
Best objective.
CglStored::operator=
CglStored & operator=(const CglStored &rhs)
Assignment operator.
CglStored::requiredViolation_
double requiredViolation_
Only add if more than this requiredViolation.
Definition
CglStored.hpp:124
CglStored::CglStored
CglStored(int numberColumns=0)
Default constructor.
CglStored::CglStored
CglStored(const CglStored &rhs)
Copy constructor.
CglStored::getRequiredViolation
double getRequiredViolation() const
Get.
Definition
CglStored.hpp:43
CglStored::tightLower
const double * tightLower() const
Tight lower bounds.
Definition
CglStored.hpp:83
CglStored::cuts_
OsiCuts cuts_
Cuts.
Definition
CglStored.hpp:128
CglStored::tightUpper
const double * tightUpper() const
Tight upper bounds.
Definition
CglStored.hpp:88
CglStored::rowCutPointer
const OsiRowCut * rowCutPointer(int index) const
Definition
CglStored.hpp:68
CglTreeInfo
Information about where the cut generator is invoked from.
Definition
CglTreeInfo.hpp:15
CglTreeProbingInfo
Definition
CglTreeInfo.hpp:92
cut
Definition
Cgl012cut.hpp:153
Generated by
1.17.0