SmiCoreCombineRule Class Reference

This deals with combining Core and Stochastic data. More...

#include <SmiCoreCombineRule.hpp>

Inheritance diagram for SmiCoreCombineRule:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Virtual Functions: Process and Diff



virtual void Process (double *d1, int o1, const CoinPackedVector &cpv2, char *type=0)=0
 Process.
virtual void Process (double *d1, int o1, const int len, const int *inds, const double *dels, char *type=0)=0
 Process.
virtual CoinPackedVectorProcess (CoinPackedVector *cpv1, CoinPackedVector *cpv2, char *type=0)=0
 Process.
virtual int Process (vector< double > *dr, CoinPackedVector *cpv, double *dels, int *indx)=0
 Process.
virtual int Process (vector< double > *dr, const int cpv_nels, const int *cpv_ind, const double *cpv_els, double *dels, int *indx)=0
 Process.
virtual ~SmiCoreCombineRule ()
 Process.

Detailed Description

This deals with combining Core and Stochastic data.

In the Stochastic MPS standard, stochastic data updates the underlying core lp data. To specify a new scenario, one only has to identify those data that are different. So, in a sense, the stochastic data is really a "diff" between the scenario and the core data. This class specifies how to perform the "undiff", that is, how to combine core and stochastic data.

And of course, a complete implementation specifies the "diff" part as well. Now during a fit of original confusion in the birth of the SMPS standard, we decided to make default combine rule "replace", which has a rather special "diff", but we've learned to live with it.

There only needs to be one of these classes. so they're singletons.

Definition at line 39 of file SmiCoreCombineRule.hpp.


Constructor & Destructor Documentation

virtual SmiCoreCombineRule::~SmiCoreCombineRule (  )  [inline, virtual]

Process.

Definition at line 50 of file SmiCoreCombineRule.hpp.


Member Function Documentation

virtual void SmiCoreCombineRule::Process ( double *  d1,
int  o1,
const CoinPackedVector cpv2,
char *  type = 0 
) [pure virtual]

Process.

Implemented in SmiCoreCombineReplace, and SmiCoreCombineAdd.

virtual void SmiCoreCombineRule::Process ( double *  d1,
int  o1,
const int  len,
const int *  inds,
const double *  dels,
char *  type = 0 
) [pure virtual]

Process.

Implemented in SmiCoreCombineReplace, and SmiCoreCombineAdd.

virtual CoinPackedVector* SmiCoreCombineRule::Process ( CoinPackedVector cpv1,
CoinPackedVector cpv2,
char *  type = 0 
) [pure virtual]

Process.

Implemented in SmiCoreCombineReplace, and SmiCoreCombineAdd.

virtual int SmiCoreCombineRule::Process ( vector< double > *  dr,
CoinPackedVector cpv,
double *  dels,
int *  indx 
) [pure virtual]

Process.

Implemented in SmiCoreCombineReplace, and SmiCoreCombineAdd.

virtual int SmiCoreCombineRule::Process ( vector< double > *  dr,
const int  cpv_nels,
const int *  cpv_ind,
const double *  cpv_els,
double *  dels,
int *  indx 
) [pure virtual]

Process.

Implemented in SmiCoreCombineReplace, and SmiCoreCombineAdd.


The documentation for this class was generated from the following file:

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1