00001 /*************************************************************************** 00002 * Copyright (C) 2005-2009 by Robot Group Leipzig * 00003 * martius@informatik.uni-leipzig.de * 00004 * fhesse@informatik.uni-leipzig.de * 00005 * der@informatik.uni-leipzig.de * 00006 * guettler@informatik.uni-leipzig.de * 00007 * jhoffmann@informatik.uni-leipzig.de * 00008 * joergweide84@aol.com (robot12) * 00009 * * 00010 * This program is free software; you can redistribute it and/or modify * 00011 * it under the terms of the GNU General Public License as published by * 00012 * the Free Software Foundation; either version 2 of the License, or * 00013 * (at your option) any later version. * 00014 * * 00015 * This program is distributed in the hope that it will be useful, * 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00018 * GNU General Public License for more details. * 00019 * * 00020 * You should have received a copy of the GNU General Public License * 00021 * along with this program; if not, write to the * 00022 * Free Software Foundation, Inc., * 00023 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 00024 *************************************************************************** 00025 * * 00026 * This is a test implementation for IFitnessStrategy. It calculate * 00027 * from the first two double gens the function * 00028 * 10*(x²+2.5*y²-y)exp(1-(x²+y²)) + 2.4 + 0.1x² + 0.1y² * 00029 * * 00030 * $Log: TestFitnessStrategy.h,v $ 00031 * Revision 1.2 2009/07/21 08:37:59 robot12 00032 * add some comments 00033 * 00034 * Revision 1.1 2009/06/15 13:58:37 robot12 00035 * 3 new fitness strategys and IFitnessStrategy and SumFitnessStragegy with comments. 00036 * 00037 * 00038 ***************************************************************************/ 00039 00040 #ifndef TESTFITNESSSTRATEGY_H_ 00041 #define TESTFITNESSSTRATEGY_H_ 00042 00043 //forward declaration 00044 class Individual; 00045 00046 //ga_tools includes 00047 #include "IFitnessStrategy.h" 00048 00049 /** 00050 * Test fitness strategy 00051 */ 00052 class TestFitnessStrategy: public IFitnessStrategy { 00053 public: 00054 /** 00055 * default constructor 00056 */ 00057 TestFitnessStrategy(); 00058 00059 /** 00060 * default destructor 00061 */ 00062 virtual ~TestFitnessStrategy(); 00063 00064 /** 00065 * calculate the test fitness value for a individual 00066 * @param individual (const Individual*) the individual 00067 * @return (double) the result 00068 */ 00069 virtual double getFitness(const Individual* individual); 00070 }; 00071 00072 #endif /* TESTFITNESSSTRATEGY_H_ */