#include <SmiCoreCombineRule.hpp>
Inheritance diagram for SmiCoreCombineRule:
Public Member Functions | |
Virtual Functions: Process and Diff | |
virtual void | Process (double *d1, int o1, const CoinPackedVector &cpv2, char *type=0)=0 |
Process. | |
virtual CoinPackedVector * | Process (CoinPackedVector *cpv1, CoinPackedVector *cpv2, char *type=0)=0 |
Process. | |
virtual | ~SmiCoreCombineRule () |
Process. |
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 36 of file SmiCoreCombineRule.hpp.
virtual SmiCoreCombineRule::~SmiCoreCombineRule | ( | ) | [inline, virtual] |
virtual void SmiCoreCombineRule::Process | ( | double * | d1, | |
int | o1, | |||
const CoinPackedVector & | cpv2, | |||
char * | type = 0 | |||
) | [pure virtual] |
virtual CoinPackedVector* SmiCoreCombineRule::Process | ( | CoinPackedVector * | cpv1, | |
CoinPackedVector * | cpv2, | |||
char * | type = 0 | |||
) | [pure virtual] |