00001 #ifndef SMS_STEADY3D_MIES 00002 #define SMS_STEADY3D_MIES 00003 00004 #include "NSGAII_Steady_MIES.h" 00005 #include "SMSEMOA_3D.h" 00006 00009 class SMSEMOA_Steady3D_MIES:public NSGAII_Steady_MIES, public SMSEMOA_3D 00010 { 00011 public: 00012 SMSEMOA_Steady3D_MIES(unsigned n_r_, unsigned n_z_, unsigned n_d_, unsigned n_sigma_r_, unsigned n_sigma_z_, unsigned n_prob_, unsigned n_f_, 00013 unsigned mu_, unsigned rho_, unsigned kappa_, unsigned lambda_, 00014 vector<double>& lBound_r_, vector<double>& uBound_r_, vector<int>& lBound_z_, vector<int>& uBound_z_, 00015 vector<int>& lBound_d_, vector<int>& uBound_d_, double prob_min_, double prob_max_, 00016 bool disRec_r_, bool disRec_z_, bool disRec_sigma_r_, bool disRec_sigma_z_, bool disRec_prob_, 00017 bool selfAdaptation_, vector<int>& direction_, 00018 unsigned evaluations_, vector<double>& optimalF_, 00019 double initialSigma_r_, double initialSigma_z_, double initialProb_, 00020 ifstream* initialPopFile_, int randomSeed_, bool feedback_, 00021 unsigned timeOutValue_, 00022 unsigned selectDimension_, vector<unsigned>& selectFunction_, 00023 bool excludeParent_) 00024 :NSGAII_Steady_MIES(n_r_, n_z_, n_d_, n_sigma_r_, n_sigma_z_, n_prob_, n_f_, 00025 mu_, rho_, kappa_, lambda_, 00026 lBound_r_, uBound_r_, lBound_z_, uBound_z_, 00027 lBound_d_, uBound_d_, prob_min_, prob_max_, 00028 disRec_r_, disRec_z_, disRec_sigma_r_, disRec_sigma_z_, disRec_prob_, 00029 selfAdaptation_, direction_, 00030 evaluations_, optimalF_, initialSigma_r_, initialSigma_z_, initialProb_, 00031 initialPopFile_, randomSeed_, feedback_, timeOutValue_, 00032 selectDimension_, selectFunction_, 00033 excludeParent_), 00034 NSGAII_MIES(n_r_, n_z_, n_d_, n_sigma_r_, n_sigma_z_, n_prob_, n_f_, 00035 mu_, rho_, kappa_, lambda_, 00036 lBound_r_, uBound_r_, lBound_z_, uBound_z_, 00037 lBound_d_, uBound_d_, prob_min_, prob_max_, 00038 disRec_r_, disRec_z_, disRec_sigma_r_, disRec_sigma_z_, disRec_prob_, 00039 selfAdaptation_, direction_, 00040 evaluations_, optimalF_, initialSigma_r_, initialSigma_z_, initialProb_, 00041 initialPopFile_, randomSeed_, feedback_, timeOutValue_, 00042 selectDimension_, selectFunction_), 00043 #ifdef DP 00044 SMSEMOA_3D(true, true, n_f_) 00045 #else 00046 SMSEMOA_3D(false, true, n_f_) 00047 #endif 00048 { 00049 #ifdef DEBUG 00050 cout << "SMSEMOA_Steady3D_MIES::SMSEMOA_Steady3D_MIES()" << endl; 00051 #endif 00052 numIndividuals = (excludeParent) ? mu : mu + 1; 00053 dataHv = new double[numIndividuals*3]; 00054 } 00055 00056 ~SMSEMOA_Steady3D_MIES() { delete [] dataHv; } 00057 00058 protected: 00059 unsigned numIndividuals; 00060 double* dataHv; 00061 00063 void prepComparisonScore(vector<Individual*>& Q); 00064 00066 double calcComparisonScore(unsigned offspringIndex); 00067 }; 00068 00069 #endif