3 #ifndef SmiDiscreteRV_H
4 #define SmiDiscreteRV_H
106 return events_[i]->getEventProb();
114 for (
size_t i=0; i<
events_.size(); ++i)
125 #endif //SmiDiscreteRV_H
SmiDiscreteRV * getDiscreteRV(int i)
get discrete RV
const CoinPackedMatrix & getEventMatrix(int i)
SmiCoreCombineRule * getCombineWithCoreRule()
get combine rule
~SmiDiscreteDistribution()
const CoinPackedVector & getEventRowLower(int i)
static SmiCoreCombineReplace * Instance()
double getEventProb(int i)
friend void SmiDiscreteUnitTest()
std::vector< SmiDiscreteRV * > smiDiscrete_
SmiDiscreteDistribution()
Sparse Matrix Base Class.
std::vector< SmiDiscreteEvent * > events_
friend void SmiDiscreteUnitTest()
const CoinPackedVector & getEventObjective(int i)
void setCombineWithCoreRule(SmiCoreCombineRule *r)
set combine rule
void addDiscreteRV(SmiDiscreteRV *s)
add discrete RV
SmiCoreCombineRule * combineRule_
Abstract Base Class for describing an interface to a solver.
core_
constructor requires core data and combine rule
void addEvent(OsiSolverInterface &osi, double prob)
This deals with combining Core and Stochastic data.
void addEvent(CoinPackedMatrix &matrix, CoinPackedVector &dclo, CoinPackedVector &dcup, CoinPackedVector &dobj, CoinPackedVector &drlo, CoinPackedVector &drup, double prob)
const CoinPackedVector & getEventColUpper(int i)
void setEventProb(double p)
void SmiDiscreteUnitTest()
const CoinPackedVector & getEventRowUpper(int i)
friend void SmiDiscreteUnitTest()
const CoinPackedVector & getEventColLower(int i)
const double getEventProb()
int getNumRV()
get number of RV
SmiDiscreteEvent(SmiLinearData d, double p)
SmiCoreData * getCore()
get core model