00001 #ifndef Robust_ 00002 #define Robust_ 00003 00004 #include "mies/SerialES/global.h" 00005 #include "mies/SerialES/MixedIntegerES.h" 00006 00007 class Robust 00008 { 00009 public: 00010 Robust(unsigned sampleSetSize_); 00011 00012 virtual ~Robust() { deallocateSampleSet(); } 00013 00014 virtual vector<double>* getF() = 0; 00015 protected: 00016 double** sampleSet; 00017 unsigned sampleSetSize; 00018 int numF; 00019 00020 void allocateSampleSet(int numNoise); 00021 void deallocateSampleSet(); 00022 00026 void generateSampleSet_MC(int numNoise, int* numNoiseNorm, int* numNoiseUnif); 00027 00031 void generateSampleSet_LH(int numNoise, int* numNoiseNorm, int* numNoiseUnif); 00032 00033 virtual void robustSimulate(Individual* I, int* xnom, int numVar) = 0; 00034 virtual int* getNumNoiseNorm() = 0; 00035 virtual int* getNumNoiseUnif() = 0; 00036 00037 virtual void simulate(Individual* I, int* xnom, int numVar, double* noise) = 0; 00038 }; 00039 00040 #endif