Added the includes ga.h and es.h

Removed the old eoEsObjectiveBounds and evolutionar_strategies from es dir
This commit is contained in:
evomarc 2001-01-28 07:00:41 +00:00
commit 8d35fad136
9 changed files with 225 additions and 16 deletions

View file

@ -10,4 +10,5 @@ lib_LIBRARIES = libeoobsolete.a
libeoobsolete_a_SOURCES = eoParserUtils.cpp
libeoobsoleteincdir = $(includedir)/eo/obsolete
libeoobsoleteinc_HEADERS = eoProblem.h eoParser.h eoParserUtils.h
libeoobsoleteinc_HEADERS = eo1d.h eo1dWDistance.h eo2d.h eo2dVector.h eoAtomBitFlip.h eoAtomCreep.h eoAtomMutation.h eoAtomMutator.h eoAtomRandom.h eoBin.h eoBreeder.h eoCopyElite.h eoDetTournament.h eoDetTournamentIndiSelector.h eoDistance.h eoDup.h eoES.h eoESChrom.h eoESFullChrom.h eoESFullMut.h eoEsObjectiveBounds.h eoEvalFuncPtrCnt.h eoFitTerm.h eoFitness.h eoGenTerm.h eoGeneration.h eoID.h eoInclusion.h eoInsertion.h eoKill.h eoLottery.h eoMutation.h eoNegExp.h eoNonUniform.h eoNormal.h eoParser.h eoParserUtils.h eoPopOps.h eoProblem.h eoProportional.h eoRandomBreed.h eoRandomIndiSelector.h eoRandomSelect.h eoRank.h eoRnd.h eoScheme.h eoSelectRandom.h eoStochTournament.h eoStringMutation.h eoTerm.h eoTournament.h eoTranspose.h eoUniform.h eoUniformXOver.h eoVector.h eoXOver2.h

View file

@ -0,0 +1,81 @@
// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
//-----------------------------------------------------------------------------
// eoEsObjectiveBounds.h
// (c) Maarten Keijzer 2000, GeNeura Team, 1998 - EEAAX 1999
/*
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
mak@dhi.dk
*/
//-----------------------------------------------------------------------------
#ifndef _eoEsObjectiveBounds_h
#define _eoEsObjectiveBounds_h
/**
\defgroup EvolutionStrategies
Various classes for the initialization and mutation of real valued vectors.
Supports simple mutations and various more adaptable mutations, including
correlated mutations.
*/
/**
\class eoEsObjectiveBounds eoEsObjectiveBounds.h es/eoEsObjectiveBounds.h
\ingroup EvolutionStrategies
Defines the minima and maxima of the object variables. Needed by eoEsChromInit
and eoEsMutate
@see eoEsChromInit eoEsMutate
*/
class eoEsObjectiveBounds
{
public :
/**
Objective bounds for a global minimum and maximum
*/
eoEsObjectiveBounds(int _nGenes, double _min, double _max) : repMinimum(_nGenes), repMaximum(_nGenes)
{
std::fill(repMinimum.begin(), repMinimum.end(), _min);
std::fill(repMaximum.begin(), repMaximum.end(), _max);
}
/**
Objective bounds for a per gene minimum and maximum
*/
eoEsObjectiveBounds(const std::vector<double>& _min, const std::vector<double>& _max)
: repMinimum(_min), repMaximum(_max) {}
typedef double doubleype;
double minimum(size_t i) { return repMinimum[i]; }
double maximum(size_t i) { return repMaximum[i]; }
unsigned chromSize(void) const { return repMinimum.size(); }
private :
std::vector<double> repMinimum;
std::vector<double> repMaximum;
};
#endif

View file

@ -0,0 +1,15 @@
#ifndef _eoEs_h
#define _eoEs_h
#include <es/eoEsObjectiveBounds.h>
#include <es/eoEsSimple.h>
#include <es/eoEsStdev.h>
#include <es/eoEsFull.h>
#include <es/eoEsChromInit.h>
#include <es/eoEsMutationInit.h>
#include <es/eoEsMutate.h>
#endif