Paradiseo-eo sources added

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@40 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2006-12-12 14:49:08 +00:00
commit c3aec878e5
3609 changed files with 342772 additions and 0 deletions

View file

@ -0,0 +1,285 @@
<!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>EO: eoUniformMutation&lt; EOT &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<div class="qindex"> <form class="search" action="search.php" method="get">
<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
<h1>eoUniformMutation&lt; EOT &gt; Class Template Reference</h1>eoUniformMutation --&gt; changes all values of the std::vector by uniform choice with range epsilon with probability p_change per variable
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="eo_real_op_8h-source.html">Tutorial/eoRealOp.h</a>&gt;</code>
<p>
<p>Inheritance diagram for eoUniformMutation&lt; EOT &gt;:
<p><center><img src="classeo_uniform_mutation.png" usemap="#eoUniformMutation< EOT >_map" border="0" alt=""></center>
<map name="eoUniformMutation< EOT >_map">
<area href="classeo_mon_op.html" alt="eoMonOp< EOT >" shape="rect" coords="101,112,294,136">
<area href="classeo_op.html" alt="eoOp< EOT >" shape="rect" coords="0,56,193,80">
<area href="classeo_u_f.html" alt="eoUF< EOT &, bool >" shape="rect" coords="203,56,396,80">
<area href="classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="101,0,294,24">
</map>
<a href="classeo_uniform_mutation-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="classeo_uniform_mutation.html#a0">eoUniformMutation</a> (const double &amp;_epsilon, const double &amp;_p_change=1.0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor without bounds == unbounded variables :-) not very clean, but who's doing unbounded optimization anyway? and it's there mostly for backward compatibility. <a href="#a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_uniform_mutation.html#a1">eoUniformMutation</a> (<a class="el" href="classeo_real_vector_bounds.html">eoRealVectorBounds</a> &amp;_bounds, const double &amp;_epsilon, const double &amp;_p_change=1.0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor with bounds. <a href="#a1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_uniform_mutation.html#a2">eoUniformMutation</a> (<a class="el" href="classeo_real_vector_bounds.html">eoRealVectorBounds</a> &amp;_bounds, const std::vector&lt; double &gt; &amp;_epsilon, const std::vector&lt; double &gt; &amp;_p_change)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor with bounds. <a href="#a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3" doxytag="eoUniformMutation::className"></a>
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_uniform_mutation.html#a3">className</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The class name. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_uniform_mutation.html#a4">operator()</a> (<a class="el" href="struct_dummy.html">EOT</a> &amp;_eo)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do it! <a href="#a4"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="r0" doxytag="eoUniformMutation::homogeneous"></a>
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>homogeneous</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="r1" doxytag="eoUniformMutation::bounds"></a>
<a class="el" href="classeo_real_vector_bounds.html">eoRealVectorBounds</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>bounds</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="r2" doxytag="eoUniformMutation::epsilon"></a>
std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>epsilon</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="r3" doxytag="eoUniformMutation::p_change"></a>
std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>p_change</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class EOT&gt;<br>
class eoUniformMutation&lt; EOT &gt;</h3>
eoUniformMutation --&gt; changes all values of the std::vector by uniform choice with range epsilon with probability p_change per variable
<p>
<p>
Definition at line <a class="el" href="eo_real_op_8h-source.html#l00045">45</a> of file <a class="el" href="eo_real_op_8h-source.html">eoRealOp.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="eoUniformMutation::eoUniformMutation"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" colspan="4">
template&lt;class EOT&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classeo_uniform_mutation.html">eoUniformMutation</a>&lt; <a class="el" href="struct_dummy.html">EOT</a> &gt;::<a class="el" href="classeo_uniform_mutation.html">eoUniformMutation</a> </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const double &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>_epsilon</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const double &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>_p_change</em> = <code>1.0</code></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Constructor without bounds == unbounded variables :-) not very clean, but who's doing unbounded optimization anyway? and it's there mostly for backward compatibility.
<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>_epsilon</em>&nbsp;</td><td>the range for uniform nutation </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_p_change</em>&nbsp;</td><td>the probability to change a given coordinate </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="eo_real_op_8h-source.html#l00056">56</a> of file <a class="el" href="eo_real_op_8h-source.html">eoRealOp.h</a>. </td>
</tr>
</table>
<a class="anchor" name="a1" doxytag="eoUniformMutation::eoUniformMutation"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" colspan="4">
template&lt;class EOT&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classeo_uniform_mutation.html">eoUniformMutation</a>&lt; <a class="el" href="struct_dummy.html">EOT</a> &gt;::<a class="el" href="classeo_uniform_mutation.html">eoUniformMutation</a> </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classeo_real_vector_bounds.html">eoRealVectorBounds</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>_bounds</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const double &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>_epsilon</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const double &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>_p_change</em> = <code>1.0</code></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Constructor with bounds.
<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>_bounds</em>&nbsp;</td><td>an <a class="el" href="classeo_real_vector_bounds.html">eoRealVectorBounds</a> that contains the bounds </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_epsilon</em>&nbsp;</td><td>the range for uniform mutation - a double to be scaled </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_p_change</em>&nbsp;</td><td>the one probability to change all coordinates </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="eo_real_op_8h-source.html#l00066">66</a> of file <a class="el" href="eo_real_op_8h-source.html">eoRealOp.h</a>.
<p>
References <a class="el" href="eo_real_vector_bounds_8h-source.html#l00085">eoRealBaseVectorBounds::isBounded()</a>, and <a class="el" href="eo_real_vector_bounds_8h-source.html#l00176">eoRealBaseVectorBounds::range()</a>. </td>
</tr>
</table>
<a class="anchor" name="a2" doxytag="eoUniformMutation::eoUniformMutation"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" colspan="4">
template&lt;class EOT&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top"><a class="el" href="classeo_uniform_mutation.html">eoUniformMutation</a>&lt; <a class="el" href="struct_dummy.html">EOT</a> &gt;::<a class="el" href="classeo_uniform_mutation.html">eoUniformMutation</a> </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classeo_real_vector_bounds.html">eoRealVectorBounds</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>_bounds</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const std::vector&lt; double &gt; &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>_epsilon</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const std::vector&lt; double &gt; &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>_p_change</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Constructor with bounds.
<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>_bounds</em>&nbsp;</td><td>an <a class="el" href="classeo_real_vector_bounds.html">eoRealVectorBounds</a> that contains the bounds </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_epsilon</em>&nbsp;</td><td>the VECTOR of ranges for uniform mutation </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_p_change</em>&nbsp;</td><td>the VECTOR of probabilities for each coordinates </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="eo_real_op_8h-source.html#l00083">83</a> of file <a class="el" href="eo_real_op_8h-source.html">eoRealOp.h</a>. </td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a4" doxytag="eoUniformMutation::operator()"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" colspan="4">
template&lt;class EOT&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top">bool <a class="el" href="classeo_uniform_mutation.html">eoUniformMutation</a>&lt; <a class="el" href="struct_dummy.html">EOT</a> &gt;::operator() </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_dummy.html">EOT</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>_eo</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inline, virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Do it!
<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>_eo</em>&nbsp;</td><td>The indi undergoing the mutation </td></tr>
</table>
</dl>
<p>
Implements <a class="el" href="classeo_u_f.html#a1">eoUF&lt; EOT &amp;, bool &gt;</a>.
<p>
Definition at line <a class="el" href="eo_real_op_8h-source.html#l00096">96</a> of file <a class="el" href="eo_real_op_8h-source.html">eoRealOp.h</a>.
<p>
References <a class="el" href="eo_r_n_g_8h-source.html#l00175">eoRng::flip()</a>, <a class="el" href="eo_real_vector_bounds_8h-source.html#l00120">eoRealBaseVectorBounds::isMaxBounded()</a>, <a class="el" href="eo_real_vector_bounds_8h-source.html#l00117">eoRealBaseVectorBounds::isMinBounded()</a>, <a class="el" href="eo_real_vector_bounds_8h-source.html#l00175">eoRealBaseVectorBounds::maximum()</a>, <a class="el" href="eo_real_vector_bounds_8h-source.html#l00174">eoRealBaseVectorBounds::minimum()</a>, and <a class="el" href="eo_r_n_g_8h-source.html#l00158">eoRng::uniform()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="eo_real_op_8h-source.html">eoRealOp.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Thu Oct 19 05:06:58 2006 for EO by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>