git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@397 331e1502-861f-0410-8da2-ba01fb791d7f
169 lines
26 KiB
HTML
169 lines
26 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>ParadisEO-MOEO: moeoEasyEA.h Source File</title>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
</head><body>
|
|
<!-- Generated by Doxygen 1.4.7 -->
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="main.html"><span>Main Page</span></a></li>
|
|
<li><a href="classes.html"><span>Classes</span></a></li>
|
|
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<form action="search.php" method="get">
|
|
<table cellspacing="0" cellpadding="0" border="0">
|
|
<tr>
|
|
<td><label> <u>S</u>earch for </label></td>
|
|
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
|
</tr>
|
|
</table>
|
|
</form>
|
|
</li>
|
|
</ul></div>
|
|
<h1>moeoEasyEA.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-</span>
|
|
<a name="l00002"></a>00002
|
|
<a name="l00003"></a>00003 <span class="comment">//-----------------------------------------------------------------------------</span>
|
|
<a name="l00004"></a>00004 <span class="comment">// moeoEasyEA.h</span>
|
|
<a name="l00005"></a>00005 <span class="comment">// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007</span>
|
|
<a name="l00006"></a>00006 <span class="comment">/*</span>
|
|
<a name="l00007"></a>00007 <span class="comment"> This library...</span>
|
|
<a name="l00008"></a>00008 <span class="comment"></span>
|
|
<a name="l00009"></a>00009 <span class="comment"> Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr</span>
|
|
<a name="l00010"></a>00010 <span class="comment"> */</span>
|
|
<a name="l00011"></a>00011 <span class="comment">//-----------------------------------------------------------------------------</span>
|
|
<a name="l00012"></a>00012
|
|
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef _MOEOEASYEA_H</span>
|
|
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define _MOEOEASYEA_H</span>
|
|
<a name="l00015"></a>00015 <span class="preprocessor"></span>
|
|
<a name="l00016"></a>00016 <span class="preprocessor">#include <apply.h></span>
|
|
<a name="l00017"></a>00017 <span class="preprocessor">#include <eoBreed.h></span>
|
|
<a name="l00018"></a>00018 <span class="preprocessor">#include <eoContinue.h></span>
|
|
<a name="l00019"></a>00019 <span class="preprocessor">#include <eoMergeReduce.h></span>
|
|
<a name="l00020"></a>00020 <span class="preprocessor">#include <eoPopEvalFunc.h></span>
|
|
<a name="l00021"></a>00021 <span class="preprocessor">#include <eoSelect.h></span>
|
|
<a name="l00022"></a>00022 <span class="preprocessor">#include <eoTransform.h></span>
|
|
<a name="l00023"></a>00023 <span class="preprocessor">#include <algo/moeoEA.h></span>
|
|
<a name="l00024"></a>00024 <span class="preprocessor">#include <diversity/moeoDiversityAssignment.h></span>
|
|
<a name="l00025"></a>00025 <span class="preprocessor">#include <diversity/moeoDummyDiversityAssignment.h></span>
|
|
<a name="l00026"></a>00026 <span class="preprocessor">#include <fitness/moeoFitnessAssignment.h></span>
|
|
<a name="l00027"></a>00027 <span class="preprocessor">#include <replacement/moeoReplacement.h></span>
|
|
<a name="l00028"></a>00028
|
|
<a name="l00032"></a>00032 <span class="keyword">template</span> < <span class="keyword">class</span> MOEOT >
|
|
<a name="l00033"></a><a class="code" href="classmoeoEasyEA.html">00033</a> <span class="keyword">class </span><a class="code" href="classmoeoEasyEA.html">moeoEasyEA</a>: <span class="keyword">public</span> <a class="code" href="classmoeoEA.html">moeoEA</a> < MOEOT >
|
|
<a name="l00034"></a>00034 {
|
|
<a name="l00035"></a>00035 <span class="keyword">public</span>:
|
|
<a name="l00036"></a>00036
|
|
<a name="l00047"></a><a class="code" href="classmoeoEasyEA.html#3f657699b8ed340ae3f51194206daa20">00047</a> <a class="code" href="classmoeoEasyEA.html#3f657699b8ed340ae3f51194206daa20">moeoEasyEA</a>(eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoBreed < MOEOT > & _breed, moeoReplacement < MOEOT > & _replace,
|
|
<a name="l00048"></a>00048 moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, <span class="keywordtype">bool</span> _evalFitAndDivBeforeSelection = <span class="keyword">false</span>)
|
|
<a name="l00049"></a>00049 :
|
|
<a name="l00050"></a>00050 <a class="code" href="classmoeoEasyEA.html#5f5b76acbaf99a6a3ee2710da07dde29">continuator</a>(_continuator), <a class="code" href="classmoeoEasyEA.html#26e8ebce6a1bc3216e20171688ba6b83">eval</a> (_eval), <a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>(_eval), <a class="code" href="classmoeoEasyEA.html#189a8f5196844907ff71f386d95bf415">popEval</a>(<a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>), <a class="code" href="classmoeoEasyEA.html#bd69a176f3cacc2694342075a9022f74">selectTransform</a>(<a class="code" href="classmoeoEasyEA.html#fed6522fe0fcea204850dbb89cc7116e">dummySelect</a>, <a class="code" href="classmoeoEasyEA.html#56991f36963ed61e44e91759c891f13c">dummyTransform</a>), <a class="code" href="classmoeoEasyEA.html#35d5909694019d1b0d52347c72a9092e">breed</a>(_breed), <a class="code" href="classmoeoEasyEA.html#15a69654c07b24f9795add0a22f1f856">mergeReduce</a>(<a class="code" href="classmoeoEasyEA.html#e26830e1301cfd626eed55b0fbf8dbcb">dummyMerge</a>, <a class="code" href="classmoeoEasyEA.html#65963f9308ccc0acc3dfc32a128f6228">dummyReduce</a>), <a class="code" href="classmoeoEasyEA.html#91611cf2862c2db953554e367a576244">replace</a>(_replace),
|
|
<a name="l00051"></a>00051 <a class="code" href="classmoeoEasyEA.html#1268fc2f0b62fe51bca17d4efb51954b">fitnessEval</a>(_fitnessEval), <a class="code" href="classmoeoEasyEA.html#b9d1b3790072dbbbe0012a252bab95f4">diversityEval</a>(_diversityEval), <a class="code" href="classmoeoEasyEA.html#856a19d9a7c180fe33ce7a5bb010edcc">evalFitAndDivBeforeSelection</a>(_evalFitAndDivBeforeSelection)
|
|
<a name="l00052"></a>00052 {}
|
|
<a name="l00053"></a>00053
|
|
<a name="l00054"></a>00054
|
|
<a name="l00065"></a><a class="code" href="classmoeoEasyEA.html#6cdebc72ce0134ce1680dafdf94740a1">00065</a> <a class="code" href="classmoeoEasyEA.html#3f657699b8ed340ae3f51194206daa20">moeoEasyEA</a>(eoContinue < MOEOT > & _continuator, eoPopEvalFunc < MOEOT > & _popEval, eoBreed < MOEOT > & _breed, moeoReplacement < MOEOT > & _replace,
|
|
<a name="l00066"></a>00066 moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, <span class="keywordtype">bool</span> _evalFitAndDivBeforeSelection = <span class="keyword">false</span>)
|
|
<a name="l00067"></a>00067 :
|
|
<a name="l00068"></a>00068 <a class="code" href="classmoeoEasyEA.html#5f5b76acbaf99a6a3ee2710da07dde29">continuator</a>(_continuator), <a class="code" href="classmoeoEasyEA.html#26e8ebce6a1bc3216e20171688ba6b83">eval</a> (<a class="code" href="classmoeoEasyEA.html#16cbb12cb7de77c6d7d3f7aee9434880">dummyEval</a>), <a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>(<a class="code" href="classmoeoEasyEA.html#16cbb12cb7de77c6d7d3f7aee9434880">dummyEval</a>), <a class="code" href="classmoeoEasyEA.html#189a8f5196844907ff71f386d95bf415">popEval</a>(_popEval), <a class="code" href="classmoeoEasyEA.html#bd69a176f3cacc2694342075a9022f74">selectTransform</a>(<a class="code" href="classmoeoEasyEA.html#fed6522fe0fcea204850dbb89cc7116e">dummySelect</a>, <a class="code" href="classmoeoEasyEA.html#56991f36963ed61e44e91759c891f13c">dummyTransform</a>), <a class="code" href="classmoeoEasyEA.html#35d5909694019d1b0d52347c72a9092e">breed</a>(_breed), <a class="code" href="classmoeoEasyEA.html#15a69654c07b24f9795add0a22f1f856">mergeReduce</a>(<a class="code" href="classmoeoEasyEA.html#e26830e1301cfd626eed55b0fbf8dbcb">dummyMerge</a>, <a class="code" href="classmoeoEasyEA.html#65963f9308ccc0acc3dfc32a128f6228">dummyReduce</a>), <a class="code" href="classmoeoEasyEA.html#91611cf2862c2db953554e367a576244">replace</a>(_replace),
|
|
<a name="l00069"></a>00069 <a class="code" href="classmoeoEasyEA.html#1268fc2f0b62fe51bca17d4efb51954b">fitnessEval</a>(_fitnessEval), <a class="code" href="classmoeoEasyEA.html#b9d1b3790072dbbbe0012a252bab95f4">diversityEval</a>(_diversityEval), <a class="code" href="classmoeoEasyEA.html#856a19d9a7c180fe33ce7a5bb010edcc">evalFitAndDivBeforeSelection</a>(_evalFitAndDivBeforeSelection)
|
|
<a name="l00070"></a>00070 {}
|
|
<a name="l00071"></a>00071
|
|
<a name="l00072"></a>00072
|
|
<a name="l00084"></a><a class="code" href="classmoeoEasyEA.html#65c1069eeed979ca433e6caee3b5e942">00084</a> <a class="code" href="classmoeoEasyEA.html#3f657699b8ed340ae3f51194206daa20">moeoEasyEA</a>(eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoBreed < MOEOT > & _breed, eoMerge < MOEOT > & _merge, <a class="codeRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_reduce.html">eoReduce< MOEOT ></a> & _reduce,
|
|
<a name="l00085"></a>00085 moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, <span class="keywordtype">bool</span> _evalFitAndDivBeforeSelection = <span class="keyword">false</span>)
|
|
<a name="l00086"></a>00086 :
|
|
<a name="l00087"></a>00087 <a class="code" href="classmoeoEasyEA.html#5f5b76acbaf99a6a3ee2710da07dde29">continuator</a>(_continuator), <a class="code" href="classmoeoEasyEA.html#26e8ebce6a1bc3216e20171688ba6b83">eval</a>(_eval), <a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>(_eval), <a class="code" href="classmoeoEasyEA.html#189a8f5196844907ff71f386d95bf415">popEval</a>(<a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>), <a class="code" href="classmoeoEasyEA.html#bd69a176f3cacc2694342075a9022f74">selectTransform</a>(<a class="code" href="classmoeoEasyEA.html#fed6522fe0fcea204850dbb89cc7116e">dummySelect</a>, <a class="code" href="classmoeoEasyEA.html#56991f36963ed61e44e91759c891f13c">dummyTransform</a>), <a class="code" href="classmoeoEasyEA.html#35d5909694019d1b0d52347c72a9092e">breed</a>(_breed), <a class="code" href="classmoeoEasyEA.html#15a69654c07b24f9795add0a22f1f856">mergeReduce</a>(_merge,_reduce), <a class="code" href="classmoeoEasyEA.html#91611cf2862c2db953554e367a576244">replace</a>(<a class="code" href="classmoeoEasyEA.html#15a69654c07b24f9795add0a22f1f856">mergeReduce</a>),
|
|
<a name="l00088"></a>00088 <a class="code" href="classmoeoEasyEA.html#1268fc2f0b62fe51bca17d4efb51954b">fitnessEval</a>(_fitnessEval), <a class="code" href="classmoeoEasyEA.html#b9d1b3790072dbbbe0012a252bab95f4">diversityEval</a>(_diversityEval), <a class="code" href="classmoeoEasyEA.html#856a19d9a7c180fe33ce7a5bb010edcc">evalFitAndDivBeforeSelection</a>(_evalFitAndDivBeforeSelection)
|
|
<a name="l00089"></a>00089 {}
|
|
<a name="l00090"></a>00090
|
|
<a name="l00091"></a>00091
|
|
<a name="l00103"></a><a class="code" href="classmoeoEasyEA.html#27f0db7a608636c904305afa11cd6ae1">00103</a> <a class="code" href="classmoeoEasyEA.html#3f657699b8ed340ae3f51194206daa20">moeoEasyEA</a>(eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoSelect < MOEOT > & _select, eoTransform < MOEOT > & _transform, moeoReplacement < MOEOT > & _replace,
|
|
<a name="l00104"></a>00104 moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, <span class="keywordtype">bool</span> _evalFitAndDivBeforeSelection = <span class="keyword">false</span>)
|
|
<a name="l00105"></a>00105 :
|
|
<a name="l00106"></a>00106 <a class="code" href="classmoeoEasyEA.html#5f5b76acbaf99a6a3ee2710da07dde29">continuator</a>(_continuator), <a class="code" href="classmoeoEasyEA.html#26e8ebce6a1bc3216e20171688ba6b83">eval</a>(_eval), <a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>(_eval), <a class="code" href="classmoeoEasyEA.html#189a8f5196844907ff71f386d95bf415">popEval</a>(<a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>), <a class="code" href="classmoeoEasyEA.html#bd69a176f3cacc2694342075a9022f74">selectTransform</a>(_select, _transform), <a class="code" href="classmoeoEasyEA.html#35d5909694019d1b0d52347c72a9092e">breed</a>(<a class="code" href="classmoeoEasyEA.html#bd69a176f3cacc2694342075a9022f74">selectTransform</a>), <a class="code" href="classmoeoEasyEA.html#15a69654c07b24f9795add0a22f1f856">mergeReduce</a>(<a class="code" href="classmoeoEasyEA.html#e26830e1301cfd626eed55b0fbf8dbcb">dummyMerge</a>, <a class="code" href="classmoeoEasyEA.html#65963f9308ccc0acc3dfc32a128f6228">dummyReduce</a>), <a class="code" href="classmoeoEasyEA.html#91611cf2862c2db953554e367a576244">replace</a>(_replace),
|
|
<a name="l00107"></a>00107 <a class="code" href="classmoeoEasyEA.html#1268fc2f0b62fe51bca17d4efb51954b">fitnessEval</a>(_fitnessEval), <a class="code" href="classmoeoEasyEA.html#b9d1b3790072dbbbe0012a252bab95f4">diversityEval</a>(_diversityEval), <a class="code" href="classmoeoEasyEA.html#856a19d9a7c180fe33ce7a5bb010edcc">evalFitAndDivBeforeSelection</a>(_evalFitAndDivBeforeSelection)
|
|
<a name="l00108"></a>00108 {}
|
|
<a name="l00109"></a>00109
|
|
<a name="l00110"></a>00110
|
|
<a name="l00123"></a><a class="code" href="classmoeoEasyEA.html#564a3291a8239515328cf0a6b40f3c99">00123</a> <a class="code" href="classmoeoEasyEA.html#3f657699b8ed340ae3f51194206daa20">moeoEasyEA</a>(eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoSelect < MOEOT > & _select, eoTransform < MOEOT > & _transform, eoMerge < MOEOT > & _merge, <a class="codeRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_reduce.html">eoReduce< MOEOT ></a> & _reduce,
|
|
<a name="l00124"></a>00124 moeoFitnessAssignment < MOEOT > & _fitnessEval, moeoDiversityAssignment < MOEOT > & _diversityEval, <span class="keywordtype">bool</span> _evalFitAndDivBeforeSelection = <span class="keyword">false</span>)
|
|
<a name="l00125"></a>00125 :
|
|
<a name="l00126"></a>00126 <a class="code" href="classmoeoEasyEA.html#5f5b76acbaf99a6a3ee2710da07dde29">continuator</a>(_continuator), <a class="code" href="classmoeoEasyEA.html#26e8ebce6a1bc3216e20171688ba6b83">eval</a>(_eval), <a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>(_eval), <a class="code" href="classmoeoEasyEA.html#189a8f5196844907ff71f386d95bf415">popEval</a>(<a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>), <a class="code" href="classmoeoEasyEA.html#bd69a176f3cacc2694342075a9022f74">selectTransform</a>(_select, _transform), <a class="code" href="classmoeoEasyEA.html#35d5909694019d1b0d52347c72a9092e">breed</a>(<a class="code" href="classmoeoEasyEA.html#bd69a176f3cacc2694342075a9022f74">selectTransform</a>), <a class="code" href="classmoeoEasyEA.html#15a69654c07b24f9795add0a22f1f856">mergeReduce</a>(_merge,_reduce), <a class="code" href="classmoeoEasyEA.html#91611cf2862c2db953554e367a576244">replace</a>(<a class="code" href="classmoeoEasyEA.html#15a69654c07b24f9795add0a22f1f856">mergeReduce</a>),
|
|
<a name="l00127"></a>00127 <a class="code" href="classmoeoEasyEA.html#1268fc2f0b62fe51bca17d4efb51954b">fitnessEval</a>(_fitnessEval), <a class="code" href="classmoeoEasyEA.html#b9d1b3790072dbbbe0012a252bab95f4">diversityEval</a>(_diversityEval), <a class="code" href="classmoeoEasyEA.html#856a19d9a7c180fe33ce7a5bb010edcc">evalFitAndDivBeforeSelection</a>(_evalFitAndDivBeforeSelection)
|
|
<a name="l00128"></a>00128 {}
|
|
<a name="l00129"></a>00129
|
|
<a name="l00130"></a>00130
|
|
<a name="l00135"></a><a class="code" href="classmoeoEasyEA.html#f18e8fd179fbb2b89f4a59d213317170">00135</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classmoeoEasyEA.html#f18e8fd179fbb2b89f4a59d213317170">operator()</a>(eoPop < MOEOT > & _pop)
|
|
<a name="l00136"></a>00136 {
|
|
<a name="l00137"></a>00137 eoPop < MOEOT > offspring, empty_pop;
|
|
<a name="l00138"></a>00138 <a class="code" href="classmoeoEasyEA.html#189a8f5196844907ff71f386d95bf415">popEval</a>(empty_pop, _pop); <span class="comment">// A first eval of pop.</span>
|
|
<a name="l00139"></a>00139 <span class="keywordtype">bool</span> firstTime = <span class="keyword">true</span>;
|
|
<a name="l00140"></a>00140 <span class="keywordflow">do</span>
|
|
<a name="l00141"></a>00141 {
|
|
<a name="l00142"></a>00142 <span class="keywordflow">try</span>
|
|
<a name="l00143"></a>00143 {
|
|
<a name="l00144"></a>00144 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pSize = _pop.size();
|
|
<a name="l00145"></a>00145 offspring.clear(); <span class="comment">// new offspring</span>
|
|
<a name="l00146"></a>00146 <span class="comment">// fitness and diversity assignment (if you want to or if it is the first generation)</span>
|
|
<a name="l00147"></a>00147 <span class="keywordflow">if</span> (<a class="code" href="classmoeoEasyEA.html#856a19d9a7c180fe33ce7a5bb010edcc">evalFitAndDivBeforeSelection</a> || firstTime)
|
|
<a name="l00148"></a>00148 {
|
|
<a name="l00149"></a>00149 firstTime = <span class="keyword">false</span>;
|
|
<a name="l00150"></a>00150 <a class="code" href="classmoeoEasyEA.html#1268fc2f0b62fe51bca17d4efb51954b">fitnessEval</a>(_pop);
|
|
<a name="l00151"></a>00151 <a class="code" href="classmoeoEasyEA.html#b9d1b3790072dbbbe0012a252bab95f4">diversityEval</a>(_pop);
|
|
<a name="l00152"></a>00152 }
|
|
<a name="l00153"></a>00153 <a class="code" href="classmoeoEasyEA.html#35d5909694019d1b0d52347c72a9092e">breed</a>(_pop, offspring);
|
|
<a name="l00154"></a>00154 <a class="code" href="classmoeoEasyEA.html#189a8f5196844907ff71f386d95bf415">popEval</a>(_pop, offspring); <span class="comment">// eval of parents + offspring if necessary</span>
|
|
<a name="l00155"></a>00155 <a class="code" href="classmoeoEasyEA.html#91611cf2862c2db953554e367a576244">replace</a>(_pop, offspring); <span class="comment">// after replace, the new pop. is in _pop</span>
|
|
<a name="l00156"></a>00156 <span class="keywordflow">if</span> (pSize > _pop.size())
|
|
<a name="l00157"></a>00157 {
|
|
<a name="l00158"></a>00158 <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">"Population shrinking!"</span>);
|
|
<a name="l00159"></a>00159 }
|
|
<a name="l00160"></a>00160 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (pSize < _pop.size())
|
|
<a name="l00161"></a>00161 {
|
|
<a name="l00162"></a>00162 <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">"Population growing!"</span>);
|
|
<a name="l00163"></a>00163 }
|
|
<a name="l00164"></a>00164 }
|
|
<a name="l00165"></a>00165 <span class="keywordflow">catch</span> (std::exception& e)
|
|
<a name="l00166"></a>00166 {
|
|
<a name="l00167"></a>00167 std::string s = e.what();
|
|
<a name="l00168"></a>00168 s.append( <span class="stringliteral">" in moeoEasyEA"</span>);
|
|
<a name="l00169"></a>00169 <span class="keywordflow">throw</span> std::runtime_error( s );
|
|
<a name="l00170"></a>00170 }
|
|
<a name="l00171"></a>00171 } <span class="keywordflow">while</span> (<a class="code" href="classmoeoEasyEA.html#5f5b76acbaf99a6a3ee2710da07dde29">continuator</a>(_pop));
|
|
<a name="l00172"></a>00172 }
|
|
<a name="l00173"></a>00173
|
|
<a name="l00174"></a>00174
|
|
<a name="l00175"></a>00175 <span class="keyword">protected</span>:
|
|
<a name="l00176"></a>00176
|
|
<a name="l00178"></a><a class="code" href="classmoeoEasyEA.html#5f5b76acbaf99a6a3ee2710da07dde29">00178</a> eoContinue < MOEOT > & <a class="code" href="classmoeoEasyEA.html#5f5b76acbaf99a6a3ee2710da07dde29">continuator</a>;
|
|
<a name="l00180"></a><a class="code" href="classmoeoEasyEA.html#26e8ebce6a1bc3216e20171688ba6b83">00180</a> eoEvalFunc < MOEOT > & <a class="code" href="classmoeoEasyEA.html#26e8ebce6a1bc3216e20171688ba6b83">eval</a>;
|
|
<a name="l00182"></a><a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">00182</a> eoPopLoopEval < MOEOT > <a class="code" href="classmoeoEasyEA.html#c1d492090805bf322c07159a9238a7ae">loopEval</a>;
|
|
<a name="l00184"></a><a class="code" href="classmoeoEasyEA.html#189a8f5196844907ff71f386d95bf415">00184</a> eoPopEvalFunc < MOEOT > & <a class="code" href="classmoeoEasyEA.html#189a8f5196844907ff71f386d95bf415">popEval</a>;
|
|
<a name="l00186"></a><a class="code" href="classmoeoEasyEA.html#bd69a176f3cacc2694342075a9022f74">00186</a> eoSelectTransform < MOEOT > <a class="code" href="classmoeoEasyEA.html#bd69a176f3cacc2694342075a9022f74">selectTransform</a>;
|
|
<a name="l00188"></a><a class="code" href="classmoeoEasyEA.html#35d5909694019d1b0d52347c72a9092e">00188</a> eoBreed < MOEOT > & <a class="code" href="classmoeoEasyEA.html#35d5909694019d1b0d52347c72a9092e">breed</a>;
|
|
<a name="l00190"></a><a class="code" href="classmoeoEasyEA.html#15a69654c07b24f9795add0a22f1f856">00190</a> eoMergeReduce < MOEOT > <a class="code" href="classmoeoEasyEA.html#15a69654c07b24f9795add0a22f1f856">mergeReduce</a>;
|
|
<a name="l00192"></a><a class="code" href="classmoeoEasyEA.html#91611cf2862c2db953554e367a576244">00192</a> moeoReplacement < MOEOT > & <a class="code" href="classmoeoEasyEA.html#91611cf2862c2db953554e367a576244">replace</a>;
|
|
<a name="l00194"></a><a class="code" href="classmoeoEasyEA.html#1268fc2f0b62fe51bca17d4efb51954b">00194</a> moeoFitnessAssignment < MOEOT > & <a class="code" href="classmoeoEasyEA.html#1268fc2f0b62fe51bca17d4efb51954b">fitnessEval</a>;
|
|
<a name="l00196"></a><a class="code" href="classmoeoEasyEA.html#b9d1b3790072dbbbe0012a252bab95f4">00196</a> moeoDiversityAssignment < MOEOT > & <a class="code" href="classmoeoEasyEA.html#b9d1b3790072dbbbe0012a252bab95f4">diversityEval</a>;
|
|
<a name="l00198"></a><a class="code" href="classmoeoEasyEA.html#856a19d9a7c180fe33ce7a5bb010edcc">00198</a> <span class="keywordtype">bool</span> <a class="code" href="classmoeoEasyEA.html#856a19d9a7c180fe33ce7a5bb010edcc">evalFitAndDivBeforeSelection</a>;
|
|
<a name="l00200"></a><a class="code" href="classmoeoEasyEA_1_1eoDummyEval.html">00200</a> <span class="keyword">class </span><a class="code" href="classmoeoEasyEA_1_1eoDummyEval.html">eoDummyEval</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a> < MOEOT >
|
|
<a name="l00201"></a>00201 { <span class="keyword">public</span>:
|
|
<a name="l00202"></a><a class="code" href="classmoeoEasyEA_1_1eoDummyEval.html#1ed55869451f883db2fc43c60f7caff5">00202</a> <span class="keywordtype">void</span> <a class="code" href="classmoeoEasyEA_1_1eoDummyEval.html#1ed55869451f883db2fc43c60f7caff5">operator()</a>(MOEOT &) {}} <a class="code" href="classmoeoEasyEA.html#16cbb12cb7de77c6d7d3f7aee9434880">dummyEval</a>;
|
|
<a name="l00204"></a><a class="code" href="classmoeoEasyEA_1_1eoDummySelect.html">00204</a> <span class="keyword">class </span><a class="code" href="classmoeoEasyEA_1_1eoDummySelect.html">eoDummySelect</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_select.html">eoSelect</a> < MOEOT >
|
|
<a name="l00205"></a>00205 { <span class="keyword">public</span>:
|
|
<a name="l00206"></a><a class="code" href="classmoeoEasyEA_1_1eoDummySelect.html#32207d2ed997aa90ba9f32f5625b63d6">00206</a> <span class="keywordtype">void</span> <a class="code" href="classmoeoEasyEA_1_1eoDummySelect.html#32207d2ed997aa90ba9f32f5625b63d6">operator()</a>(<span class="keyword">const</span> eoPop < MOEOT > &, eoPop < MOEOT > &) {} } <a class="code" href="classmoeoEasyEA.html#fed6522fe0fcea204850dbb89cc7116e">dummySelect</a>;
|
|
<a name="l00208"></a><a class="code" href="classmoeoEasyEA_1_1eoDummyTransform.html">00208</a> <span class="keyword">class </span><a class="code" href="classmoeoEasyEA_1_1eoDummyTransform.html">eoDummyTransform</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_transform.html">eoTransform</a> < MOEOT >
|
|
<a name="l00209"></a>00209 { <span class="keyword">public</span>:
|
|
<a name="l00210"></a><a class="code" href="classmoeoEasyEA_1_1eoDummyTransform.html#0e153e482291a7f19f7f7a02505fb432">00210</a> <span class="keywordtype">void</span> <a class="code" href="classmoeoEasyEA_1_1eoDummyTransform.html#0e153e482291a7f19f7f7a02505fb432">operator()</a>(eoPop < MOEOT > &) {} } <a class="code" href="classmoeoEasyEA.html#56991f36963ed61e44e91759c891f13c">dummyTransform</a>;
|
|
<a name="l00212"></a><a class="code" href="classmoeoEasyEA.html#e26830e1301cfd626eed55b0fbf8dbcb">00212</a> eoNoElitism < MOEOT > <a class="code" href="classmoeoEasyEA.html#e26830e1301cfd626eed55b0fbf8dbcb">dummyMerge</a>;
|
|
<a name="l00214"></a><a class="code" href="classmoeoEasyEA.html#65963f9308ccc0acc3dfc32a128f6228">00214</a> eoTruncate < MOEOT > <a class="code" href="classmoeoEasyEA.html#65963f9308ccc0acc3dfc32a128f6228">dummyReduce</a>;
|
|
<a name="l00215"></a>00215
|
|
<a name="l00216"></a>00216 };
|
|
<a name="l00217"></a>00217
|
|
<a name="l00218"></a>00218 <span class="preprocessor">#endif </span><span class="comment">/*MOEOEASYEA_H_*/</span>
|
|
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jun 26 15:13:04 2007 for ParadisEO-MOEO by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
|
</body>
|
|
</html>
|