00001
00025 #include "nhp/gaenvrnmt.h"
00026 #include <magic/mtable.h>
00027 #include <magic/mmath.h>
00028 #include <magic/mmap.h>
00029
00031
00032
00033
00034
00035
00037
00040 class BinaryTestEAEnv : public EAEnvironment {
00041
00042 PackTable<int> targets;
00043 int mObjective;
00044 public:
00045
00053 BinaryTestEAEnv (int d, int nObjectives=1);
00054
00057 void changeObjective (int target);
00058
00059
00060
00061 virtual void addFeaturesTo (Genome& genome) const;
00062 virtual void init_cycle () {;}
00063 virtual double evaluateg (const Individual& genome);
00064 virtual void cycle_report (OStream& log, OStream& out);
00065 };
00066
00067
00068
00070
00071
00072
00073
00074
00076
00079 class FloatTestEAEnv : public EAEnvironment {
00080 public:
00081
00093 FloatTestEAEnv (const StringMap& params,
00094 int dim=2, int funct_b=-1);
00095
00099 void printMathematica2D ();
00100
00106 double calc (const Vector& v, int f);
00107
00110 void changeObjective (int o) {mObjective=o;}
00111
00115 void setGeneType (int vt) {mGeneType=vt;}
00116
00117
00118
00119 virtual void addFeaturesTo (Genome& genome) const;
00120 virtual void init_cycle () {;}
00121 virtual double evaluateg (const Individual& genome);
00122 virtual void cycle_report (OStream& log, OStream& out) {;}
00123
00124 enum testfunctions {Sphere=0, Ellipsoid, NegSphere, ZeroMin,
00125 F4, F5, F6, F7, F8, functions};
00126 enum genetypes {ESFLOAT=0, BITFLOAT};
00127
00128 protected:
00130 int dim;
00131
00133 int func;
00134
00136 double par_a;
00137
00139 double par_b;
00140
00141 int mObjective;
00142 int mGeneType;
00143
00144 const StringMap& mParams;
00145
00146 };
00147
00150 class MultiMinEAEnv : public EAEnvironment {
00151 public:
00152
00160 MultiMinEAEnv (int minima, int minimadist) {;}
00161 virtual void addFeaturesTo (Genome& genome) const;
00162 virtual void init_cycle () {;}
00163 virtual double evaluateg (const Individual& genome);
00164 virtual void cycle_report (OStream& log, OStream& out) {;}
00165 };
00166
00167
00168