paradiseo/trunk/paradiseo-moeo/docs/html/classmoeoHypervolumeBinaryMetric.html
liefooga 2e7e817428 update docs
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@263 331e1502-861f-0410-8da2-ba01fb791d7f
2007-04-17 15:45:01 +00:00

225 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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: moeoHypervolumeBinaryMetric&lt; ObjectiveVector &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.5.1 -->
<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>moeoHypervolumeBinaryMetric&lt; ObjectiveVector &gt; Class Template Reference</h1><!-- doxytag: class="moeoHypervolumeBinaryMetric" --><!-- doxytag: inherits="moeoNormalizedSolutionVsSolutionBinaryMetric&lt; ObjectiveVector, double &gt;" -->Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., Künzli S.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html">moeoNormalizedSolutionVsSolutionBinaryMetric.h</a>&gt;</code>
<p>
<p>Inheritance diagram for moeoHypervolumeBinaryMetric&lt; ObjectiveVector &gt;:
<p><center><img src="classmoeoHypervolumeBinaryMetric.png" usemap="#moeoHypervolumeBinaryMetric< ObjectiveVector >_map" border="0" alt=""></center>
<map name="moeoHypervolumeBinaryMetric< ObjectiveVector >_map">
<area href="classmoeoNormalizedSolutionVsSolutionBinaryMetric.html" alt="moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double >" shape="rect" coords="228,224,674,248">
<area href="classmoeoSolutionVsSolutionBinaryMetric.html" alt="moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, double >" shape="rect" coords="228,168,674,192">
<area href="classmoeoBinaryMetric.html" alt="moeoBinaryMetric< A1, A2, R >" shape="rect" coords="228,112,674,136">
<area doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_b_f.html" alt="eoBF< A1, A2, R >" shape="rect" coords="0,56,446,80">
<area href="classmoeoMetric.html" alt="moeoMetric" shape="rect" coords="456,56,902,80">
<area doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="0,0,446,24">
<area doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="456,0,902,24">
</map>
<a href="classmoeoHypervolumeBinaryMetric-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="classmoeoHypervolumeBinaryMetric.html#01a07711a7c9f38cdc2c76e40a3c5958">moeoHypervolumeBinaryMetric</a> (double _rho=1.1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ctor. <a href="#01a07711a7c9f38cdc2c76e40a3c5958"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoHypervolumeBinaryMetric.html#c147309a5ba6b365be926e6083c5b9f2">operator()</a> (const ObjectiveVector &amp;_o1, const ObjectiveVector &amp;_o2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho. <a href="#c147309a5ba6b365be926e6083c5b9f2"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoHypervolumeBinaryMetric.html#f8253e7b209fe5d985c389c9dc4dce34">hypervolume</a> (const ObjectiveVector &amp;_o1, const ObjectiveVector &amp;_o2, const unsigned _obj, const bool _flag=false)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho for the objective _obj. <a href="#f8253e7b209fe5d985c389c9dc4dce34"></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="2498b6010719249121e3a371978d927b"></a><!-- doxytag: member="moeoHypervolumeBinaryMetric::rho" ref="2498b6010719249121e3a371978d927b" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoHypervolumeBinaryMetric.html#2498b6010719249121e3a371978d927b">rho</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">value used to compute the reference point from the worst values for each objective <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2bbeb34a5bfde25b9eadc7eca899906e"></a><!-- doxytag: member="moeoHypervolumeBinaryMetric::paretoComparator" ref="2bbeb34a5bfde25b9eadc7eca899906e" args="" -->
<a class="el" href="classmoeoParetoObjectiveVectorComparator.html">moeoParetoObjectiveVectorComparator</a>&lt;<br>
ObjectiveVector &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmoeoHypervolumeBinaryMetric.html#2bbeb34a5bfde25b9eadc7eca899906e">paretoComparator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Functor to compare two objective vectors according to Pareto dominance relation. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class ObjectiveVector&gt;<br>
class moeoHypervolumeBinaryMetric&lt; ObjectiveVector &gt;</h3>
Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., Künzli S.
<p>
: Indicator-Based Selection in Multiobjective Search. In Parallel Problem Solving from Nature (PPSN VIII). Lecture Notes in Computer Science 3242, Springer, Birmingham, UK pp.832842 (2004). This indicator is based on the hypervolume concept introduced in Zitzler, E., Thiele, L.: Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study. Parallel Problem Solving from Nature (PPSN-V), pp.292-301 (1998).
<p>
<p>
Definition at line <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00159">159</a> of file <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html">moeoNormalizedSolutionVsSolutionBinaryMetric.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="01a07711a7c9f38cdc2c76e40a3c5958"></a><!-- doxytag: member="moeoHypervolumeBinaryMetric::moeoHypervolumeBinaryMetric" ref="01a07711a7c9f38cdc2c76e40a3c5958" args="(double _rho=1.1)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ObjectiveVector&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmoeoHypervolumeBinaryMetric.html">moeoHypervolumeBinaryMetric</a>&lt; ObjectiveVector &gt;::<a class="el" href="classmoeoHypervolumeBinaryMetric.html">moeoHypervolumeBinaryMetric</a> </td>
<td>(</td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>_rho</em> = <code>1.1</code> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Ctor.
<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>_rho</em>&nbsp;</td><td>value used to compute the reference point from the worst values for each objective (default : 1.1) </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00167">167</a> of file <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html">moeoNormalizedSolutionVsSolutionBinaryMetric.h</a>.
<p>
References <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00212">moeoHypervolumeBinaryMetric&lt; ObjectiveVector &gt;::rho</a>.
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="c147309a5ba6b365be926e6083c5b9f2"></a><!-- doxytag: member="moeoHypervolumeBinaryMetric::operator()" ref="c147309a5ba6b365be926e6083c5b9f2" args="(const ObjectiveVector &amp;_o1, const ObjectiveVector &amp;_o2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ObjectiveVector&gt; </div>
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classmoeoHypervolumeBinaryMetric.html">moeoHypervolumeBinaryMetric</a>&lt; ObjectiveVector &gt;::operator() </td>
<td>(</td>
<td class="paramtype">const ObjectiveVector &amp;&nbsp;</td>
<td class="paramname"> <em>_o1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ObjectiveVector &amp;&nbsp;</td>
<td class="paramname"> <em>_o2</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>
Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho.
<p>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd>don't forget to set the bounds for every objective before the call of this function </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>_o1</em>&nbsp;</td><td>the first objective vector </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_o2</em>&nbsp;</td><td>the second objective vector </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00193">193</a> of file <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html">moeoNormalizedSolutionVsSolutionBinaryMetric.h</a>.
<p>
References <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00225">moeoHypervolumeBinaryMetric&lt; ObjectiveVector &gt;::hypervolume()</a>, and <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00216">moeoHypervolumeBinaryMetric&lt; ObjectiveVector &gt;::paretoComparator</a>.
</div>
</div><p>
<a class="anchor" name="f8253e7b209fe5d985c389c9dc4dce34"></a><!-- doxytag: member="moeoHypervolumeBinaryMetric::hypervolume" ref="f8253e7b209fe5d985c389c9dc4dce34" args="(const ObjectiveVector &amp;_o1, const ObjectiveVector &amp;_o2, const unsigned _obj, const bool _flag=false)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ObjectiveVector&gt; </div>
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classmoeoHypervolumeBinaryMetric.html">moeoHypervolumeBinaryMetric</a>&lt; ObjectiveVector &gt;::hypervolume </td>
<td>(</td>
<td class="paramtype">const ObjectiveVector &amp;&nbsp;</td>
<td class="paramname"> <em>_o1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ObjectiveVector &amp;&nbsp;</td>
<td class="paramname"> <em>_o2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned&nbsp;</td>
<td class="paramname"> <em>_obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&nbsp;</td>
<td class="paramname"> <em>_flag</em> = <code>false</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [inline, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns the volume of the space that is dominated by _o2 but not by _o1 with respect to a reference point computed using rho for the objective _obj.
<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>_o1</em>&nbsp;</td><td>the first objective vector </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_o2</em>&nbsp;</td><td>the second objective vector </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_obj</em>&nbsp;</td><td>the objective index </td></tr>
<tr><td valign="top"></td><td valign="top"><em>_flag</em>&nbsp;</td><td>used for iteration, if _flag=true _o2 is not talen into account (default : false) </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00225">225</a> of file <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html">moeoNormalizedSolutionVsSolutionBinaryMetric.h</a>.
<p>
References <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00078">moeoNormalizedSolutionVsSolutionBinaryMetric&lt; ObjectiveVector, double &gt;::bounds</a>, and <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00212">moeoHypervolumeBinaryMetric&lt; ObjectiveVector &gt;::rho</a>.
<p>
Referenced by <a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html#l00193">moeoHypervolumeBinaryMetric&lt; ObjectiveVector &gt;::operator()()</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="moeoNormalizedSolutionVsSolutionBinaryMetric_8h-source.html">moeoNormalizedSolutionVsSolutionBinaryMetric.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Tue Apr 17 16:53:22 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.5.1 </small></address>
</body>
</html>