PIPS-NLP
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
Input
combinedInput.hpp
Go to the documentation of this file.
1
#ifndef COMBINEDINPUTHPP
2
#define COMBINEDINPUTHPP
3
4
#include "
stochasticInput.hpp
"
5
6
// wrapper for combining scenarios for lagrangian subproblems
7
8
class
combinedInput
:
public
stochasticInput
{
9
public
:
10
combinedInput
(
stochasticInput
&
inner
, std::vector<std::vector<int> >
const
&
scenarioMap
);
11
virtual
int
nScenarios
() {
return
scenarioMap
.size(); }
12
virtual
int
nFirstStageVars
() {
return
inner.
nFirstStageVars
(); }
13
virtual
int
nFirstStageCons
() {
return
inner.
nFirstStageCons
(); }
14
virtual
int
nSecondStageVars
(
int
scen);
15
virtual
int
nSecondStageCons
(
int
scen);
16
17
virtual
std::vector<double>
getFirstStageColLB
() {
return
inner.
getFirstStageColLB
(); }
18
virtual
std::vector<double>
getFirstStageColUB
() {
return
inner.
getFirstStageColUB
(); }
19
virtual
std::vector<double>
getFirstStageObj
() {
return
inner.
getFirstStageObj
(); }
20
virtual
std::vector<std::string>
getFirstStageColNames
() {
return
inner.
getFirstStageColNames
(); }
21
virtual
std::vector<double>
getFirstStageRowLB
() {
return
inner.
getFirstStageRowLB
(); }
22
virtual
std::vector<double>
getFirstStageRowUB
() {
return
inner.
getFirstStageRowUB
(); }
23
virtual
std::vector<std::string>
getFirstStageRowNames
() {
return
inner.
getFirstStageRowNames
(); }
24
virtual
bool
isFirstStageColInteger
(
int
col) {
return
inner.
isFirstStageColInteger
(col); }
25
26
virtual
std::vector<double>
getSecondStageColLB
(
int
scen);
27
virtual
std::vector<double>
getSecondStageColUB
(
int
scen);
28
virtual
std::vector<double>
getSecondStageObj
(
int
scen);
29
virtual
std::vector<std::string>
getSecondStageColNames
(
int
scen);
30
virtual
std::vector<double>
getSecondStageRowUB
(
int
scen);
31
virtual
std::vector<double>
getSecondStageRowLB
(
int
scen);
32
virtual
std::vector<std::string>
getSecondStageRowNames
(
int
scen);
33
virtual
double
scenarioProbability
(
int
scen);
34
virtual
bool
isSecondStageColInteger
(
int
scen,
int
col);
35
36
virtual
CoinPackedMatrix
getFirstStageConstraints
() {
return
inner.
getFirstStageConstraints
(); }
37
virtual
CoinPackedMatrix
getSecondStageConstraints
(
int
scen);
38
virtual
CoinPackedMatrix
getLinkingConstraints
(
int
scen);
39
40
41
42
43
virtual
bool
scenarioDimensionsEqual
() {
return
inner.
scenarioDimensionsEqual
() &&
equalScenarios
; }
44
virtual
bool
onlyBoundsVary
() {
return
inner.
onlyBoundsVary
(); }
45
virtual
bool
allProbabilitiesEqual
() {
return
equalScenarios
&& inner.
allProbabilitiesEqual
(); }
46
virtual
bool
continuousRecourse
() {
return
inner.
continuousRecourse
(); }
47
48
private
:
49
// map from "fake" scenario index to group of scenarios it represents
50
std::vector<std::vector<int> >
scenarioMap
;
51
bool
equalScenarios
;
// equal number of scenarios in each combined scenario
52
stochasticInput
&
inner
;
53
54
};
55
56
57
58
#endif
combinedInput::getSecondStageRowLB
virtual std::vector< double > getSecondStageRowLB(int scen)
Definition:
combinedInput.cpp:81
combinedInput::getFirstStageRowUB
virtual std::vector< double > getFirstStageRowUB()
Definition:
combinedInput.hpp:22
combinedInput::inner
stochasticInput & inner
Definition:
combinedInput.hpp:52
combinedInput::allProbabilitiesEqual
virtual bool allProbabilitiesEqual()
Definition:
combinedInput.hpp:45
stochasticInput::getFirstStageObj
virtual std::vector< double > getFirstStageObj()=0
combinedInput::getSecondStageColLB
virtual std::vector< double > getSecondStageColLB(int scen)
Definition:
combinedInput.cpp:61
combinedInput::isSecondStageColInteger
virtual bool isSecondStageColInteger(int scen, int col)
Definition:
combinedInput.cpp:104
combinedInput::getSecondStageRowUB
virtual std::vector< double > getSecondStageRowUB(int scen)
Definition:
combinedInput.cpp:86
combinedInput::nFirstStageVars
virtual int nFirstStageVars()
Definition:
combinedInput.hpp:12
combinedInput::getSecondStageColUB
virtual std::vector< double > getSecondStageColUB(int scen)
Definition:
combinedInput.cpp:66
combinedInput::nSecondStageCons
virtual int nSecondStageCons(int scen)
Definition:
combinedInput.cpp:29
stochasticInput
Definition:
stochasticInput.hpp:32
combinedInput::isFirstStageColInteger
virtual bool isFirstStageColInteger(int col)
Definition:
combinedInput.hpp:24
combinedInput::onlyBoundsVary
virtual bool onlyBoundsVary()
Definition:
combinedInput.hpp:44
stochasticInput.hpp
combinedInput::equalScenarios
bool equalScenarios
Definition:
combinedInput.hpp:51
stochasticInput::nFirstStageCons
virtual int nFirstStageCons()=0
stochasticInput::getFirstStageRowNames
virtual std::vector< std::string > getFirstStageRowNames()=0
combinedInput::getSecondStageColNames
virtual std::vector< std::string > getSecondStageColNames(int scen)
Definition:
combinedInput.cpp:76
combinedInput::getFirstStageColNames
virtual std::vector< std::string > getFirstStageColNames()
Definition:
combinedInput.hpp:20
stochasticInput::allProbabilitiesEqual
virtual bool allProbabilitiesEqual()=0
stochasticInput::getFirstStageColLB
virtual std::vector< double > getFirstStageColLB()=0
combinedInput::getSecondStageObj
virtual std::vector< double > getSecondStageObj(int scen)
Definition:
combinedInput.cpp:71
stochasticInput::nFirstStageVars
virtual int nFirstStageVars()=0
combinedInput::scenarioProbability
virtual double scenarioProbability(int scen)
Definition:
combinedInput.cpp:97
stochasticInput::onlyBoundsVary
virtual bool onlyBoundsVary()=0
combinedInput::getFirstStageColLB
virtual std::vector< double > getFirstStageColLB()
Definition:
combinedInput.hpp:17
combinedInput::combinedInput
combinedInput(stochasticInput &inner, std::vector< std::vector< int > > const &scenarioMap)
Definition:
combinedInput.cpp:5
combinedInput::getFirstStageConstraints
virtual CoinPackedMatrix getFirstStageConstraints()
Definition:
combinedInput.hpp:36
combinedInput::getFirstStageRowNames
virtual std::vector< std::string > getFirstStageRowNames()
Definition:
combinedInput.hpp:23
stochasticInput::getFirstStageColNames
virtual std::vector< std::string > getFirstStageColNames()=0
stochasticInput::getFirstStageColUB
virtual std::vector< double > getFirstStageColUB()=0
combinedInput::getFirstStageColUB
virtual std::vector< double > getFirstStageColUB()
Definition:
combinedInput.hpp:18
combinedInput::continuousRecourse
virtual bool continuousRecourse()
Definition:
combinedInput.hpp:46
combinedInput::getSecondStageConstraints
virtual CoinPackedMatrix getSecondStageConstraints(int scen)
Definition:
combinedInput.cpp:113
combinedInput::getFirstStageObj
virtual std::vector< double > getFirstStageObj()
Definition:
combinedInput.hpp:19
combinedInput::nSecondStageVars
virtual int nSecondStageVars(int scen)
Definition:
combinedInput.cpp:21
stochasticInput::getFirstStageRowLB
virtual std::vector< double > getFirstStageRowLB()=0
combinedInput::getLinkingConstraints
virtual CoinPackedMatrix getLinkingConstraints(int scen)
Definition:
combinedInput.cpp:162
stochasticInput::getFirstStageConstraints
virtual CoinPackedMatrix getFirstStageConstraints()=0
combinedInput::getSecondStageRowNames
virtual std::vector< std::string > getSecondStageRowNames(int scen)
Definition:
combinedInput.cpp:91
stochasticInput::continuousRecourse
virtual bool continuousRecourse()=0
combinedInput::getFirstStageRowLB
virtual std::vector< double > getFirstStageRowLB()
Definition:
combinedInput.hpp:21
stochasticInput::isFirstStageColInteger
virtual bool isFirstStageColInteger(int col)=0
combinedInput
Definition:
combinedInput.hpp:8
stochasticInput::scenarioDimensionsEqual
virtual bool scenarioDimensionsEqual()=0
stochasticInput::getFirstStageRowUB
virtual std::vector< double > getFirstStageRowUB()=0
combinedInput::scenarioMap
std::vector< std::vector< int > > scenarioMap
Definition:
combinedInput.hpp:50
combinedInput::nFirstStageCons
virtual int nFirstStageCons()
Definition:
combinedInput.hpp:13
combinedInput::nScenarios
virtual int nScenarios()
Definition:
combinedInput.hpp:11
combinedInput::scenarioDimensionsEqual
virtual bool scenarioDimensionsEqual()
Definition:
combinedInput.hpp:43
Generated by
1.8.11