//----------------------------------------------------------------------------- // t-eoproblem.cpp // (c) GeNeura Team 1998 //----------------------------------------------------------------------------- #include // time #include // fabs #include // cout #include // eoVector, eoProblem //----------------------------------------------------------------------------- typedef eoVector Chrom; //----------------------------------------------------------------------------- ostream& operator<<(ostream& os, const Chrom& chrom) { copy(chrom.begin(), chrom.end(), ostream_iterator(os)); return os; } //----------------------------------------------------------------------------- class Easy//: public eoProblem { public: const size = 1; float operator()(const Chrom& chrom) { return 1.0 / (fabs(chrom[0]) + 1.0); } }; //----------------------------------------------------------------------------- main() { Easy easy; Chrom chrom(Easy::size); srand(time(0)); chrom[0] = ((float)rand()) / ((float)RAND_MAX); chrom.fitness(easy(chrom)); cout << "chrom = " << chrom << endl << "chrom.fitness() = " << chrom.fitness() << endl; } //-----------------------------------------------------------------------------