paradiseo/branches/paradiseo-moeo-1.0/doc/html/classmoeoNSGAII.html
liefooga b1d6dd41c0 add doc
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@397 331e1502-861f-0410-8da2-ba01fb791d7f
2007-06-26 13:13:33 +00:00

422 lines
31 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: moeoNSGAII&lt; MOEOT &gt; Class Template Reference</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&nbsp;Page</span></a></li>
<li id="current"><a href="classes.html"><span>Classes</span></a></li>
<li><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>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>moeoNSGAII&lt; MOEOT &gt; Class Template Reference</h1><!-- doxytag: class="moeoNSGAII" --><!-- doxytag: inherits="moeoEA" -->NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="moeoNSGAII_8h-source.html">moeoNSGAII.h</a>&gt;</code>
<p>
<p>Inheritance diagram for moeoNSGAII&lt; MOEOT &gt;:
<p><center><img src="classmoeoNSGAII.png" usemap="#moeoNSGAII< MOEOT >_map" border="0" alt=""></center>
<map name="moeoNSGAII< MOEOT >_map">
<area href="classmoeoEA.html" alt="moeoEA< MOEOT >" shape="rect" coords="81,168,234,192">
<area href="classmoeoAlgo.html" alt="moeoAlgo" shape="rect" coords="0,112,153,136">
<area doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_algo.html" alt="eoAlgo< MOEOT >" shape="rect" coords="163,112,316,136">
<area doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_u_f.html" alt="eoUF< A1, R >" shape="rect" coords="163,56,316,80">
<area doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="163,0,316,24">
</map>
<a href="classmoeoNSGAII-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#a13ddb75d60e2956905a9eacca2e0b2e">moeoNSGAII</a> (unsigned int _maxGen, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;_eval, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_gen_op.html">eoGenOp</a>&lt; MOEOT &gt; &amp;_op)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple ctor with a <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_gen_op.html">eoGenOp</a>. <a href="#a13ddb75d60e2956905a9eacca2e0b2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#56a2b2ab62b2a4025f1d122e3cfa2aa2">moeoNSGAII</a> (unsigned int _maxGen, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;_eval, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_transform.html">eoTransform</a>&lt; MOEOT &gt; &amp;_op)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple ctor with a <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_transform.html">eoTransform</a>. <a href="#56a2b2ab62b2a4025f1d122e3cfa2aa2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#996e1b2683378ae1880b7520814aa9c9">moeoNSGAII</a> (unsigned int _maxGen, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;_eval, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_quad_op.html">eoQuadOp</a>&lt; MOEOT &gt; &amp;_crossover, double _pCross, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_mon_op.html">eoMonOp</a>&lt; MOEOT &gt; &amp;_mutation, double _pMut)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ctor with a crossover, a mutation and their corresponding rates. <a href="#996e1b2683378ae1880b7520814aa9c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#1797f01afde01d155e559522df12ae05">moeoNSGAII</a> (<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_continue.html">eoContinue</a>&lt; MOEOT &gt; &amp;_continuator, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;_eval, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_gen_op.html">eoGenOp</a>&lt; MOEOT &gt; &amp;_op)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ctor with a continuator (instead of _maxGen) and a <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_gen_op.html">eoGenOp</a>. <a href="#1797f01afde01d155e559522df12ae05"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#a2b8d5b2ca7e7fd5845c6cda896b75c6">moeoNSGAII</a> (<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_continue.html">eoContinue</a>&lt; MOEOT &gt; &amp;_continuator, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;_eval, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_transform.html">eoTransform</a>&lt; MOEOT &gt; &amp;_op)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ctor with a continuator (instead of _maxGen) and a <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_transform.html">eoTransform</a>. <a href="#a2b8d5b2ca7e7fd5845c6cda896b75c6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#60ba3ed4287efe81e1ff66b22e1d2e14">operator()</a> (<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; MOEOT &gt; &amp;_pop)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apply a few generation of evolution to the population _pop until the stopping criteria is verified. <a href="#60ba3ed4287efe81e1ff66b22e1d2e14"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2bc5adbd55a32faead1c4ac0cbac3b35"></a><!-- doxytag: member="moeoNSGAII::defaultGenContinuator" ref="2bc5adbd55a32faead1c4ac0cbac3b35" args="" -->
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_gen_continue.html">eoGenContinue</a>&lt; MOEOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#2bc5adbd55a32faead1c4ac0cbac3b35">defaultGenContinuator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a continuator based on the number of generations (used as default) <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7eb1e36631eebbe3216167b1077e3a53"></a><!-- doxytag: member="moeoNSGAII::continuator" ref="7eb1e36631eebbe3216167b1077e3a53" args="" -->
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_continue.html">eoContinue</a>&lt; MOEOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#7eb1e36631eebbe3216167b1077e3a53">continuator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stopping criteria <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b042567e51f014b3fe841346d9830a0"></a><!-- doxytag: member="moeoNSGAII::popEval" ref="5b042567e51f014b3fe841346d9830a0" args="" -->
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop_loop_eval.html">eoPopLoopEval</a>&lt; MOEOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#5b042567e51f014b3fe841346d9830a0">popEval</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">evaluation function used to evaluate the whole population <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6134c5baa1c6921aaacd67f6f452871a"></a><!-- doxytag: member="moeoNSGAII::select" ref="6134c5baa1c6921aaacd67f6f452871a" args="" -->
<a class="el" href="classmoeoDetTournamentSelect.html">moeoDetTournamentSelect</a>&lt; MOEOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#6134c5baa1c6921aaacd67f6f452871a">select</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">binary tournament selection <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2cf7c853cc4213664b0654b1e5a8862a"></a><!-- doxytag: member="moeoNSGAII::fitnessAssignment" ref="2cf7c853cc4213664b0654b1e5a8862a" args="" -->
<a class="el" href="classmoeoFastNonDominatedSortingFitnessAssignment.html">moeoFastNonDominatedSortingFitnessAssignment</a>&lt;<br>
MOEOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#2cf7c853cc4213664b0654b1e5a8862a">fitnessAssignment</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">fitness assignment used in NSGA-II <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="710a3cdb375b1d03b1251f8a11b1c4b0"></a><!-- doxytag: member="moeoNSGAII::diversityAssignment" ref="710a3cdb375b1d03b1251f8a11b1c4b0" args="" -->
<a class="el" href="classmoeoFrontByFrontCrowdingDistanceDiversityAssignment.html">moeoFrontByFrontCrowdingDistanceDiversityAssignment</a>&lt;<br>
MOEOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#710a3cdb375b1d03b1251f8a11b1c4b0">diversityAssignment</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">diversity assignment used in NSGA-II <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="75bc4b735c5de2a6fc93b2f2b63c7251"></a><!-- doxytag: member="moeoNSGAII::replace" ref="75bc4b735c5de2a6fc93b2f2b63c7251" args="" -->
<a class="el" href="classmoeoElitistReplacement.html">moeoElitistReplacement</a>&lt; MOEOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#75bc4b735c5de2a6fc93b2f2b63c7251">replace</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">elitist replacement <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2050440184979533f2c403bb044c064"></a><!-- doxytag: member="moeoNSGAII::defaultSGAGenOp" ref="a2050440184979533f2c403bb044c064" args="" -->
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_s_g_a_gen_op.html">eoSGAGenOp</a>&lt; MOEOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#a2050440184979533f2c403bb044c064">defaultSGAGenOp</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">an object for genetic operators (used as default) <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2099c3069a7da12485578fc66ff71ff1"></a><!-- doxytag: member="moeoNSGAII::genBreed" ref="2099c3069a7da12485578fc66ff71ff1" args="" -->
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_general_breeder.html">eoGeneralBreeder</a>&lt; MOEOT &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#2099c3069a7da12485578fc66ff71ff1">genBreed</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">general breeder <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17954849435e579d74bf37ed7b9063fc"></a><!-- doxytag: member="moeoNSGAII::breed" ref="17954849435e579d74bf37ed7b9063fc" args="" -->
<a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_breed.html">eoBreed</a>&lt; MOEOT &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoNSGAII.html#17954849435e579d74bf37ed7b9063fc">breed</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">breeder <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class MOEOT&gt;<br>
class moeoNSGAII&lt; MOEOT &gt;</h3>
NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S.
<p>
Agrawal, A. Pratap, and T. Meyarivan : "A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II". In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197 (April 2002). This class builds the NSGA-II algorithm only by using the fine-grained components of the ParadisEO-MOEO framework.
<p>
<p>
Definition at line <a class="el" href="moeoNSGAII_8h-source.html#l00037">37</a> of file <a class="el" href="moeoNSGAII_8h-source.html">moeoNSGAII.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a13ddb75d60e2956905a9eacca2e0b2e"></a><!-- doxytag: member="moeoNSGAII::moeoNSGAII" ref="a13ddb75d60e2956905a9eacca2e0b2e" args="(unsigned int _maxGen, eoEvalFunc&lt; MOEOT &gt; &amp;_eval, eoGenOp&lt; MOEOT &gt; &amp;_op)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MOEOT&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a>&lt; MOEOT &gt;::<a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a> </td>
<td>(</td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>_maxGen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_eval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_gen_op.html">eoGenOp</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_op</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Simple ctor with a <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_gen_op.html">eoGenOp</a>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>_maxGen</em>&nbsp;</td><td>number of generations before stopping </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_eval</em>&nbsp;</td><td>evaluation function </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_op</em>&nbsp;</td><td>variation operator </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="moeoNSGAII_8h-source.html#l00047">47</a> of file <a class="el" href="moeoNSGAII_8h-source.html">moeoNSGAII.h</a>.
</div>
</div><p>
<a class="anchor" name="56a2b2ab62b2a4025f1d122e3cfa2aa2"></a><!-- doxytag: member="moeoNSGAII::moeoNSGAII" ref="56a2b2ab62b2a4025f1d122e3cfa2aa2" args="(unsigned int _maxGen, eoEvalFunc&lt; MOEOT &gt; &amp;_eval, eoTransform&lt; MOEOT &gt; &amp;_op)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MOEOT&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a>&lt; MOEOT &gt;::<a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a> </td>
<td>(</td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>_maxGen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_eval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_transform.html">eoTransform</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_op</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Simple ctor with a <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_transform.html">eoTransform</a>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>_maxGen</em>&nbsp;</td><td>number of generations before stopping </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_eval</em>&nbsp;</td><td>evaluation function </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_op</em>&nbsp;</td><td>variation operator </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="moeoNSGAII_8h-source.html#l00059">59</a> of file <a class="el" href="moeoNSGAII_8h-source.html">moeoNSGAII.h</a>.
</div>
</div><p>
<a class="anchor" name="996e1b2683378ae1880b7520814aa9c9"></a><!-- doxytag: member="moeoNSGAII::moeoNSGAII" ref="996e1b2683378ae1880b7520814aa9c9" args="(unsigned int _maxGen, eoEvalFunc&lt; MOEOT &gt; &amp;_eval, eoQuadOp&lt; MOEOT &gt; &amp;_crossover, double _pCross, eoMonOp&lt; MOEOT &gt; &amp;_mutation, double _pMut)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MOEOT&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a>&lt; MOEOT &gt;::<a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a> </td>
<td>(</td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>_maxGen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_eval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_quad_op.html">eoQuadOp</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_crossover</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>_pCross</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_mon_op.html">eoMonOp</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_mutation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>_pMut</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Ctor with a crossover, a mutation and their corresponding rates.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>_maxGen</em>&nbsp;</td><td>number of generations before stopping </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_eval</em>&nbsp;</td><td>evaluation function </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_crossover</em>&nbsp;</td><td>crossover </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_pCross</em>&nbsp;</td><td>crossover probability </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_mutation</em>&nbsp;</td><td>mutation </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_pMut</em>&nbsp;</td><td>mutation probability </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="moeoNSGAII_8h-source.html#l00074">74</a> of file <a class="el" href="moeoNSGAII_8h-source.html">moeoNSGAII.h</a>.
</div>
</div><p>
<a class="anchor" name="1797f01afde01d155e559522df12ae05"></a><!-- doxytag: member="moeoNSGAII::moeoNSGAII" ref="1797f01afde01d155e559522df12ae05" args="(eoContinue&lt; MOEOT &gt; &amp;_continuator, eoEvalFunc&lt; MOEOT &gt; &amp;_eval, eoGenOp&lt; MOEOT &gt; &amp;_op)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MOEOT&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a>&lt; MOEOT &gt;::<a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a> </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_continue.html">eoContinue</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_continuator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_eval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_gen_op.html">eoGenOp</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_op</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Ctor with a continuator (instead of _maxGen) and a <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_gen_op.html">eoGenOp</a>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>_continuator</em>&nbsp;</td><td>stopping criteria </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_eval</em>&nbsp;</td><td>evaluation function </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_op</em>&nbsp;</td><td>variation operator </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="moeoNSGAII_8h-source.html#l00087">87</a> of file <a class="el" href="moeoNSGAII_8h-source.html">moeoNSGAII.h</a>.
</div>
</div><p>
<a class="anchor" name="a2b8d5b2ca7e7fd5845c6cda896b75c6"></a><!-- doxytag: member="moeoNSGAII::moeoNSGAII" ref="a2b8d5b2ca7e7fd5845c6cda896b75c6" args="(eoContinue&lt; MOEOT &gt; &amp;_continuator, eoEvalFunc&lt; MOEOT &gt; &amp;_eval, eoTransform&lt; MOEOT &gt; &amp;_op)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MOEOT&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a>&lt; MOEOT &gt;::<a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a> </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_continue.html">eoContinue</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_continuator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_eval_func.html">eoEvalFunc</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_eval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_transform.html">eoTransform</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_op</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Ctor with a continuator (instead of _maxGen) and a <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_transform.html">eoTransform</a>.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>_continuator</em>&nbsp;</td><td>stopping criteria </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_eval</em>&nbsp;</td><td>evaluation function </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_op</em>&nbsp;</td><td>variation operator </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="moeoNSGAII_8h-source.html#l00099">99</a> of file <a class="el" href="moeoNSGAII_8h-source.html">moeoNSGAII.h</a>.
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="60ba3ed4287efe81e1ff66b22e1d2e14"></a><!-- doxytag: member="moeoNSGAII::operator()" ref="60ba3ed4287efe81e1ff66b22e1d2e14" args="(eoPop&lt; MOEOT &gt; &amp;_pop)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MOEOT&gt; </div>
<table class="memname">
<tr>
<td class="memname">virtual void <a class="el" href="classmoeoNSGAII.html">moeoNSGAII</a>&lt; MOEOT &gt;::operator() </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_pop.html">eoPop</a>&lt; MOEOT &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>_pop</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [inline, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Apply a few generation of evolution to the population _pop until the stopping criteria is verified.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>_pop</em>&nbsp;</td><td>the population </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="moeoNSGAII_8h-source.html#l00109">109</a> of file <a class="el" href="moeoNSGAII_8h-source.html">moeoNSGAII.h</a>.
<p>
References <a class="el" href="moeoNSGAII_8h-source.html#l00149">moeoNSGAII&lt; MOEOT &gt;::breed</a>, <a class="el" href="moeoNSGAII_8h-source.html#l00133">moeoNSGAII&lt; MOEOT &gt;::continuator</a>, <a class="el" href="moeoNSGAII_8h-source.html#l00141">moeoNSGAII&lt; MOEOT &gt;::diversityAssignment</a>, <a class="el" href="moeoNSGAII_8h-source.html#l00139">moeoNSGAII&lt; MOEOT &gt;::fitnessAssignment</a>, <a class="el" href="moeoNSGAII_8h-source.html#l00135">moeoNSGAII&lt; MOEOT &gt;::popEval</a>, and <a class="el" href="moeoNSGAII_8h-source.html#l00143">moeoNSGAII&lt; MOEOT &gt;::replace</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="moeoNSGAII_8h-source.html">moeoNSGAII.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jun 26 15:13:04 2007 for ParadisEO-MOEO by&nbsp;
<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>