From 5c9bec34d671ca9167e6e7db00708493742ac125 Mon Sep 17 00:00:00 2001 From: evomarc Date: Thu, 30 Nov 2000 06:04:09 +0000 Subject: [PATCH] Removed eoCopyElite.h, redundant with eoMerge.h --- eo/src/Makefile.am | 2 +- eo/src/eoCopyElite.h | 110 --------------------------------------- eo/src/utils/Makefile.am | 2 +- 3 files changed, 2 insertions(+), 112 deletions(-) delete mode 100644 eo/src/eoCopyElite.h diff --git a/eo/src/Makefile.am b/eo/src/Makefile.am index 050a9dc8..30637078 100644 --- a/eo/src/Makefile.am +++ b/eo/src/Makefile.am @@ -11,5 +11,5 @@ lib_LIBRARIES = libeo.a libeo_a_SOURCES = eoPrintable.cpp eoPersistent.cpp eoFunctorStore.cpp libeoincdir = $(includedir)/eo -libeoinc_HEADERS = eo EO.h apply.h eoAlgo.h eoBackInserter.h eoBreed.h eoCombinedContinue.h eoContinue.h eoCopyElite.h eoCounter.h eoDetTournament.h eoDetTournamentInserter.h eoEasyEA.h eoEvalFunc.h eoEvalFuncPtr.h eoEvolutionStrategy.h eoFactory.h eoFitContinue.h eoFixedLength.h eoFunctor.h eoFunctorStore.h eoGOpBreeder.h eoGOpSelector.h eoGenContinue.h eoIndiSelector.h eoInit.h eoInplaceTransform.h eoInserter.h eoMerge.h eoObject.h eoOp.h eoOpFactory.h eoOpSelMason.h eoOpSelector.h eoPersistent.h eoPop.h eoPrintable.h eoProportional.h eoProportionalGOpSel.h eoProportionalOpSel.h eoReduce.h eoReplacement.h eoSGA.h eoScalarFitness.h eoSelect.h eoSelectFactory.h eoSelectOne.h eoSelectPerc.h eoSelectRandom.h eoSequentialGOpSel.h eoSteadyStateEA.h eoSteadyStateInserter.h eoSteadyStateTransform.h eoStochTournament.h eoStochTournamentInserter.h eoTransform.h eoVariableLength.h eoWrappedOps.h +libeoinc_HEADERS = eo EO.h apply.h eoAlgo.h eoBackInserter.h eoBreed.h eoCombinedContinue.h eoContinue.h eoCounter.h eoDetTournament.h eoDetTournamentInserter.h eoEasyEA.h eoEvalFunc.h eoEvalFuncPtr.h eoEvolutionStrategy.h eoFactory.h eoFitContinue.h eoFixedLength.h eoFunctor.h eoFunctorStore.h eoGOpBreeder.h eoGOpSelector.h eoGenContinue.h eoIndiSelector.h eoInit.h eoInplaceTransform.h eoInserter.h eoMerge.h eoObject.h eoOp.h eoOpFactory.h eoOpSelMason.h eoOpSelector.h eoPersistent.h eoPop.h eoPrintable.h eoProportional.h eoProportionalGOpSel.h eoProportionalOpSel.h eoReduce.h eoReplacement.h eoSGA.h eoScalarFitness.h eoSelect.h eoSelectFactory.h eoSelectOne.h eoSelectPerc.h eoSelectRandom.h eoSequentialGOpSel.h eoSteadyStateEA.h eoSteadyStateInserter.h eoSteadyStateTransform.h eoStochTournament.h eoStochTournamentInserter.h eoTransform.h eoVariableLength.h eoWrappedOps.h diff --git a/eo/src/eoCopyElite.h b/eo/src/eoCopyElite.h deleted file mode 100644 index cb27500b..00000000 --- a/eo/src/eoCopyElite.h +++ /dev/null @@ -1,110 +0,0 @@ -// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- - -//----------------------------------------------------------------------------- -// eoCopyElite.h -// Base class for elitist-merging classes -// (c) GeNeura Team, 1998 -/* - 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 - */ -//----------------------------------------------------------------------------- - -#ifndef eoCopyElite_h -#define eoCopyElite_h - -//----------------------------------------------------------------------------- - -// EO includes -#include // eoPop -#include // eoCopyElite - -/** - * eoCopyElite: Base class for elitist replacement algorithms. - * Merges the old population (first argument), with the new generation - * - * Its signature is exactly - * that of the selection base eoSelect, but its purpose is to merge the - * two populations into one (the second argument). - * Note that the algorithms assume that the second argument denotes the - * next generation. -*/ - -template class eoCopyElite: public eoBinaryFunctor&, eoPop&> -{}; - -/** -Straightforward elitism class, specify the number of individuals to copy -into new geneneration -*/ -template class eoElitism : public eoCopyElite -{ - public : - eoElitism(unsigned _howmany) : howmany(_howmany) {} - - void operator()(const eoPop& _pop, eoPop& offspring) - { - if (howmany == 0) - return; - - if (howmany > _pop.size()) - throw logical_error("Elite larger than population"); - - vector result; - _pop.nth_element(howmany, result); - - for (int i = 0; i < result.size(); ++i) - { - offspring.push_back(*result[i]); - } - } - - private : - unsigned howmany; -}; - -/** -No elite -*/ -template class eoNoElitism : public eoElitism -{ - public : - eoNoElitism() : eoElitism(0) {} -} - -/** -Very elitist class, copies entire population into next gen -*/ -template class eoPlus : public eoCopyElite -{ - public : - void operator()(const eoPop& _pop, eoPop& offspring) - { - offspring.reserve(offspring.size() + _pop.size()); - - for (int i = 0; i < _pop.size(); ++i) - { - offspring.push_back(*result[i]); - } - } - - private : - unsigned howmany; -}; - -//----------------------------------------------------------------------------- - -#endif diff --git a/eo/src/utils/Makefile.am b/eo/src/utils/Makefile.am index 6be31c71..8c3d7000 100644 --- a/eo/src/utils/Makefile.am +++ b/eo/src/utils/Makefile.am @@ -10,6 +10,6 @@ lib_LIBRARIES = libeoutils.a libeoutils_a_SOURCES = eoParser.cpp eoRNG.cpp eoState.cpp eoUpdater.cpp eoFileMonitor.cpp eoStdoutMonitor.cpp libeoincdir = $(includedir)/eo/utils -libeoinc_HEADERS = compatibility.h eoParam.h eoRNG.h rnd_generators.h eoData.h eoParser.h eoState.h selectors.h eoStat.h eoMonitor.h eoFileMonitor.h eoUpdater.h checkpointing eoCheckPoint.h eoStdoutMonitor.h +libeoinc_HEADERS = compatibility.h eoParam.h eoRNG.h rnd_generators.h eoData.h eoParser.h eoState.h selectors.h eoStat.h eoMonitor.h eoFileMonitor.h eoUpdater.h checkpointing eoCheckPoint.h eoStdoutMonitor.h eoGnuplot1DMonitor.h