From 95bd02adbfa468f6c6b734d7b00ac4e6e6c2cc53 Mon Sep 17 00:00:00 2001 From: evomarc Date: Thu, 26 Apr 2001 15:47:37 +0000 Subject: [PATCH] The declaratio file for all make_* --- eo/src/es/es.h | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 eo/src/es/es.h diff --git a/eo/src/es/es.h b/eo/src/es/es.h new file mode 100644 index 00000000..cc1727e8 --- /dev/null +++ b/eo/src/es/es.h @@ -0,0 +1,97 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// es.h +// (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2001 +/* + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Contact: todos@geneura.ugr.es, http://geneura.ugr.es + Marc.Schoenauer@polytechnique.fr + mkeijzer@dhi.dk + */ +//----------------------------------------------------------------------------- + +/** This file contains all ***INSTANCIATED*** declarations of all components + * of the library for ***REAL_VALUED*** evolution inside EO. + * It should be included in the file that calls any of the corresponding fns + * + * The corresponding ***INSTANCIATED*** definitions are contained in + * the different .cpp files in the src/es dir, + * while the TEMPLATIZED code is define in the different make_XXX.h files + * either in hte src/do dir for representation independant functions, + * or in the src/es dir for representation dependent stuff. + * Note that + * + * Unlike most EO .h files, it does not (and should not) contain any code, + * just declarations + */ + +#ifndef es_h +#define es_h + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +//Representation dependent - rewrite everything anew for each representation +////////////////////////// + +// the genotypes +eoInit > & make_genotype(eoParameterLoader& _parser, eoState& _state, double _d); + eoInit > & make_genotype(eoParameterLoader& _parser, eoState& _state, eoMinimizingFitness _d); + +// the operators +eoGenOp >& make_op(eoParameterLoader& _parser, eoState& _state, eoInit >& _init); +eoGenOp >& make_op(eoParameterLoader& _parser, eoState& _state, eoInit >& _init); + +//Representation INdependent +//////////////////////////// +// you don't need to modify that part even if you use your own representation + +// init pop +eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); +eoPop >& make_pop(eoParser& _parser, eoState& _state, eoInit >&); + +// the continue's +eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); +eoContinue >& make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter > & _eval); + +// the checkpoint +eoCheckPoint >& make_checkpoint(eoParameterLoader& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); +eoCheckPoint >& make_checkpoint(eoParameterLoader& _parser, eoState& _state, eoEvalFuncCounter >& _eval, eoContinue >& _continue); + + +// the algo +eoAlgo >& make_algo_scalar(eoParameterLoader& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op); + +eoAlgo >& make_algo_scalar(eoParameterLoader& _parser, eoState& _state, eoEvalFunc >& _eval, eoContinue >& _ccontinue, eoGenOp >& _op); + +// run +void run_ea(eoAlgo >& _ga, eoPop >& _pop); +void run_ea(eoAlgo >& _ga, eoPop >& _pop); + +// end of parameter input (+ .status + help) +// that one is not templatized, but is here for completeness +void make_help(eoParser & _parser); + +#endif