added ready-to-read doc
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@839 331e1502-861f-0410-8da2-ba01fb791d7f
|
|
@ -0,0 +1,47 @@
|
|||
<!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>CVRP-TW: Class List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>CVRP-TW Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a></td><td class="indexvalue">Information regarding each client in the dataset </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td class="indexvalue">Defines the getoype used to solve the VRP-TW problem </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a></td><td class="indexvalue">Implementation of the classic Edge Crossover from the TSP </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classeo_v_r_p_eval_func.html">eoVRPEvalFunc</a></td><td class="indexvalue">Evaluates an individual of type <a class="el" href="classeo_v_r_p.html">eoVRP</a> </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classeo_v_r_p_generic_crossover.html">eoVRPGenericCrossover</a></td><td class="indexvalue">Implementation of the generic crossover for the VRP-TW by Tavares et al </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td class="indexvalue">Class defining the initializer functor </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a></td><td class="indexvalue">Implementation of variations of the four mutation operators for the VRP-TW defined by Tavares et al </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classeo_v_r_p_one_point_crossover.html">eoVRPOnePointCrossover</a></td><td class="indexvalue">Implementation of the simple One Point Crossover </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classeo_v_r_p_stat.html">eoVRPStat</a></td><td class="indexvalue">Manages the statistics of the VRP problem </td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
<!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>CVRP-TW: Member List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRP Member List</h1>This is the complete list of members for <a class="el" href="classeo_v_r_p.html">eoVRP</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#f093df5d8c56c360c6b13c66c5dd310e">AtomType</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">eoVector< eoMinimizingFitness, int ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#8c7f524cf34787f9ec26ffcc420565c5">className</a>() const </td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">clean</a>()</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">cleanRoutes</a>()</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#2d39a6b7bec940beec40252dda153d10">ContainerType</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">eoVector< eoMinimizingFitness, int ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#fdfd2633515baa85c3fdaf39be6dea5c">decode</a>()</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#e188fadc91b4ee256e144ac86ee80a40">decoded</a>() const </td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#b56c820bff344b4cd7338628a6f8f083">encode</a>(Routes &_routes)</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f3219f2db76a83f25a8096d2afd61d12">EO</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f3219f2db76a83f25a8096d2afd61d12">EO</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#2f0352bfcad393fb2c6713a4e926ff3f">eoVector</a>(unsigned size=0, intvalue=int())</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">eoVector< eoMinimizingFitness, int ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#e423567746a960f2992da4b04b2e8a38">eoVector</a>(const eoVector< OtherFitnessType, int > &_vec)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">eoVector< eoMinimizingFitness, int ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#20e79a2ad5721ce7f2fe4a88f00692de">eoVRP</a>()</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#1733318610dff5f47ac7d1272a4b4fb1">eoVRP</a>(const eoVRP &_orig)</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#2d88f93163bc50fe57a18627e3b776b9">fitness</a>(const Fitness &_fitness)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#0e9eb37c82c311a6498be52c59586395">fitness</a>(performance_type perf)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#eda82638c9dc78d8fbc90d8bae222d1d">fitness</a>(void) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#62f48f97634c80b68b4bdb6e2f408ce6">Fitness</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#2c8bbb894baa564cd8b38b5699321763">fitness_traits</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#04467a534c57168bf92c80f3d4f338de">fitnessReference</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#8a9b70e171f3d4a65421f864f8402543">invalid</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#cbf16cc4258830cebfbd68fec97bfd76">invalidate</a>(void)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#dec1d9ef4915ccd68a3b9594009af678">invalidate_worth</a>(void)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#e4d189ca6349a875ae8d6fd9c7fe2491">length</a>()</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a></td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a></td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#88251d6142042876183fc25bc50fdc64">operator<</a>(const eoVector< eoMinimizingFitness, int > &_eo) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">eoVector< eoMinimizingFitness, int ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#47622fb5583b3ac0a6308c56a2727fdd">EO::operator<</a>(const EO &_eo2) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#34f0c0dddb9ba3f666b374931713fde6">EO::operator<</a>(const EO< Fitness, Traits > &other) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#c0fcb2c17f849bfa61dd5d7ff072e0e4">operator=</a>(const eoVRP &_orig)</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#7860c3d97a5ae50a5bf860f18fda0f02">operator></a>(const EO &_eo2) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#17dba30efbc49c4e9816814fd1328ca5">operator></a>(const EO< Fitness, Traits > &other) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#0f3a1e631c64285c966b416a4234a8ce">performance</a>(performance_type perf)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#91573893b98cc10bfc12ff6948f39ac9">performance</a>(void) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#a3b3914123736b9bcd9066c4c7f0e463">performance_type</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#738f0aa43d8608cc68e41b1d3f8c944d">printAllOn</a>(std::ostream &_os) const </td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#dc4cb13768ef1a2c810d4d298b36707c">printOn</a>(std::ostream &_os) const </td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#ec256ed5b3b15b6d220494015e2aba93">printRoute</a>(std::ostream &_os, unsigned _p) const </td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#2a4c249cc6b15819c48c9210db385dc7">printRoutes</a>(std::ostream &_os) const </td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#fdb87ffaf7ac95988e8896bb896183cc">readFrom</a>(std::istream &_is)</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">routes</a>()</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#d250965da9726a2622b4e3e7d37867b7">storage_type</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#b2e16c8059fd3606e8580bd327542d09">value</a>(const std::vector< int > &_v)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">eoVector< eoMinimizingFitness, int ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#d4d39085735a75340c8dbbfd556f0eef">worth</a>(worth_type worth)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#ab3c3d6204397a472d0b1c0712b3fb1a">worth</a>(void) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#0ce9beaea3bf461264a67d341c66f541">worth_type</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#94d6a24a40dad9d98898466799e75fdf">~EO</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_object.html#e10c6f17bfca09833245227b379dd62a">~eoObject</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_object.html">eoObject</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_persistent.html#3fbc81768adc08cc9a31a15030b114c9">~eoPersistent</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_persistent.html">eoPersistent</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_printable.html#74ffc0d020758b11f640a798d251679e">~eoPrintable</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_printable.html">eoPrintable</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p.html#dedbd3437656d5dacafab6652219c8e2">~eoVRP</a>()</td><td><a class="el" href="classeo_v_r_p.html">eoVRP</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,589 @@
|
|||
<!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>CVRP-TW: eoVRP Class 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRP Class Reference</h1><!-- doxytag: class="eoVRP" --><!-- doxytag: inherits="eoVector< eoMinimizingFitness, int >" -->Defines the getoype used to solve the VRP-TW problem.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>></code>
|
||||
<p>
|
||||
<p>Inheritance diagram for eoVRP:
|
||||
<p><center><img src="classeo_v_r_p.png" usemap="#eoVRP_map" border="0" alt=""></center>
|
||||
<map name="eoVRP_map">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html" alt="eoVector< eoMinimizingFitness, int >" shape="rect" coords="116,168,339,192">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html" alt="EO< F >" shape="rect" coords="116,112,339,136">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_object.html" alt="eoObject" shape="rect" coords="0,56,223,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_persistent.html" alt="eoPersistent" shape="rect" coords="233,56,456,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_printable.html" alt="eoPrintable" shape="rect" coords="233,0,456,24">
|
||||
</map>
|
||||
<a href="classeo_v_r_p-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"><a class="anchor" name="20e79a2ad5721ce7f2fe4a88f00692de"></a><!-- doxytag: member="eoVRP::eoVRP" ref="20e79a2ad5721ce7f2fe4a88f00692de" args="()" -->
|
||||
</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#20e79a2ad5721ce7f2fe4a88f00692de">eoVRP</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor: initializes variables to safe values. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#1733318610dff5f47ac7d1272a4b4fb1">eoVRP</a> (const <a class="el" href="classeo_v_r_p.html">eoVRP</a> &_orig)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy contructor: creates a new individual from a given one. <a href="#1733318610dff5f47ac7d1272a4b4fb1"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dedbd3437656d5dacafab6652219c8e2"></a><!-- doxytag: member="eoVRP::~eoVRP" ref="dedbd3437656d5dacafab6652219c8e2" args="()" -->
|
||||
virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#dedbd3437656d5dacafab6652219c8e2">~eoVRP</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default destructor: nothing to do here. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#c0fcb2c17f849bfa61dd5d7ff072e0e4">operator=</a> (const <a class="el" href="classeo_v_r_p.html">eoVRP</a> &_orig)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs a copy from the invidual passed as argument. <a href="#c0fcb2c17f849bfa61dd5d7ff072e0e4"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#8c7f524cf34787f9ec26ffcc420565c5">className</a> () const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a string containing the name of the class. <a href="#8c7f524cf34787f9ec26ffcc420565c5"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#dc4cb13768ef1a2c810d4d298b36707c">printOn</a> (std::ostream &_os) const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Prints the individual to a given stream. <a href="#dc4cb13768ef1a2c810d4d298b36707c"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#738f0aa43d8608cc68e41b1d3f8c944d">printAllOn</a> (std::ostream &_os) const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Prints a detailed version of the individual (decoding information, unsatisfied contraints, etc. <a href="#738f0aa43d8608cc68e41b1d3f8c944d"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#fdb87ffaf7ac95988e8896bb896183cc">readFrom</a> (std::istream &_is)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Reads an individual from a given stream. <a href="#fdb87ffaf7ac95988e8896bb896183cc"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">const Routes & </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">routes</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a reference to the decoded individual. <a href="#0e000044813b4ebdd822e7e2f8540d8b"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#e4d189ca6349a875ae8d6fd9c7fe2491">length</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the total cost (length) of traveling all the routes. <a href="#e4d189ca6349a875ae8d6fd9c7fe2491"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#2a4c249cc6b15819c48c9210db385dc7">printRoutes</a> (std::ostream &_os) const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Aux. <a href="#2a4c249cc6b15819c48c9210db385dc7"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#ec256ed5b3b15b6d220494015e2aba93">printRoute</a> (std::ostream &_os, unsigned _p) const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Aux. <a href="#ec256ed5b3b15b6d220494015e2aba93"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">clean</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Cleans the individual (the vector of clients and also the decoding information). <a href="#1c53a7a42174c7d40db92da644b25fec"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">cleanRoutes</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Invalidates the decoding information (usually after crossover or mutation). <a href="#66fb699c1d34cac859406ad450be406a"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#e188fadc91b4ee256e144ac86ee80a40">decoded</a> () const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Has this individual been decoded? <a href="#e188fadc91b4ee256e144ac86ee80a40"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#b56c820bff344b4cd7338628a6f8f083">encode</a> (Routes &_routes)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Encodes an individual from a set of routes (usually used within crossover). <a href="#b56c820bff344b4cd7338628a6f8f083"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#fdfd2633515baa85c3fdaf39be6dea5c">decode</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Decodes an individual in a set of routes and calculates its cost (length) of traveling. <a href="#fdfd2633515baa85c3fdaf39be6dea5c"></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="ecbcda9f187d0d842c043544daa33558"></a><!-- doxytag: member="eoVRP::mRoutes" ref="ecbcda9f187d0d842c043544daa33558" args="" -->
|
||||
Routes </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">A set of routes containing the decoding information of the individual. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e8c40e00bd835dd380d26d4a3abf544"></a><!-- doxytag: member="eoVRP::mLength" ref="0e8c40e00bd835dd380d26d4a3abf544" args="" -->
|
||||
double </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Cached cost (length) of traveling the set of routes defined by the individual. <br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Defines the getoype used to solve the VRP-TW problem.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00050">50</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" name="1733318610dff5f47ac7d1272a4b4fb1"></a><!-- doxytag: member="eoVRP::eoVRP" ref="1733318610dff5f47ac7d1272a4b4fb1" args="(const eoVRP &_orig)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">eoVRP::eoVRP </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const <a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_orig</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Copy contructor: creates a new individual from a given one.
|
||||
<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>_orig</em> </td><td>The individual used to create the new one. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00068">68</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00090">operator=()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="c0fcb2c17f849bfa61dd5d7ff072e0e4"></a><!-- doxytag: member="eoVRP::operator=" ref="c0fcb2c17f849bfa61dd5d7ff072e0e4" args="(const eoVRP &_orig)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classeo_v_r_p.html">eoVRP</a>& eoVRP::operator= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const <a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_orig</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Performs a copy from the invidual passed as argument.
|
||||
<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>_orig</em> </td><td>The individual to copy from. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>A reference to this. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00090">90</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00267">clean()</a>, <a class="el" href="eo_v_r_p_8h-source.html#l00451">mLength</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00450">mRoutes</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_8h-source.html#l00068">eoVRP()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="8c7f524cf34787f9ec26ffcc420565c5"></a><!-- doxytag: member="eoVRP::className" ref="8c7f524cf34787f9ec26ffcc420565c5" args="() const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">virtual std::string eoVRP::className </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Returns a string containing the name of the class.
|
||||
<p>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>The string containing the name of the class. </dd></dl>
|
||||
|
||||
<p>
|
||||
Reimplemented from <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#a5c0cc9d8ba6532c0e1c3b8522348551">EO< F ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00117">117</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="dc4cb13768ef1a2c810d4d298b36707c"></a><!-- doxytag: member="eoVRP::printOn" ref="dc4cb13768ef1a2c810d4d298b36707c" args="(std::ostream &_os) const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRP::printOn </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::ostream & </td>
|
||||
<td class="paramname"> <em>_os</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Prints the individual to a given stream.
|
||||
<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>_os</em> </td><td>The stream to print to. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Reimplemented from <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#b678a3e3aafae2df1f05c07d24379e5c">eoVector< eoMinimizingFitness, int ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00129">129</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#b678a3e3aafae2df1f05c07d24379e5c">eoVector< FitT, GeneType >::printOn()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_8h-source.html#l00334">decode()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="738f0aa43d8608cc68e41b1d3f8c944d"></a><!-- doxytag: member="eoVRP::printAllOn" ref="738f0aa43d8608cc68e41b1d3f8c944d" args="(std::ostream &_os) const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRP::printAllOn </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::ostream & </td>
|
||||
<td class="paramname"> <em>_os</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Prints a detailed version of the individual (decoding information, unsatisfied contraints, etc.
|
||||
<p>
|
||||
) to a given stream. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_os</em> </td><td>The stream to print to. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00146">146</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00298">decoded()</a>, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">EO< F >::fitness()</a>, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#b678a3e3aafae2df1f05c07d24379e5c">eoVector< FitT, GeneType >::printOn()</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00217">printRoutes()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="fdb87ffaf7ac95988e8896bb896183cc"></a><!-- doxytag: member="eoVRP::readFrom" ref="fdb87ffaf7ac95988e8896bb896183cc" args="(std::istream &_is)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRP::readFrom </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::istream & </td>
|
||||
<td class="paramname"> <em>_is</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Reads an individual from a given stream.
|
||||
<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>_is</em> </td><td>The stream to read from. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Reimplemented from <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#cccb8de6742e46b976a2de7356fd86d3">eoVector< eoMinimizingFitness, int ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00177">177</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#cccb8de6742e46b976a2de7356fd86d3">eoVector< FitT, GeneType >::readFrom()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="0e000044813b4ebdd822e7e2f8540d8b"></a><!-- doxytag: member="eoVRP::routes" ref="0e000044813b4ebdd822e7e2f8540d8b" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">const Routes& eoVRP::routes </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Returns a reference to the decoded individual.
|
||||
<p>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>A reference to the decoded individual. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00190">190</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00450">mRoutes</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00085">eoVRPGenericCrossover::operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="e4d189ca6349a875ae8d6fd9c7fe2491"></a><!-- doxytag: member="eoVRP::length" ref="e4d189ca6349a875ae8d6fd9c7fe2491" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double eoVRP::length </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Returns the total cost (length) of traveling all the routes.
|
||||
<p>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>The total cost (length) of traveling all the routes. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00205">205</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00451">mLength</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_eval_func_8h-source.html#l00072">eoVRPEvalFunc::operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="2a4c249cc6b15819c48c9210db385dc7"></a><!-- doxytag: member="eoVRP::printRoutes" ref="2a4c249cc6b15819c48c9210db385dc7" args="(std::ostream &_os) const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRP::printRoutes </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::ostream & </td>
|
||||
<td class="paramname"> <em>_os</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Aux.
|
||||
<p>
|
||||
method to print a structure of routes. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_os</em> </td><td>The stream to print to. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00217">217</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00450">mRoutes</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00244">printRoute()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_8h-source.html#l00146">printAllOn()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="ec256ed5b3b15b6d220494015e2aba93"></a><!-- doxytag: member="eoVRP::printRoute" ref="ec256ed5b3b15b6d220494015e2aba93" args="(std::ostream &_os, unsigned _p) const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRP::printRoute </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::ostream & </td>
|
||||
<td class="paramname"> <em>_os</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_p</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"> const<code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Aux.
|
||||
<p>
|
||||
method to print only one route. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_os</em> </td><td>The stream to print to. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_p</em> </td><td>The route to print. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00244">244</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00450">mRoutes</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_8h-source.html#l00217">printRoutes()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="1c53a7a42174c7d40db92da644b25fec"></a><!-- doxytag: member="eoVRP::clean" ref="1c53a7a42174c7d40db92da644b25fec" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRP::clean </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Cleans the individual (the vector of clients and also the decoding information).
|
||||
<p>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the operation finishes correctly. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00267">267</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00451">mLength</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00450">mRoutes</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_8h-source.html#l00313">encode()</a>, <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00272">eoVRPEdgeCrossover::operator()()</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00090">operator=()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="66fb699c1d34cac859406ad450be406a"></a><!-- doxytag: member="eoVRP::cleanRoutes" ref="66fb699c1d34cac859406ad450be406a" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRP::cleanRoutes </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Invalidates the decoding information (usually after crossover or mutation).
|
||||
<p>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the operation finishes correctly. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00283">283</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00451">mLength</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00450">mRoutes</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_8h-source.html#l00334">decode()</a>, <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00191">eoVRPOnePointCrossover::operator()()</a>, and <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00086">eoVRPMutation::operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="e188fadc91b4ee256e144ac86ee80a40"></a><!-- doxytag: member="eoVRP::decoded" ref="e188fadc91b4ee256e144ac86ee80a40" args="() const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRP::decoded </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Has this individual been decoded?
|
||||
<p>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if has decoding information. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00298">298</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00450">mRoutes</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_eval_func_8h-source.html#l00072">eoVRPEvalFunc::operator()()</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00146">printAllOn()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="b56c820bff344b4cd7338628a6f8f083"></a><!-- doxytag: member="eoVRP::encode" ref="b56c820bff344b4cd7338628a6f8f083" args="(Routes &_routes)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRP::encode </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Routes & </td>
|
||||
<td class="paramname"> <em>_routes</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Encodes an individual from a set of routes (usually used within crossover).
|
||||
<p>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the operation finishes correctly. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00313">313</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00267">clean()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00085">eoVRPGenericCrossover::operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="fdfd2633515baa85c3fdaf39be6dea5c"></a><!-- doxytag: member="eoVRP::decode" ref="fdfd2633515baa85c3fdaf39be6dea5c" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double eoVRP::decode </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Decodes an individual in a set of routes and calculates its cost (length) of traveling.
|
||||
<p>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>The cost (length) of traveling the set of routes. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_8h-source.html#l00334">334</a> of file <a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00283">cleanRoutes()</a>, <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">eoVRPUtils::clients</a>, <a class="el" href="eo_v_r_p_utils_8h-source.html#l00157">eoVRPUtils::distance()</a>, <a class="el" href="eo_v_r_p_utils_8h-source.html#l00139">eoVRPUtils::getTimeWindow()</a>, <a class="el" href="eo_v_r_p_8h-source.html#l00451">mLength</a>, <a class="el" href="eo_v_r_p_8h-source.html#l00450">mRoutes</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00129">printOn()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_eval_func_8h-source.html#l00072">eoVRPEvalFunc::operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="eo_v_r_p_8h-source.html">eoVRP.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1,52 @@
|
|||
<!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>CVRP-TW: Member List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPEdgeCrossover Member List</h1>This is the complete list of members for <a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_edge_crossover.html#7917ea1dec6221f71127c6fae9515e68">add_vertex</a>(unsigned _vertex, std::vector< bool > &_visited, std::vector< std::set< unsigned > > &_map, eoVRP &_child)</td><td><a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_edge_crossover.html#8b2a199b70442852f93b2a34a42cf1e4">className</a>() const </td><td><a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_edge_crossover.html#389bd29cab9e12915d0d5c4af80343d7">EdgeCrossover</a>(eoVRP &_genotype1, eoVRP &_genotype2, eoVRP &_child)</td><td><a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#5b9ae9bfcd36ab9cfbc2940039190bdc">eoOp</a>(OpType _type)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#66db208d9e3c9f7920aafa198af07e79">eoOp</a>(const eoOp &_eop)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html#62fbc856096e060fbbed39340a8b4f45">eoQuadOp</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp< eoVRP ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_edge_crossover.html#1cec73fc43837a61b6c97812dd57891b">eoVRPEdgeCrossover</a>()</td><td><a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#fc64069be06fa835846ab2a7114c5374">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF< eoVRP &, eoVRP &, bool ></a></td><td><code> [static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#f58534db7113ec9919ecdb69b661eb60">getType</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_edge_crossover.html#518856969ec708a73e728d36ddf01d1b">operator()</a>(eoVRP &_genotype1, eoVRP &_genotype2)</td><td><a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#04aa988c26acbc7e41e96cae0bd415cc">OpType</a> enum name</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_edge_crossover.html#df9886f80565a966c78fb5a08e12631f">remove_entry</a>(unsigned _vertex, std::vector< std::set< unsigned > > &_map)</td><td><a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#adc459db710dea2a91c47f8b6863b96c">~eoBF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF< eoVRP &, eoVRP &, bool ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#4d42fee3eb192bc52b184cd098f91850">~eoOp</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td><code> [virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,301 @@
|
|||
<!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>CVRP-TW: eoVRPEdgeCrossover Class 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPEdgeCrossover Class Reference</h1><!-- doxytag: class="eoVRPEdgeCrossover" --><!-- doxytag: inherits="eoQuadOp< eoVRP >" -->Implementation of the classic Edge Crossover from the TSP.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>></code>
|
||||
<p>
|
||||
<p>Inheritance diagram for eoVRPEdgeCrossover:
|
||||
<p><center><img src="classeo_v_r_p_edge_crossover.png" usemap="#eoVRPEdgeCrossover_map" border="0" alt=""></center>
|
||||
<map name="eoVRPEdgeCrossover_map">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html" alt="eoQuadOp< eoVRP >" shape="rect" coords="112,112,326,136">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html" alt="eoOp< EOType >" shape="rect" coords="0,56,214,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html" alt="eoBF< eoVRP &, eoVRP &, bool >" shape="rect" coords="224,56,438,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="224,0,438,24">
|
||||
</map>
|
||||
<a href="classeo_v_r_p_edge_crossover-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"><a class="anchor" name="1cec73fc43837a61b6c97812dd57891b"></a><!-- doxytag: member="eoVRPEdgeCrossover::eoVRPEdgeCrossover" ref="1cec73fc43837a61b6c97812dd57891b" args="()" -->
|
||||
</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_edge_crossover.html#1cec73fc43837a61b6c97812dd57891b">eoVRPEdgeCrossover</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Deafult constructor. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_edge_crossover.html#8b2a199b70442852f93b2a34a42cf1e4">className</a> () const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a string containing the name of the class. <a href="#8b2a199b70442852f93b2a34a42cf1e4"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_edge_crossover.html#518856969ec708a73e728d36ddf01d1b">operator()</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype1, <a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype2)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Both parameters are the parents and the (future) children of the crossover. <a href="#518856969ec708a73e728d36ddf01d1b"></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">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_edge_crossover.html#389bd29cab9e12915d0d5c4af80343d7">EdgeCrossover</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype1, <a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype2, <a class="el" href="classeo_v_r_p.html">eoVRP</a> &_child)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Actually performs the edge crossover. <a href="#389bd29cab9e12915d0d5c4af80343d7"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_edge_crossover.html#df9886f80565a966c78fb5a08e12631f">remove_entry</a> (unsigned _vertex, std::vector< std::set< unsigned > > &_map)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a vertex from all his neighbours. <a href="#df9886f80565a966c78fb5a08e12631f"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_edge_crossover.html#7917ea1dec6221f71127c6fae9515e68">add_vertex</a> (unsigned _vertex, std::vector< bool > &_visited, std::vector< std::set< unsigned > > &_map, <a class="el" href="classeo_v_r_p.html">eoVRP</a> &_child)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a vertex to a child and erases it from the list of available vertices. <a href="#7917ea1dec6221f71127c6fae9515e68"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Implementation of the classic Edge Crossover from the TSP.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00240">240</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="8b2a199b70442852f93b2a34a42cf1e4"></a><!-- doxytag: member="eoVRPEdgeCrossover::className" ref="8b2a199b70442852f93b2a34a42cf1e4" args="() const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string eoVRPEdgeCrossover::className </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Returns a string containing the name of the class.
|
||||
<p>
|
||||
Used to display statistics. <dl compact><dt><b>Returns:</b></dt><dd>The string containing the name of the class. </dd></dl>
|
||||
|
||||
<p>
|
||||
Reimplemented from <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html#f36f97dc1f4bfef47af1c1ea48cfdad2">eoQuadOp< eoVRP ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00258">258</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="518856969ec708a73e728d36ddf01d1b"></a><!-- doxytag: member="eoVRPEdgeCrossover::operator()" ref="518856969ec708a73e728d36ddf01d1b" args="(eoVRP &_genotype1, eoVRP &_genotype2)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPEdgeCrossover::operator() </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype1</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype2</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Both parameters are the parents and the (future) children of the crossover.
|
||||
<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>_genotype1</em> </td><td>The first parent. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype2</em> </td><td>The second parent. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if any of the parents was modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Implements <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#a03c40b95210569b826df79a2237a0d0">eoBF< eoVRP &, eoVRP &, bool ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00272">272</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00267">eoVRP::clean()</a>, and <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00301">EdgeCrossover()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="389bd29cab9e12915d0d5c4af80343d7"></a><!-- doxytag: member="eoVRPEdgeCrossover::EdgeCrossover" ref="389bd29cab9e12915d0d5c4af80343d7" args="(eoVRP &_genotype1, eoVRP &_genotype2, eoVRP &_child)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPEdgeCrossover::EdgeCrossover </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype1</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype2</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_child</em></td><td> </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>
|
||||
Actually performs the edge crossover.
|
||||
<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>_genotype1</em> </td><td>First parent. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype2</em> </td><td>Second parent. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_child</em> </td><td>Child. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the second parent was modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00301">301</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00398">add_vertex()</a>, and <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">eoRng::random()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00272">operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="df9886f80565a966c78fb5a08e12631f"></a><!-- doxytag: member="eoVRPEdgeCrossover::remove_entry" ref="df9886f80565a966c78fb5a08e12631f" args="(unsigned _vertex, std::vector< std::set< unsigned > > &_map)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPEdgeCrossover::remove_entry </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_vertex</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">std::vector< std::set< unsigned > > & </td>
|
||||
<td class="paramname"> <em>_map</em></td><td> </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>
|
||||
Removes a vertex from all his neighbours.
|
||||
<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>_vertex</em> </td><td>The vertex being erased. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_map</em> </td><td>The structure containing the neighbourhood relationship. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00380">380</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00398">add_vertex()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="7917ea1dec6221f71127c6fae9515e68"></a><!-- doxytag: member="eoVRPEdgeCrossover::add_vertex" ref="7917ea1dec6221f71127c6fae9515e68" args="(unsigned _vertex, std::vector< bool > &_visited, std::vector< std::set< unsigned > > &_map, eoVRP &_child)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPEdgeCrossover::add_vertex </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_vertex</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">std::vector< bool > & </td>
|
||||
<td class="paramname"> <em>_visited</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">std::vector< std::set< unsigned > > & </td>
|
||||
<td class="paramname"> <em>_map</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_child</em></td><td> </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>
|
||||
Adds a vertex to a child and erases it from the list of available vertices.
|
||||
<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>_vertex</em> </td><td>The vertex being added to the child. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_visited</em> </td><td>The vector of visited vertices. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_map</em> </td><td>The structure containing the neighbourhood relationship. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_child</em> </td><td>The child where we add the vertex. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00398">398</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00380">remove_entry()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00301">EdgeCrossover()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1,45 @@
|
|||
<!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>CVRP-TW: Member List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPEvalFunc Member List</h1>This is the complete list of members for <a class="el" href="classeo_v_r_p_eval_func.html">eoVRPEvalFunc</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html#5f5b8425b18dc822fe07233d1ad080cb">EOFitT</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc< eoVRP ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html#5a93ff2efd034f363aa5da789c081ee8">EOType</a> typedef</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc< eoVRP ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_eval_func.html#9746622fd0ae11ae58261b0711b7918c">eoVRPEvalFunc</a>()</td><td><a class="el" href="classeo_v_r_p_eval_func.html">eoVRPEvalFunc</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#cbcdc56d1ffcab42c6dbd8b449b5f4c8">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a></td><td><code> [static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_eval_func.html#840c1a7d38dbdeb40e283df3be42aa48">operator()</a>(eoVRP &_eo)</td><td><a class="el" href="classeo_v_r_p_eval_func.html">eoVRPEvalFunc</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#786e028409366dc273e19104f17ba68a">eoEvalFunc< eoVRP >::operator()</a>(A1)=0</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a></td><td><code> [pure virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#ed542967512c7a8f2ba6472a0c5c128d">~eoUF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a></td><td><code> [virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
<!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>CVRP-TW: eoVRPEvalFunc Class 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPEvalFunc Class Reference</h1><!-- doxytag: class="eoVRPEvalFunc" --><!-- doxytag: inherits="eoEvalFunc< eoVRP >" -->Evaluates an individual of type <a class="el" href="classeo_v_r_p.html">eoVRP</a>.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="eo_v_r_p_eval_func_8h-source.html">eoVRPEvalFunc.h</a>></code>
|
||||
<p>
|
||||
<p>Inheritance diagram for eoVRPEvalFunc:
|
||||
<p><center><img src="classeo_v_r_p_eval_func.png" usemap="#eoVRPEvalFunc_map" border="0" alt=""></center>
|
||||
<map name="eoVRPEvalFunc_map">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html" alt="eoEvalFunc< eoVRP >" shape="rect" coords="0,112,143,136">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html" alt="eoUF< A1, R >" shape="rect" coords="0,56,143,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="0,0,143,24">
|
||||
</map>
|
||||
<a href="classeo_v_r_p_eval_func-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"><a class="anchor" name="9746622fd0ae11ae58261b0711b7918c"></a><!-- doxytag: member="eoVRPEvalFunc::eoVRPEvalFunc" ref="9746622fd0ae11ae58261b0711b7918c" args="()" -->
|
||||
</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_eval_func.html#9746622fd0ae11ae58261b0711b7918c">eoVRPEvalFunc</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor: nothing to do here. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_eval_func.html#840c1a7d38dbdeb40e283df3be42aa48">operator()</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_eo)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the (penalized) fitness. <a href="#840c1a7d38dbdeb40e283df3be42aa48"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Evaluates an individual of type <a class="el" href="classeo_v_r_p.html">eoVRP</a>.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_eval_func_8h-source.html#l00054">54</a> of file <a class="el" href="eo_v_r_p_eval_func_8h-source.html">eoVRPEvalFunc.h</a>.<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="840c1a7d38dbdeb40e283df3be42aa48"></a><!-- doxytag: member="eoVRPEvalFunc::operator()" ref="840c1a7d38dbdeb40e283df3be42aa48" args="(eoVRP &_eo)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPEvalFunc::operator() </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_eo</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Computes the (penalized) fitness.
|
||||
<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> </td><td>The individual to be evaluated. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_eval_func_8h-source.html#l00072">72</a> of file <a class="el" href="eo_v_r_p_eval_func_8h-source.html">eoVRPEvalFunc.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00334">eoVRP::decode()</a>, <a class="el" href="eo_v_r_p_8h-source.html#l00298">eoVRP::decoded()</a>, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">EO< F >::fitness()</a>, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#8a9b70e171f3d4a65421f864f8402543">EO< F >::invalid()</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00205">eoVRP::length()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="eo_v_r_p_eval_func_8h-source.html">eoVRPEvalFunc.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 764 B |
|
|
@ -0,0 +1,50 @@
|
|||
<!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>CVRP-TW: Member List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPGenericCrossover Member List</h1>This is the complete list of members for <a class="el" href="classeo_v_r_p_generic_crossover.html">eoVRPGenericCrossover</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_generic_crossover.html#7740db73b7151dab52df9d50f5366429">className</a>() const </td><td><a class="el" href="classeo_v_r_p_generic_crossover.html">eoVRPGenericCrossover</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#5b9ae9bfcd36ab9cfbc2940039190bdc">eoOp</a>(OpType _type)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#66db208d9e3c9f7920aafa198af07e79">eoOp</a>(const eoOp &_eop)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html#62fbc856096e060fbbed39340a8b4f45">eoQuadOp</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp< eoVRP ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_generic_crossover.html#63e5fb734c46be62a12f6799e34cebe4">eoVRPGenericCrossover</a>()</td><td><a class="el" href="classeo_v_r_p_generic_crossover.html">eoVRPGenericCrossover</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#fc64069be06fa835846ab2a7114c5374">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF< eoVRP &, eoVRP &, bool ></a></td><td><code> [static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_generic_crossover.html#543ba6869b93a3f9f709045b7e24d74a">GenericCrossover</a>(const Routes &_donor, Routes &_receiver) const </td><td><a class="el" href="classeo_v_r_p_generic_crossover.html">eoVRPGenericCrossover</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#f58534db7113ec9919ecdb69b661eb60">getType</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_generic_crossover.html#d7d3b19562b071bd50dd4d831e447d0c">operator()</a>(eoVRP &_genotype1, eoVRP &_genotype2)</td><td><a class="el" href="classeo_v_r_p_generic_crossover.html">eoVRPGenericCrossover</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#04aa988c26acbc7e41e96cae0bd415cc">OpType</a> enum name</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#adc459db710dea2a91c47f8b6863b96c">~eoBF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF< eoVRP &, eoVRP &, bool ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#4d42fee3eb192bc52b184cd098f91850">~eoOp</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td><code> [virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,190 @@
|
|||
<!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>CVRP-TW: eoVRPGenericCrossover Class 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPGenericCrossover Class Reference</h1><!-- doxytag: class="eoVRPGenericCrossover" --><!-- doxytag: inherits="eoQuadOp< eoVRP >" -->Implementation of the generic crossover for the VRP-TW by Tavares et al.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>></code>
|
||||
<p>
|
||||
<p>Inheritance diagram for eoVRPGenericCrossover:
|
||||
<p><center><img src="classeo_v_r_p_generic_crossover.png" usemap="#eoVRPGenericCrossover_map" border="0" alt=""></center>
|
||||
<map name="eoVRPGenericCrossover_map">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html" alt="eoQuadOp< eoVRP >" shape="rect" coords="112,112,326,136">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html" alt="eoOp< EOType >" shape="rect" coords="0,56,214,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html" alt="eoBF< eoVRP &, eoVRP &, bool >" shape="rect" coords="224,56,438,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="224,0,438,24">
|
||||
</map>
|
||||
<a href="classeo_v_r_p_generic_crossover-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"><a class="anchor" name="63e5fb734c46be62a12f6799e34cebe4"></a><!-- doxytag: member="eoVRPGenericCrossover::eoVRPGenericCrossover" ref="63e5fb734c46be62a12f6799e34cebe4" args="()" -->
|
||||
</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_generic_crossover.html#63e5fb734c46be62a12f6799e34cebe4">eoVRPGenericCrossover</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Deafult constructor. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_generic_crossover.html#7740db73b7151dab52df9d50f5366429">className</a> () const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a string containing the name of the class. <a href="#7740db73b7151dab52df9d50f5366429"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_generic_crossover.html#d7d3b19562b071bd50dd4d831e447d0c">operator()</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype1, <a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype2)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Both parameters are the parents and the (future) children of the crossover. <a href="#d7d3b19562b071bd50dd4d831e447d0c"></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">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_generic_crossover.html#543ba6869b93a3f9f709045b7e24d74a">GenericCrossover</a> (const Routes &_donor, Routes &_receiver) const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Actually performs the generic crossover. <a href="#543ba6869b93a3f9f709045b7e24d74a"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Implementation of the generic crossover for the VRP-TW by Tavares et al.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00053">53</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="7740db73b7151dab52df9d50f5366429"></a><!-- doxytag: member="eoVRPGenericCrossover::className" ref="7740db73b7151dab52df9d50f5366429" args="() const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string eoVRPGenericCrossover::className </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Returns a string containing the name of the class.
|
||||
<p>
|
||||
Used to display statistics. <dl compact><dt><b>Returns:</b></dt><dd>The string containing the name of the class. </dd></dl>
|
||||
|
||||
<p>
|
||||
Reimplemented from <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html#f36f97dc1f4bfef47af1c1ea48cfdad2">eoQuadOp< eoVRP ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00071">71</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="d7d3b19562b071bd50dd4d831e447d0c"></a><!-- doxytag: member="eoVRPGenericCrossover::operator()" ref="d7d3b19562b071bd50dd4d831e447d0c" args="(eoVRP &_genotype1, eoVRP &_genotype2)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPGenericCrossover::operator() </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype1</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype2</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Both parameters are the parents and the (future) children of the crossover.
|
||||
<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>_genotype1</em> </td><td>The first parent. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype2</em> </td><td>The second parent. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if any of the parents was modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Implements <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#a03c40b95210569b826df79a2237a0d0">eoBF< eoVRP &, eoVRP &, bool ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00085">85</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00313">eoVRP::encode()</a>, <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00110">GenericCrossover()</a>, and <a class="el" href="eo_v_r_p_8h-source.html#l00190">eoVRP::routes()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="543ba6869b93a3f9f709045b7e24d74a"></a><!-- doxytag: member="eoVRPGenericCrossover::GenericCrossover" ref="543ba6869b93a3f9f709045b7e24d74a" args="(const Routes &_donor, Routes &_receiver) const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPGenericCrossover::GenericCrossover </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const Routes & </td>
|
||||
<td class="paramname"> <em>_donor</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">Routes & </td>
|
||||
<td class="paramname"> <em>_receiver</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"> const<code> [inline, private]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Actually performs the generic crossover.
|
||||
<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>_donor</em> </td><td>Set of routes from the first parent. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_receiver</em> </td><td>Set of routes from the second parent </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the second parent was modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00110">110</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
<p>
|
||||
References <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">eoRng::random()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00085">operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1,54 @@
|
|||
<!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>CVRP-TW: Member List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPInit Member List</h1>This is the complete list of members for <a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_init.html#93086216ea786dea70f71102614f9884">className</a>(void) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_init.html">eoInit< eoVRP ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#ff7c0bf38bdd70d6f9d561479ec4f48a">createNewRoute</a>(std::vector< int > &_unvisited, int &_unvisitedIdx, bool _seedCheckingOverride, Route &_route)</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#a620d4fa1b930b1fd8b491f1ef5c72fd">eoVRPInit</a>()</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#82f2bb762d8f5da85febd266fb75a29b">evaluateInsertion</a>(Route &_route, unsigned _newClient, int _afterClient, double &_cost)</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#cbcdc56d1ffcab42c6dbd8b449b5f4c8">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a></td><td><code> [static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#af5946da88fb14494cb23dc21d167866">HeuristicInitialization</a>(eoVRP &_gen)</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a></td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">mSeedsUsedCount</a></td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#8bc4f6fb201b09dd882d721d2cfef8ce">operator()</a>(eoVRP &_gen)</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#786e028409366dc273e19104f17ba68a">eoInit< eoVRP >::operator()</a>(A1)=0</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a></td><td><code> [pure virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#008ae39692b67ef0b25aed89075b1d46">RandomInitializationNoCheck</a>(eoVRP &_gen)</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#dd681a23869f69438120ee2d82f85e94">selectBestClientAsSeed</a>(const std::vector< int > &_unvisited, int _unvisitedIdx, bool _seedCheckingOverride)</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#7f07be1f3a027dc56af84bb46828ddda">selectBestInsertion</a>(std::vector< int > &_unvisited, unsigned _unvisitedIdx, Route &_route, unsigned &_nextClient, Route::iterator &_it)</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#0bb48de33e92c2b6a386e28d5b759f4b">selectCheapestClient</a>(const std::vector< int > &_unvisited, int _unvisitedIdx, bool _seedCheckingOverride)</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_init.html#a24867d25a6c9911e9b5c9eb1b4b650d">selectFarthestClientAsSeed</a>(const std::vector< int > &_unvisited, int _unvisitedIdx)</td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#ed542967512c7a8f2ba6472a0c5c128d">~eoUF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a></td><td><code> [virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,521 @@
|
|||
<!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>CVRP-TW: eoVRPInit Class 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPInit Class Reference</h1><!-- doxytag: class="eoVRPInit" --><!-- doxytag: inherits="eoInit< eoVRP >" -->Class defining the initializer functor.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>></code>
|
||||
<p>
|
||||
<p>Inheritance diagram for eoVRPInit:
|
||||
<p><center><img src="classeo_v_r_p_init.png" usemap="#eoVRPInit_map" border="0" alt=""></center>
|
||||
<map name="eoVRPInit_map">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_init.html" alt="eoInit< eoVRP >" shape="rect" coords="0,112,105,136">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html" alt="eoUF< A1, R >" shape="rect" coords="0,56,105,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="0,0,105,24">
|
||||
</map>
|
||||
<a href="classeo_v_r_p_init-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"><a class="anchor" name="a620d4fa1b930b1fd8b491f1ef5c72fd"></a><!-- doxytag: member="eoVRPInit::eoVRPInit" ref="a620d4fa1b930b1fd8b491f1ef5c72fd" args="()" -->
|
||||
</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#a620d4fa1b930b1fd8b491f1ef5c72fd">eoVRPInit</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor: nothing to do here. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#8bc4f6fb201b09dd882d721d2cfef8ce">operator()</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_gen)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Functor member. <a href="#8bc4f6fb201b09dd882d721d2cfef8ce"></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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#af5946da88fb14494cb23dc21d167866">HeuristicInitialization</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_gen)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Heuristic initializer. <a href="#af5946da88fb14494cb23dc21d167866"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#ff7c0bf38bdd70d6f9d561479ec4f48a">createNewRoute</a> (std::vector< int > &_unvisited, int &_unvisitedIdx, bool _seedCheckingOverride, Route &_route)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new route. <a href="#ff7c0bf38bdd70d6f9d561479ec4f48a"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#7f07be1f3a027dc56af84bb46828ddda">selectBestInsertion</a> (std::vector< int > &_unvisited, unsigned _unvisitedIdx, Route &_route, unsigned &_nextClient, Route::iterator &_it)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Selects the best client and the best position for its insertion in a given route. <a href="#7f07be1f3a027dc56af84bb46828ddda"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#82f2bb762d8f5da85febd266fb75a29b">evaluateInsertion</a> (Route &_route, unsigned _newClient, int _afterClient, double &_cost)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluates the feasibility and the cost of inserting a new client in a given subroute. <a href="#82f2bb762d8f5da85febd266fb75a29b"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#a24867d25a6c9911e9b5c9eb1b4b650d">selectFarthestClientAsSeed</a> (const std::vector< int > &_unvisited, int _unvisitedIdx)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Selects the farthest client as seed for a new route. <a href="#a24867d25a6c9911e9b5c9eb1b4b650d"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#0bb48de33e92c2b6a386e28d5b759f4b">selectCheapestClient</a> (const std::vector< int > &_unvisited, int _unvisitedIdx, bool _seedCheckingOverride)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Selects the cheapest client as seed for a new route. <a href="#0bb48de33e92c2b6a386e28d5b759f4b"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#dd681a23869f69438120ee2d82f85e94">selectBestClientAsSeed</a> (const std::vector< int > &_unvisited, int _unvisitedIdx, bool _seedCheckingOverride)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Selects the best (the "hardest" one) client as seed for a new route. <a href="#dd681a23869f69438120ee2d82f85e94"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#008ae39692b67ef0b25aed89075b1d46">RandomInitializationNoCheck</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_gen)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Random initializer. <a href="#008ae39692b67ef0b25aed89075b1d46"></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="b74e164ca817fe5615e9519ec671a356"></a><!-- doxytag: member="eoVRPInit::mSeedsUsedCount" ref="b74e164ca817fe5615e9519ec671a356" args="" -->
|
||||
unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">mSeedsUsedCount</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of clients already used as seeds. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e940cc7eec88f268e8eb72313212947"></a><!-- doxytag: member="eoVRPInit::mSeedsUsed" ref="5e940cc7eec88f268e8eb72313212947" args="" -->
|
||||
std::vector< bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Vector storing if a client has been used as a seed or not. <br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Class defining the initializer functor.
|
||||
<p>
|
||||
This class initializes an individual of the VRP problem using an heuristic initializer.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00065">65</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="8bc4f6fb201b09dd882d721d2cfef8ce"></a><!-- doxytag: member="eoVRPInit::operator()" ref="8bc4f6fb201b09dd882d721d2cfef8ce" args="(eoVRP &_gen)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPInit::operator() </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_gen</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Functor member.
|
||||
<p>
|
||||
Initializes a genotype using an heuristic initializer. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_gen</em> </td><td>Generally a genotype that has been default-constructed. Whatever it contains will be lost. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00099">99</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_init_8h-source.html#l00123">HeuristicInitialization()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="af5946da88fb14494cb23dc21d167866"></a><!-- doxytag: member="eoVRPInit::HeuristicInitialization" ref="af5946da88fb14494cb23dc21d167866" args="(eoVRP &_gen)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPInit::HeuristicInitialization </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_gen</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline, private]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Heuristic initializer.
|
||||
<p>
|
||||
This initializer constructs and individual from routes. Each route is built in a constructive way. The first client of each route is selected trying to maximize a function depending on its time window and how far it is from the depot. We always try to select the hardest clients as seeds. Used seeds are stored so that different seeds are selected for different individuals and thus guarantee the diversity of the initial population. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_gen</em> </td><td>The individual to be initialized. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00123">123</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">eoVRPUtils::clients</a>, <a class="el" href="eo_v_r_p_init_8h-source.html#l00176">createNewRoute()</a>, and <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">EO< F >::invalidate()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_init_8h-source.html#l00099">operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="ff7c0bf38bdd70d6f9d561479ec4f48a"></a><!-- doxytag: member="eoVRPInit::createNewRoute" ref="ff7c0bf38bdd70d6f9d561479ec4f48a" args="(std::vector< int > &_unvisited, int &_unvisitedIdx, bool _seedCheckingOverride, Route &_route)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPInit::createNewRoute </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::vector< int > & </td>
|
||||
<td class="paramname"> <em>_unvisited</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int & </td>
|
||||
<td class="paramname"> <em>_unvisitedIdx</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">bool </td>
|
||||
<td class="paramname"> <em>_seedCheckingOverride</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">Route & </td>
|
||||
<td class="paramname"> <em>_route</em></td><td> </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>
|
||||
Creates a new route.
|
||||
<p>
|
||||
Creates a new route selecting the best (hardest) client as seed and then adding the cheapest clients until one of the constraints (time window or vehicle's capacity) is broken. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_unvisited</em> </td><td>Vector of unvisited and thus available clients for constructing the new route. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_unvisitedIdx</em> </td><td>Position of the last univisted client in _unvisited vector. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_seedCheckingOverride</em> </td><td>If true, it overrides the seed checking mecanism. It must be always false for the first route and then true for the following ones. This way we will preserve diversity in our initial population as every individual will be initialized from a different initial route. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_route</em> </td><td>The brand new route we have constructed. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if everything went ok. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00176">176</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_init_8h-source.html#l00109">mSeedsUsed</a>, <a class="el" href="eo_v_r_p_init_8h-source.html#l00108">mSeedsUsedCount</a>, <a class="el" href="eo_v_r_p_init_8h-source.html#l00532">selectBestClientAsSeed()</a>, and <a class="el" href="eo_v_r_p_init_8h-source.html#l00249">selectBestInsertion()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_init_8h-source.html#l00123">HeuristicInitialization()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="7f07be1f3a027dc56af84bb46828ddda"></a><!-- doxytag: member="eoVRPInit::selectBestInsertion" ref="7f07be1f3a027dc56af84bb46828ddda" args="(std::vector< int > &_unvisited, unsigned _unvisitedIdx, Route &_route, unsigned &_nextClient, Route::iterator &_it)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPInit::selectBestInsertion </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::vector< int > & </td>
|
||||
<td class="paramname"> <em>_unvisited</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_unvisitedIdx</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">Route & </td>
|
||||
<td class="paramname"> <em>_route</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">unsigned & </td>
|
||||
<td class="paramname"> <em>_nextClient</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">Route::iterator & </td>
|
||||
<td class="paramname"> <em>_it</em></td><td> </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>
|
||||
Selects the best client and the best position for its insertion in a given route.
|
||||
<p>
|
||||
Given a subroute, this method tries to find the best client and the best position for it among all the univisited clients. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_unvisited</em> </td><td>Vector of unvisited and thus available clients for constructing the new route. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_unvisitedIdx</em> </td><td>Position of the last univisted client in _unvisited vector. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_route</em> </td><td>The route where we are trying to insert a new client. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_nextClient</em> </td><td>A return value. The selected client to be inserted. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_it</em> </td><td>A return value. The position for selected client to be inserted. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if a new insertion is possible. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00249">249</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_init_8h-source.html#l00308">evaluateInsertion()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_init_8h-source.html#l00176">createNewRoute()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="82f2bb762d8f5da85febd266fb75a29b"></a><!-- doxytag: member="eoVRPInit::evaluateInsertion" ref="82f2bb762d8f5da85febd266fb75a29b" args="(Route &_route, unsigned _newClient, int _afterClient, double &_cost)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPInit::evaluateInsertion </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Route & </td>
|
||||
<td class="paramname"> <em>_route</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_newClient</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>_afterClient</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double & </td>
|
||||
<td class="paramname"> <em>_cost</em></td><td> </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>
|
||||
Evaluates the feasibility and the cost of inserting a new client in a given subroute.
|
||||
<p>
|
||||
Given a subroute, this method tries evaluates if it is possible to insert a client in a position. It will return the cost of the resulting route if this insertion is possible. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_route</em> </td><td>The route where we are trying to insert a new client. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_newClient</em> </td><td>The client we are trying to insert. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_afterClient</em> </td><td>The position of insertion. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_cost</em> </td><td>A return value. The cost of inserting the given client at the given position. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the new insertion is possible. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00308">308</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">eoVRPUtils::clients</a>, <a class="el" href="eo_v_r_p_utils_8h-source.html#l00157">eoVRPUtils::distance()</a>, and <a class="el" href="eo_v_r_p_utils_8h-source.html#l00139">eoVRPUtils::getTimeWindow()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_init_8h-source.html#l00249">selectBestInsertion()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="a24867d25a6c9911e9b5c9eb1b4b650d"></a><!-- doxytag: member="eoVRPInit::selectFarthestClientAsSeed" ref="a24867d25a6c9911e9b5c9eb1b4b650d" args="(const std::vector< int > &_unvisited, int _unvisitedIdx)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">unsigned eoVRPInit::selectFarthestClientAsSeed </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const std::vector< int > & </td>
|
||||
<td class="paramname"> <em>_unvisited</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>_unvisitedIdx</em></td><td> </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>
|
||||
Selects the farthest client as seed for a new route.
|
||||
<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>_unvisited</em> </td><td>Vector of unvisited and thus available clients for constructing the new route. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_unvisitedIdx</em> </td><td>Position of the last univisted client in _unvisited vector. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>The position of the client farthest from the depot. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00472">472</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00157">eoVRPUtils::distance()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="0bb48de33e92c2b6a386e28d5b759f4b"></a><!-- doxytag: member="eoVRPInit::selectCheapestClient" ref="0bb48de33e92c2b6a386e28d5b759f4b" args="(const std::vector< int > &_unvisited, int _unvisitedIdx, bool _seedCheckingOverride)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">unsigned eoVRPInit::selectCheapestClient </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const std::vector< int > & </td>
|
||||
<td class="paramname"> <em>_unvisited</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>_unvisitedIdx</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">bool </td>
|
||||
<td class="paramname"> <em>_seedCheckingOverride</em></td><td> </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>
|
||||
Selects the cheapest client as seed for a new route.
|
||||
<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>_unvisited</em> </td><td>Vector of unvisited and thus available clients for constructing the new route. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_unvisitedIdx</em> </td><td>Position of the last univisted client in _unvisited vector. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_seedCheckingOverride</em> </td><td>If true, it overrides the seed checking mecanism. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>The position of the cheapest client. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00498">498</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">eoVRPUtils::clients</a>, <a class="el" href="eo_v_r_p_utils_8h-source.html#l00157">eoVRPUtils::distance()</a>, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#a59557f718b17c2dda8a633f9862aff4">eoRng::flip()</a>, <a class="el" href="eo_v_r_p_init_8h-source.html#l00109">mSeedsUsed</a>, and <a class="el" href="eo_v_r_p_utils_8h-source.html#l00174">eoVRPUtils::polarAngle()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="dd681a23869f69438120ee2d82f85e94"></a><!-- doxytag: member="eoVRPInit::selectBestClientAsSeed" ref="dd681a23869f69438120ee2d82f85e94" args="(const std::vector< int > &_unvisited, int _unvisitedIdx, bool _seedCheckingOverride)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">unsigned eoVRPInit::selectBestClientAsSeed </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const std::vector< int > & </td>
|
||||
<td class="paramname"> <em>_unvisited</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>_unvisitedIdx</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">bool </td>
|
||||
<td class="paramname"> <em>_seedCheckingOverride</em></td><td> </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>
|
||||
Selects the best (the "hardest" one) client as seed for a new route.
|
||||
<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>_unvisited</em> </td><td>Vector of unvisited and thus available clients for constructing the new route. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_unvisitedIdx</em> </td><td>Position of the last univisted client in _unvisited vector. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_seedCheckingOverride</em> </td><td>If true, it overrides the seed checking mecanism. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>The position of the best client. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00532">532</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">eoVRPUtils::clients</a>, <a class="el" href="eo_v_r_p_utils_8h-source.html#l00157">eoVRPUtils::distance()</a>, <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#a59557f718b17c2dda8a633f9862aff4">eoRng::flip()</a>, <a class="el" href="eo_v_r_p_init_8h-source.html#l00109">mSeedsUsed</a>, and <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#50dfb052f11ae50326e552cb223d88e4">eoRng::uniform()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_init_8h-source.html#l00176">createNewRoute()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="008ae39692b67ef0b25aed89075b1d46"></a><!-- doxytag: member="eoVRPInit::RandomInitializationNoCheck" ref="008ae39692b67ef0b25aed89075b1d46" args="(eoVRP &_gen)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPInit::RandomInitializationNoCheck </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_gen</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline, private]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Random initializer.
|
||||
<p>
|
||||
Initializes a genotype using a random initializer. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_gen</em> </td><td>Generally a genotype that has been default-constructed. Whatever it contains will be lost. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_init_8h-source.html#l00569">569</a> of file <a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">eoVRPUtils::clients</a>, and <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">eoRng::random()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="eo_v_r_p_init_8h-source.html">eoVRPInit.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 629 B |
|
|
@ -0,0 +1,53 @@
|
|||
<!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>CVRP-TW: Member List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPMutation Member List</h1>This is the complete list of members for <a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_mutation.html#1c99e21818d6bae1cdd21b4180601d41">className</a>() const </td><td><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_mutation.html#b6b7e818085f6ba03d64f045f32356be">DisplacementMutation</a>(eoVRP &_genotype)</td><td><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html#8dce578ea839d0ea6f2b0e4585b58c86">eoMonOp</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp< eoVRP ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#5b9ae9bfcd36ab9cfbc2940039190bdc">eoOp</a>(OpType _type)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#66db208d9e3c9f7920aafa198af07e79">eoOp</a>(const eoOp &_eop)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_mutation.html#419ac5c738369876de09212a844e67c3">eoVRPMutation</a>()</td><td><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#cbcdc56d1ffcab42c6dbd8b449b5f4c8">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< eoVRP &, bool ></a></td><td><code> [static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#f58534db7113ec9919ecdb69b661eb60">getType</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_mutation.html#6ead0938bb1f8ab34c321916a6dd5b66">insertionMutation</a>(eoVRP &_genotype)</td><td><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_mutation.html#61cc39a190e9d070b005a7afb5e38d2a">inversionMutation</a>(eoVRP &_genotype)</td><td><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_mutation.html#f9fabdc8497f463add309fdace102813">operator()</a>(eoVRP &_genotype)</td><td><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#04aa988c26acbc7e41e96cae0bd415cc">OpType</a> enum name</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_mutation.html#bef9736583de0b7f6e734b26483ab69d">swapMutation</a>(eoVRP &_genotype)</td><td><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a></td><td><code> [inline, private]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#4d42fee3eb192bc52b184cd098f91850">~eoOp</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#ed542967512c7a8f2ba6472a0c5c128d">~eoUF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< eoVRP &, bool ></a></td><td><code> [virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,283 @@
|
|||
<!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>CVRP-TW: eoVRPMutation Class 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPMutation Class Reference</h1><!-- doxytag: class="eoVRPMutation" --><!-- doxytag: inherits="eoMonOp< eoVRP >" -->Implementation of variations of the four mutation operators for the VRP-TW defined by Tavares et al.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="eo_v_r_p_mutation_8h-source.html">eoVRPMutation.h</a>></code>
|
||||
<p>
|
||||
<p>Inheritance diagram for eoVRPMutation:
|
||||
<p><center><img src="classeo_v_r_p_mutation.png" usemap="#eoVRPMutation_map" border="0" alt=""></center>
|
||||
<map name="eoVRPMutation_map">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html" alt="eoMonOp< eoVRP >" shape="rect" coords="81,112,233,136">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html" alt="eoOp< EOType >" shape="rect" coords="0,56,152,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html" alt="eoUF< eoVRP &, bool >" shape="rect" coords="162,56,314,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="162,0,314,24">
|
||||
</map>
|
||||
<a href="classeo_v_r_p_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"><a class="anchor" name="419ac5c738369876de09212a844e67c3"></a><!-- doxytag: member="eoVRPMutation::eoVRPMutation" ref="419ac5c738369876de09212a844e67c3" args="()" -->
|
||||
</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_mutation.html#419ac5c738369876de09212a844e67c3">eoVRPMutation</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor: nothing to do here. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_mutation.html#1c99e21818d6bae1cdd21b4180601d41">className</a> () const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a string containing the name of the class. <a href="#1c99e21818d6bae1cdd21b4180601d41"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_mutation.html#f9fabdc8497f463add309fdace102813">operator()</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Functor operator. <a href="#f9fabdc8497f463add309fdace102813"></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">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_mutation.html#bef9736583de0b7f6e734b26483ab69d">swapMutation</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">It exhanges the positions of two clients within the individual. <a href="#bef9736583de0b7f6e734b26483ab69d"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_mutation.html#61cc39a190e9d070b005a7afb5e38d2a">inversionMutation</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">It selects two positions in the genotype and inverts the clients between them. <a href="#61cc39a190e9d070b005a7afb5e38d2a"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_mutation.html#6ead0938bb1f8ab34c321916a6dd5b66">insertionMutation</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">It selects and individual, erases it from its original position and inserts it somewhere else. <a href="#6ead0938bb1f8ab34c321916a6dd5b66"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_mutation.html#b6b7e818085f6ba03d64f045f32356be">DisplacementMutation</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">It selects a set of clients, erases them from their original position and inserts them somewhere else. <a href="#b6b7e818085f6ba03d64f045f32356be"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Implementation of variations of the four mutation operators for the VRP-TW defined by Tavares et al.
|
||||
<p>
|
||||
These four operators should be separated in different classes and their probabilities made parameterizable.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00052">52</a> of file <a class="el" href="eo_v_r_p_mutation_8h-source.html">eoVRPMutation.h</a>.<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="1c99e21818d6bae1cdd21b4180601d41"></a><!-- doxytag: member="eoVRPMutation::className" ref="1c99e21818d6bae1cdd21b4180601d41" args="() const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string eoVRPMutation::className </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Returns a string containing the name of the class.
|
||||
<p>
|
||||
Used to display statistics. <dl compact><dt><b>Returns:</b></dt><dd>The string containing the name of the class. </dd></dl>
|
||||
|
||||
<p>
|
||||
Reimplemented from <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html#0dc1d253f0bd267f27ba8db63beea7f6">eoMonOp< eoVRP ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00070">70</a> of file <a class="el" href="eo_v_r_p_mutation_8h-source.html">eoVRPMutation.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="f9fabdc8497f463add309fdace102813"></a><!-- doxytag: member="eoVRPMutation::operator()" ref="f9fabdc8497f463add309fdace102813" args="(eoVRP &_genotype)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPMutation::operator() </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Functor operator.
|
||||
<p>
|
||||
Applies one of the four mutation operators available, each of them with a predefined (hard-coded) probability. These operators should be separated in different classes and their probabilities made parameterizable to do it in a more "paradisEO" way. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype</em> </td><td>The genotype being mutated (it will be probably modified). </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the individual has been modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Implements <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#786e028409366dc273e19104f17ba68a">eoUF< eoVRP &, bool ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00086">86</a> of file <a class="el" href="eo_v_r_p_mutation_8h-source.html">eoVRPMutation.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00283">eoVRP::cleanRoutes()</a>, <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00199">DisplacementMutation()</a>, <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00170">insertionMutation()</a>, <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00142">inversionMutation()</a>, <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00119">swapMutation()</a>, and <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#50dfb052f11ae50326e552cb223d88e4">eoRng::uniform()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="bef9736583de0b7f6e734b26483ab69d"></a><!-- doxytag: member="eoVRPMutation::swapMutation" ref="bef9736583de0b7f6e734b26483ab69d" args="(eoVRP &_genotype)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPMutation::swapMutation </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline, private]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
It exhanges the positions of two clients within the individual.
|
||||
<p>
|
||||
Clients may or may not be in the same route. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype</em> </td><td>The genotype being mutated (it will be probably modified). </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the individual has been modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00119">119</a> of file <a class="el" href="eo_v_r_p_mutation_8h-source.html">eoVRPMutation.h</a>.
|
||||
<p>
|
||||
References <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">eoRng::random()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00086">operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="61cc39a190e9d070b005a7afb5e38d2a"></a><!-- doxytag: member="eoVRPMutation::inversionMutation" ref="61cc39a190e9d070b005a7afb5e38d2a" args="(eoVRP &_genotype)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPMutation::inversionMutation </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline, private]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
It selects two positions in the genotype and inverts the clients between them.
|
||||
<p>
|
||||
Clients may or may not be in the same route. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype</em> </td><td>The genotype being mutated (it will be probably modified). </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the individual has been modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00142">142</a> of file <a class="el" href="eo_v_r_p_mutation_8h-source.html">eoVRPMutation.h</a>.
|
||||
<p>
|
||||
References <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">eoRng::random()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00086">operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="6ead0938bb1f8ab34c321916a6dd5b66"></a><!-- doxytag: member="eoVRPMutation::insertionMutation" ref="6ead0938bb1f8ab34c321916a6dd5b66" args="(eoVRP &_genotype)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPMutation::insertionMutation </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline, private]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
It selects and individual, erases it from its original position and inserts it somewhere else.
|
||||
<p>
|
||||
The insertion may or may not be within the same route. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype</em> </td><td>The genotype being mutated (it will be probably modified). </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the individual has been modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00170">170</a> of file <a class="el" href="eo_v_r_p_mutation_8h-source.html">eoVRPMutation.h</a>.
|
||||
<p>
|
||||
References <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">eoRng::random()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00086">operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="b6b7e818085f6ba03d64f045f32356be"></a><!-- doxytag: member="eoVRPMutation::DisplacementMutation" ref="b6b7e818085f6ba03d64f045f32356be" args="(eoVRP &_genotype)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPMutation::DisplacementMutation </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline, private]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
It selects a set of clients, erases them from their original position and inserts them somewhere else.
|
||||
<p>
|
||||
The selected set of clients may cover different routes. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype</em> </td><td>The genotype being mutated (it will be probably modified). </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if the individual has been modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00199">199</a> of file <a class="el" href="eo_v_r_p_mutation_8h-source.html">eoVRPMutation.h</a>.
|
||||
<p>
|
||||
References <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">eoRng::random()</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_mutation_8h-source.html#l00086">operator()()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="eo_v_r_p_mutation_8h-source.html">eoVRPMutation.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
|
|
@ -0,0 +1,49 @@
|
|||
<!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>CVRP-TW: Member List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPOnePointCrossover Member List</h1>This is the complete list of members for <a class="el" href="classeo_v_r_p_one_point_crossover.html">eoVRPOnePointCrossover</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_one_point_crossover.html#a62bc52e6f36d7fae7c192173fbfd2dc">className</a>() const </td><td><a class="el" href="classeo_v_r_p_one_point_crossover.html">eoVRPOnePointCrossover</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#5b9ae9bfcd36ab9cfbc2940039190bdc">eoOp</a>(OpType _type)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#66db208d9e3c9f7920aafa198af07e79">eoOp</a>(const eoOp &_eop)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html#62fbc856096e060fbbed39340a8b4f45">eoQuadOp</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp< eoVRP ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_one_point_crossover.html#24f40efc1adb60947c5d533653bbfbe9">eoVRPOnePointCrossover</a>()</td><td><a class="el" href="classeo_v_r_p_one_point_crossover.html">eoVRPOnePointCrossover</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#fc64069be06fa835846ab2a7114c5374">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF< eoVRP &, eoVRP &, bool ></a></td><td><code> [static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#f58534db7113ec9919ecdb69b661eb60">getType</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_one_point_crossover.html#b930b5d9a8ee0719f675f9eea791579b">operator()</a>(eoVRP &_genotype1, eoVRP &_genotype2)</td><td><a class="el" href="classeo_v_r_p_one_point_crossover.html">eoVRPOnePointCrossover</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#04aa988c26acbc7e41e96cae0bd415cc">OpType</a> enum name</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#adc459db710dea2a91c47f8b6863b96c">~eoBF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF< eoVRP &, eoVRP &, bool ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html#4d42fee3eb192bc52b184cd098f91850">~eoOp</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a></td><td><code> [virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,142 @@
|
|||
<!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>CVRP-TW: eoVRPOnePointCrossover Class 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPOnePointCrossover Class Reference</h1><!-- doxytag: class="eoVRPOnePointCrossover" --><!-- doxytag: inherits="eoQuadOp< eoVRP >" -->Implementation of the simple One Point Crossover.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>></code>
|
||||
<p>
|
||||
<p>Inheritance diagram for eoVRPOnePointCrossover:
|
||||
<p><center><img src="classeo_v_r_p_one_point_crossover.png" usemap="#eoVRPOnePointCrossover_map" border="0" alt=""></center>
|
||||
<map name="eoVRPOnePointCrossover_map">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html" alt="eoQuadOp< eoVRP >" shape="rect" coords="112,112,326,136">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html" alt="eoOp< EOType >" shape="rect" coords="0,56,214,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html" alt="eoBF< eoVRP &, eoVRP &, bool >" shape="rect" coords="224,56,438,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="224,0,438,24">
|
||||
</map>
|
||||
<a href="classeo_v_r_p_one_point_crossover-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"><a class="anchor" name="24f40efc1adb60947c5d533653bbfbe9"></a><!-- doxytag: member="eoVRPOnePointCrossover::eoVRPOnePointCrossover" ref="24f40efc1adb60947c5d533653bbfbe9" args="()" -->
|
||||
</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_one_point_crossover.html#24f40efc1adb60947c5d533653bbfbe9">eoVRPOnePointCrossover</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Deafult constructor. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_one_point_crossover.html#a62bc52e6f36d7fae7c192173fbfd2dc">className</a> () const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a string containing the name of the class. <a href="#a62bc52e6f36d7fae7c192173fbfd2dc"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_one_point_crossover.html#b930b5d9a8ee0719f675f9eea791579b">operator()</a> (<a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype1, <a class="el" href="classeo_v_r_p.html">eoVRP</a> &_genotype2)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs a one point crossover. <a href="#b930b5d9a8ee0719f675f9eea791579b"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Implementation of the simple One Point Crossover.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00159">159</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="a62bc52e6f36d7fae7c192173fbfd2dc"></a><!-- doxytag: member="eoVRPOnePointCrossover::className" ref="a62bc52e6f36d7fae7c192173fbfd2dc" args="() const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::string eoVRPOnePointCrossover::className </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Returns a string containing the name of the class.
|
||||
<p>
|
||||
Used to display statistics. <dl compact><dt><b>Returns:</b></dt><dd>The string containing the name of the class. </dd></dl>
|
||||
|
||||
<p>
|
||||
Reimplemented from <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html#f36f97dc1f4bfef47af1c1ea48cfdad2">eoQuadOp< eoVRP ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00177">177</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="b930b5d9a8ee0719f675f9eea791579b"></a><!-- doxytag: member="eoVRPOnePointCrossover::operator()" ref="b930b5d9a8ee0719f675f9eea791579b" args="(eoVRP &_genotype1, eoVRP &_genotype2)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool eoVRPOnePointCrossover::operator() </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype1</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="classeo_v_r_p.html">eoVRP</a> & </td>
|
||||
<td class="paramname"> <em>_genotype2</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Performs a one point crossover.
|
||||
<p>
|
||||
Both parameters are the parents and the (future) children of the crossover. <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype1</em> </td><td>The first parent. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_genotype2</em> </td><td>The second parent. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>True if any of the parents was modified. False otherwise. </dd></dl>
|
||||
|
||||
<p>
|
||||
Implements <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html#a03c40b95210569b826df79a2237a0d0">eoBF< eoVRP &, eoVRP &, bool ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html#l00191">191</a> of file <a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_8h-source.html#l00283">eoVRP::cleanRoutes()</a>, and <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">eoRng::random()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="eo_v_r_p_quad_crossover_8h-source.html">eoVRPQuadCrossover.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1,71 @@
|
|||
<!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>CVRP-TW: Member List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPStat Member List</h1>This is the complete list of members for <a class="el" href="classeo_v_r_p_stat.html">eoVRPStat</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html#df8932022fc4801d8bf1849caeb8914e">addTo</a>(eoCheckPoint< eoVRP > &cp)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html">eoStat< eoVRP, double ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html#aa5d7f9d16a2f85a5a3024f7bb93d447">addTo</a>(eoMonitor &mon)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html">eoStat< eoVRP, double ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_stat.html#61d9ece1bde19f4cd997c3aba075d8e7">className</a>(void) const </td><td><a class="el" href="classeo_v_r_p_stat.html">eoVRPStat</a></td><td><code> [inline, virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#74dbc0980ce4d690e4d29e09f9473f6c">defValue</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#8d02cfa08b40aaf0167a300df3e04311">defValue</a>(const std::string &str)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#b20f75a47cbb85c51cf7b257039ffa59">description</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#2b3c8c66a3aecfa0f6ed9261fe4bb051">eoParam</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#c0589ae9194870a7378af2ff1558e090">eoParam</a>(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html#2f02bcd24b791d0bb3d5cd5a2ce1fd1b">eoStat</a>(double_value, std::string _description)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html">eoStat< eoVRP, double ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#c7a185901661b28575660fd6ed3f5291">eoValueParam</a>(void)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#8584fe7800ca2a6d8a1bcf80c050ebae">eoValueParam</a>(double_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_stat.html#a326e09d7efebb4c572ea51ae517e058">eoVRPStat</a>(std::string _description="eoVRPStat ")</td><td><a class="el" href="classeo_v_r_p_stat.html">eoVRPStat</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#cbcdc56d1ffcab42c6dbd8b449b5f4c8">functor_category</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a></td><td><code> [static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#1b8b841b8066a22f68521ea4f0e07975">getValue</a>(void) const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#61623400a0a02888584e9a6d500511b3">getValue</a>(void) const</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#70db4c61d85d6cd899f6b91a600bb6dc">getValue</a>(void) const</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#1de0a36465f32e96ab16d5b74e282f03">getValue</a>(void) const</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat_base.html#3541790db3715ab2fe499e3ae677c0eb">lastCall</a>(const eoPop< EOT > &)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat_base.html">eoStatBase< EOT ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#1972068c3770072423d2e2ea14679f0e">longName</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classeo_v_r_p_stat.html#5e773fab9c82e0a06d075af4be265d1e">operator()</a>(const eoPop< eoVRP > &_pop)</td><td><a class="el" href="classeo_v_r_p_stat.html">eoVRPStat</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#786e028409366dc273e19104f17ba68a">eoStat< eoVRP, double >::operator()</a>(A1)=0</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a></td><td><code> [pure virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#e212bce69b9b1843dd6bd917ac7ce09b">repValue</a></td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td><code> [protected]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#494c4a1f43600658c9059eca398d1beb">required</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#8c599143c9017fdcc216e700532904c7">setLongName</a>(std::string _longName)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#1c9646b54a6a798055fb13d7fa0ec3bf">setValue</a>(const std::string &_value)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#77508eabc34cfd9bb13d61b4e74a6768">setValue</a>(const std::string &_value)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#dd1e559669f94542f7c83e0767b6b0eb">setValue</a>(const std::string &_value)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#10d23e671927d761ffd258c65338adec">setValue</a>(const std::string &)</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#cb69bc1d9d5c061c80fc9c08d5955e7d">shortName</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#d0e91aa4f66711e52fca9be470ce21b7">value</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#2f1563cb9e63806c7b90df29e3202509">value</a>() const </td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html#8c8feaced1598f8445a94c22d69dbd31">~eoFunctorBase</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html#945935eee460214f08532f4f89e90959">~eoParam</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html#ed542967512c7a8f2ba6472a0c5c128d">~eoUF</a>()</td><td><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a></td><td><code> [virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,160 @@
|
|||
<!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>CVRP-TW: eoVRPStat Class 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPStat Class Reference</h1><!-- doxytag: class="eoVRPStat" --><!-- doxytag: inherits="eoStat< eoVRP, double >" -->Manages the statistics of the VRP problem.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="eo_v_r_p_stat_8h-source.html">eoVRPStat.h</a>></code>
|
||||
<p>
|
||||
<p>Inheritance diagram for eoVRPStat:
|
||||
<p><center><img src="classeo_v_r_p_stat.png" usemap="#eoVRPStat_map" border="0" alt=""></center>
|
||||
<map name="eoVRPStat_map">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html" alt="eoStat< eoVRP, double >" shape="rect" coords="83,168,240,192">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html" alt="eoValueParam< double >" shape="rect" coords="0,112,157,136">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat_base.html" alt="eoStatBase< EOT >" shape="rect" coords="167,112,324,136">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html" alt="eoParam" shape="rect" coords="0,56,157,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html" alt="eoUF< A1, R >" shape="rect" coords="167,56,324,80">
|
||||
<area doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="167,0,324,24">
|
||||
</map>
|
||||
<a href="classeo_v_r_p_stat-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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_stat.html#a326e09d7efebb4c572ea51ae517e058">eoVRPStat</a> (std::string _description="eoVRPStat ")</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor: initializes variables properly. <a href="#a326e09d7efebb4c572ea51ae517e058"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_stat.html#5e773fab9c82e0a06d075af4be265d1e">operator()</a> (const <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>< <a class="el" href="classeo_v_r_p.html">eoVRP</a> > &_pop)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets statistics from a population. <a href="#5e773fab9c82e0a06d075af4be265d1e"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_v_r_p_stat.html#61d9ece1bde19f4cd997c3aba075d8e7">className</a> (void) const </td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a string containing the name of the class. <a href="#61d9ece1bde19f4cd997c3aba075d8e7"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Manages the statistics of the VRP problem.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_stat_8h-source.html#l00047">47</a> of file <a class="el" href="eo_v_r_p_stat_8h-source.html">eoVRPStat.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" name="a326e09d7efebb4c572ea51ae517e058"></a><!-- doxytag: member="eoVRPStat::eoVRPStat" ref="a326e09d7efebb4c572ea51ae517e058" args="(std::string _description="eoVRPStat ")" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">eoVRPStat::eoVRPStat </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string </td>
|
||||
<td class="paramname"> <em>_description</em> = <code>"eoVRPStat "</code> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Constructor: initializes variables properly.
|
||||
<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>_description</em> </td><td>A string identifying the class. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_stat_8h-source.html#l00056">56</a> of file <a class="el" href="eo_v_r_p_stat_8h-source.html">eoVRPStat.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="5e773fab9c82e0a06d075af4be265d1e"></a><!-- doxytag: member="eoVRPStat::operator()" ref="5e773fab9c82e0a06d075af4be265d1e" args="(const eoPop< eoVRP > &_pop)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPStat::operator() </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop</a>< <a class="el" href="classeo_v_r_p.html">eoVRP</a> > & </td>
|
||||
<td class="paramname"> <em>_pop</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Gets statistics from a population.
|
||||
<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> </td><td>The population that will be analyzed. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_stat_8h-source.html#l00066">66</a> of file <a class="el" href="eo_v_r_p_stat_8h-source.html">eoVRPStat.h</a>.
|
||||
<p>
|
||||
References <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#d0e91aa4f66711e52fca9be470ce21b7">eoValueParam< T >::value()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="61d9ece1bde19f4cd997c3aba075d8e7"></a><!-- doxytag: member="eoVRPStat::className" ref="61d9ece1bde19f4cd997c3aba075d8e7" args="(void) const " -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">virtual std::string eoVRPStat::className </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void </td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"> const<code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Returns a string containing the name of the class.
|
||||
<p>
|
||||
Used to display statistics. <dl compact><dt><b>Returns:</b></dt><dd>The string containing the name of the class. </dd></dl>
|
||||
|
||||
<p>
|
||||
Reimplemented from <a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html#e7139af437a9172d9fbf9a25272e0884">eoStat< eoVRP, double ></a>.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_stat_8h-source.html#l00079">79</a> of file <a class="el" href="eo_v_r_p_stat_8h-source.html">eoVRPStat.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="eo_v_r_p_stat_8h-source.html">eoVRPStat.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -0,0 +1,41 @@
|
|||
<!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>CVRP-TW: Alphabetical List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>CVRP-TW Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_E">E</a></div><p>
|
||||
<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> C </div></td></tr></table>
|
||||
</td><td><a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a> </td><td><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a> </td></tr><tr><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">ClientData</a> (<a class="el" href="namespaceeo_v_r_p_utils.html">eoVRPUtils</a>) </td><td><a class="el" href="classeo_v_r_p_eval_func.html">eoVRPEvalFunc</a> </td><td><a class="el" href="classeo_v_r_p_one_point_crossover.html">eoVRPOnePointCrossover</a> </td></tr><tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> E </div></td></tr></table>
|
||||
</td><td><a class="el" href="classeo_v_r_p_generic_crossover.html">eoVRPGenericCrossover</a> </td><td><a class="el" href="classeo_v_r_p_stat.html">eoVRPStat</a> </td></tr><tr><td><a class="el" href="classeo_v_r_p.html">eoVRP</a> </td><td><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a> </td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_E">E</a></div><p>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,358 @@
|
|||
BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
|
||||
font-family: Geneva, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
BODY,TD {
|
||||
font-size: 90%;
|
||||
}
|
||||
H1 {
|
||||
text-align: center;
|
||||
font-size: 160%;
|
||||
}
|
||||
H2 {
|
||||
font-size: 120%;
|
||||
}
|
||||
H3 {
|
||||
font-size: 100%;
|
||||
}
|
||||
CAPTION { font-weight: bold }
|
||||
DIV.qindex {
|
||||
width: 100%;
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
line-height: 140%;
|
||||
}
|
||||
DIV.nav {
|
||||
width: 100%;
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
line-height: 140%;
|
||||
}
|
||||
DIV.navtab {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
padding: 2px;
|
||||
}
|
||||
TD.navtab {
|
||||
font-size: 70%;
|
||||
}
|
||||
A.qindex {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: #1A419D;
|
||||
}
|
||||
A.qindex:visited {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: #1A419D
|
||||
}
|
||||
A.qindex:hover {
|
||||
text-decoration: none;
|
||||
background-color: #ddddff;
|
||||
}
|
||||
A.qindexHL {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
background-color: #6666cc;
|
||||
color: #ffffff;
|
||||
border: 1px double #9295C2;
|
||||
}
|
||||
A.qindexHL:hover {
|
||||
text-decoration: none;
|
||||
background-color: #6666cc;
|
||||
color: #ffffff;
|
||||
}
|
||||
A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
|
||||
A.el { text-decoration: none; font-weight: bold }
|
||||
A.elRef { font-weight: bold }
|
||||
A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
|
||||
A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
|
||||
A.codeRef:link { font-weight: normal; color: #0000FF}
|
||||
A.codeRef:visited { font-weight: normal; color: #0000FF}
|
||||
A:hover { text-decoration: none; background-color: #f2f2ff }
|
||||
DL.el { margin-left: -1cm }
|
||||
.fragment {
|
||||
font-family: monospace, fixed;
|
||||
font-size: 95%;
|
||||
}
|
||||
PRE.fragment {
|
||||
border: 1px solid #CCCCCC;
|
||||
background-color: #f5f5f5;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px;
|
||||
margin-left: 2px;
|
||||
margin-right: 8px;
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
|
||||
|
||||
DIV.groupHeader {
|
||||
margin-left: 16px;
|
||||
margin-top: 12px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
|
||||
BODY {
|
||||
background: white;
|
||||
color: black;
|
||||
margin-right: 20px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
TD.indexkey {
|
||||
background-color: #e8eef2;
|
||||
font-weight: bold;
|
||||
padding-right : 10px;
|
||||
padding-top : 2px;
|
||||
padding-left : 10px;
|
||||
padding-bottom : 2px;
|
||||
margin-left : 0px;
|
||||
margin-right : 0px;
|
||||
margin-top : 2px;
|
||||
margin-bottom : 2px;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
TD.indexvalue {
|
||||
background-color: #e8eef2;
|
||||
font-style: italic;
|
||||
padding-right : 10px;
|
||||
padding-top : 2px;
|
||||
padding-left : 10px;
|
||||
padding-bottom : 2px;
|
||||
margin-left : 0px;
|
||||
margin-right : 0px;
|
||||
margin-top : 2px;
|
||||
margin-bottom : 2px;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
TR.memlist {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
P.formulaDsp { text-align: center; }
|
||||
IMG.formulaDsp { }
|
||||
IMG.formulaInl { vertical-align: middle; }
|
||||
SPAN.keyword { color: #008000 }
|
||||
SPAN.keywordtype { color: #604020 }
|
||||
SPAN.keywordflow { color: #e08000 }
|
||||
SPAN.comment { color: #800000 }
|
||||
SPAN.preprocessor { color: #806020 }
|
||||
SPAN.stringliteral { color: #002080 }
|
||||
SPAN.charliteral { color: #008080 }
|
||||
.mdescLeft {
|
||||
padding: 0px 8px 4px 8px;
|
||||
font-size: 80%;
|
||||
font-style: italic;
|
||||
background-color: #FAFAFA;
|
||||
border-top: 1px none #E0E0E0;
|
||||
border-right: 1px none #E0E0E0;
|
||||
border-bottom: 1px none #E0E0E0;
|
||||
border-left: 1px none #E0E0E0;
|
||||
margin: 0px;
|
||||
}
|
||||
.mdescRight {
|
||||
padding: 0px 8px 4px 8px;
|
||||
font-size: 80%;
|
||||
font-style: italic;
|
||||
background-color: #FAFAFA;
|
||||
border-top: 1px none #E0E0E0;
|
||||
border-right: 1px none #E0E0E0;
|
||||
border-bottom: 1px none #E0E0E0;
|
||||
border-left: 1px none #E0E0E0;
|
||||
margin: 0px;
|
||||
}
|
||||
.memItemLeft {
|
||||
padding: 1px 0px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: solid;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memItemRight {
|
||||
padding: 1px 8px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: solid;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memTemplItemLeft {
|
||||
padding: 1px 0px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: none;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memTemplItemRight {
|
||||
padding: 1px 8px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: none;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memTemplParams {
|
||||
padding: 1px 0px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: solid;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
color: #606060;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.search { color: #003399;
|
||||
font-weight: bold;
|
||||
}
|
||||
FORM.search {
|
||||
margin-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
INPUT.search { font-size: 75%;
|
||||
color: #000080;
|
||||
font-weight: normal;
|
||||
background-color: #e8eef2;
|
||||
}
|
||||
TD.tiny { font-size: 75%;
|
||||
}
|
||||
a {
|
||||
color: #1A41A8;
|
||||
}
|
||||
a:visited {
|
||||
color: #2A3798;
|
||||
}
|
||||
.dirtab { padding: 4px;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #84b0c7;
|
||||
}
|
||||
TH.dirtab { background: #e8eef2;
|
||||
font-weight: bold;
|
||||
}
|
||||
HR { height: 1px;
|
||||
border: none;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
/* Style for detailed member documentation */
|
||||
.memtemplate {
|
||||
font-size: 80%;
|
||||
color: #606060;
|
||||
font-weight: normal;
|
||||
}
|
||||
.memnav {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
padding: 2px;
|
||||
}
|
||||
.memitem {
|
||||
padding: 4px;
|
||||
background-color: #eef3f5;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #dedeee;
|
||||
-moz-border-radius: 8px 8px 8px 8px;
|
||||
}
|
||||
.memname {
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
}
|
||||
.memdoc{
|
||||
padding-left: 10px;
|
||||
}
|
||||
.memproto {
|
||||
background-color: #d5e1e8;
|
||||
width: 100%;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #84b0c7;
|
||||
font-weight: bold;
|
||||
-moz-border-radius: 8px 8px 8px 8px;
|
||||
}
|
||||
.paramkey {
|
||||
text-align: right;
|
||||
}
|
||||
.paramtype {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.paramname {
|
||||
color: #602020;
|
||||
font-style: italic;
|
||||
}
|
||||
/* End Styling for detailed member documentation */
|
||||
|
||||
/* for the tree view */
|
||||
.ftvtree {
|
||||
font-family: sans-serif;
|
||||
margin:0.5em;
|
||||
}
|
||||
.directory { font-size: 9pt; font-weight: bold; }
|
||||
.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
|
||||
.directory > h3 { margin-top: 0; }
|
||||
.directory p { margin: 0px; white-space: nowrap; }
|
||||
.directory div { display: none; margin: 0px; }
|
||||
.directory img { vertical-align: -30%; }
|
||||
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1,393 @@
|
|||
<!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>CVRP-TW: eoVRP.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="namespaces.html"><span>Namespaces</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>eoVRP.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * (C) OPAC Team, LIFL, 2002-2007</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> *</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * (c) Antonio LaTorre <atorre@fi.upm.es>, 2007</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * This software is governed by the CeCILL license under French law and</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * abiding by the rules of distribution of free software. You can use,</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * modify and/ or redistribute the software under the terms of the CeCILL</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * license as circulated by CEA, CNRS and INRIA at the following URL</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * "http://www.cecill.info".</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * As a counterpart to the access to the source code and rights to copy,</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * modify and redistribute granted by the license, users are provided only</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * with a limited warranty and the software's author, the holder of the</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * economic rights, and the successive licensors have only limited liability.</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> *</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * In this respect, the user's attention is drawn to the risks associated</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * with loading, using, modifying and/or developing or reproducing the</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * software by the user in light of its specific status of free software,</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> * that may mean that it is complicated to manipulate, and that also</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * therefore means that it is reserved for developers and experienced</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> * professionals having in-depth computer knowledge. Users are therefore</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * encouraged to load and test the software's suitability as regards their</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * requirements in conditions enabling the security of their systems and/or</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * data to be ensured and, more generally, to use and operate it in the</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * same conditions as regards security.</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * The fact that you are presently reading this means that you have had</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * knowledge of the CeCILL license and that you accept its terms.</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> *</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> * ParadisEO WebSite : http://paradiseo.gforge.inria.fr</span>
|
||||
<a name="l00032"></a>00032 <span class="comment"> * Contact: paradiseo-help@lists.gforge.inria.fr</span>
|
||||
<a name="l00033"></a>00033 <span class="comment"> *</span>
|
||||
<a name="l00034"></a>00034 <span class="comment"> */</span>
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef _eoVRP_h</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define _eoVRP_h</span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span>
|
||||
<a name="l00039"></a>00039 <span class="comment">// The base definition of eoVector</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor">#include <eoVector.h></span>
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00042"></a>00042 <span class="comment">// Utilities for the VRP-TW problem</span>
|
||||
<a name="l00043"></a>00043 <span class="preprocessor">#include "eoVRPUtils.h"</span>
|
||||
<a name="l00044"></a>00044
|
||||
<a name="l00050"></a><a class="code" href="classeo_v_r_p.html">00050</a> <span class="keyword">class </span><a class="code" href="classeo_v_r_p.html">eoVRP</a>: <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">eoVector</a><eoMinimizingFitness, int> {
|
||||
<a name="l00051"></a>00051
|
||||
<a name="l00052"></a>00052 <span class="keyword">public</span>:
|
||||
<a name="l00053"></a>00053
|
||||
<a name="l00058"></a><a class="code" href="classeo_v_r_p.html#20e79a2ad5721ce7f2fe4a88f00692de">00058</a> <a class="code" href="classeo_v_r_p.html#20e79a2ad5721ce7f2fe4a88f00692de">eoVRP</a> () : <a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a> (0.0) {
|
||||
<a name="l00059"></a>00059
|
||||
<a name="l00060"></a>00060 }
|
||||
<a name="l00061"></a>00061
|
||||
<a name="l00062"></a>00062
|
||||
<a name="l00068"></a><a class="code" href="classeo_v_r_p.html#1733318610dff5f47ac7d1272a4b4fb1">00068</a> <a class="code" href="classeo_v_r_p.html#20e79a2ad5721ce7f2fe4a88f00692de">eoVRP</a> (<span class="keyword">const</span> <a class="code" href="classeo_v_r_p.html">eoVRP</a>& _orig) {
|
||||
<a name="l00069"></a>00069
|
||||
<a name="l00070"></a>00070 <a class="code" href="classeo_v_r_p.html#c0fcb2c17f849bfa61dd5d7ff072e0e4">operator= </a>(_orig);
|
||||
<a name="l00071"></a>00071
|
||||
<a name="l00072"></a>00072 }
|
||||
<a name="l00073"></a>00073
|
||||
<a name="l00074"></a>00074
|
||||
<a name="l00079"></a><a class="code" href="classeo_v_r_p.html#dedbd3437656d5dacafab6652219c8e2">00079</a> <span class="keyword">virtual</span> <a class="code" href="classeo_v_r_p.html#dedbd3437656d5dacafab6652219c8e2">~eoVRP</a> () {
|
||||
<a name="l00080"></a>00080
|
||||
<a name="l00081"></a>00081 }
|
||||
<a name="l00082"></a>00082
|
||||
<a name="l00083"></a>00083
|
||||
<a name="l00090"></a><a class="code" href="classeo_v_r_p.html#c0fcb2c17f849bfa61dd5d7ff072e0e4">00090</a> <a class="code" href="classeo_v_r_p.html">eoVRP</a>& <a class="code" href="classeo_v_r_p.html#c0fcb2c17f849bfa61dd5d7ff072e0e4">operator= </a>(<span class="keyword">const</span> <a class="code" href="classeo_v_r_p.html">eoVRP</a>& _orig) {
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092 <span class="comment">// Sanity check</span>
|
||||
<a name="l00093"></a>00093 <span class="keywordflow">if</span> (&_orig != <span class="keyword">this</span>) {
|
||||
<a name="l00094"></a>00094
|
||||
<a name="l00095"></a>00095 <span class="comment">// Cleans both individual and decoding information</span>
|
||||
<a name="l00096"></a>00096 <a class="code" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">clean</a> ();
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00098"></a>00098 <span class="comment">// We call the assignment operator from the base class</span>
|
||||
<a name="l00099"></a>00099 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">eoVector<eoMinimizingFitness, int>::operator= </a>(_orig);
|
||||
<a name="l00100"></a>00100
|
||||
<a name="l00101"></a>00101 <span class="comment">// And then copy all our attributes</span>
|
||||
<a name="l00102"></a>00102 <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a> = _orig.<a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>;
|
||||
<a name="l00103"></a>00103 <a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a> = _orig.<a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a>;
|
||||
<a name="l00104"></a>00104
|
||||
<a name="l00105"></a>00105 }
|
||||
<a name="l00106"></a>00106
|
||||
<a name="l00107"></a>00107 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
|
||||
<a name="l00108"></a>00108
|
||||
<a name="l00109"></a>00109 }
|
||||
<a name="l00110"></a>00110
|
||||
<a name="l00111"></a>00111
|
||||
<a name="l00117"></a><a class="code" href="classeo_v_r_p.html#8c7f524cf34787f9ec26ffcc420565c5">00117</a> <span class="keyword">virtual</span> std::string <a class="code" href="classeo_v_r_p.html#8c7f524cf34787f9ec26ffcc420565c5">className</a> ()<span class="keyword"> const </span>{
|
||||
<a name="l00118"></a>00118
|
||||
<a name="l00119"></a>00119 <span class="keywordflow">return</span> <span class="stringliteral">"eoVRP"</span>;
|
||||
<a name="l00120"></a>00120
|
||||
<a name="l00121"></a>00121 }
|
||||
<a name="l00122"></a>00122
|
||||
<a name="l00123"></a>00123
|
||||
<a name="l00129"></a><a class="code" href="classeo_v_r_p.html#dc4cb13768ef1a2c810d4d298b36707c">00129</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p.html#dc4cb13768ef1a2c810d4d298b36707c">printOn</a> (std::ostream& _os)<span class="keyword"> const </span>{
|
||||
<a name="l00130"></a>00130
|
||||
<a name="l00131"></a>00131 <span class="comment">// First write the fitness</span>
|
||||
<a name="l00132"></a>00132 _os << std::endl;
|
||||
<a name="l00133"></a>00133
|
||||
<a name="l00134"></a>00134 <span class="comment">// Then the individual itself using the base printing method</span>
|
||||
<a name="l00135"></a>00135 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#b678a3e3aafae2df1f05c07d24379e5c">eoVector<eoMinimizingFitness, int>::printOn</a> (_os);
|
||||
<a name="l00136"></a>00136 _os << std::endl << std::endl;
|
||||
<a name="l00137"></a>00137
|
||||
<a name="l00138"></a>00138 }
|
||||
<a name="l00139"></a>00139
|
||||
<a name="l00140"></a>00140
|
||||
<a name="l00146"></a><a class="code" href="classeo_v_r_p.html#738f0aa43d8608cc68e41b1d3f8c944d">00146</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p.html#738f0aa43d8608cc68e41b1d3f8c944d">printAllOn</a> (std::ostream& _os)<span class="keyword"> const </span>{
|
||||
<a name="l00147"></a>00147
|
||||
<a name="l00148"></a>00148 <span class="comment">// Print the individual itself using the base printing method</span>
|
||||
<a name="l00149"></a>00149 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#b678a3e3aafae2df1f05c07d24379e5c">eoVector<eoMinimizingFitness, int>::printOn</a> (_os);
|
||||
<a name="l00150"></a>00150 _os << std::endl << std::endl;
|
||||
<a name="l00151"></a>00151
|
||||
<a name="l00152"></a>00152 <span class="comment">// Check if we have decoding information to print</span>
|
||||
<a name="l00153"></a>00153 <span class="keywordflow">if</span> (<a class="code" href="classeo_v_r_p.html#e188fadc91b4ee256e144ac86ee80a40">decoded</a> ()) {
|
||||
<a name="l00154"></a>00154
|
||||
<a name="l00155"></a>00155 <span class="comment">// First, we print the decoded routes (stored in mRoutes)</span>
|
||||
<a name="l00156"></a>00156 _os << <span class="stringliteral">" => Routes: "</span> << std::endl << std::endl;
|
||||
<a name="l00157"></a>00157 <a class="code" href="classeo_v_r_p.html#2a4c249cc6b15819c48c9210db385dc7">printRoutes</a> (_os);
|
||||
<a name="l00158"></a>00158 _os << std::endl << std::endl;
|
||||
<a name="l00159"></a>00159
|
||||
<a name="l00160"></a>00160 <span class="keywordflow">if</span> (this->invalid ())
|
||||
<a name="l00161"></a>00161 _os << <span class="stringliteral">" => Fitness: INVALID."</span> << std::endl << std::endl;
|
||||
<a name="l00162"></a>00162 <span class="keywordflow">else</span>
|
||||
<a name="l00163"></a>00163 _os << <span class="stringliteral">" => Fitness: "</span> << this-><a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a> () << std::endl << std::endl;
|
||||
<a name="l00164"></a>00164
|
||||
<a name="l00165"></a>00165 }
|
||||
<a name="l00166"></a>00166 <span class="keywordflow">else</span>
|
||||
<a name="l00167"></a>00167 std::cerr << <span class="stringliteral">"Warning: 'printAllOn' called but the individual was not already decoded."</span> << std::endl;
|
||||
<a name="l00168"></a>00168
|
||||
<a name="l00169"></a>00169 }
|
||||
<a name="l00170"></a>00170
|
||||
<a name="l00171"></a>00171
|
||||
<a name="l00177"></a><a class="code" href="classeo_v_r_p.html#fdb87ffaf7ac95988e8896bb896183cc">00177</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p.html#fdb87ffaf7ac95988e8896bb896183cc">readFrom</a> (std::istream& _is) {
|
||||
<a name="l00178"></a>00178
|
||||
<a name="l00179"></a>00179 <span class="comment">// Read the individual using the method from the base class</span>
|
||||
<a name="l00180"></a>00180 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html#cccb8de6742e46b976a2de7356fd86d3">eoVector<eoMinimizingFitness, int>::readFrom</a> (_is);
|
||||
<a name="l00181"></a>00181
|
||||
<a name="l00182"></a>00182 }
|
||||
<a name="l00183"></a>00183
|
||||
<a name="l00184"></a>00184
|
||||
<a name="l00190"></a><a class="code" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">00190</a> <span class="keyword">const</span> Routes& <a class="code" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">routes</a> () {
|
||||
<a name="l00191"></a>00191
|
||||
<a name="l00192"></a>00192 <span class="keywordflow">if</span> (<a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>.size () == 0)
|
||||
<a name="l00193"></a>00193 std::cerr << <span class="stringliteral">"Warning: This individual has not been already decoded."</span> << std::endl;
|
||||
<a name="l00194"></a>00194
|
||||
<a name="l00195"></a>00195 <span class="keywordflow">return</span> <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>;
|
||||
<a name="l00196"></a>00196
|
||||
<a name="l00197"></a>00197 }
|
||||
<a name="l00198"></a>00198
|
||||
<a name="l00199"></a>00199
|
||||
<a name="l00205"></a><a class="code" href="classeo_v_r_p.html#e4d189ca6349a875ae8d6fd9c7fe2491">00205</a> <span class="keywordtype">double</span> <a class="code" href="classeo_v_r_p.html#e4d189ca6349a875ae8d6fd9c7fe2491">length</a> () {
|
||||
<a name="l00206"></a>00206
|
||||
<a name="l00207"></a>00207 <span class="keywordflow">return</span> <a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a>;
|
||||
<a name="l00208"></a>00208
|
||||
<a name="l00209"></a>00209 }
|
||||
<a name="l00210"></a>00210
|
||||
<a name="l00211"></a>00211
|
||||
<a name="l00217"></a><a class="code" href="classeo_v_r_p.html#2a4c249cc6b15819c48c9210db385dc7">00217</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p.html#2a4c249cc6b15819c48c9210db385dc7">printRoutes</a> (std::ostream& _os)<span class="keyword"> const </span>{
|
||||
<a name="l00218"></a>00218
|
||||
<a name="l00219"></a>00219 _os << <span class="stringliteral">"["</span>;
|
||||
<a name="l00220"></a>00220
|
||||
<a name="l00221"></a>00221 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>.size (); i++) {
|
||||
<a name="l00222"></a>00222
|
||||
<a name="l00223"></a>00223 _os << <span class="stringliteral">"["</span>;
|
||||
<a name="l00224"></a>00224
|
||||
<a name="l00225"></a>00225 <a class="code" href="classeo_v_r_p.html#ec256ed5b3b15b6d220494015e2aba93">printRoute</a> (_os, i);
|
||||
<a name="l00226"></a>00226
|
||||
<a name="l00227"></a>00227 <span class="keywordflow">if</span> (i == <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>.size () - 1)
|
||||
<a name="l00228"></a>00228 _os << <span class="stringliteral">"]"</span>;
|
||||
<a name="l00229"></a>00229 <span class="keywordflow">else</span>
|
||||
<a name="l00230"></a>00230 _os << <span class="stringliteral">"],"</span> << std::endl;
|
||||
<a name="l00231"></a>00231 }
|
||||
<a name="l00232"></a>00232
|
||||
<a name="l00233"></a>00233 _os << <span class="stringliteral">"]"</span>;
|
||||
<a name="l00234"></a>00234
|
||||
<a name="l00235"></a>00235 }
|
||||
<a name="l00236"></a>00236
|
||||
<a name="l00237"></a>00237
|
||||
<a name="l00244"></a><a class="code" href="classeo_v_r_p.html#ec256ed5b3b15b6d220494015e2aba93">00244</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p.html#ec256ed5b3b15b6d220494015e2aba93">printRoute</a> (std::ostream& _os, <span class="keywordtype">unsigned</span> _p)<span class="keyword"> const </span>{
|
||||
<a name="l00245"></a>00245
|
||||
<a name="l00246"></a>00246 _os << <span class="stringliteral">"["</span>;
|
||||
<a name="l00247"></a>00247
|
||||
<a name="l00248"></a>00248 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a> [_p].size (); i++) {
|
||||
<a name="l00249"></a>00249
|
||||
<a name="l00250"></a>00250 _os << <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a> [_p][i];
|
||||
<a name="l00251"></a>00251
|
||||
<a name="l00252"></a>00252 <span class="keywordflow">if</span> (i != <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a> [_p].size () - 1)
|
||||
<a name="l00253"></a>00253 _os << <span class="stringliteral">", "</span>;
|
||||
<a name="l00254"></a>00254
|
||||
<a name="l00255"></a>00255 }
|
||||
<a name="l00256"></a>00256
|
||||
<a name="l00257"></a>00257 _os << <span class="stringliteral">"]"</span>;
|
||||
<a name="l00258"></a>00258
|
||||
<a name="l00259"></a>00259 }
|
||||
<a name="l00260"></a>00260
|
||||
<a name="l00261"></a>00261
|
||||
<a name="l00267"></a><a class="code" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">00267</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">clean</a> () {
|
||||
<a name="l00268"></a>00268
|
||||
<a name="l00269"></a>00269 this->clear ();
|
||||
<a name="l00270"></a>00270 <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>.clear ();
|
||||
<a name="l00271"></a>00271 <a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a> = 0.0;
|
||||
<a name="l00272"></a>00272
|
||||
<a name="l00273"></a>00273 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00274"></a>00274
|
||||
<a name="l00275"></a>00275 }
|
||||
<a name="l00276"></a>00276
|
||||
<a name="l00277"></a>00277
|
||||
<a name="l00283"></a><a class="code" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">00283</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">cleanRoutes</a> () {
|
||||
<a name="l00284"></a>00284
|
||||
<a name="l00285"></a>00285 <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>.clear ();
|
||||
<a name="l00286"></a>00286 <a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a> = 0.0;
|
||||
<a name="l00287"></a>00287
|
||||
<a name="l00288"></a>00288 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00289"></a>00289
|
||||
<a name="l00290"></a>00290 }
|
||||
<a name="l00291"></a>00291
|
||||
<a name="l00292"></a>00292
|
||||
<a name="l00298"></a><a class="code" href="classeo_v_r_p.html#e188fadc91b4ee256e144ac86ee80a40">00298</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p.html#e188fadc91b4ee256e144ac86ee80a40">decoded</a> ()<span class="keyword"> const </span>{
|
||||
<a name="l00299"></a>00299
|
||||
<a name="l00300"></a>00300 <span class="keywordflow">if</span> (<a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>.size () == 0)
|
||||
<a name="l00301"></a>00301 <span class="keywordflow">return</span> <span class="keyword">false</span>;
|
||||
<a name="l00302"></a>00302
|
||||
<a name="l00303"></a>00303 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00304"></a>00304
|
||||
<a name="l00305"></a>00305 }
|
||||
<a name="l00306"></a>00306
|
||||
<a name="l00307"></a>00307
|
||||
<a name="l00313"></a><a class="code" href="classeo_v_r_p.html#b56c820bff344b4cd7338628a6f8f083">00313</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p.html#b56c820bff344b4cd7338628a6f8f083">encode</a> (Routes& _routes) {
|
||||
<a name="l00314"></a>00314
|
||||
<a name="l00315"></a>00315 <a class="code" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">clean</a> ();
|
||||
<a name="l00316"></a>00316
|
||||
<a name="l00317"></a>00317 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < _routes.size (); i++) {
|
||||
<a name="l00318"></a>00318
|
||||
<a name="l00319"></a>00319 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> j = 0; j < _routes [i].size (); j++)
|
||||
<a name="l00320"></a>00320 this->push_back (_routes [i][j]);
|
||||
<a name="l00321"></a>00321
|
||||
<a name="l00322"></a>00322 }
|
||||
<a name="l00323"></a>00323
|
||||
<a name="l00324"></a>00324 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00325"></a>00325
|
||||
<a name="l00326"></a>00326 }
|
||||
<a name="l00327"></a>00327
|
||||
<a name="l00328"></a>00328
|
||||
<a name="l00334"></a><a class="code" href="classeo_v_r_p.html#fdfd2633515baa85c3fdaf39be6dea5c">00334</a> <span class="keywordtype">double</span> <a class="code" href="classeo_v_r_p.html#fdfd2633515baa85c3fdaf39be6dea5c">decode</a> () {
|
||||
<a name="l00335"></a>00335
|
||||
<a name="l00336"></a>00336 <span class="keywordtype">bool</span> routeStart = <span class="keyword">true</span>;
|
||||
<a name="l00337"></a>00337
|
||||
<a name="l00338"></a>00338 <span class="keywordtype">double</span> demand = 0.0, route_len = 0.0, time = 0.0;
|
||||
<a name="l00339"></a>00339 <span class="keywordtype">double</span> readyTime, dueTime, serviceTime;
|
||||
<a name="l00340"></a>00340 <span class="keywordtype">double</span> depotReadyTime, depotDueTime, depotServiceTime;
|
||||
<a name="l00341"></a>00341
|
||||
<a name="l00342"></a>00342 <a class="code" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">cleanRoutes</a> ();
|
||||
<a name="l00343"></a>00343
|
||||
<a name="l00344"></a>00344 Route route;
|
||||
<a name="l00345"></a>00345
|
||||
<a name="l00346"></a>00346 <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils::getTimeWindow</a> (0, depotReadyTime, depotDueTime, depotServiceTime);
|
||||
<a name="l00347"></a>00347
|
||||
<a name="l00348"></a>00348 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < this->size (); i++) {
|
||||
<a name="l00349"></a>00349
|
||||
<a name="l00350"></a>00350 <span class="keywordflow">if</span> (routeStart) {
|
||||
<a name="l00351"></a>00351
|
||||
<a name="l00352"></a>00352 demand = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a> [this->operator[] (i)].demand;
|
||||
<a name="l00353"></a>00353 route_len = <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (0, this->operator[] (i));
|
||||
<a name="l00354"></a>00354 time = <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (0, this->operator[] (i));
|
||||
<a name="l00355"></a>00355
|
||||
<a name="l00356"></a>00356 <span class="comment">// The capacity of the vehicle must NEVER be exceeded by the first client</span>
|
||||
<a name="l00357"></a>00357 <span class="comment">// (it would be an instance impossible to solve in that case)</span>
|
||||
<a name="l00358"></a>00358 <span class="keywordflow">if</span> (demand > VEHICLE_CAPACITY) {
|
||||
<a name="l00359"></a>00359
|
||||
<a name="l00360"></a>00360 std::cerr << <span class="stringliteral">"This should never happen: "</span> << std::endl;
|
||||
<a name="l00361"></a>00361 abort ();
|
||||
<a name="l00362"></a>00362
|
||||
<a name="l00363"></a>00363 }
|
||||
<a name="l00364"></a>00364
|
||||
<a name="l00365"></a>00365 <span class="comment">// Check that its TW is not exceeded</span>
|
||||
<a name="l00366"></a>00366 <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils::getTimeWindow</a> (this->operator[] (i), readyTime, dueTime, serviceTime);
|
||||
<a name="l00367"></a>00367
|
||||
<a name="l00368"></a>00368 <span class="comment">// Same thing as with capacity and first client, but now with the TW</span>
|
||||
<a name="l00369"></a>00369 <span class="keywordflow">if</span> (time > dueTime) {
|
||||
<a name="l00370"></a>00370
|
||||
<a name="l00371"></a>00371 std::cerr << <span class="stringliteral">"This should never happen: "</span> << std::endl;
|
||||
<a name="l00372"></a>00372 abort ();
|
||||
<a name="l00373"></a>00373
|
||||
<a name="l00374"></a>00374 }
|
||||
<a name="l00375"></a>00375 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (time < readyTime)
|
||||
<a name="l00376"></a>00376 time = readyTime;
|
||||
<a name="l00377"></a>00377
|
||||
<a name="l00378"></a>00378 time += serviceTime;
|
||||
<a name="l00379"></a>00379
|
||||
<a name="l00380"></a>00380 route.push_back (this->operator[] (i));
|
||||
<a name="l00381"></a>00381
|
||||
<a name="l00382"></a>00382 routeStart = <span class="keyword">false</span>;
|
||||
<a name="l00383"></a>00383
|
||||
<a name="l00384"></a>00384 }
|
||||
<a name="l00385"></a>00385 <span class="keywordflow">else</span> {
|
||||
<a name="l00386"></a>00386
|
||||
<a name="l00387"></a>00387 time += <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (this->operator[] (i - 1), this->operator[] (i));
|
||||
<a name="l00388"></a>00388
|
||||
<a name="l00389"></a>00389 <span class="comment">// Check that its TW is not exceeded</span>
|
||||
<a name="l00390"></a>00390 <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils::getTimeWindow</a> (this->operator[] (i), readyTime, dueTime, serviceTime);
|
||||
<a name="l00391"></a>00391
|
||||
<a name="l00392"></a>00392 <span class="keywordflow">if</span> ((time > dueTime) || (time + serviceTime + <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (this->operator[] (i), 0) > depotDueTime) ||
|
||||
<a name="l00393"></a>00393 (demand + <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a> [this->operator[] (i)].demand > VEHICLE_CAPACITY) ) {
|
||||
<a name="l00394"></a>00394
|
||||
<a name="l00395"></a>00395 route_len += <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (this->operator[] (i - 1), 0);
|
||||
<a name="l00396"></a>00396
|
||||
<a name="l00397"></a>00397 <a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a> += route_len;
|
||||
<a name="l00398"></a>00398
|
||||
<a name="l00399"></a>00399 i--;
|
||||
<a name="l00400"></a>00400 routeStart = <span class="keyword">true</span>;
|
||||
<a name="l00401"></a>00401
|
||||
<a name="l00402"></a>00402 <span class="comment">// A route should contain, at least, one client. This should never happen, anyway...</span>
|
||||
<a name="l00403"></a>00403 <span class="keywordflow">if</span> (route.size () == 0) {
|
||||
<a name="l00404"></a>00404
|
||||
<a name="l00405"></a>00405 std::cerr << <span class="stringliteral">"Error: empty route detected while decoding. The wrong genome follows..."</span> << std::endl;
|
||||
<a name="l00406"></a>00406 this-><a class="code" href="classeo_v_r_p.html#dc4cb13768ef1a2c810d4d298b36707c">printOn</a> (std::cerr);
|
||||
<a name="l00407"></a>00407 abort ();
|
||||
<a name="l00408"></a>00408
|
||||
<a name="l00409"></a>00409 }
|
||||
<a name="l00410"></a>00410
|
||||
<a name="l00411"></a>00411 <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>.push_back (route);
|
||||
<a name="l00412"></a>00412 route.clear ();
|
||||
<a name="l00413"></a>00413
|
||||
<a name="l00414"></a>00414 }
|
||||
<a name="l00415"></a>00415 <span class="keywordflow">else</span> {
|
||||
<a name="l00416"></a>00416
|
||||
<a name="l00417"></a>00417 <span class="keywordflow">if</span> (time < readyTime)
|
||||
<a name="l00418"></a>00418 time = readyTime;
|
||||
<a name="l00419"></a>00419
|
||||
<a name="l00420"></a>00420 time += serviceTime;
|
||||
<a name="l00421"></a>00421
|
||||
<a name="l00422"></a>00422 route_len += <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (this->operator[] (i - 1), this->operator[] (i));
|
||||
<a name="l00423"></a>00423 demand += <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a> [this->operator[] (i)].demand;
|
||||
<a name="l00424"></a>00424
|
||||
<a name="l00425"></a>00425 route.push_back (this->operator[] (i));
|
||||
<a name="l00426"></a>00426
|
||||
<a name="l00427"></a>00427 }
|
||||
<a name="l00428"></a>00428
|
||||
<a name="l00429"></a>00429 }
|
||||
<a name="l00430"></a>00430
|
||||
<a name="l00431"></a>00431 }
|
||||
<a name="l00432"></a>00432
|
||||
<a name="l00433"></a>00433 <span class="keywordflow">if</span> (route.size () > 0) {
|
||||
<a name="l00434"></a>00434
|
||||
<a name="l00435"></a>00435 route_len += <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (route [route.size () - 1], 0);
|
||||
<a name="l00436"></a>00436
|
||||
<a name="l00437"></a>00437 <a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a> += route_len;
|
||||
<a name="l00438"></a>00438 <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>.push_back (route);
|
||||
<a name="l00439"></a>00439 route.clear ();
|
||||
<a name="l00440"></a>00440
|
||||
<a name="l00441"></a>00441 }
|
||||
<a name="l00442"></a>00442
|
||||
<a name="l00443"></a>00443 <span class="keywordflow">return</span> <a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a>;
|
||||
<a name="l00444"></a>00444
|
||||
<a name="l00445"></a>00445 }
|
||||
<a name="l00446"></a>00446
|
||||
<a name="l00447"></a>00447
|
||||
<a name="l00448"></a>00448 <span class="keyword">private</span>:
|
||||
<a name="l00449"></a>00449
|
||||
<a name="l00450"></a><a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">00450</a> Routes <a class="code" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">mRoutes</a>;
|
||||
<a name="l00451"></a><a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">00451</a> <span class="keywordtype">double</span> <a class="code" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">mLength</a>;
|
||||
<a name="l00453"></a>00453 };
|
||||
<a name="l00454"></a>00454
|
||||
<a name="l00455"></a>00455 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
<!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>CVRP-TW: eoVRPEvalFunc.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="namespaces.html"><span>Namespaces</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>eoVRPEvalFunc.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * (C) OPAC Team, LIFL, 2002-2007</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> *</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * (c) Antonio LaTorre <atorre@fi.upm.es>, 2007</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * This software is governed by the CeCILL license under French law and</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * abiding by the rules of distribution of free software. You can use,</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * modify and/ or redistribute the software under the terms of the CeCILL</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * license as circulated by CEA, CNRS and INRIA at the following URL</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * "http://www.cecill.info".</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * As a counterpart to the access to the source code and rights to copy,</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * modify and redistribute granted by the license, users are provided only</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * with a limited warranty and the software's author, the holder of the</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * economic rights, and the successive licensors have only limited liability.</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> *</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * In this respect, the user's attention is drawn to the risks associated</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * with loading, using, modifying and/or developing or reproducing the</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * software by the user in light of its specific status of free software,</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> * that may mean that it is complicated to manipulate, and that also</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * therefore means that it is reserved for developers and experienced</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> * professionals having in-depth computer knowledge. Users are therefore</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * encouraged to load and test the software's suitability as regards their</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * requirements in conditions enabling the security of their systems and/or</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * data to be ensured and, more generally, to use and operate it in the</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * same conditions as regards security.</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * The fact that you are presently reading this means that you have had</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * knowledge of the CeCILL license and that you accept its terms.</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> *</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> * ParadisEO WebSite : http://paradiseo.gforge.inria.fr</span>
|
||||
<a name="l00032"></a>00032 <span class="comment"> * Contact: paradiseo-help@lists.gforge.inria.fr</span>
|
||||
<a name="l00033"></a>00033 <span class="comment"> *</span>
|
||||
<a name="l00034"></a>00034 <span class="comment"> */</span>
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef _eoVRPEvalFunc_h</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define _eoVRPEvalFunc_h</span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span>
|
||||
<a name="l00039"></a>00039 <span class="comment">// General includes</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor">#include <stdexcept></span>
|
||||
<a name="l00041"></a>00041 <span class="preprocessor">#include <fstream></span>
|
||||
<a name="l00042"></a>00042
|
||||
<a name="l00043"></a>00043 <span class="comment">// The base definition of eoEvalFunc</span>
|
||||
<a name="l00044"></a>00044 <span class="preprocessor">#include "eoEvalFunc.h"</span>
|
||||
<a name="l00045"></a>00045
|
||||
<a name="l00046"></a>00046 <span class="comment">// Utilities for the VRP-TW problem</span>
|
||||
<a name="l00047"></a>00047 <span class="preprocessor">#include "eoVRPUtils.h"</span>
|
||||
<a name="l00048"></a>00048
|
||||
<a name="l00054"></a><a class="code" href="classeo_v_r_p_eval_func.html">00054</a> <span class="keyword">class </span><a class="code" href="classeo_v_r_p_eval_func.html">eoVRPEvalFunc</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc</a><eoVRP> {
|
||||
<a name="l00055"></a>00055
|
||||
<a name="l00056"></a>00056 <span class="keyword">public</span>:
|
||||
<a name="l00057"></a>00057
|
||||
<a name="l00062"></a><a class="code" href="classeo_v_r_p_eval_func.html#9746622fd0ae11ae58261b0711b7918c">00062</a> <a class="code" href="classeo_v_r_p_eval_func.html#9746622fd0ae11ae58261b0711b7918c">eoVRPEvalFunc</a> () {
|
||||
<a name="l00063"></a>00063
|
||||
<a name="l00064"></a>00064 }
|
||||
<a name="l00065"></a>00065
|
||||
<a name="l00066"></a>00066
|
||||
<a name="l00072"></a><a class="code" href="classeo_v_r_p_eval_func.html#840c1a7d38dbdeb40e283df3be42aa48">00072</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p_eval_func.html#840c1a7d38dbdeb40e283df3be42aa48">operator () </a>(<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _eo) {
|
||||
<a name="l00073"></a>00073
|
||||
<a name="l00074"></a>00074 <span class="keywordtype">double</span> fit = 0.0;
|
||||
<a name="l00075"></a>00075
|
||||
<a name="l00076"></a>00076 <span class="keywordflow">if</span> (_eo.<a class="code" href="classeo_v_r_p.html#e188fadc91b4ee256e144ac86ee80a40">decoded</a> ()) {
|
||||
<a name="l00077"></a>00077
|
||||
<a name="l00078"></a>00078 <span class="keywordflow">if</span> (_eo.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#8a9b70e171f3d4a65421f864f8402543">invalid</a> ()) {
|
||||
<a name="l00079"></a>00079
|
||||
<a name="l00080"></a>00080 std::cerr << <span class="stringliteral">"Warning: invalid individual presents decoding information."</span> << std::endl;
|
||||
<a name="l00081"></a>00081 fit = _eo.<a class="code" href="classeo_v_r_p.html#fdfd2633515baa85c3fdaf39be6dea5c">decode</a> ();
|
||||
<a name="l00082"></a>00082
|
||||
<a name="l00083"></a>00083 }
|
||||
<a name="l00084"></a>00084 <span class="keywordflow">else</span>
|
||||
<a name="l00085"></a>00085 fit = _eo.<a class="code" href="classeo_v_r_p.html#e4d189ca6349a875ae8d6fd9c7fe2491">length</a> ();
|
||||
<a name="l00086"></a>00086
|
||||
<a name="l00087"></a>00087 }
|
||||
<a name="l00088"></a>00088 <span class="keywordflow">else</span> {
|
||||
<a name="l00089"></a>00089
|
||||
<a name="l00090"></a>00090 <span class="keywordflow">if</span> (!_eo.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#8a9b70e171f3d4a65421f864f8402543">invalid</a> ()) {
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092 std::cerr << <span class="stringliteral">"Warning: valid individual does not present decoding information."</span> << std::endl;
|
||||
<a name="l00093"></a>00093 std::cerr << <span class="stringliteral">" Proceeding to decode..."</span> << std::endl;
|
||||
<a name="l00094"></a>00094
|
||||
<a name="l00095"></a>00095 }
|
||||
<a name="l00096"></a>00096
|
||||
<a name="l00097"></a>00097 fit = _eo.<a class="code" href="classeo_v_r_p.html#fdfd2633515baa85c3fdaf39be6dea5c">decode</a> ();
|
||||
<a name="l00098"></a>00098
|
||||
<a name="l00099"></a>00099 }
|
||||
<a name="l00100"></a>00100
|
||||
<a name="l00101"></a>00101 _eo.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#57d5610c9296eb927816a2f06bd00a08">fitness</a> (fit);
|
||||
<a name="l00102"></a>00102
|
||||
<a name="l00103"></a>00103 }
|
||||
<a name="l00104"></a>00104
|
||||
<a name="l00105"></a>00105
|
||||
<a name="l00106"></a>00106 <span class="keyword">private</span>:
|
||||
<a name="l00107"></a>00107
|
||||
<a name="l00108"></a>00108
|
||||
<a name="l00109"></a>00109 };
|
||||
<a name="l00110"></a>00110
|
||||
<a name="l00111"></a>00111 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,527 @@
|
|||
<!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>CVRP-TW: eoVRPInit.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="namespaces.html"><span>Namespaces</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>eoVRPInit.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * (C) OPAC Team, LIFL, 2002-2007</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> *</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * (c) Antonio LaTorre <atorre@fi.upm.es>, 2007</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * This software is governed by the CeCILL license under French law and</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * abiding by the rules of distribution of free software. You can use,</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * modify and/ or redistribute the software under the terms of the CeCILL</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * license as circulated by CEA, CNRS and INRIA at the following URL</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * "http://www.cecill.info".</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * As a counterpart to the access to the source code and rights to copy,</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * modify and redistribute granted by the license, users are provided only</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * with a limited warranty and the software's author, the holder of the</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * economic rights, and the successive licensors have only limited liability.</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> *</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * In this respect, the user's attention is drawn to the risks associated</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * with loading, using, modifying and/or developing or reproducing the</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * software by the user in light of its specific status of free software,</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> * that may mean that it is complicated to manipulate, and that also</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * therefore means that it is reserved for developers and experienced</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> * professionals having in-depth computer knowledge. Users are therefore</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * encouraged to load and test the software's suitability as regards their</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * requirements in conditions enabling the security of their systems and/or</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * data to be ensured and, more generally, to use and operate it in the</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * same conditions as regards security.</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * The fact that you are presently reading this means that you have had</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * knowledge of the CeCILL license and that you accept its terms.</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> *</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> * ParadisEO WebSite : http://paradiseo.gforge.inria.fr</span>
|
||||
<a name="l00032"></a>00032 <span class="comment"> * Contact: paradiseo-help@lists.gforge.inria.fr</span>
|
||||
<a name="l00033"></a>00033 <span class="comment"> *</span>
|
||||
<a name="l00034"></a>00034 <span class="comment"> */</span>
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef _eoVRPInit_h</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define _eoVRPInit_h</span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span>
|
||||
<a name="l00039"></a>00039 <span class="comment">// The base definition of eoInit</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor">#include <eoInit.h></span>
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00042"></a>00042 <span class="comment">// Utilities for the VRP-TW problem</span>
|
||||
<a name="l00043"></a>00043 <span class="preprocessor">#include "eoVRPUtils.h"</span>
|
||||
<a name="l00044"></a>00044
|
||||
<a name="l00054"></a>00054 <span class="preprocessor">#define ALFA 0.7</span>
|
||||
<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#define BETA 0.1</span>
|
||||
<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#define GAMMA 0.2</span>
|
||||
<a name="l00057"></a>00057 <span class="preprocessor"></span>
|
||||
<a name="l00065"></a><a class="code" href="classeo_v_r_p_init.html">00065</a> <span class="keyword">class </span><a class="code" href="classeo_v_r_p_init.html">eoVRPInit</a>: <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_init.html">eoInit</a> <eoVRP> {
|
||||
<a name="l00066"></a>00066
|
||||
<a name="l00067"></a>00067 <span class="keyword">public</span>:
|
||||
<a name="l00068"></a>00068
|
||||
<a name="l00073"></a><a class="code" href="classeo_v_r_p_init.html#a620d4fa1b930b1fd8b491f1ef5c72fd">00073</a> <a class="code" href="classeo_v_r_p_init.html#a620d4fa1b930b1fd8b491f1ef5c72fd">eoVRPInit</a> () {
|
||||
<a name="l00074"></a>00074
|
||||
<a name="l00075"></a>00075 <span class="keywordtype">unsigned</span> sz = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a>.size ();
|
||||
<a name="l00076"></a>00076
|
||||
<a name="l00077"></a>00077 <span class="keywordflow">if</span> (sz <= 0) {
|
||||
<a name="l00078"></a>00078
|
||||
<a name="l00079"></a>00079 std::cerr << <span class="stringliteral">"Error: the dataset MUST be read before creating the initializer object."</span> << std::endl;
|
||||
<a name="l00080"></a>00080 abort ();
|
||||
<a name="l00081"></a>00081
|
||||
<a name="l00082"></a>00082 }
|
||||
<a name="l00083"></a>00083
|
||||
<a name="l00084"></a>00084 <a class="code" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">mSeedsUsedCount</a> = 0;
|
||||
<a name="l00085"></a>00085
|
||||
<a name="l00086"></a>00086 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < sz; i++)
|
||||
<a name="l00087"></a>00087 <a class="code" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a>.push_back (<span class="keyword">false</span>);
|
||||
<a name="l00088"></a>00088
|
||||
<a name="l00089"></a>00089 }
|
||||
<a name="l00090"></a>00090
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00099"></a><a class="code" href="classeo_v_r_p_init.html#8bc4f6fb201b09dd882d721d2cfef8ce">00099</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p_init.html#8bc4f6fb201b09dd882d721d2cfef8ce">operator () </a>(<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _gen) {
|
||||
<a name="l00100"></a>00100
|
||||
<a name="l00101"></a>00101 <a class="code" href="classeo_v_r_p_init.html#af5946da88fb14494cb23dc21d167866">HeuristicInitialization</a> (_gen);
|
||||
<a name="l00102"></a>00102
|
||||
<a name="l00103"></a>00103 }
|
||||
<a name="l00104"></a>00104
|
||||
<a name="l00105"></a>00105
|
||||
<a name="l00106"></a>00106 <span class="keyword">private</span>:
|
||||
<a name="l00107"></a>00107
|
||||
<a name="l00108"></a><a class="code" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">00108</a> <span class="keywordtype">unsigned</span> <a class="code" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">mSeedsUsedCount</a>;
|
||||
<a name="l00109"></a><a class="code" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">00109</a> std::vector<bool> <a class="code" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a>;
|
||||
<a name="l00123"></a><a class="code" href="classeo_v_r_p_init.html#af5946da88fb14494cb23dc21d167866">00123</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p_init.html#af5946da88fb14494cb23dc21d167866">HeuristicInitialization</a> (<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _gen) {
|
||||
<a name="l00124"></a>00124
|
||||
<a name="l00125"></a>00125 <span class="comment">// Aux var to override seed used checking</span>
|
||||
<a name="l00126"></a>00126 <span class="keywordtype">bool</span> seedCheckingOverride = <span class="keyword">false</span>;
|
||||
<a name="l00127"></a>00127
|
||||
<a name="l00128"></a>00128 <span class="comment">// Erase any previous contents</span>
|
||||
<a name="l00129"></a>00129 _gen.clear ();
|
||||
<a name="l00130"></a>00130
|
||||
<a name="l00131"></a>00131 <span class="comment">// Aux vector to store unvisited clients</span>
|
||||
<a name="l00132"></a>00132 std::vector<int> unvisited;
|
||||
<a name="l00133"></a>00133
|
||||
<a name="l00134"></a>00134 <span class="comment">// And an index to point to the last unvisited cutomer</span>
|
||||
<a name="l00135"></a>00135 <span class="keywordtype">int</span> unvisitedIdx = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a>.size () - 2;
|
||||
<a name="l00136"></a>00136
|
||||
<a name="l00137"></a>00137 <span class="comment">// Initialization of the unvisited vector with all the clients</span>
|
||||
<a name="l00138"></a>00138 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 1; i < <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a>.size (); i++)
|
||||
<a name="l00139"></a>00139 unvisited.push_back (i);
|
||||
<a name="l00140"></a>00140
|
||||
<a name="l00141"></a>00141 <span class="comment">// Main loop: keep iterating until all clients are visited</span>
|
||||
<a name="l00142"></a>00142 <span class="keywordflow">while</span> (unvisitedIdx >= 0) {
|
||||
<a name="l00143"></a>00143
|
||||
<a name="l00144"></a>00144 <span class="comment">// Aux var to store the new route</span>
|
||||
<a name="l00145"></a>00145 Route route;
|
||||
<a name="l00146"></a>00146
|
||||
<a name="l00147"></a>00147 <a class="code" href="classeo_v_r_p_init.html#ff7c0bf38bdd70d6f9d561479ec4f48a">createNewRoute</a> (unvisited, unvisitedIdx, seedCheckingOverride, route);
|
||||
<a name="l00148"></a>00148 seedCheckingOverride = <span class="keyword">true</span>;
|
||||
<a name="l00149"></a>00149
|
||||
<a name="l00150"></a>00150 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < route.size (); i++)
|
||||
<a name="l00151"></a>00151 _gen.push_back (route [i]);
|
||||
<a name="l00152"></a>00152
|
||||
<a name="l00153"></a>00153 }
|
||||
<a name="l00154"></a>00154
|
||||
<a name="l00155"></a>00155 <span class="comment">// Invalidates the genotype forcing its re-evaluation</span>
|
||||
<a name="l00156"></a>00156 _gen.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html#f57e9b0b1772446b12f97abfc0d64a59">invalidate</a> ();
|
||||
<a name="l00157"></a>00157
|
||||
<a name="l00158"></a>00158 }
|
||||
<a name="l00159"></a>00159
|
||||
<a name="l00160"></a>00160
|
||||
<a name="l00176"></a><a class="code" href="classeo_v_r_p_init.html#ff7c0bf38bdd70d6f9d561479ec4f48a">00176</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_init.html#ff7c0bf38bdd70d6f9d561479ec4f48a">createNewRoute</a> (std::vector<int>& _unvisited, <span class="keywordtype">int</span>& _unvisitedIdx,
|
||||
<a name="l00177"></a>00177 <span class="keywordtype">bool</span> _seedCheckingOverride, Route& _route ) {
|
||||
<a name="l00178"></a>00178
|
||||
<a name="l00179"></a>00179 <span class="comment">// Selection of seed client for current route</span>
|
||||
<a name="l00180"></a>00180 <span class="keywordtype">unsigned</span> seed = <a class="code" href="classeo_v_r_p_init.html#dd681a23869f69438120ee2d82f85e94">selectBestClientAsSeed</a> (_unvisited, _unvisitedIdx, _seedCheckingOverride);
|
||||
<a name="l00181"></a>00181
|
||||
<a name="l00182"></a>00182 <span class="comment">// Add the seed client to the route</span>
|
||||
<a name="l00183"></a>00183 _route.push_back (_unvisited [seed]);
|
||||
<a name="l00184"></a>00184
|
||||
<a name="l00185"></a>00185 <span class="comment">// Mark the client as already selected as a main seed</span>
|
||||
<a name="l00186"></a>00186 <span class="comment">// (i.e., as a seed for the first subroute of an individual)</span>
|
||||
<a name="l00187"></a>00187 <span class="keywordflow">if</span> (!_seedCheckingOverride) {
|
||||
<a name="l00188"></a>00188
|
||||
<a name="l00189"></a>00189 <a class="code" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a> [_unvisited [seed]] = <span class="keyword">true</span>;
|
||||
<a name="l00190"></a>00190 <a class="code" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">mSeedsUsedCount</a>++;
|
||||
<a name="l00191"></a>00191
|
||||
<a name="l00192"></a>00192 <span class="keywordflow">if</span> (<a class="code" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">mSeedsUsedCount</a> == <a class="code" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a>.size () - 1) {
|
||||
<a name="l00193"></a>00193
|
||||
<a name="l00194"></a>00194 <a class="code" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">mSeedsUsedCount</a> = 0;
|
||||
<a name="l00195"></a>00195
|
||||
<a name="l00196"></a>00196 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < <a class="code" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a>.size (); i++)
|
||||
<a name="l00197"></a>00197 <a class="code" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a> [i] = <span class="keyword">false</span>;
|
||||
<a name="l00198"></a>00198
|
||||
<a name="l00199"></a>00199 }
|
||||
<a name="l00200"></a>00200
|
||||
<a name="l00201"></a>00201 }
|
||||
<a name="l00202"></a>00202
|
||||
<a name="l00203"></a>00203 <span class="comment">// Delete the selected client from the unvisited vector</span>
|
||||
<a name="l00204"></a>00204 _unvisited [seed] = _unvisited [_unvisitedIdx];
|
||||
<a name="l00205"></a>00205 _unvisitedIdx--;
|
||||
<a name="l00206"></a>00206
|
||||
<a name="l00207"></a>00207 <span class="keywordtype">bool</span> feasibleInsert = <span class="keyword">true</span>;
|
||||
<a name="l00208"></a>00208
|
||||
<a name="l00209"></a>00209 <span class="keywordflow">while</span> (feasibleInsert && _unvisitedIdx >= 0) {
|
||||
<a name="l00210"></a>00210
|
||||
<a name="l00211"></a>00211 <span class="comment">// Aux var to store the position to insert new clients in the route</span>
|
||||
<a name="l00212"></a>00212 Route::iterator it;
|
||||
<a name="l00213"></a>00213
|
||||
<a name="l00214"></a>00214 <span class="keywordtype">unsigned</span> next;
|
||||
<a name="l00215"></a>00215
|
||||
<a name="l00216"></a>00216 <span class="keywordflow">if</span> (<a class="code" href="classeo_v_r_p_init.html#7f07be1f3a027dc56af84bb46828ddda">selectBestInsertion</a> (_unvisited, _unvisitedIdx, _route, next, it)) {
|
||||
<a name="l00217"></a>00217
|
||||
<a name="l00218"></a>00218 <span class="keywordflow">if</span> (it == _route.end ())
|
||||
<a name="l00219"></a>00219 _route.insert (_route.begin (), _unvisited [next]);
|
||||
<a name="l00220"></a>00220 <span class="keywordflow">else</span>
|
||||
<a name="l00221"></a>00221 _route.insert (it + 1, _unvisited [next]);
|
||||
<a name="l00222"></a>00222
|
||||
<a name="l00223"></a>00223 _unvisited [next] = _unvisited [_unvisitedIdx];
|
||||
<a name="l00224"></a>00224 _unvisitedIdx--;
|
||||
<a name="l00225"></a>00225
|
||||
<a name="l00226"></a>00226 }
|
||||
<a name="l00227"></a>00227 <span class="keywordflow">else</span>
|
||||
<a name="l00228"></a>00228 feasibleInsert = <span class="keyword">false</span>;
|
||||
<a name="l00229"></a>00229
|
||||
<a name="l00230"></a>00230 }
|
||||
<a name="l00231"></a>00231
|
||||
<a name="l00232"></a>00232 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00233"></a>00233
|
||||
<a name="l00234"></a>00234 }
|
||||
<a name="l00235"></a>00235
|
||||
<a name="l00236"></a>00236
|
||||
<a name="l00249"></a><a class="code" href="classeo_v_r_p_init.html#7f07be1f3a027dc56af84bb46828ddda">00249</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_init.html#7f07be1f3a027dc56af84bb46828ddda">selectBestInsertion</a> (std::vector<int>& _unvisited, <span class="keywordtype">unsigned</span> _unvisitedIdx, Route& _route,
|
||||
<a name="l00250"></a>00250 <span class="keywordtype">unsigned</span>& _nextClient, Route::iterator& _it ) {
|
||||
<a name="l00251"></a>00251
|
||||
<a name="l00252"></a>00252 <span class="keywordtype">double</span> minCost = 999999999;
|
||||
<a name="l00253"></a>00253 <span class="keywordtype">bool</span> found = <span class="keyword">false</span>;
|
||||
<a name="l00254"></a>00254
|
||||
<a name="l00255"></a>00255 <span class="keywordtype">bool</span> insertionPossible = <span class="keyword">false</span>;
|
||||
<a name="l00256"></a>00256 <span class="keywordtype">double</span> cost = 0.0;
|
||||
<a name="l00257"></a>00257
|
||||
<a name="l00258"></a>00258 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < _unvisitedIdx; i++) {
|
||||
<a name="l00259"></a>00259
|
||||
<a name="l00260"></a>00260 insertionPossible = <a class="code" href="classeo_v_r_p_init.html#82f2bb762d8f5da85febd266fb75a29b">evaluateInsertion</a> (_route, _unvisited [i], -1, cost);
|
||||
<a name="l00261"></a>00261
|
||||
<a name="l00262"></a>00262 <span class="keywordflow">if</span> (insertionPossible && cost < minCost) {
|
||||
<a name="l00263"></a>00263
|
||||
<a name="l00264"></a>00264 _it = _route.end ();
|
||||
<a name="l00265"></a>00265 _nextClient = i;
|
||||
<a name="l00266"></a>00266 minCost = cost;
|
||||
<a name="l00267"></a>00267 found = <span class="keyword">true</span>;
|
||||
<a name="l00268"></a>00268
|
||||
<a name="l00269"></a>00269 }
|
||||
<a name="l00270"></a>00270
|
||||
<a name="l00271"></a>00271 }
|
||||
<a name="l00272"></a>00272
|
||||
<a name="l00273"></a>00273 <span class="keywordflow">for</span> (Route::iterator it = _route.begin (); it != _route.end (); it++) {
|
||||
<a name="l00274"></a>00274
|
||||
<a name="l00275"></a>00275 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < _unvisitedIdx; i++) {
|
||||
<a name="l00276"></a>00276
|
||||
<a name="l00277"></a>00277 insertionPossible = <a class="code" href="classeo_v_r_p_init.html#82f2bb762d8f5da85febd266fb75a29b">evaluateInsertion</a> (_route, _unvisited [i], *it, cost);
|
||||
<a name="l00278"></a>00278
|
||||
<a name="l00279"></a>00279 <span class="keywordflow">if</span> (insertionPossible && cost < minCost) {
|
||||
<a name="l00280"></a>00280
|
||||
<a name="l00281"></a>00281 _it = it;
|
||||
<a name="l00282"></a>00282 _nextClient = i;
|
||||
<a name="l00283"></a>00283 minCost = cost;
|
||||
<a name="l00284"></a>00284 found = <span class="keyword">true</span>;
|
||||
<a name="l00285"></a>00285
|
||||
<a name="l00286"></a>00286 }
|
||||
<a name="l00287"></a>00287
|
||||
<a name="l00288"></a>00288 }
|
||||
<a name="l00289"></a>00289
|
||||
<a name="l00290"></a>00290 }
|
||||
<a name="l00291"></a>00291
|
||||
<a name="l00292"></a>00292 <span class="keywordflow">return</span> found;
|
||||
<a name="l00293"></a>00293
|
||||
<a name="l00294"></a>00294 }
|
||||
<a name="l00295"></a>00295
|
||||
<a name="l00296"></a>00296
|
||||
<a name="l00308"></a><a class="code" href="classeo_v_r_p_init.html#82f2bb762d8f5da85febd266fb75a29b">00308</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_init.html#82f2bb762d8f5da85febd266fb75a29b">evaluateInsertion</a> (Route& _route, <span class="keywordtype">unsigned</span> _newClient, <span class="keywordtype">int</span> _afterClient, <span class="keywordtype">double</span>& _cost) {
|
||||
<a name="l00309"></a>00309
|
||||
<a name="l00310"></a>00310 <span class="comment">// First of all, we check for capacity constraint to be satisfied</span>
|
||||
<a name="l00311"></a>00311 <span class="comment">// before trying to insert the new client in the route</span>
|
||||
<a name="l00312"></a>00312 <span class="keywordtype">double</span> demand = 0.0;
|
||||
<a name="l00313"></a>00313
|
||||
<a name="l00314"></a>00314 <span class="comment">// Cummulate the demand of all the clients in the current route</span>
|
||||
<a name="l00315"></a>00315 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < _route.size (); i++)
|
||||
<a name="l00316"></a>00316 demand += <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a> [i].demand;
|
||||
<a name="l00317"></a>00317
|
||||
<a name="l00318"></a>00318 <span class="comment">// And then the demand of the new client</span>
|
||||
<a name="l00319"></a>00319 demand += <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a> [_newClient].demand;
|
||||
<a name="l00320"></a>00320
|
||||
<a name="l00321"></a>00321 <span class="comment">// And finally, check if the cummulated demand exceeds vehicle's capacity</span>
|
||||
<a name="l00322"></a>00322 <span class="keywordflow">if</span> (demand > VEHICLE_CAPACITY)
|
||||
<a name="l00323"></a>00323 <span class="keywordflow">return</span> <span class="keyword">false</span>;
|
||||
<a name="l00324"></a>00324
|
||||
<a name="l00325"></a>00325 <span class="comment">// Now check for insertion position and TW constraints</span>
|
||||
<a name="l00326"></a>00326 <span class="keywordtype">double</span> readyTime, dueTime, serviceTime;
|
||||
<a name="l00327"></a>00327
|
||||
<a name="l00328"></a>00328 <span class="comment">// If the client must be inserted after client "-1" that means that it</span>
|
||||
<a name="l00329"></a>00329 <span class="comment">// has to be inserted at the very beginning of the route</span>
|
||||
<a name="l00330"></a>00330 <span class="keywordflow">if</span> (_afterClient == - 1) {
|
||||
<a name="l00331"></a>00331
|
||||
<a name="l00332"></a>00332 <span class="comment">// We calculate the distante from the depot to the inserted client</span>
|
||||
<a name="l00333"></a>00333 _cost = <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (0, _newClient);
|
||||
<a name="l00334"></a>00334
|
||||
<a name="l00335"></a>00335 <span class="comment">// And check that its TW is not exceeded</span>
|
||||
<a name="l00336"></a>00336 <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils::getTimeWindow</a> (_newClient, readyTime, dueTime, serviceTime);
|
||||
<a name="l00337"></a>00337
|
||||
<a name="l00338"></a>00338 <span class="keywordflow">if</span> (_cost > dueTime)
|
||||
<a name="l00339"></a>00339 <span class="keywordflow">return</span> <span class="keyword">false</span>;
|
||||
<a name="l00340"></a>00340
|
||||
<a name="l00341"></a>00341 <span class="comment">// If the vehicle arrives before client's ready time, it has</span>
|
||||
<a name="l00342"></a>00342 <span class="comment">// to wait until the client is ready</span>
|
||||
<a name="l00343"></a>00343 <span class="keywordflow">if</span> (_cost < readyTime)
|
||||
<a name="l00344"></a>00344 _cost = readyTime;
|
||||
<a name="l00345"></a>00345
|
||||
<a name="l00346"></a>00346 <span class="comment">// Add the service time for the newly inserted client</span>
|
||||
<a name="l00347"></a>00347 _cost += serviceTime;
|
||||
<a name="l00348"></a>00348
|
||||
<a name="l00349"></a>00349 <span class="comment">// And the cost of traveling to the next one (the first one in the old route)</span>
|
||||
<a name="l00350"></a>00350 _cost = _cost + <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (_newClient, _route [0]);
|
||||
<a name="l00351"></a>00351
|
||||
<a name="l00352"></a>00352 }
|
||||
<a name="l00353"></a>00353 <span class="keywordflow">else</span>
|
||||
<a name="l00354"></a>00354 <span class="comment">// We just need to add the cost of traveling from the depot to the first client</span>
|
||||
<a name="l00355"></a>00355 _cost = <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (0, _route [0]);
|
||||
<a name="l00356"></a>00356
|
||||
<a name="l00357"></a>00357 <span class="comment">// Main loop to evaluate the rest of the route (except the last position)</span>
|
||||
<a name="l00358"></a>00358 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < _route.size () - 1; i++) {
|
||||
<a name="l00359"></a>00359
|
||||
<a name="l00360"></a>00360 <span class="comment">// Check that the TW is not exceeded for the current client</span>
|
||||
<a name="l00361"></a>00361 <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils::getTimeWindow</a> (_route [i], readyTime, dueTime, serviceTime);
|
||||
<a name="l00362"></a>00362
|
||||
<a name="l00363"></a>00363 <span class="keywordflow">if</span> (_cost > dueTime)
|
||||
<a name="l00364"></a>00364 <span class="keywordflow">return</span> <span class="keyword">false</span>;
|
||||
<a name="l00365"></a>00365
|
||||
<a name="l00366"></a>00366 <span class="comment">// If it is not exceeded, we check wether the vehicle arrives before</span>
|
||||
<a name="l00367"></a>00367 <span class="comment">// the client is ready. If that's the case, it has to wait</span>
|
||||
<a name="l00368"></a>00368 <span class="keywordflow">if</span> (_cost < readyTime)
|
||||
<a name="l00369"></a>00369 _cost = readyTime;
|
||||
<a name="l00370"></a>00370
|
||||
<a name="l00371"></a>00371 <span class="comment">// We add the service time for this client</span>
|
||||
<a name="l00372"></a>00372 _cost += serviceTime;
|
||||
<a name="l00373"></a>00373
|
||||
<a name="l00374"></a>00374 <span class="comment">// And now check if we have to insert the new client after the current one</span>
|
||||
<a name="l00375"></a>00375 <span class="keywordflow">if</span> (_route [i] == _afterClient) {
|
||||
<a name="l00376"></a>00376
|
||||
<a name="l00377"></a>00377 <span class="comment">// If that's the case, we add the cost of traveling from current client</span>
|
||||
<a name="l00378"></a>00378 <span class="comment">// to the new one</span>
|
||||
<a name="l00379"></a>00379 _cost = _cost + <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (_route [i], _newClient);
|
||||
<a name="l00380"></a>00380
|
||||
<a name="l00381"></a>00381 <span class="comment">// And check for its TW to be not exceeded</span>
|
||||
<a name="l00382"></a>00382 <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils::getTimeWindow</a> (_newClient, readyTime, dueTime, serviceTime);
|
||||
<a name="l00383"></a>00383
|
||||
<a name="l00384"></a>00384 <span class="keywordflow">if</span> (_cost > dueTime)
|
||||
<a name="l00385"></a>00385 <span class="keywordflow">return</span> <span class="keyword">false</span>;
|
||||
<a name="l00386"></a>00386
|
||||
<a name="l00387"></a>00387 <span class="comment">// If the vehicle arrives before client's ready time, it has</span>
|
||||
<a name="l00388"></a>00388 <span class="comment">// to wait until the client is ready</span>
|
||||
<a name="l00389"></a>00389 <span class="keywordflow">if</span> (_cost < readyTime)
|
||||
<a name="l00390"></a>00390 _cost = readyTime;
|
||||
<a name="l00391"></a>00391
|
||||
<a name="l00392"></a>00392 <span class="comment">// Add the service time for the newly inserted client</span>
|
||||
<a name="l00393"></a>00393 _cost += serviceTime;
|
||||
<a name="l00394"></a>00394
|
||||
<a name="l00395"></a>00395 <span class="comment">// And the cost of traveling to the next one</span>
|
||||
<a name="l00396"></a>00396 _cost = _cost + <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (_newClient, _route [i + 1]);
|
||||
<a name="l00397"></a>00397
|
||||
<a name="l00398"></a>00398 }
|
||||
<a name="l00399"></a>00399 <span class="keywordflow">else</span>
|
||||
<a name="l00400"></a>00400 <span class="comment">// We simply add the cost of traveling to the next client</span>
|
||||
<a name="l00401"></a>00401 _cost = _cost + <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (_route [i], _route [i + 1]);
|
||||
<a name="l00402"></a>00402
|
||||
<a name="l00403"></a>00403 }
|
||||
<a name="l00404"></a>00404
|
||||
<a name="l00405"></a>00405 <span class="comment">// Consider the special case where the new client has</span>
|
||||
<a name="l00406"></a>00406 <span class="comment">// to be inserted at the end of the route</span>
|
||||
<a name="l00407"></a>00407 <span class="keywordtype">unsigned</span> last =_route [_route.size () - 1];
|
||||
<a name="l00408"></a>00408
|
||||
<a name="l00409"></a>00409 <span class="comment">// We first check that the TW of the last client in the old route</span>
|
||||
<a name="l00410"></a>00410 <span class="comment">// has not been exedeed</span>
|
||||
<a name="l00411"></a>00411 <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils::getTimeWindow</a> (last, readyTime, dueTime, serviceTime);
|
||||
<a name="l00412"></a>00412
|
||||
<a name="l00413"></a>00413 <span class="keywordflow">if</span> (_cost > dueTime)
|
||||
<a name="l00414"></a>00414 <span class="keywordflow">return</span> <span class="keyword">false</span>;
|
||||
<a name="l00415"></a>00415
|
||||
<a name="l00416"></a>00416 <span class="comment">// If the vehicle arrives before the client is ready, it waits</span>
|
||||
<a name="l00417"></a>00417 <span class="keywordflow">if</span> (_cost < readyTime)
|
||||
<a name="l00418"></a>00418 _cost = readyTime;
|
||||
<a name="l00419"></a>00419
|
||||
<a name="l00420"></a>00420 <span class="comment">// Now we add its service time</span>
|
||||
<a name="l00421"></a>00421 _cost += serviceTime;
|
||||
<a name="l00422"></a>00422
|
||||
<a name="l00423"></a>00423 <span class="comment">// And check if the new client has to be inserted at the end</span>
|
||||
<a name="l00424"></a>00424 <span class="comment">// of the old route</span>
|
||||
<a name="l00425"></a>00425 <span class="keywordflow">if</span> (_afterClient == last) {
|
||||
<a name="l00426"></a>00426
|
||||
<a name="l00427"></a>00427 <span class="comment">// In that case, we add the cost of traveling from the last client</span>
|
||||
<a name="l00428"></a>00428 <span class="comment">// to the one being inserted</span>
|
||||
<a name="l00429"></a>00429 _cost = _cost + <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (last, _newClient);
|
||||
<a name="l00430"></a>00430
|
||||
<a name="l00431"></a>00431 <span class="comment">// Check for its TW not being exceeded</span>
|
||||
<a name="l00432"></a>00432 <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils::getTimeWindow</a> (_newClient, readyTime, dueTime, serviceTime);
|
||||
<a name="l00433"></a>00433
|
||||
<a name="l00434"></a>00434 <span class="keywordflow">if</span> (_cost > dueTime)
|
||||
<a name="l00435"></a>00435 <span class="keywordflow">return</span> <span class="keyword">false</span>;
|
||||
<a name="l00436"></a>00436
|
||||
<a name="l00437"></a>00437 <span class="comment">// If the vehicle arrives before the new client is ready, it waits</span>
|
||||
<a name="l00438"></a>00438 <span class="keywordflow">if</span> (_cost < readyTime)
|
||||
<a name="l00439"></a>00439 _cost = readyTime;
|
||||
<a name="l00440"></a>00440
|
||||
<a name="l00441"></a>00441 <span class="comment">// Now we add its service time</span>
|
||||
<a name="l00442"></a>00442 _cost += serviceTime;
|
||||
<a name="l00443"></a>00443
|
||||
<a name="l00444"></a>00444 <span class="comment">// And, finally, the time to travel back to the depot</span>
|
||||
<a name="l00445"></a>00445 _cost = _cost + <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (_newClient, 0);
|
||||
<a name="l00446"></a>00446
|
||||
<a name="l00447"></a>00447 }
|
||||
<a name="l00448"></a>00448 <span class="keywordflow">else</span>
|
||||
<a name="l00449"></a>00449 <span class="comment">// In this case we just add the cost of traveling back to the depot</span>
|
||||
<a name="l00450"></a>00450 _cost = _cost + <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (last, 0);
|
||||
<a name="l00451"></a>00451
|
||||
<a name="l00452"></a>00452 <span class="comment">// Last thing to check is that the vehicle is back on time to the depot</span>
|
||||
<a name="l00453"></a>00453 <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils::getTimeWindow</a> (0, readyTime, dueTime, serviceTime);
|
||||
<a name="l00454"></a>00454
|
||||
<a name="l00455"></a>00455 <span class="keywordflow">if</span> (_cost > dueTime)
|
||||
<a name="l00456"></a>00456 <span class="keywordflow">return</span> <span class="keyword">false</span>;
|
||||
<a name="l00457"></a>00457
|
||||
<a name="l00458"></a>00458 <span class="comment">// If all constraints are satisfied, we return true, and the cost of the</span>
|
||||
<a name="l00459"></a>00459 <span class="comment">// insertion in the variable "_cost"</span>
|
||||
<a name="l00460"></a>00460 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00461"></a>00461
|
||||
<a name="l00462"></a>00462 }
|
||||
<a name="l00463"></a>00463
|
||||
<a name="l00464"></a>00464
|
||||
<a name="l00472"></a><a class="code" href="classeo_v_r_p_init.html#a24867d25a6c9911e9b5c9eb1b4b650d">00472</a> <span class="keywordtype">unsigned</span> <a class="code" href="classeo_v_r_p_init.html#a24867d25a6c9911e9b5c9eb1b4b650d">selectFarthestClientAsSeed</a> (<span class="keyword">const</span> std::vector<int>& _unvisited, <span class="keywordtype">int</span> _unvisitedIdx) {
|
||||
<a name="l00473"></a>00473
|
||||
<a name="l00474"></a>00474 <span class="keywordtype">unsigned</span> maxPos = 0;
|
||||
<a name="l00475"></a>00475 <span class="keywordtype">double</span> maxDist = <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (0, _unvisited [0]);
|
||||
<a name="l00476"></a>00476
|
||||
<a name="l00477"></a>00477 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 1; i <= _unvisitedIdx; i++)
|
||||
<a name="l00478"></a>00478 <span class="keywordflow">if</span> (<a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (0, _unvisited [i]) > maxDist) {
|
||||
<a name="l00479"></a>00479
|
||||
<a name="l00480"></a>00480 maxPos = i;
|
||||
<a name="l00481"></a>00481 maxDist = <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (0, _unvisited [i]);
|
||||
<a name="l00482"></a>00482
|
||||
<a name="l00483"></a>00483 }
|
||||
<a name="l00484"></a>00484
|
||||
<a name="l00485"></a>00485 <span class="keywordflow">return</span> maxPos;
|
||||
<a name="l00486"></a>00486
|
||||
<a name="l00487"></a>00487 }
|
||||
<a name="l00488"></a>00488
|
||||
<a name="l00489"></a>00489
|
||||
<a name="l00498"></a><a class="code" href="classeo_v_r_p_init.html#0bb48de33e92c2b6a386e28d5b759f4b">00498</a> <span class="keywordtype">unsigned</span> <a class="code" href="classeo_v_r_p_init.html#0bb48de33e92c2b6a386e28d5b759f4b">selectCheapestClient</a> (<span class="keyword">const</span> std::vector<int>& _unvisited, <span class="keywordtype">int</span> _unvisitedIdx, <span class="keywordtype">bool</span> _seedCheckingOverride) {
|
||||
<a name="l00499"></a>00499
|
||||
<a name="l00500"></a>00500 <span class="keywordtype">int</span> cheapestPos = -1;
|
||||
<a name="l00501"></a>00501 <span class="keywordtype">double</span> cheapestCost = 999999999;
|
||||
<a name="l00502"></a>00502
|
||||
<a name="l00503"></a>00503 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i <= _unvisitedIdx; i++) {
|
||||
<a name="l00504"></a>00504
|
||||
<a name="l00505"></a>00505 <span class="keywordtype">double</span> cost = (-ALFA * <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (0, _unvisited [i]) ) +
|
||||
<a name="l00506"></a>00506 ( BETA * <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a> [_unvisited [i]].dueTime) +
|
||||
<a name="l00507"></a>00507 (GAMMA * <a class="code" href="namespaceeo_v_r_p_utils.html#4d6ec814ae3e31508ebc6f51eeefb8a7">eoVRPUtils::polarAngle</a> (0, _unvisited [i]) / 360 * eoVRPUtils::distance (0, _unvisited [i]));
|
||||
<a name="l00508"></a>00508
|
||||
<a name="l00509"></a>00509 <span class="keywordflow">if</span> ((cost < cheapestCost || (cost == cheapestCost && rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#a59557f718b17c2dda8a633f9862aff4">flip</a> ())) &&
|
||||
<a name="l00510"></a>00510 (!<a class="code" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a> [_unvisited [i]] || _seedCheckingOverride ) ) {
|
||||
<a name="l00511"></a>00511
|
||||
<a name="l00512"></a>00512 cheapestPos = i;
|
||||
<a name="l00513"></a>00513 cheapestCost = cost;
|
||||
<a name="l00514"></a>00514
|
||||
<a name="l00515"></a>00515 }
|
||||
<a name="l00516"></a>00516
|
||||
<a name="l00517"></a>00517 }
|
||||
<a name="l00518"></a>00518
|
||||
<a name="l00519"></a>00519 <span class="keywordflow">return</span> cheapestPos;
|
||||
<a name="l00520"></a>00520
|
||||
<a name="l00521"></a>00521 }
|
||||
<a name="l00522"></a>00522
|
||||
<a name="l00523"></a>00523
|
||||
<a name="l00532"></a><a class="code" href="classeo_v_r_p_init.html#dd681a23869f69438120ee2d82f85e94">00532</a> <span class="keywordtype">unsigned</span> <a class="code" href="classeo_v_r_p_init.html#dd681a23869f69438120ee2d82f85e94">selectBestClientAsSeed</a> (<span class="keyword">const</span> std::vector<int>& _unvisited, <span class="keywordtype">int</span> _unvisitedIdx, <span class="keywordtype">bool</span> _seedCheckingOverride) {
|
||||
<a name="l00533"></a>00533
|
||||
<a name="l00534"></a>00534 <span class="keywordtype">int</span> cheapestPos = -1;
|
||||
<a name="l00535"></a>00535 <span class="keywordtype">double</span> cheapestCost = 999999999;
|
||||
<a name="l00536"></a>00536 <span class="keywordtype">double</span> alfa, beta;
|
||||
<a name="l00537"></a>00537
|
||||
<a name="l00538"></a>00538 alfa = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#50dfb052f11ae50326e552cb223d88e4">uniform</a> ();
|
||||
<a name="l00539"></a>00539 beta = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#50dfb052f11ae50326e552cb223d88e4">uniform</a> ();
|
||||
<a name="l00540"></a>00540
|
||||
<a name="l00541"></a>00541 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i <= _unvisitedIdx; i++) {
|
||||
<a name="l00542"></a>00542
|
||||
<a name="l00543"></a>00543 <span class="keywordtype">double</span> cost = (alfa * <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils::distance</a> (0, _unvisited [i])) +
|
||||
<a name="l00544"></a>00544 (beta * (<a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a> [_unvisited [i]].dueTime - <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a> [_unvisited [i]].readyTime));
|
||||
<a name="l00545"></a>00545
|
||||
<a name="l00546"></a>00546
|
||||
<a name="l00547"></a>00547 <span class="keywordflow">if</span> ((cost < cheapestCost || (cost == cheapestCost && rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#a59557f718b17c2dda8a633f9862aff4">flip</a> ())) &&
|
||||
<a name="l00548"></a>00548 (!<a class="code" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">mSeedsUsed</a> [_unvisited [i]] || _seedCheckingOverride ) ) {
|
||||
<a name="l00549"></a>00549
|
||||
<a name="l00550"></a>00550 cheapestPos = i;
|
||||
<a name="l00551"></a>00551 cheapestCost = cost;
|
||||
<a name="l00552"></a>00552
|
||||
<a name="l00553"></a>00553 }
|
||||
<a name="l00554"></a>00554
|
||||
<a name="l00555"></a>00555 }
|
||||
<a name="l00556"></a>00556
|
||||
<a name="l00557"></a>00557 <span class="keywordflow">return</span> cheapestPos;
|
||||
<a name="l00558"></a>00558
|
||||
<a name="l00559"></a>00559 }
|
||||
<a name="l00560"></a>00560
|
||||
<a name="l00561"></a>00561
|
||||
<a name="l00569"></a><a class="code" href="classeo_v_r_p_init.html#008ae39692b67ef0b25aed89075b1d46">00569</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p_init.html#008ae39692b67ef0b25aed89075b1d46">RandomInitializationNoCheck</a> (<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _gen) {
|
||||
<a name="l00570"></a>00570
|
||||
<a name="l00571"></a>00571 <span class="comment">// Erase any previous contents</span>
|
||||
<a name="l00572"></a>00572 _gen.clear ();
|
||||
<a name="l00573"></a>00573
|
||||
<a name="l00574"></a>00574 <span class="comment">// Aux vector to store unvisited clients</span>
|
||||
<a name="l00575"></a>00575 std::vector<int> unvisited;
|
||||
<a name="l00576"></a>00576
|
||||
<a name="l00577"></a>00577 <span class="comment">// And an index to point to the last unvisited cutomer</span>
|
||||
<a name="l00578"></a>00578 <span class="keywordtype">int</span> unvisitedIdx = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a>.size () - 2;
|
||||
<a name="l00579"></a>00579
|
||||
<a name="l00580"></a>00580 <span class="comment">// Initialization of the unvisited vector with all the clients</span>
|
||||
<a name="l00581"></a>00581 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 1; i < <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils::clients</a>.size (); i++)
|
||||
<a name="l00582"></a>00582 unvisited.push_back (i);
|
||||
<a name="l00583"></a>00583
|
||||
<a name="l00584"></a>00584 <span class="keywordflow">while</span> (unvisitedIdx >= 0) {
|
||||
<a name="l00585"></a>00585
|
||||
<a name="l00586"></a>00586 <span class="keywordtype">unsigned</span> n = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (unvisitedIdx);
|
||||
<a name="l00587"></a>00587
|
||||
<a name="l00588"></a>00588 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i <= n; i++) {
|
||||
<a name="l00589"></a>00589
|
||||
<a name="l00590"></a>00590 <span class="keywordtype">unsigned</span> pos = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (unvisitedIdx);
|
||||
<a name="l00591"></a>00591
|
||||
<a name="l00592"></a>00592 _gen.push_back (unvisited [pos]);
|
||||
<a name="l00593"></a>00593
|
||||
<a name="l00594"></a>00594 unvisited [pos] = unvisited [unvisitedIdx];
|
||||
<a name="l00595"></a>00595 unvisitedIdx--;
|
||||
<a name="l00596"></a>00596
|
||||
<a name="l00597"></a>00597 }
|
||||
<a name="l00598"></a>00598
|
||||
<a name="l00599"></a>00599 }
|
||||
<a name="l00600"></a>00600
|
||||
<a name="l00601"></a>00601 }
|
||||
<a name="l00602"></a>00602
|
||||
<a name="l00603"></a>00603
|
||||
<a name="l00604"></a>00604 };
|
||||
<a name="l00605"></a>00605
|
||||
<a name="l00606"></a>00606 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,205 @@
|
|||
<!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>CVRP-TW: eoVRPMutation.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="namespaces.html"><span>Namespaces</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>eoVRPMutation.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * (C) OPAC Team, LIFL, 2002-2007</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> *</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * (c) Antonio LaTorre <atorre@fi.upm.es>, 2007</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * This software is governed by the CeCILL license under French law and</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * abiding by the rules of distribution of free software. You can use,</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * modify and/ or redistribute the software under the terms of the CeCILL</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * license as circulated by CEA, CNRS and INRIA at the following URL</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * "http://www.cecill.info".</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * As a counterpart to the access to the source code and rights to copy,</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * modify and redistribute granted by the license, users are provided only</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * with a limited warranty and the software's author, the holder of the</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * economic rights, and the successive licensors have only limited liability.</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> *</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * In this respect, the user's attention is drawn to the risks associated</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * with loading, using, modifying and/or developing or reproducing the</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * software by the user in light of its specific status of free software,</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> * that may mean that it is complicated to manipulate, and that also</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * therefore means that it is reserved for developers and experienced</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> * professionals having in-depth computer knowledge. Users are therefore</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * encouraged to load and test the software's suitability as regards their</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * requirements in conditions enabling the security of their systems and/or</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * data to be ensured and, more generally, to use and operate it in the</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * same conditions as regards security.</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * The fact that you are presently reading this means that you have had</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * knowledge of the CeCILL license and that you accept its terms.</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> *</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> * ParadisEO WebSite : http://paradiseo.gforge.inria.fr</span>
|
||||
<a name="l00032"></a>00032 <span class="comment"> * Contact: paradiseo-help@lists.gforge.inria.fr</span>
|
||||
<a name="l00033"></a>00033 <span class="comment"> *</span>
|
||||
<a name="l00034"></a>00034 <span class="comment"> */</span>
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef eoVRPMutation_H</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define eoVRPMutation_H</span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span>
|
||||
<a name="l00039"></a>00039 <span class="comment">// General includes</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor">#include <algorithm></span>
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00042"></a>00042 <span class="comment">// The base definition of eoMonOp</span>
|
||||
<a name="l00043"></a>00043 <span class="preprocessor">#include <eoOp.h></span>
|
||||
<a name="l00044"></a>00044
|
||||
<a name="l00052"></a><a class="code" href="classeo_v_r_p_mutation.html">00052</a> <span class="keyword">class </span><a class="code" href="classeo_v_r_p_mutation.html">eoVRPMutation</a>: <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp</a> <eoVRP> {
|
||||
<a name="l00053"></a>00053
|
||||
<a name="l00054"></a>00054 <span class="keyword">public</span>:
|
||||
<a name="l00055"></a>00055
|
||||
<a name="l00060"></a><a class="code" href="classeo_v_r_p_mutation.html#419ac5c738369876de09212a844e67c3">00060</a> <a class="code" href="classeo_v_r_p_mutation.html#419ac5c738369876de09212a844e67c3">eoVRPMutation</a> () {
|
||||
<a name="l00061"></a>00061
|
||||
<a name="l00062"></a>00062 }
|
||||
<a name="l00063"></a>00063
|
||||
<a name="l00064"></a>00064
|
||||
<a name="l00070"></a><a class="code" href="classeo_v_r_p_mutation.html#1c99e21818d6bae1cdd21b4180601d41">00070</a> std::string <a class="code" href="classeo_v_r_p_mutation.html#1c99e21818d6bae1cdd21b4180601d41">className</a> ()<span class="keyword"> const </span>{
|
||||
<a name="l00071"></a>00071
|
||||
<a name="l00072"></a>00072 <span class="keywordflow">return</span> <span class="stringliteral">"eoVRPMutation"</span>;
|
||||
<a name="l00073"></a>00073
|
||||
<a name="l00074"></a>00074 }
|
||||
<a name="l00075"></a>00075
|
||||
<a name="l00076"></a>00076
|
||||
<a name="l00086"></a><a class="code" href="classeo_v_r_p_mutation.html#f9fabdc8497f463add309fdace102813">00086</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_mutation.html#f9fabdc8497f463add309fdace102813">operator () </a>(<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype) {
|
||||
<a name="l00087"></a>00087
|
||||
<a name="l00088"></a>00088 <span class="keywordtype">bool</span> res = <span class="keyword">false</span>;
|
||||
<a name="l00089"></a>00089 <span class="keywordtype">double</span> op = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#50dfb052f11ae50326e552cb223d88e4">uniform</a> ();
|
||||
<a name="l00090"></a>00090
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092 <span class="keywordflow">if</span> (op <= 0.05)
|
||||
<a name="l00093"></a>00093 res = <a class="code" href="classeo_v_r_p_mutation.html#bef9736583de0b7f6e734b26483ab69d">swapMutation</a> (_genotype);
|
||||
<a name="l00094"></a>00094 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((op > 0.05) && (op <= 0.20))
|
||||
<a name="l00095"></a>00095 res = <a class="code" href="classeo_v_r_p_mutation.html#61cc39a190e9d070b005a7afb5e38d2a">inversionMutation</a> (_genotype);
|
||||
<a name="l00096"></a>00096 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((op > 0.20) && (op <= 0.25))
|
||||
<a name="l00097"></a>00097 res = <a class="code" href="classeo_v_r_p_mutation.html#6ead0938bb1f8ab34c321916a6dd5b66">insertionMutation</a> (_genotype);
|
||||
<a name="l00098"></a>00098 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((op > 0.25) && (op <= 0.45))
|
||||
<a name="l00099"></a>00099 res = <a class="code" href="classeo_v_r_p_mutation.html#b6b7e818085f6ba03d64f045f32356be">DisplacementMutation</a> (_genotype);
|
||||
<a name="l00100"></a>00100
|
||||
<a name="l00101"></a>00101 <span class="keywordflow">if</span> (res)
|
||||
<a name="l00102"></a>00102 _genotype.<a class="code" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">cleanRoutes</a> ();
|
||||
<a name="l00103"></a>00103
|
||||
<a name="l00104"></a>00104 <span class="keywordflow">return</span> res;
|
||||
<a name="l00105"></a>00105
|
||||
<a name="l00106"></a>00106 }
|
||||
<a name="l00107"></a>00107
|
||||
<a name="l00108"></a>00108
|
||||
<a name="l00109"></a>00109 <span class="keyword">private</span>:
|
||||
<a name="l00110"></a>00110
|
||||
<a name="l00111"></a>00111
|
||||
<a name="l00119"></a><a class="code" href="classeo_v_r_p_mutation.html#bef9736583de0b7f6e734b26483ab69d">00119</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_mutation.html#bef9736583de0b7f6e734b26483ab69d">swapMutation</a> (<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype) {
|
||||
<a name="l00120"></a>00120
|
||||
<a name="l00121"></a>00121 <span class="keywordtype">int</span> p1 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype.size ());
|
||||
<a name="l00122"></a>00122 <span class="keywordtype">int</span> p2 = -1;
|
||||
<a name="l00123"></a>00123
|
||||
<a name="l00124"></a>00124 <span class="keywordflow">do</span> {
|
||||
<a name="l00125"></a>00125 p2 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype.size ());
|
||||
<a name="l00126"></a>00126 } <span class="keywordflow">while</span> (_genotype [p2] == _genotype [p1]);
|
||||
<a name="l00127"></a>00127
|
||||
<a name="l00128"></a>00128 std::swap (_genotype [p1], _genotype [p2]);
|
||||
<a name="l00129"></a>00129
|
||||
<a name="l00130"></a>00130 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00131"></a>00131
|
||||
<a name="l00132"></a>00132 }
|
||||
<a name="l00133"></a>00133
|
||||
<a name="l00134"></a>00134
|
||||
<a name="l00142"></a><a class="code" href="classeo_v_r_p_mutation.html#61cc39a190e9d070b005a7afb5e38d2a">00142</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_mutation.html#61cc39a190e9d070b005a7afb5e38d2a">inversionMutation</a> (<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype) {
|
||||
<a name="l00143"></a>00143
|
||||
<a name="l00144"></a>00144 <span class="keywordtype">int</span> p1 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype.size ());
|
||||
<a name="l00145"></a>00145 <span class="keywordtype">int</span> p2 = -1;
|
||||
<a name="l00146"></a>00146
|
||||
<a name="l00147"></a>00147 <span class="keywordflow">do</span> {
|
||||
<a name="l00148"></a>00148 p2 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype.size ());
|
||||
<a name="l00149"></a>00149 } <span class="keywordflow">while</span> (_genotype [p2] == _genotype [p1]);
|
||||
<a name="l00150"></a>00150
|
||||
<a name="l00151"></a>00151 <span class="keywordflow">if</span> (p1 > p2)
|
||||
<a name="l00152"></a>00152 std::swap (p1, p2);
|
||||
<a name="l00153"></a>00153
|
||||
<a name="l00154"></a>00154 <span class="comment">// Reverse the subroute</span>
|
||||
<a name="l00155"></a>00155 reverse (_genotype.begin () + p1, _genotype.begin () + p2 + 1);
|
||||
<a name="l00156"></a>00156
|
||||
<a name="l00157"></a>00157
|
||||
<a name="l00158"></a>00158 <span class="keywordflow">return</span> <span class="keyword">false</span>;
|
||||
<a name="l00159"></a>00159
|
||||
<a name="l00160"></a>00160 }
|
||||
<a name="l00161"></a>00161
|
||||
<a name="l00162"></a>00162
|
||||
<a name="l00170"></a><a class="code" href="classeo_v_r_p_mutation.html#6ead0938bb1f8ab34c321916a6dd5b66">00170</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_mutation.html#6ead0938bb1f8ab34c321916a6dd5b66">insertionMutation</a> (<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype) {
|
||||
<a name="l00171"></a>00171
|
||||
<a name="l00172"></a>00172 <span class="keywordtype">int</span> p = -1;
|
||||
<a name="l00173"></a>00173
|
||||
<a name="l00174"></a>00174 <span class="comment">// Selection of the client to be moved</span>
|
||||
<a name="l00175"></a>00175 <span class="keywordflow">do</span> {
|
||||
<a name="l00176"></a>00176 p = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype.size ());
|
||||
<a name="l00177"></a>00177 } <span class="keywordflow">while</span> (_genotype [p] == -1);
|
||||
<a name="l00178"></a>00178
|
||||
<a name="l00179"></a>00179 <span class="comment">// Temporary copy of the client</span>
|
||||
<a name="l00180"></a>00180 <span class="keywordtype">unsigned</span> client = _genotype [p];
|
||||
<a name="l00181"></a>00181
|
||||
<a name="l00182"></a>00182 _genotype.erase (_genotype.begin () + p);
|
||||
<a name="l00183"></a>00183
|
||||
<a name="l00184"></a>00184 p = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype.size () - 1);
|
||||
<a name="l00185"></a>00185 _genotype.insert (_genotype.begin () + p, client);
|
||||
<a name="l00186"></a>00186
|
||||
<a name="l00187"></a>00187 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00188"></a>00188
|
||||
<a name="l00189"></a>00189 }
|
||||
<a name="l00190"></a>00190
|
||||
<a name="l00191"></a>00191
|
||||
<a name="l00199"></a><a class="code" href="classeo_v_r_p_mutation.html#b6b7e818085f6ba03d64f045f32356be">00199</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_mutation.html#b6b7e818085f6ba03d64f045f32356be">DisplacementMutation</a> (<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype) {
|
||||
<a name="l00200"></a>00200
|
||||
<a name="l00201"></a>00201 <span class="keywordtype">int</span> p1 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype.size ());
|
||||
<a name="l00202"></a>00202 <span class="keywordtype">int</span> p2 = -1;
|
||||
<a name="l00203"></a>00203
|
||||
<a name="l00204"></a>00204 <span class="keywordflow">do</span> {
|
||||
<a name="l00205"></a>00205 p2 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype.size ());
|
||||
<a name="l00206"></a>00206 } <span class="keywordflow">while</span> (_genotype [p2] == _genotype [p1]);
|
||||
<a name="l00207"></a>00207
|
||||
<a name="l00208"></a>00208 <span class="keywordflow">if</span> (p1 > p2)
|
||||
<a name="l00209"></a>00209 std::swap (p1, p2);
|
||||
<a name="l00210"></a>00210
|
||||
<a name="l00211"></a>00211 <span class="comment">// Temporary copy of the fragment being moved</span>
|
||||
<a name="l00212"></a>00212 Route route;
|
||||
<a name="l00213"></a>00213
|
||||
<a name="l00214"></a>00214 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = p1; i <= p2; i++)
|
||||
<a name="l00215"></a>00215 route.push_back (_genotype [i]);
|
||||
<a name="l00216"></a>00216
|
||||
<a name="l00217"></a>00217 _genotype.erase (_genotype.begin () + p1, _genotype.begin () + p2 + 1);
|
||||
<a name="l00218"></a>00218
|
||||
<a name="l00219"></a>00219 <span class="keywordtype">unsigned</span> p = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> ((_genotype.size () > 0) ? _genotype.size () - 1 : 0);
|
||||
<a name="l00220"></a>00220 _genotype.insert (_genotype.begin () + p, route.begin (), route.end ());
|
||||
<a name="l00221"></a>00221
|
||||
<a name="l00222"></a>00222 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00223"></a>00223
|
||||
<a name="l00224"></a>00224 }
|
||||
<a name="l00225"></a>00225
|
||||
<a name="l00226"></a>00226
|
||||
<a name="l00227"></a>00227 };
|
||||
<a name="l00228"></a>00228
|
||||
<a name="l00229"></a>00229 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,345 @@
|
|||
<!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>CVRP-TW: eoVRPQuadCrossover.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="namespaces.html"><span>Namespaces</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>eoVRPQuadCrossover.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * (C) OPAC Team, LIFL, 2002-2007</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> *</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * (c) Antonio LaTorre <atorre@fi.upm.es>, 2007</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * This software is governed by the CeCILL license under French law and</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * abiding by the rules of distribution of free software. You can use,</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * modify and/ or redistribute the software under the terms of the CeCILL</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * license as circulated by CEA, CNRS and INRIA at the following URL</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * "http://www.cecill.info".</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * As a counterpart to the access to the source code and rights to copy,</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * modify and redistribute granted by the license, users are provided only</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * with a limited warranty and the software's author, the holder of the</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * economic rights, and the successive licensors have only limited liability.</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> *</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * In this respect, the user's attention is drawn to the risks associated</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * with loading, using, modifying and/or developing or reproducing the</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * software by the user in light of its specific status of free software,</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> * that may mean that it is complicated to manipulate, and that also</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * therefore means that it is reserved for developers and experienced</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> * professionals having in-depth computer knowledge. Users are therefore</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * encouraged to load and test the software's suitability as regards their</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * requirements in conditions enabling the security of their systems and/or</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * data to be ensured and, more generally, to use and operate it in the</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * same conditions as regards security.</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * The fact that you are presently reading this means that you have had</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * knowledge of the CeCILL license and that you accept its terms.</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> *</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> * ParadisEO WebSite : http://paradiseo.gforge.inria.fr</span>
|
||||
<a name="l00032"></a>00032 <span class="comment"> * Contact: paradiseo-help@lists.gforge.inria.fr</span>
|
||||
<a name="l00033"></a>00033 <span class="comment"> *</span>
|
||||
<a name="l00034"></a>00034 <span class="comment"> */</span>
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef eoVRPQuadCrossover_H</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define eoVRPQuadCrossover_H</span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span>
|
||||
<a name="l00039"></a>00039 <span class="comment">// General includes</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor">#include <assert.h></span>
|
||||
<a name="l00041"></a>00041 <span class="preprocessor">#include <values.h></span>
|
||||
<a name="l00042"></a>00042 <span class="preprocessor">#include <utils/eoRNG.h></span>
|
||||
<a name="l00043"></a>00043 <span class="preprocessor">#include <set></span>
|
||||
<a name="l00044"></a>00044
|
||||
<a name="l00045"></a>00045 <span class="comment">// The base definition of eoQuadOp</span>
|
||||
<a name="l00046"></a>00046 <span class="preprocessor">#include <eoOp.h></span>
|
||||
<a name="l00047"></a>00047
|
||||
<a name="l00053"></a><a class="code" href="classeo_v_r_p_generic_crossover.html">00053</a> <span class="keyword">class </span><a class="code" href="classeo_v_r_p_generic_crossover.html">eoVRPGenericCrossover</a>: <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a> <eoVRP> {
|
||||
<a name="l00054"></a>00054
|
||||
<a name="l00055"></a>00055 <span class="keyword">public</span>:
|
||||
<a name="l00056"></a>00056
|
||||
<a name="l00061"></a><a class="code" href="classeo_v_r_p_generic_crossover.html#63e5fb734c46be62a12f6799e34cebe4">00061</a> <a class="code" href="classeo_v_r_p_generic_crossover.html#63e5fb734c46be62a12f6799e34cebe4">eoVRPGenericCrossover</a> () {
|
||||
<a name="l00062"></a>00062
|
||||
<a name="l00063"></a>00063 }
|
||||
<a name="l00064"></a>00064
|
||||
<a name="l00065"></a>00065
|
||||
<a name="l00071"></a><a class="code" href="classeo_v_r_p_generic_crossover.html#7740db73b7151dab52df9d50f5366429">00071</a> std::string <a class="code" href="classeo_v_r_p_generic_crossover.html#7740db73b7151dab52df9d50f5366429">className</a> ()<span class="keyword"> const </span>{
|
||||
<a name="l00072"></a>00072
|
||||
<a name="l00073"></a>00073 <span class="keywordflow">return</span> <span class="stringliteral">"eoVRPGenericCrossover"</span>;
|
||||
<a name="l00074"></a>00074
|
||||
<a name="l00075"></a>00075 }
|
||||
<a name="l00076"></a>00076
|
||||
<a name="l00077"></a>00077
|
||||
<a name="l00085"></a><a class="code" href="classeo_v_r_p_generic_crossover.html#d7d3b19562b071bd50dd4d831e447d0c">00085</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_generic_crossover.html#d7d3b19562b071bd50dd4d831e447d0c">operator () </a>(<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype1, <a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype2) {
|
||||
<a name="l00086"></a>00086
|
||||
<a name="l00087"></a>00087 Routes c1 = _genotype1.<a class="code" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">routes</a> ();
|
||||
<a name="l00088"></a>00088 Routes c2 = _genotype2.<a class="code" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">routes</a> ();
|
||||
<a name="l00089"></a>00089
|
||||
<a name="l00090"></a>00090 <a class="code" href="classeo_v_r_p_generic_crossover.html#543ba6869b93a3f9f709045b7e24d74a">GenericCrossover</a> (_genotype1.<a class="code" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">routes</a> (), c2);
|
||||
<a name="l00091"></a>00091 <a class="code" href="classeo_v_r_p_generic_crossover.html#543ba6869b93a3f9f709045b7e24d74a">GenericCrossover</a> (_genotype2.<a class="code" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">routes</a> (), c1);
|
||||
<a name="l00092"></a>00092
|
||||
<a name="l00093"></a>00093 _genotype1.<a class="code" href="classeo_v_r_p.html#b56c820bff344b4cd7338628a6f8f083">encode</a> (c1);
|
||||
<a name="l00094"></a>00094 _genotype2.<a class="code" href="classeo_v_r_p.html#b56c820bff344b4cd7338628a6f8f083">encode</a> (c2);
|
||||
<a name="l00095"></a>00095
|
||||
<a name="l00096"></a>00096 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00098"></a>00098 }
|
||||
<a name="l00099"></a>00099
|
||||
<a name="l00100"></a>00100
|
||||
<a name="l00101"></a>00101 <span class="keyword">private</span>:
|
||||
<a name="l00102"></a>00102
|
||||
<a name="l00110"></a><a class="code" href="classeo_v_r_p_generic_crossover.html#543ba6869b93a3f9f709045b7e24d74a">00110</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_generic_crossover.html#543ba6869b93a3f9f709045b7e24d74a">GenericCrossover</a> (<span class="keyword">const</span> Routes& _donor, Routes& _receiver)<span class="keyword"> const </span>{
|
||||
<a name="l00111"></a>00111
|
||||
<a name="l00112"></a>00112 <span class="keywordtype">unsigned</span> srcRoute = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_donor.size ());
|
||||
<a name="l00113"></a>00113 <span class="keywordtype">unsigned</span> srcPos1 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_donor [srcRoute].size ());
|
||||
<a name="l00114"></a>00114 <span class="keywordtype">unsigned</span> srcPos2 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_donor [srcRoute].size ());
|
||||
<a name="l00115"></a>00115
|
||||
<a name="l00116"></a>00116 <span class="keywordflow">if</span> (srcPos1 > srcPos2)
|
||||
<a name="l00117"></a>00117 std::swap (srcPos1, srcPos2);
|
||||
<a name="l00118"></a>00118
|
||||
<a name="l00119"></a>00119 Route::iterator it;
|
||||
<a name="l00120"></a>00120
|
||||
<a name="l00121"></a>00121 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = srcPos1; i <= srcPos2; i++)
|
||||
<a name="l00122"></a>00122 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> j = 0; j < _receiver.size (); j++) {
|
||||
<a name="l00123"></a>00123
|
||||
<a name="l00124"></a>00124 it = find (_receiver [j].begin (), _receiver [j].end (), _donor [srcRoute][i]);
|
||||
<a name="l00125"></a>00125
|
||||
<a name="l00126"></a>00126 <span class="keywordflow">if</span> (it != _receiver [j].end ()) {
|
||||
<a name="l00127"></a>00127
|
||||
<a name="l00128"></a>00128 <span class="comment">// Deletion of the repeated client</span>
|
||||
<a name="l00129"></a>00129 _receiver [j].erase (it);
|
||||
<a name="l00130"></a>00130
|
||||
<a name="l00131"></a>00131 <span class="comment">// Deletion of empty route, if necessary</span>
|
||||
<a name="l00132"></a>00132 <span class="keywordflow">if</span> (_receiver [j].size () == 0)
|
||||
<a name="l00133"></a>00133 _receiver.erase (_receiver.begin () + j);
|
||||
<a name="l00134"></a>00134
|
||||
<a name="l00135"></a>00135 <span class="keywordflow">break</span>;
|
||||
<a name="l00136"></a>00136
|
||||
<a name="l00137"></a>00137 }
|
||||
<a name="l00138"></a>00138
|
||||
<a name="l00139"></a>00139 }
|
||||
<a name="l00140"></a>00140
|
||||
<a name="l00141"></a>00141 <span class="keywordtype">unsigned</span> dstRoute = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_receiver.size ());
|
||||
<a name="l00142"></a>00142
|
||||
<a name="l00143"></a>00143 it = _receiver [dstRoute].begin () + rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_receiver [dstRoute].size ());
|
||||
<a name="l00144"></a>00144
|
||||
<a name="l00145"></a>00145 _receiver [dstRoute].insert (it + 1, _donor [srcRoute].begin () + srcPos1, _donor [srcRoute].begin () + srcPos2 + 1);
|
||||
<a name="l00146"></a>00146
|
||||
<a name="l00147"></a>00147 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00148"></a>00148
|
||||
<a name="l00149"></a>00149 }
|
||||
<a name="l00150"></a>00150
|
||||
<a name="l00151"></a>00151 };
|
||||
<a name="l00152"></a>00152
|
||||
<a name="l00153"></a>00153
|
||||
<a name="l00159"></a><a class="code" href="classeo_v_r_p_one_point_crossover.html">00159</a> <span class="keyword">class </span><a class="code" href="classeo_v_r_p_one_point_crossover.html">eoVRPOnePointCrossover</a>: <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a> <eoVRP> {
|
||||
<a name="l00160"></a>00160
|
||||
<a name="l00161"></a>00161 <span class="keyword">public</span>:
|
||||
<a name="l00162"></a>00162
|
||||
<a name="l00167"></a><a class="code" href="classeo_v_r_p_one_point_crossover.html#24f40efc1adb60947c5d533653bbfbe9">00167</a> <a class="code" href="classeo_v_r_p_one_point_crossover.html#24f40efc1adb60947c5d533653bbfbe9">eoVRPOnePointCrossover</a> () {
|
||||
<a name="l00168"></a>00168
|
||||
<a name="l00169"></a>00169 }
|
||||
<a name="l00170"></a>00170
|
||||
<a name="l00171"></a>00171
|
||||
<a name="l00177"></a><a class="code" href="classeo_v_r_p_one_point_crossover.html#a62bc52e6f36d7fae7c192173fbfd2dc">00177</a> std::string <a class="code" href="classeo_v_r_p_one_point_crossover.html#a62bc52e6f36d7fae7c192173fbfd2dc">className</a> ()<span class="keyword"> const </span>{
|
||||
<a name="l00178"></a>00178
|
||||
<a name="l00179"></a>00179 <span class="keywordflow">return</span> <span class="stringliteral">"eoVRPOnePointCrossover"</span>;
|
||||
<a name="l00180"></a>00180
|
||||
<a name="l00181"></a>00181 }
|
||||
<a name="l00182"></a>00182
|
||||
<a name="l00183"></a>00183
|
||||
<a name="l00191"></a><a class="code" href="classeo_v_r_p_one_point_crossover.html#b930b5d9a8ee0719f675f9eea791579b">00191</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_one_point_crossover.html#b930b5d9a8ee0719f675f9eea791579b">operator () </a>(<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype1, <a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype2) {
|
||||
<a name="l00192"></a>00192
|
||||
<a name="l00193"></a>00193 <a class="code" href="classeo_v_r_p.html">eoVRP</a>& _gen = _genotype1;
|
||||
<a name="l00194"></a>00194
|
||||
<a name="l00195"></a>00195 <span class="keywordtype">unsigned</span> orig1, orig2, dest;
|
||||
<a name="l00196"></a>00196
|
||||
<a name="l00197"></a>00197 <span class="comment">// First child</span>
|
||||
<a name="l00198"></a>00198 orig1 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype2.size ());
|
||||
<a name="l00199"></a>00199 orig2 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype2.size ());
|
||||
<a name="l00200"></a>00200
|
||||
<a name="l00201"></a>00201 <span class="keywordflow">if</span> (orig1 > orig2)
|
||||
<a name="l00202"></a>00202 std::swap (orig1, orig2);
|
||||
<a name="l00203"></a>00203
|
||||
<a name="l00204"></a>00204 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = orig1; i <= orig2; i++)
|
||||
<a name="l00205"></a>00205 _genotype1.erase (find (_genotype1.begin (), _genotype1.end (), _genotype2 [i]));
|
||||
<a name="l00206"></a>00206
|
||||
<a name="l00207"></a>00207 dest = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype1.size ());
|
||||
<a name="l00208"></a>00208
|
||||
<a name="l00209"></a>00209 _genotype1.insert (_genotype1.begin () + dest, _genotype2.begin () + orig1, _genotype2.begin () + orig2 + 1);
|
||||
<a name="l00210"></a>00210
|
||||
<a name="l00211"></a>00211 <span class="comment">// Second child</span>
|
||||
<a name="l00212"></a>00212 orig1 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_gen.size ());
|
||||
<a name="l00213"></a>00213 orig2 = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_gen.size ());
|
||||
<a name="l00214"></a>00214
|
||||
<a name="l00215"></a>00215 <span class="keywordflow">if</span> (orig1 > orig2)
|
||||
<a name="l00216"></a>00216 std::swap (orig1, orig2);
|
||||
<a name="l00217"></a>00217
|
||||
<a name="l00218"></a>00218 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = orig1; i <= orig2; i++)
|
||||
<a name="l00219"></a>00219 _genotype2.erase (find (_genotype2.begin (), _genotype2.end (), _gen [i]));
|
||||
<a name="l00220"></a>00220
|
||||
<a name="l00221"></a>00221 dest = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (_genotype2.size ());
|
||||
<a name="l00222"></a>00222
|
||||
<a name="l00223"></a>00223 _genotype2.insert (_genotype2.begin () + dest, _gen.begin () + orig1, _gen.begin () + orig2 + 1);
|
||||
<a name="l00224"></a>00224
|
||||
<a name="l00225"></a>00225 _genotype1.<a class="code" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">cleanRoutes</a> ();
|
||||
<a name="l00226"></a>00226 _genotype2.<a class="code" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">cleanRoutes</a> ();
|
||||
<a name="l00227"></a>00227
|
||||
<a name="l00228"></a>00228 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00229"></a>00229
|
||||
<a name="l00230"></a>00230 }
|
||||
<a name="l00231"></a>00231
|
||||
<a name="l00232"></a>00232 };
|
||||
<a name="l00233"></a>00233
|
||||
<a name="l00234"></a>00234
|
||||
<a name="l00240"></a><a class="code" href="classeo_v_r_p_edge_crossover.html">00240</a> <span class="keyword">class </span><a class="code" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a>: <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp</a> <eoVRP> {
|
||||
<a name="l00241"></a>00241
|
||||
<a name="l00242"></a>00242 <span class="keyword">public</span>:
|
||||
<a name="l00243"></a>00243
|
||||
<a name="l00248"></a><a class="code" href="classeo_v_r_p_edge_crossover.html#1cec73fc43837a61b6c97812dd57891b">00248</a> <a class="code" href="classeo_v_r_p_edge_crossover.html#1cec73fc43837a61b6c97812dd57891b">eoVRPEdgeCrossover</a> () {
|
||||
<a name="l00249"></a>00249
|
||||
<a name="l00250"></a>00250 }
|
||||
<a name="l00251"></a>00251
|
||||
<a name="l00252"></a>00252
|
||||
<a name="l00258"></a><a class="code" href="classeo_v_r_p_edge_crossover.html#8b2a199b70442852f93b2a34a42cf1e4">00258</a> std::string <a class="code" href="classeo_v_r_p_edge_crossover.html#8b2a199b70442852f93b2a34a42cf1e4">className</a> ()<span class="keyword"> const </span>{
|
||||
<a name="l00259"></a>00259
|
||||
<a name="l00260"></a>00260 <span class="keywordflow">return</span> <span class="stringliteral">"eoVRPEdgeCrossover"</span>;
|
||||
<a name="l00261"></a>00261
|
||||
<a name="l00262"></a>00262 }
|
||||
<a name="l00263"></a>00263
|
||||
<a name="l00264"></a>00264
|
||||
<a name="l00272"></a><a class="code" href="classeo_v_r_p_edge_crossover.html#518856969ec708a73e728d36ddf01d1b">00272</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_edge_crossover.html#518856969ec708a73e728d36ddf01d1b">operator () </a>(<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype1, <a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype2) {
|
||||
<a name="l00273"></a>00273
|
||||
<a name="l00274"></a>00274 <a class="code" href="classeo_v_r_p.html">eoVRP</a> par [2];
|
||||
<a name="l00275"></a>00275
|
||||
<a name="l00276"></a>00276 <span class="comment">// Backup of the parents</span>
|
||||
<a name="l00277"></a>00277 par [0] = _genotype1;
|
||||
<a name="l00278"></a>00278 par [1] = _genotype2;
|
||||
<a name="l00279"></a>00279
|
||||
<a name="l00280"></a>00280 _genotype1.<a class="code" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">clean</a> ();
|
||||
<a name="l00281"></a>00281 _genotype2.<a class="code" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">clean</a> ();
|
||||
<a name="l00282"></a>00282
|
||||
<a name="l00283"></a>00283 <a class="code" href="classeo_v_r_p_edge_crossover.html#389bd29cab9e12915d0d5c4af80343d7">EdgeCrossover</a> (par [0], par [1], _genotype1);
|
||||
<a name="l00284"></a>00284 <a class="code" href="classeo_v_r_p_edge_crossover.html#389bd29cab9e12915d0d5c4af80343d7">EdgeCrossover</a> (par [0], par [1], _genotype2);
|
||||
<a name="l00285"></a>00285
|
||||
<a name="l00286"></a>00286 <span class="keywordflow">return</span> <span class="keyword">true</span>;
|
||||
<a name="l00287"></a>00287
|
||||
<a name="l00288"></a>00288 }
|
||||
<a name="l00289"></a>00289
|
||||
<a name="l00290"></a>00290
|
||||
<a name="l00291"></a>00291 <span class="keyword">private</span>:
|
||||
<a name="l00292"></a>00292
|
||||
<a name="l00301"></a><a class="code" href="classeo_v_r_p_edge_crossover.html#389bd29cab9e12915d0d5c4af80343d7">00301</a> <span class="keywordtype">bool</span> <a class="code" href="classeo_v_r_p_edge_crossover.html#389bd29cab9e12915d0d5c4af80343d7">EdgeCrossover</a> (<a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype1, <a class="code" href="classeo_v_r_p.html">eoVRP</a>& _genotype2, <a class="code" href="classeo_v_r_p.html">eoVRP</a>& _child) {
|
||||
<a name="l00302"></a>00302
|
||||
<a name="l00303"></a>00303 std::vector <std::set <unsigned> > _map;
|
||||
<a name="l00304"></a>00304 std::vector <bool> visited;
|
||||
<a name="l00305"></a>00305
|
||||
<a name="l00306"></a>00306 <span class="comment">// Build map</span>
|
||||
<a name="l00307"></a>00307 <span class="keywordtype">unsigned</span> len = _genotype1.size () ;
|
||||
<a name="l00308"></a>00308
|
||||
<a name="l00309"></a>00309 _map.resize (len+1) ;
|
||||
<a name="l00310"></a>00310
|
||||
<a name="l00311"></a>00311 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i < len ; i ++) {
|
||||
<a name="l00312"></a>00312
|
||||
<a name="l00313"></a>00313 _map [_genotype1 [i]].insert (_genotype1 [(i + 1) % len]) ;
|
||||
<a name="l00314"></a>00314 _map [_genotype2 [i]].insert (_genotype2 [(i + 1) % len]) ;
|
||||
<a name="l00315"></a>00315 _map [_genotype1 [i]].insert (_genotype1 [(i - 1 + len) % len]) ;
|
||||
<a name="l00316"></a>00316 _map [_genotype2 [i]].insert (_genotype2 [(i - 1 + len) % len]) ;
|
||||
<a name="l00317"></a>00317
|
||||
<a name="l00318"></a>00318 }
|
||||
<a name="l00319"></a>00319
|
||||
<a name="l00320"></a>00320 visited.clear () ;
|
||||
<a name="l00321"></a>00321 visited.resize (len+1, <span class="keyword">false</span>) ;
|
||||
<a name="l00322"></a>00322
|
||||
<a name="l00323"></a>00323
|
||||
<a name="l00324"></a>00324 _child.clear () ;
|
||||
<a name="l00325"></a>00325
|
||||
<a name="l00326"></a>00326 <span class="keywordtype">unsigned</span> cur_vertex = rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (len)+1;
|
||||
<a name="l00327"></a>00327
|
||||
<a name="l00328"></a>00328 <a class="code" href="classeo_v_r_p_edge_crossover.html#7917ea1dec6221f71127c6fae9515e68">add_vertex</a> (cur_vertex, visited, _map, _child);
|
||||
<a name="l00329"></a>00329
|
||||
<a name="l00330"></a>00330 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 1; i < len; i ++) {
|
||||
<a name="l00331"></a>00331
|
||||
<a name="l00332"></a>00332 <span class="keywordtype">unsigned</span> len_min_entry = MAXINT;
|
||||
<a name="l00333"></a>00333
|
||||
<a name="l00334"></a>00334 std::set <unsigned>& neigh = _map [cur_vertex];
|
||||
<a name="l00335"></a>00335
|
||||
<a name="l00336"></a>00336 <span class="keywordflow">for</span> (std::set <unsigned>::iterator it = neigh.begin (); it != neigh.end (); it ++) {
|
||||
<a name="l00337"></a>00337
|
||||
<a name="l00338"></a>00338 <span class="keywordtype">unsigned</span> l = _map [*it].size ();
|
||||
<a name="l00339"></a>00339
|
||||
<a name="l00340"></a>00340 <span class="keywordflow">if</span> (len_min_entry > l)
|
||||
<a name="l00341"></a>00341 len_min_entry = l;
|
||||
<a name="l00342"></a>00342
|
||||
<a name="l00343"></a>00343 }
|
||||
<a name="l00344"></a>00344
|
||||
<a name="l00345"></a>00345 std::vector <unsigned> cand; <span class="comment">/* Candidates */</span>
|
||||
<a name="l00346"></a>00346
|
||||
<a name="l00347"></a>00347 <span class="keywordflow">for</span> (std::set <unsigned>::iterator it = neigh.begin (); it != neigh.end (); it ++) {
|
||||
<a name="l00348"></a>00348
|
||||
<a name="l00349"></a>00349 <span class="keywordtype">unsigned</span> l = _map [*it].size ();
|
||||
<a name="l00350"></a>00350
|
||||
<a name="l00351"></a>00351 <span class="keywordflow">if</span> (len_min_entry == l)
|
||||
<a name="l00352"></a>00352 cand.push_back (*it);
|
||||
<a name="l00353"></a>00353
|
||||
<a name="l00354"></a>00354 }
|
||||
<a name="l00355"></a>00355
|
||||
<a name="l00356"></a>00356 <span class="keywordflow">if</span> (!cand.size ()) {
|
||||
<a name="l00357"></a>00357
|
||||
<a name="l00358"></a>00358 <span class="comment">/* Oh no ! Implicit mutation */</span>
|
||||
<a name="l00359"></a>00359 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> j = 1; j <= len; j ++)
|
||||
<a name="l00360"></a>00360 <span class="keywordflow">if</span> (!visited [j])
|
||||
<a name="l00361"></a>00361 cand.push_back (j);
|
||||
<a name="l00362"></a>00362
|
||||
<a name="l00363"></a>00363 }
|
||||
<a name="l00364"></a>00364
|
||||
<a name="l00365"></a>00365 cur_vertex = cand [rng.<a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_rng.html#f0829d258c74cdc3a8f6cd72c0287cb4">random</a> (cand.size ())] ;
|
||||
<a name="l00366"></a>00366
|
||||
<a name="l00367"></a>00367 <a class="code" href="classeo_v_r_p_edge_crossover.html#7917ea1dec6221f71127c6fae9515e68">add_vertex</a> (cur_vertex, visited, _map, _child);
|
||||
<a name="l00368"></a>00368
|
||||
<a name="l00369"></a>00369 }
|
||||
<a name="l00370"></a>00370
|
||||
<a name="l00371"></a>00371 }
|
||||
<a name="l00372"></a>00372
|
||||
<a name="l00373"></a>00373
|
||||
<a name="l00380"></a><a class="code" href="classeo_v_r_p_edge_crossover.html#df9886f80565a966c78fb5a08e12631f">00380</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p_edge_crossover.html#df9886f80565a966c78fb5a08e12631f">remove_entry</a> (<span class="keywordtype">unsigned</span> _vertex, std::vector <std::set <unsigned> >& _map) {
|
||||
<a name="l00381"></a>00381
|
||||
<a name="l00382"></a>00382 std::set <unsigned>& neigh = _map [_vertex];
|
||||
<a name="l00383"></a>00383
|
||||
<a name="l00384"></a>00384 <span class="keywordflow">for</span> (std::set <unsigned>::iterator it = neigh.begin (); it != neigh.end (); it++)
|
||||
<a name="l00385"></a>00385 _map [*it].erase (_vertex);
|
||||
<a name="l00386"></a>00386
|
||||
<a name="l00387"></a>00387 }
|
||||
<a name="l00388"></a>00388
|
||||
<a name="l00389"></a>00389
|
||||
<a name="l00398"></a><a class="code" href="classeo_v_r_p_edge_crossover.html#7917ea1dec6221f71127c6fae9515e68">00398</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p_edge_crossover.html#7917ea1dec6221f71127c6fae9515e68">add_vertex</a> (<span class="keywordtype">unsigned</span> _vertex, std::vector <bool>& _visited, std::vector <std::set <unsigned> >& _map, <a class="code" href="classeo_v_r_p.html">eoVRP</a>& _child) {
|
||||
<a name="l00399"></a>00399
|
||||
<a name="l00400"></a>00400 _visited [_vertex] = <span class="keyword">true</span>;
|
||||
<a name="l00401"></a>00401 _child.push_back (_vertex);
|
||||
<a name="l00402"></a>00402 <a class="code" href="classeo_v_r_p_edge_crossover.html#df9886f80565a966c78fb5a08e12631f">remove_entry</a> (_vertex, _map);
|
||||
<a name="l00403"></a>00403
|
||||
<a name="l00404"></a>00404 }
|
||||
<a name="l00405"></a>00405
|
||||
<a name="l00406"></a>00406 };
|
||||
<a name="l00407"></a>00407
|
||||
<a name="l00408"></a>00408 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
<!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>CVRP-TW: eoVRPStat.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="namespaces.html"><span>Namespaces</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>eoVRPStat.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * (C) OPAC Team, LIFL, 2002-2007</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> *</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * (c) Antonio LaTorre <atorre@fi.upm.es>, 2007</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * This software is governed by the CeCILL license under French law and</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * abiding by the rules of distribution of free software. You can use,</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * modify and/ or redistribute the software under the terms of the CeCILL</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * license as circulated by CEA, CNRS and INRIA at the following URL</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * "http://www.cecill.info".</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * As a counterpart to the access to the source code and rights to copy,</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * modify and redistribute granted by the license, users are provided only</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * with a limited warranty and the software's author, the holder of the</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * economic rights, and the successive licensors have only limited liability.</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> *</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * In this respect, the user's attention is drawn to the risks associated</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * with loading, using, modifying and/or developing or reproducing the</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * software by the user in light of its specific status of free software,</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> * that may mean that it is complicated to manipulate, and that also</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * therefore means that it is reserved for developers and experienced</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> * professionals having in-depth computer knowledge. Users are therefore</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * encouraged to load and test the software's suitability as regards their</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * requirements in conditions enabling the security of their systems and/or</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * data to be ensured and, more generally, to use and operate it in the</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * same conditions as regards security.</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * The fact that you are presently reading this means that you have had</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * knowledge of the CeCILL license and that you accept its terms.</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> *</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> * ParadisEO WebSite : http://paradiseo.gforge.inria.fr</span>
|
||||
<a name="l00032"></a>00032 <span class="comment"> * Contact: paradiseo-help@lists.gforge.inria.fr</span>
|
||||
<a name="l00033"></a>00033 <span class="comment"> *</span>
|
||||
<a name="l00034"></a>00034 <span class="comment"> */</span>
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef _eoVRPStat_h</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define _eoVRPStat_h</span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span>
|
||||
<a name="l00039"></a>00039 <span class="comment">// The base definition of eoInit</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor">#include <utils/eoStat.h></span>
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00047"></a><a class="code" href="classeo_v_r_p_stat.html">00047</a> <span class="keyword">class </span><a class="code" href="classeo_v_r_p_stat.html">eoVRPStat</a> : <span class="keyword">public</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html">eoStat</a><eoVRP, double> {
|
||||
<a name="l00048"></a>00048
|
||||
<a name="l00049"></a>00049 <span class="keyword">public</span>:
|
||||
<a name="l00050"></a>00050
|
||||
<a name="l00056"></a><a class="code" href="classeo_v_r_p_stat.html#a326e09d7efebb4c572ea51ae517e058">00056</a> <a class="code" href="classeo_v_r_p_stat.html#a326e09d7efebb4c572ea51ae517e058">eoVRPStat</a> (std::string _description = <span class="stringliteral">"eoVRPStat "</span>) : <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html">eoStat</a><<a class="code" href="classeo_v_r_p.html">eoVRP</a>, double> (0.0, _description) {
|
||||
<a name="l00057"></a>00057
|
||||
<a name="l00058"></a>00058 }
|
||||
<a name="l00059"></a>00059
|
||||
<a name="l00060"></a>00060
|
||||
<a name="l00066"></a><a class="code" href="classeo_v_r_p_stat.html#5e773fab9c82e0a06d075af4be265d1e">00066</a> <span class="keywordtype">void</span> <a class="code" href="classeo_v_r_p_stat.html#5e773fab9c82e0a06d075af4be265d1e">operator() </a>(<span class="keyword">const</span> <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_pop.html">eoPop<eoVRP></a>& _pop) {
|
||||
<a name="l00067"></a>00067
|
||||
<a name="l00068"></a>00068 <span class="keywordtype">double</span> tmpStat (0.);
|
||||
<a name="l00069"></a>00069 <a class="codeRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html#d0e91aa4f66711e52fca9be470ce21b7">eoStat<eoVRP, double>::value</a> () = tmpStat;
|
||||
<a name="l00070"></a>00070
|
||||
<a name="l00071"></a>00071 }
|
||||
<a name="l00072"></a>00072
|
||||
<a name="l00073"></a>00073
|
||||
<a name="l00079"></a><a class="code" href="classeo_v_r_p_stat.html#61d9ece1bde19f4cd997c3aba075d8e7">00079</a> <span class="keyword">virtual</span> std::string <a class="code" href="classeo_v_r_p_stat.html#61d9ece1bde19f4cd997c3aba075d8e7">className</a> (<span class="keywordtype">void</span>)<span class="keyword"> const </span>{
|
||||
<a name="l00080"></a>00080
|
||||
<a name="l00081"></a>00081 <span class="keywordflow">return</span> <span class="stringliteral">"eoVRPStat"</span>;
|
||||
<a name="l00082"></a>00082
|
||||
<a name="l00083"></a>00083 }
|
||||
<a name="l00084"></a>00084
|
||||
<a name="l00085"></a>00085
|
||||
<a name="l00086"></a>00086 <span class="keyword">private</span>:
|
||||
<a name="l00087"></a>00087
|
||||
<a name="l00088"></a>00088 };
|
||||
<a name="l00089"></a>00089
|
||||
<a name="l00090"></a>00090 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,249 @@
|
|||
<!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>CVRP-TW: eoVRPUtils.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="namespaces.html"><span>Namespaces</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>eoVRPUtils.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007</span>
|
||||
<a name="l00003"></a>00003 <span class="comment"> * (C) OPAC Team, LIFL, 2002-2007</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> *</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * (c) Antonio LaTorre <atorre@fi.upm.es>, 2007</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * This software is governed by the CeCILL license under French law and</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * abiding by the rules of distribution of free software. You can use,</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * modify and/ or redistribute the software under the terms of the CeCILL</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * license as circulated by CEA, CNRS and INRIA at the following URL</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * "http://www.cecill.info".</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> *</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * As a counterpart to the access to the source code and rights to copy,</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * modify and redistribute granted by the license, users are provided only</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * with a limited warranty and the software's author, the holder of the</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * economic rights, and the successive licensors have only limited liability.</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> *</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * In this respect, the user's attention is drawn to the risks associated</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * with loading, using, modifying and/or developing or reproducing the</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * software by the user in light of its specific status of free software,</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> * that may mean that it is complicated to manipulate, and that also</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * therefore means that it is reserved for developers and experienced</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> * professionals having in-depth computer knowledge. Users are therefore</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * encouraged to load and test the software's suitability as regards their</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * requirements in conditions enabling the security of their systems and/or</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * data to be ensured and, more generally, to use and operate it in the</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * same conditions as regards security.</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * The fact that you are presently reading this means that you have had</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * knowledge of the CeCILL license and that you accept its terms.</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> *</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> * ParadisEO WebSite : http://paradiseo.gforge.inria.fr</span>
|
||||
<a name="l00032"></a>00032 <span class="comment"> * Contact: paradiseo-help@lists.gforge.inria.fr</span>
|
||||
<a name="l00033"></a>00033 <span class="comment"> *</span>
|
||||
<a name="l00034"></a>00034 <span class="comment"> */</span>
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef eoVRPUtils_h</span>
|
||||
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define eoVRPUtils_h</span>
|
||||
<a name="l00038"></a>00038 <span class="preprocessor"></span>
|
||||
<a name="l00039"></a>00039 <span class="comment">// General includes</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor">#include <vector></span>
|
||||
<a name="l00041"></a>00041 <span class="preprocessor">#include <utility></span>
|
||||
<a name="l00042"></a>00042 <span class="preprocessor">#include <fstream></span>
|
||||
<a name="l00043"></a>00043 <span class="preprocessor">#include <iostream></span>
|
||||
<a name="l00044"></a>00044 <span class="preprocessor">#include <sstream></span>
|
||||
<a name="l00045"></a>00045 <span class="preprocessor">#include <math.h></span>
|
||||
<a name="l00046"></a>00046
|
||||
<a name="l00052"></a>00052 <span class="preprocessor">#define PI 3.14159265</span>
|
||||
<a name="l00053"></a>00053 <span class="preprocessor"></span>
|
||||
<a name="l00060"></a>00060 <span class="preprocessor">#define VEHICLE_CAPACITY 200</span>
|
||||
<a name="l00061"></a>00061 <span class="preprocessor"></span>
|
||||
<a name="l00062"></a>00062
|
||||
<a name="l00063"></a>00063 <span class="keyword">typedef</span> std::vector<int> Route;
|
||||
<a name="l00064"></a>00064 <span class="keyword">typedef</span> std::vector< Route > Routes;
|
||||
<a name="l00065"></a>00065
|
||||
<a name="l00066"></a>00066
|
||||
<a name="l00072"></a>00072 <span class="keyword">namespace </span>eoVRPUtils {
|
||||
<a name="l00073"></a>00073
|
||||
<a name="l00086"></a><a class="code" href="structeo_v_r_p_utils_1_1_client_data.html">00086</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structeo_v_r_p_utils_1_1_client_data.html">ClientData</a> {
|
||||
<a name="l00087"></a>00087
|
||||
<a name="l00088"></a><a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#c6496a0fce64b8b6babe12b2446c1050">00088</a> <span class="keywordtype">unsigned</span> <a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#c6496a0fce64b8b6babe12b2446c1050">id</a>;
|
||||
<a name="l00089"></a><a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#fb30df4148eb916a1785ecd823b02316">00089</a> <span class="keywordtype">double</span> <a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#fb30df4148eb916a1785ecd823b02316">x</a>;
|
||||
<a name="l00090"></a><a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#3164fdd2b99e9b3c565ba3f8ff05c0da">00090</a> <span class="keywordtype">double</span> <a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#3164fdd2b99e9b3c565ba3f8ff05c0da">y</a>;
|
||||
<a name="l00091"></a><a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#3834669c3b0da0592c20a2349b1284cb">00091</a> <span class="keywordtype">double</span> <a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#3834669c3b0da0592c20a2349b1284cb">demand</a>;
|
||||
<a name="l00092"></a><a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#d9f6b6b3a9e7431145f6049f13e90255">00092</a> <span class="keywordtype">double</span> <a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#d9f6b6b3a9e7431145f6049f13e90255">readyTime</a>;
|
||||
<a name="l00093"></a><a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#2e8c450e35be04f80c4949f6efaac618">00093</a> <span class="keywordtype">double</span> <a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#2e8c450e35be04f80c4949f6efaac618">dueTime</a>;
|
||||
<a name="l00094"></a><a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#515b7488b4c4f6e1806b7a9606ab1cc3">00094</a> <span class="keywordtype">double</span> <a class="code" href="structeo_v_r_p_utils_1_1_client_data.html#515b7488b4c4f6e1806b7a9606ab1cc3">serviceTime</a>;
|
||||
<a name="l00096"></a>00096 } <a class="code" href="structeo_v_r_p_utils_1_1_client_data.html">ClientDataT</a>;
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00098"></a>00098
|
||||
<a name="l00099"></a><a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">00099</a> <span class="keyword">static</span> std::vector <ClientDataT> <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a>;
|
||||
<a name="l00100"></a><a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">00100</a> <span class="keyword">static</span> std::vector <std::vector <double> > <a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a>;
|
||||
<a name="l00108"></a><a class="code" href="namespaceeo_v_r_p_utils.html#f09f4dc5739c56f1a30a3ae8532502d3">00108</a> <span class="keywordtype">void</span> <a class="code" href="namespaceeo_v_r_p_utils.html#f09f4dc5739c56f1a30a3ae8532502d3">computeDistances</a> () {
|
||||
<a name="l00109"></a>00109
|
||||
<a name="l00110"></a>00110 <span class="keywordtype">unsigned</span> numClients = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a>.size ();
|
||||
<a name="l00111"></a>00111
|
||||
<a name="l00112"></a>00112 <a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a>.resize (numClients) ;
|
||||
<a name="l00113"></a>00113
|
||||
<a name="l00114"></a>00114 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < <a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a>.size (); i ++)
|
||||
<a name="l00115"></a>00115 <a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a> [i].resize (numClients);
|
||||
<a name="l00116"></a>00116
|
||||
<a name="l00117"></a>00117 <span class="comment">// Distances computation</span>
|
||||
<a name="l00118"></a>00118 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < <a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a>.size (); i ++)
|
||||
<a name="l00119"></a>00119 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> j = i + 1 ; j < <a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a>.size (); j ++) {
|
||||
<a name="l00120"></a>00120
|
||||
<a name="l00121"></a>00121 <span class="keywordtype">double</span> distX = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [i].x - <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [j].x;
|
||||
<a name="l00122"></a>00122 <span class="keywordtype">double</span> distY = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [i].y - <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [j].y;
|
||||
<a name="l00123"></a>00123
|
||||
<a name="l00124"></a>00124 <a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a> [i][j] = <a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a> [j][i] = sqrt (distX * distX + distY * distY);
|
||||
<a name="l00125"></a>00125
|
||||
<a name="l00126"></a>00126 }
|
||||
<a name="l00127"></a>00127
|
||||
<a name="l00128"></a>00128 }
|
||||
<a name="l00129"></a>00129
|
||||
<a name="l00130"></a>00130
|
||||
<a name="l00139"></a><a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">00139</a> <span class="keywordtype">void</span> <a class="code" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">getTimeWindow</a> (<span class="keywordtype">unsigned</span> _client, <span class="keywordtype">double</span>& _readyTime, <span class="keywordtype">double</span>& _dueTime, <span class="keywordtype">double</span>& _serviceTime) {
|
||||
<a name="l00140"></a>00140
|
||||
<a name="l00141"></a>00141 assert (_client >= 0 && _client < <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a>.size ());
|
||||
<a name="l00142"></a>00142
|
||||
<a name="l00143"></a>00143 _readyTime = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [_client].readyTime;
|
||||
<a name="l00144"></a>00144 _dueTime = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [_client].dueTime;
|
||||
<a name="l00145"></a>00145 _serviceTime = <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [_client].serviceTime;
|
||||
<a name="l00146"></a>00146
|
||||
<a name="l00147"></a>00147 }
|
||||
<a name="l00148"></a>00148
|
||||
<a name="l00149"></a>00149
|
||||
<a name="l00157"></a><a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">00157</a> <span class="keywordtype">float</span> <a class="code" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">distance</a> (<span class="keywordtype">unsigned</span> _from, <span class="keywordtype">unsigned</span> _to) {
|
||||
<a name="l00158"></a>00158
|
||||
<a name="l00159"></a>00159 assert (_from >= 0 && _from < <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a>.size ());
|
||||
<a name="l00160"></a>00160 assert (_to >= 0 && _to < <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a>.size ());
|
||||
<a name="l00161"></a>00161
|
||||
<a name="l00162"></a>00162 <span class="keywordflow">return</span> <a class="code" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a> [_from][_to];
|
||||
<a name="l00163"></a>00163
|
||||
<a name="l00164"></a>00164 }
|
||||
<a name="l00165"></a>00165
|
||||
<a name="l00166"></a>00166
|
||||
<a name="l00174"></a><a class="code" href="namespaceeo_v_r_p_utils.html#4d6ec814ae3e31508ebc6f51eeefb8a7">00174</a> <span class="keywordtype">float</span> <a class="code" href="namespaceeo_v_r_p_utils.html#4d6ec814ae3e31508ebc6f51eeefb8a7">polarAngle</a> (<span class="keywordtype">unsigned</span> _from, <span class="keywordtype">unsigned</span> _to) {
|
||||
<a name="l00175"></a>00175
|
||||
<a name="l00176"></a>00176 assert (_from >= 0 && _from < <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a>.size ());
|
||||
<a name="l00177"></a>00177 assert (_to >= 0 && _to < <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a>.size ());
|
||||
<a name="l00178"></a>00178
|
||||
<a name="l00179"></a>00179 <span class="keywordtype">double</span> angle = atan2 (<a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [_from].y - <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [_to].y,
|
||||
<a name="l00180"></a>00180 <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [_from].x - <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a> [_to].x);
|
||||
<a name="l00181"></a>00181
|
||||
<a name="l00182"></a>00182 <span class="comment">// To convert it from radians to degrees</span>
|
||||
<a name="l00183"></a>00183 angle *= 180 / PI;
|
||||
<a name="l00184"></a>00184
|
||||
<a name="l00185"></a>00185 <span class="keywordflow">if</span> (angle < 0)
|
||||
<a name="l00186"></a>00186 angle *= -1;
|
||||
<a name="l00187"></a>00187
|
||||
<a name="l00188"></a>00188 <span class="keywordflow">return</span> angle;
|
||||
<a name="l00189"></a>00189
|
||||
<a name="l00190"></a>00190 }
|
||||
<a name="l00191"></a>00191
|
||||
<a name="l00192"></a>00192
|
||||
<a name="l00199"></a><a class="code" href="namespaceeo_v_r_p_utils.html#3ce087ce36a197c4fce6419e71ae3d41">00199</a> <span class="keywordtype">void</span> <a class="code" href="namespaceeo_v_r_p_utils.html#3ce087ce36a197c4fce6419e71ae3d41">load</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* _fileName) {
|
||||
<a name="l00200"></a>00200
|
||||
<a name="l00201"></a>00201 std::ifstream f (_fileName);
|
||||
<a name="l00202"></a>00202
|
||||
<a name="l00203"></a>00203 <span class="keywordflow">if</span> (f) {
|
||||
<a name="l00204"></a>00204
|
||||
<a name="l00205"></a>00205 <span class="keywordflow">while</span> (!f.eof ()) {
|
||||
<a name="l00206"></a>00206
|
||||
<a name="l00207"></a>00207 <a class="code" href="structeo_v_r_p_utils_1_1_client_data.html">ClientDataT</a> client;
|
||||
<a name="l00208"></a>00208
|
||||
<a name="l00209"></a>00209 f >> client.id;
|
||||
<a name="l00210"></a>00210 f >> client.x;
|
||||
<a name="l00211"></a>00211 f >> client.y;
|
||||
<a name="l00212"></a>00212 f >> client.demand;
|
||||
<a name="l00213"></a>00213 f >> client.readyTime;
|
||||
<a name="l00214"></a>00214 f >> client.dueTime;
|
||||
<a name="l00215"></a>00215 f >> client.serviceTime;
|
||||
<a name="l00216"></a>00216
|
||||
<a name="l00217"></a>00217 <a class="code" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a>.push_back (client);
|
||||
<a name="l00218"></a>00218
|
||||
<a name="l00219"></a>00219 }
|
||||
<a name="l00220"></a>00220
|
||||
<a name="l00221"></a>00221 f.close ();
|
||||
<a name="l00222"></a>00222
|
||||
<a name="l00223"></a>00223 <a class="code" href="namespaceeo_v_r_p_utils.html#f09f4dc5739c56f1a30a3ae8532502d3">computeDistances</a> ();
|
||||
<a name="l00224"></a>00224
|
||||
<a name="l00225"></a>00225 }
|
||||
<a name="l00226"></a>00226 <span class="keywordflow">else</span> {
|
||||
<a name="l00227"></a>00227
|
||||
<a name="l00228"></a>00228 std::cerr << <span class="stringliteral">"Error: the file: "</span> << _fileName << <span class="stringliteral">" doesn't exist !!!"</span> << std::endl ;
|
||||
<a name="l00229"></a>00229 exit (1);
|
||||
<a name="l00230"></a>00230
|
||||
<a name="l00231"></a>00231 }
|
||||
<a name="l00232"></a>00232
|
||||
<a name="l00233"></a>00233 }
|
||||
<a name="l00234"></a>00234
|
||||
<a name="l00235"></a>00235
|
||||
<a name="l00241"></a><a class="code" href="namespaceeo_v_r_p_utils.html#98b134f2b63fe5ed3155b0379a5fb912">00241</a> <span class="keywordtype">void</span> <a class="code" href="namespaceeo_v_r_p_utils.html#98b134f2b63fe5ed3155b0379a5fb912">printRoute</a> (<span class="keyword">const</span> Route& _route) {
|
||||
<a name="l00242"></a>00242
|
||||
<a name="l00243"></a>00243 std::cout << <span class="stringliteral">"["</span>;
|
||||
<a name="l00244"></a>00244
|
||||
<a name="l00245"></a>00245 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < _route.size (); i++) {
|
||||
<a name="l00246"></a>00246
|
||||
<a name="l00247"></a>00247 std::cout << _route [i];
|
||||
<a name="l00248"></a>00248
|
||||
<a name="l00249"></a>00249 <span class="keywordflow">if</span> (i != _route.size () -1)
|
||||
<a name="l00250"></a>00250 std::cout << <span class="stringliteral">", "</span>;
|
||||
<a name="l00251"></a>00251
|
||||
<a name="l00252"></a>00252 }
|
||||
<a name="l00253"></a>00253
|
||||
<a name="l00254"></a>00254 std::cout << <span class="stringliteral">"]"</span>;
|
||||
<a name="l00255"></a>00255
|
||||
<a name="l00256"></a>00256 }
|
||||
<a name="l00257"></a>00257
|
||||
<a name="l00258"></a>00258
|
||||
<a name="l00264"></a><a class="code" href="namespaceeo_v_r_p_utils.html#57f6a32cc66da26d57459a1560e6ee5d">00264</a> <span class="keywordtype">void</span> <a class="code" href="namespaceeo_v_r_p_utils.html#57f6a32cc66da26d57459a1560e6ee5d">printRoutes</a> (Routes& _routes) {
|
||||
<a name="l00265"></a>00265
|
||||
<a name="l00266"></a>00266 std::cout << <span class="stringliteral">"["</span>;
|
||||
<a name="l00267"></a>00267
|
||||
<a name="l00268"></a>00268 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < _routes.size (); i++) {
|
||||
<a name="l00269"></a>00269
|
||||
<a name="l00270"></a>00270 std::cout << <span class="stringliteral">"["</span>;
|
||||
<a name="l00271"></a>00271
|
||||
<a name="l00272"></a>00272 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> j = 0; j < _routes [i].size (); j++) {
|
||||
<a name="l00273"></a>00273
|
||||
<a name="l00274"></a>00274 std::cout << _routes [i][j];
|
||||
<a name="l00275"></a>00275
|
||||
<a name="l00276"></a>00276 <span class="keywordflow">if</span> (j != _routes [i].size () -1)
|
||||
<a name="l00277"></a>00277 std::cout << <span class="stringliteral">", "</span>;
|
||||
<a name="l00278"></a>00278
|
||||
<a name="l00279"></a>00279 }
|
||||
<a name="l00280"></a>00280
|
||||
<a name="l00281"></a>00281 <span class="keywordflow">if</span> (i == _routes.size () -1)
|
||||
<a name="l00282"></a>00282 std::cout << <span class="stringliteral">"]"</span>;
|
||||
<a name="l00283"></a>00283 <span class="keywordflow">else</span>
|
||||
<a name="l00284"></a>00284 std::cout << <span class="stringliteral">"],"</span> << std::endl;
|
||||
<a name="l00285"></a>00285 }
|
||||
<a name="l00286"></a>00286
|
||||
<a name="l00287"></a>00287 std::cout << <span class="stringliteral">"]"</span>;
|
||||
<a name="l00288"></a>00288
|
||||
<a name="l00289"></a>00289 }
|
||||
<a name="l00290"></a>00290
|
||||
<a name="l00291"></a>00291
|
||||
<a name="l00292"></a>00292 };
|
||||
<a name="l00293"></a>00293
|
||||
<a name="l00294"></a>00294 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
<!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>CVRP-TW: File Index</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="namespaces.html"><span>Namespaces</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>CVRP-TW File List</h1>Here is a list of all documented files with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><b>eoVRP.h</b> <a href="eo_v_r_p_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><b>eoVRPEvalFunc.h</b> <a href="eo_v_r_p_eval_func_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><b>eoVRPInit.h</b> <a href="eo_v_r_p_init_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><b>eoVRPMutation.h</b> <a href="eo_v_r_p_mutation_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><b>eoVRPQuadCrossover.h</b> <a href="eo_v_r_p_quad_crossover_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><b>eoVRPStat.h</b> <a href="eo_v_r_p_stat_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><b>eoVRPUtils.h</b> <a href="eo_v_r_p_utils_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><b>index.h</b> <a href="index_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 174 B |
|
After Width: | Height: | Size: 255 B |
|
After Width: | Height: | Size: 259 B |
|
After Width: | Height: | Size: 261 B |
|
After Width: | Height: | Size: 233 B |
|
After Width: | Height: | Size: 358 B |
|
After Width: | Height: | Size: 160 B |
|
After Width: | Height: | Size: 194 B |
|
After Width: | Height: | Size: 235 B |
|
After Width: | Height: | Size: 165 B |
|
After Width: | Height: | Size: 200 B |
|
After Width: | Height: | Size: 229 B |
|
|
@ -0,0 +1,150 @@
|
|||
<!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>CVRP-TW: Class Members</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_c"><span>c</span></a></li>
|
||||
<li><a href="#index_d"><span>d</span></a></li>
|
||||
<li><a href="#index_e"><span>e</span></a></li>
|
||||
<li><a href="#index_g"><span>g</span></a></li>
|
||||
<li><a href="#index_h"><span>h</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_l"><span>l</span></a></li>
|
||||
<li><a href="#index_m"><span>m</span></a></li>
|
||||
<li><a href="#index_o"><span>o</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_r"><span>r</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li><a href="#index_x"><span>x</span></a></li>
|
||||
<li><a href="#index_y"><span>y</span></a></li>
|
||||
<li><a href="#index_~"><span>~</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Here is a list of all documented class members with links to the class documentation for each member:
|
||||
<p>
|
||||
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
|
||||
<li>add_vertex()
|
||||
: <a class="el" href="classeo_v_r_p_edge_crossover.html#7917ea1dec6221f71127c6fae9515e68">eoVRPEdgeCrossover</a></ul>
|
||||
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
|
||||
<li>className()
|
||||
: <a class="el" href="classeo_v_r_p_stat.html#61d9ece1bde19f4cd997c3aba075d8e7">eoVRPStat</a>, <a class="el" href="classeo_v_r_p_edge_crossover.html#8b2a199b70442852f93b2a34a42cf1e4">eoVRPEdgeCrossover</a>, <a class="el" href="classeo_v_r_p_one_point_crossover.html#a62bc52e6f36d7fae7c192173fbfd2dc">eoVRPOnePointCrossover</a>, <a class="el" href="classeo_v_r_p_generic_crossover.html#7740db73b7151dab52df9d50f5366429">eoVRPGenericCrossover</a>, <a class="el" href="classeo_v_r_p_mutation.html#1c99e21818d6bae1cdd21b4180601d41">eoVRPMutation</a>, <a class="el" href="classeo_v_r_p.html#8c7f524cf34787f9ec26ffcc420565c5">eoVRP</a><li>clean()
|
||||
: <a class="el" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">eoVRP</a><li>cleanRoutes()
|
||||
: <a class="el" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">eoVRP</a><li>createNewRoute()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#ff7c0bf38bdd70d6f9d561479ec4f48a">eoVRPInit</a></ul>
|
||||
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
|
||||
<li>decode()
|
||||
: <a class="el" href="classeo_v_r_p.html#fdfd2633515baa85c3fdaf39be6dea5c">eoVRP</a><li>decoded()
|
||||
: <a class="el" href="classeo_v_r_p.html#e188fadc91b4ee256e144ac86ee80a40">eoVRP</a><li>demand
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#3834669c3b0da0592c20a2349b1284cb">eoVRPUtils::ClientData</a><li>DisplacementMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#b6b7e818085f6ba03d64f045f32356be">eoVRPMutation</a><li>dueTime
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#2e8c450e35be04f80c4949f6efaac618">eoVRPUtils::ClientData</a></ul>
|
||||
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
|
||||
<li>EdgeCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_edge_crossover.html#389bd29cab9e12915d0d5c4af80343d7">eoVRPEdgeCrossover</a><li>encode()
|
||||
: <a class="el" href="classeo_v_r_p.html#b56c820bff344b4cd7338628a6f8f083">eoVRP</a><li>eoVRP()
|
||||
: <a class="el" href="classeo_v_r_p.html#1733318610dff5f47ac7d1272a4b4fb1">eoVRP</a><li>eoVRPEdgeCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_edge_crossover.html#1cec73fc43837a61b6c97812dd57891b">eoVRPEdgeCrossover</a><li>eoVRPEvalFunc()
|
||||
: <a class="el" href="classeo_v_r_p_eval_func.html#9746622fd0ae11ae58261b0711b7918c">eoVRPEvalFunc</a><li>eoVRPGenericCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_generic_crossover.html#63e5fb734c46be62a12f6799e34cebe4">eoVRPGenericCrossover</a><li>eoVRPInit()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#a620d4fa1b930b1fd8b491f1ef5c72fd">eoVRPInit</a><li>eoVRPMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#419ac5c738369876de09212a844e67c3">eoVRPMutation</a><li>eoVRPOnePointCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_one_point_crossover.html#24f40efc1adb60947c5d533653bbfbe9">eoVRPOnePointCrossover</a><li>eoVRPStat()
|
||||
: <a class="el" href="classeo_v_r_p_stat.html#a326e09d7efebb4c572ea51ae517e058">eoVRPStat</a><li>evaluateInsertion()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#82f2bb762d8f5da85febd266fb75a29b">eoVRPInit</a></ul>
|
||||
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
|
||||
<li>GenericCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_generic_crossover.html#543ba6869b93a3f9f709045b7e24d74a">eoVRPGenericCrossover</a></ul>
|
||||
<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
|
||||
<li>HeuristicInitialization()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#af5946da88fb14494cb23dc21d167866">eoVRPInit</a></ul>
|
||||
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
|
||||
<li>id
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#c6496a0fce64b8b6babe12b2446c1050">eoVRPUtils::ClientData</a><li>insertionMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#6ead0938bb1f8ab34c321916a6dd5b66">eoVRPMutation</a><li>inversionMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#61cc39a190e9d070b005a7afb5e38d2a">eoVRPMutation</a></ul>
|
||||
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
|
||||
<li>length()
|
||||
: <a class="el" href="classeo_v_r_p.html#e4d189ca6349a875ae8d6fd9c7fe2491">eoVRP</a></ul>
|
||||
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
|
||||
<li>mLength
|
||||
: <a class="el" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">eoVRP</a><li>mRoutes
|
||||
: <a class="el" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">eoVRP</a><li>mSeedsUsed
|
||||
: <a class="el" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">eoVRPInit</a><li>mSeedsUsedCount
|
||||
: <a class="el" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">eoVRPInit</a></ul>
|
||||
<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
|
||||
<li>operator()()
|
||||
: <a class="el" href="classeo_v_r_p_stat.html#5e773fab9c82e0a06d075af4be265d1e">eoVRPStat</a>, <a class="el" href="classeo_v_r_p_edge_crossover.html#518856969ec708a73e728d36ddf01d1b">eoVRPEdgeCrossover</a>, <a class="el" href="classeo_v_r_p_one_point_crossover.html#b930b5d9a8ee0719f675f9eea791579b">eoVRPOnePointCrossover</a>, <a class="el" href="classeo_v_r_p_generic_crossover.html#d7d3b19562b071bd50dd4d831e447d0c">eoVRPGenericCrossover</a>, <a class="el" href="classeo_v_r_p_mutation.html#f9fabdc8497f463add309fdace102813">eoVRPMutation</a>, <a class="el" href="classeo_v_r_p_init.html#8bc4f6fb201b09dd882d721d2cfef8ce">eoVRPInit</a>, <a class="el" href="classeo_v_r_p_eval_func.html#840c1a7d38dbdeb40e283df3be42aa48">eoVRPEvalFunc</a><li>operator=()
|
||||
: <a class="el" href="classeo_v_r_p.html#c0fcb2c17f849bfa61dd5d7ff072e0e4">eoVRP</a></ul>
|
||||
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
|
||||
<li>printAllOn()
|
||||
: <a class="el" href="classeo_v_r_p.html#738f0aa43d8608cc68e41b1d3f8c944d">eoVRP</a><li>printOn()
|
||||
: <a class="el" href="classeo_v_r_p.html#dc4cb13768ef1a2c810d4d298b36707c">eoVRP</a><li>printRoute()
|
||||
: <a class="el" href="classeo_v_r_p.html#ec256ed5b3b15b6d220494015e2aba93">eoVRP</a><li>printRoutes()
|
||||
: <a class="el" href="classeo_v_r_p.html#2a4c249cc6b15819c48c9210db385dc7">eoVRP</a></ul>
|
||||
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
|
||||
<li>RandomInitializationNoCheck()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#008ae39692b67ef0b25aed89075b1d46">eoVRPInit</a><li>readFrom()
|
||||
: <a class="el" href="classeo_v_r_p.html#fdb87ffaf7ac95988e8896bb896183cc">eoVRP</a><li>readyTime
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#d9f6b6b3a9e7431145f6049f13e90255">eoVRPUtils::ClientData</a><li>remove_entry()
|
||||
: <a class="el" href="classeo_v_r_p_edge_crossover.html#df9886f80565a966c78fb5a08e12631f">eoVRPEdgeCrossover</a><li>routes()
|
||||
: <a class="el" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">eoVRP</a></ul>
|
||||
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
|
||||
<li>selectBestClientAsSeed()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#dd681a23869f69438120ee2d82f85e94">eoVRPInit</a><li>selectBestInsertion()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#7f07be1f3a027dc56af84bb46828ddda">eoVRPInit</a><li>selectCheapestClient()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#0bb48de33e92c2b6a386e28d5b759f4b">eoVRPInit</a><li>selectFarthestClientAsSeed()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#a24867d25a6c9911e9b5c9eb1b4b650d">eoVRPInit</a><li>serviceTime
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#515b7488b4c4f6e1806b7a9606ab1cc3">eoVRPUtils::ClientData</a><li>swapMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#bef9736583de0b7f6e734b26483ab69d">eoVRPMutation</a></ul>
|
||||
<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
|
||||
<li>x
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#fb30df4148eb916a1785ecd823b02316">eoVRPUtils::ClientData</a></ul>
|
||||
<h3><a class="anchor" name="index_y">- y -</a></h3><ul>
|
||||
<li>y
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#3164fdd2b99e9b3c565ba3f8ff05c0da">eoVRPUtils::ClientData</a></ul>
|
||||
<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
|
||||
<li>~eoVRP()
|
||||
: <a class="el" href="classeo_v_r_p.html#dedbd3437656d5dacafab6652219c8e2">eoVRP</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
<!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>CVRP-TW: Class Members - Functions</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_c"><span>c</span></a></li>
|
||||
<li><a href="#index_d"><span>d</span></a></li>
|
||||
<li><a href="#index_e"><span>e</span></a></li>
|
||||
<li><a href="#index_g"><span>g</span></a></li>
|
||||
<li><a href="#index_h"><span>h</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_l"><span>l</span></a></li>
|
||||
<li><a href="#index_o"><span>o</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_r"><span>r</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li><a href="#index_~"><span>~</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
|
||||
<li>add_vertex()
|
||||
: <a class="el" href="classeo_v_r_p_edge_crossover.html#7917ea1dec6221f71127c6fae9515e68">eoVRPEdgeCrossover</a></ul>
|
||||
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
|
||||
<li>className()
|
||||
: <a class="el" href="classeo_v_r_p_stat.html#61d9ece1bde19f4cd997c3aba075d8e7">eoVRPStat</a>, <a class="el" href="classeo_v_r_p_edge_crossover.html#8b2a199b70442852f93b2a34a42cf1e4">eoVRPEdgeCrossover</a>, <a class="el" href="classeo_v_r_p_one_point_crossover.html#a62bc52e6f36d7fae7c192173fbfd2dc">eoVRPOnePointCrossover</a>, <a class="el" href="classeo_v_r_p_generic_crossover.html#7740db73b7151dab52df9d50f5366429">eoVRPGenericCrossover</a>, <a class="el" href="classeo_v_r_p_mutation.html#1c99e21818d6bae1cdd21b4180601d41">eoVRPMutation</a>, <a class="el" href="classeo_v_r_p.html#8c7f524cf34787f9ec26ffcc420565c5">eoVRP</a><li>clean()
|
||||
: <a class="el" href="classeo_v_r_p.html#1c53a7a42174c7d40db92da644b25fec">eoVRP</a><li>cleanRoutes()
|
||||
: <a class="el" href="classeo_v_r_p.html#66fb699c1d34cac859406ad450be406a">eoVRP</a><li>createNewRoute()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#ff7c0bf38bdd70d6f9d561479ec4f48a">eoVRPInit</a></ul>
|
||||
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
|
||||
<li>decode()
|
||||
: <a class="el" href="classeo_v_r_p.html#fdfd2633515baa85c3fdaf39be6dea5c">eoVRP</a><li>decoded()
|
||||
: <a class="el" href="classeo_v_r_p.html#e188fadc91b4ee256e144ac86ee80a40">eoVRP</a><li>DisplacementMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#b6b7e818085f6ba03d64f045f32356be">eoVRPMutation</a></ul>
|
||||
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
|
||||
<li>EdgeCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_edge_crossover.html#389bd29cab9e12915d0d5c4af80343d7">eoVRPEdgeCrossover</a><li>encode()
|
||||
: <a class="el" href="classeo_v_r_p.html#b56c820bff344b4cd7338628a6f8f083">eoVRP</a><li>eoVRP()
|
||||
: <a class="el" href="classeo_v_r_p.html#1733318610dff5f47ac7d1272a4b4fb1">eoVRP</a><li>eoVRPEdgeCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_edge_crossover.html#1cec73fc43837a61b6c97812dd57891b">eoVRPEdgeCrossover</a><li>eoVRPEvalFunc()
|
||||
: <a class="el" href="classeo_v_r_p_eval_func.html#9746622fd0ae11ae58261b0711b7918c">eoVRPEvalFunc</a><li>eoVRPGenericCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_generic_crossover.html#63e5fb734c46be62a12f6799e34cebe4">eoVRPGenericCrossover</a><li>eoVRPInit()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#a620d4fa1b930b1fd8b491f1ef5c72fd">eoVRPInit</a><li>eoVRPMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#419ac5c738369876de09212a844e67c3">eoVRPMutation</a><li>eoVRPOnePointCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_one_point_crossover.html#24f40efc1adb60947c5d533653bbfbe9">eoVRPOnePointCrossover</a><li>eoVRPStat()
|
||||
: <a class="el" href="classeo_v_r_p_stat.html#a326e09d7efebb4c572ea51ae517e058">eoVRPStat</a><li>evaluateInsertion()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#82f2bb762d8f5da85febd266fb75a29b">eoVRPInit</a></ul>
|
||||
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
|
||||
<li>GenericCrossover()
|
||||
: <a class="el" href="classeo_v_r_p_generic_crossover.html#543ba6869b93a3f9f709045b7e24d74a">eoVRPGenericCrossover</a></ul>
|
||||
<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
|
||||
<li>HeuristicInitialization()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#af5946da88fb14494cb23dc21d167866">eoVRPInit</a></ul>
|
||||
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
|
||||
<li>insertionMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#6ead0938bb1f8ab34c321916a6dd5b66">eoVRPMutation</a><li>inversionMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#61cc39a190e9d070b005a7afb5e38d2a">eoVRPMutation</a></ul>
|
||||
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
|
||||
<li>length()
|
||||
: <a class="el" href="classeo_v_r_p.html#e4d189ca6349a875ae8d6fd9c7fe2491">eoVRP</a></ul>
|
||||
<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
|
||||
<li>operator()()
|
||||
: <a class="el" href="classeo_v_r_p_stat.html#5e773fab9c82e0a06d075af4be265d1e">eoVRPStat</a>, <a class="el" href="classeo_v_r_p_edge_crossover.html#518856969ec708a73e728d36ddf01d1b">eoVRPEdgeCrossover</a>, <a class="el" href="classeo_v_r_p_one_point_crossover.html#b930b5d9a8ee0719f675f9eea791579b">eoVRPOnePointCrossover</a>, <a class="el" href="classeo_v_r_p_generic_crossover.html#d7d3b19562b071bd50dd4d831e447d0c">eoVRPGenericCrossover</a>, <a class="el" href="classeo_v_r_p_mutation.html#f9fabdc8497f463add309fdace102813">eoVRPMutation</a>, <a class="el" href="classeo_v_r_p_init.html#8bc4f6fb201b09dd882d721d2cfef8ce">eoVRPInit</a>, <a class="el" href="classeo_v_r_p_eval_func.html#840c1a7d38dbdeb40e283df3be42aa48">eoVRPEvalFunc</a><li>operator=()
|
||||
: <a class="el" href="classeo_v_r_p.html#c0fcb2c17f849bfa61dd5d7ff072e0e4">eoVRP</a></ul>
|
||||
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
|
||||
<li>printAllOn()
|
||||
: <a class="el" href="classeo_v_r_p.html#738f0aa43d8608cc68e41b1d3f8c944d">eoVRP</a><li>printOn()
|
||||
: <a class="el" href="classeo_v_r_p.html#dc4cb13768ef1a2c810d4d298b36707c">eoVRP</a><li>printRoute()
|
||||
: <a class="el" href="classeo_v_r_p.html#ec256ed5b3b15b6d220494015e2aba93">eoVRP</a><li>printRoutes()
|
||||
: <a class="el" href="classeo_v_r_p.html#2a4c249cc6b15819c48c9210db385dc7">eoVRP</a></ul>
|
||||
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
|
||||
<li>RandomInitializationNoCheck()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#008ae39692b67ef0b25aed89075b1d46">eoVRPInit</a><li>readFrom()
|
||||
: <a class="el" href="classeo_v_r_p.html#fdb87ffaf7ac95988e8896bb896183cc">eoVRP</a><li>remove_entry()
|
||||
: <a class="el" href="classeo_v_r_p_edge_crossover.html#df9886f80565a966c78fb5a08e12631f">eoVRPEdgeCrossover</a><li>routes()
|
||||
: <a class="el" href="classeo_v_r_p.html#0e000044813b4ebdd822e7e2f8540d8b">eoVRP</a></ul>
|
||||
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
|
||||
<li>selectBestClientAsSeed()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#dd681a23869f69438120ee2d82f85e94">eoVRPInit</a><li>selectBestInsertion()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#7f07be1f3a027dc56af84bb46828ddda">eoVRPInit</a><li>selectCheapestClient()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#0bb48de33e92c2b6a386e28d5b759f4b">eoVRPInit</a><li>selectFarthestClientAsSeed()
|
||||
: <a class="el" href="classeo_v_r_p_init.html#a24867d25a6c9911e9b5c9eb1b4b650d">eoVRPInit</a><li>swapMutation()
|
||||
: <a class="el" href="classeo_v_r_p_mutation.html#bef9736583de0b7f6e734b26483ab69d">eoVRPMutation</a></ul>
|
||||
<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
|
||||
<li>~eoVRP()
|
||||
: <a class="el" href="classeo_v_r_p.html#dedbd3437656d5dacafab6652219c8e2">eoVRP</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
<!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>CVRP-TW: Class Members - Variables</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>demand
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#3834669c3b0da0592c20a2349b1284cb">eoVRPUtils::ClientData</a><li>dueTime
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#2e8c450e35be04f80c4949f6efaac618">eoVRPUtils::ClientData</a><li>id
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#c6496a0fce64b8b6babe12b2446c1050">eoVRPUtils::ClientData</a><li>mLength
|
||||
: <a class="el" href="classeo_v_r_p.html#0e8c40e00bd835dd380d26d4a3abf544">eoVRP</a><li>mRoutes
|
||||
: <a class="el" href="classeo_v_r_p.html#ecbcda9f187d0d842c043544daa33558">eoVRP</a><li>mSeedsUsed
|
||||
: <a class="el" href="classeo_v_r_p_init.html#5e940cc7eec88f268e8eb72313212947">eoVRPInit</a><li>mSeedsUsedCount
|
||||
: <a class="el" href="classeo_v_r_p_init.html#b74e164ca817fe5615e9519ec671a356">eoVRPInit</a><li>readyTime
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#d9f6b6b3a9e7431145f6049f13e90255">eoVRPUtils::ClientData</a><li>serviceTime
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#515b7488b4c4f6e1806b7a9606ab1cc3">eoVRPUtils::ClientData</a><li>x
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#fb30df4148eb916a1785ecd823b02316">eoVRPUtils::ClientData</a><li>y
|
||||
: <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#3164fdd2b99e9b3c565ba3f8ff05c0da">eoVRPUtils::ClientData</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
<!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>CVRP-TW: Hierarchical Index</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li id="current"><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>CVRP-TW Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
|
||||
<li><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html">eoFunctorBase</a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF< EOType &, EOType &, bool ></a>
|
||||
<code> [external]</code><li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html">eoBF< eoVRP &, eoVRP &, bool ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp< eoVRP ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="el" href="classeo_v_r_p_edge_crossover.html">eoVRPEdgeCrossover</a>
|
||||
<li><a class="el" href="classeo_v_r_p_generic_crossover.html">eoVRPGenericCrossover</a>
|
||||
<li><a class="el" href="classeo_v_r_p_one_point_crossover.html">eoVRPOnePointCrossover</a>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< A1, R ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html">eoEvalFunc< eoVRP ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="el" href="classeo_v_r_p_eval_func.html">eoVRPEvalFunc</a>
|
||||
</ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_init.html">eoInit< eoVRP ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="el" href="classeo_v_r_p_init.html">eoVRPInit</a>
|
||||
</ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat_base.html">eoStatBase< EOT ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html">eoStat< eoVRP, double ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="el" href="classeo_v_r_p_stat.html">eoVRPStat</a>
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< EOType &, bool ></a>
|
||||
<code> [external]</code><li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html">eoUF< eoVRP &, bool ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp< eoVRP ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="el" href="classeo_v_r_p_mutation.html">eoVRPMutation</a>
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_object.html">eoObject</a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html">eoVector< eoMinimizingFitness, int ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="el" href="classeo_v_r_p.html">eoVRP</a>
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html">eoOp< EOType ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html">eoMonOp< eoVRP ></a>
|
||||
<code> [external]</code><li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html">eoQuadOp< eoVRP ></a>
|
||||
<code> [external]</code></ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html">eoParam</a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< double ></a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html">eoStat< eoVRP, double ></a>
|
||||
<code> [external]</code></ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html">eoValueParam< T ></a>
|
||||
<code> [external]</code></ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_printable.html">eoPrintable</a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_persistent.html">eoPersistent</a>
|
||||
<code> [external]</code><ul>
|
||||
<li><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html">EO< F ></a>
|
||||
<code> [external]</code></ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>CVRP-TW</title></head>
|
||||
<frameset cols="250,*">
|
||||
<frame src="tree.html" name="treefrm">
|
||||
<frame src="main.html" name="basefrm">
|
||||
</frameset>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<!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>CVRP-TW: index.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="namespaces.html"><span>Namespaces</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>index.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
117
contribution/trunk/combinatorial/routing/cvrptw/doc/html/installdox
Executable file
|
|
@ -0,0 +1,117 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
%subst = ( "eo.doxytag", "");
|
||||
$quiet = 0;
|
||||
|
||||
if (open(F,"search.cfg"))
|
||||
{
|
||||
$_=<F> ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_;
|
||||
$_=<F> ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_;
|
||||
}
|
||||
|
||||
while ( @ARGV ) {
|
||||
$_ = shift @ARGV;
|
||||
if ( s/^-// ) {
|
||||
if ( /^l(.*)/ ) {
|
||||
$v = ($1 eq "") ? shift @ARGV : $1;
|
||||
($v =~ /\/$/) || ($v .= "/");
|
||||
$_ = $v;
|
||||
if ( /(.+)\@(.+)/ ) {
|
||||
if ( exists $subst{$1} ) {
|
||||
$subst{$1} = $2;
|
||||
} else {
|
||||
print STDERR "Unknown tag file $1 given with option -l\n";
|
||||
&usage();
|
||||
}
|
||||
} else {
|
||||
print STDERR "Argument $_ is invalid for option -l\n";
|
||||
&usage();
|
||||
}
|
||||
}
|
||||
elsif ( /^q/ ) {
|
||||
$quiet = 1;
|
||||
}
|
||||
elsif ( /^\?|^h/ ) {
|
||||
&usage();
|
||||
}
|
||||
else {
|
||||
print STDERR "Illegal option -$_\n";
|
||||
&usage();
|
||||
}
|
||||
}
|
||||
else {
|
||||
push (@files, $_ );
|
||||
}
|
||||
}
|
||||
|
||||
foreach $sub (keys %subst)
|
||||
{
|
||||
if ( $subst{$sub} eq "" )
|
||||
{
|
||||
print STDERR "No substitute given for tag file `$sub'\n";
|
||||
&usage();
|
||||
}
|
||||
elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" )
|
||||
{
|
||||
print "Substituting $subst{$sub} for each occurence of tag file $sub\n";
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! @files ) {
|
||||
if (opendir(D,".")) {
|
||||
foreach $file ( readdir(D) ) {
|
||||
$match = ".html";
|
||||
next if ( $file =~ /^\.\.?$/ );
|
||||
($file =~ /$match/) && (push @files, $file);
|
||||
($file =~ "tree.js") && (push @files, $file);
|
||||
}
|
||||
closedir(D);
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! @files ) {
|
||||
print STDERR "Warning: No input files given and none found!\n";
|
||||
}
|
||||
|
||||
foreach $f (@files)
|
||||
{
|
||||
if ( ! $quiet ) {
|
||||
print "Editing: $f...\n";
|
||||
}
|
||||
$oldf = $f;
|
||||
$f .= ".bak";
|
||||
unless (rename $oldf,$f) {
|
||||
print STDERR "Error: cannot rename file $oldf\n";
|
||||
exit 1;
|
||||
}
|
||||
if (open(F,"<$f")) {
|
||||
unless (open(G,">$oldf")) {
|
||||
print STDERR "Error: opening file $oldf for writing\n";
|
||||
exit 1;
|
||||
}
|
||||
if ($oldf ne "tree.js") {
|
||||
while (<F>) {
|
||||
s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g;
|
||||
print G "$_";
|
||||
}
|
||||
}
|
||||
else {
|
||||
while (<F>) {
|
||||
s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g;
|
||||
print G "$_";
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
print STDERR "Warning file $f does not exist\n";
|
||||
}
|
||||
unlink $f;
|
||||
}
|
||||
|
||||
sub usage {
|
||||
print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n";
|
||||
print STDERR "Options:\n";
|
||||
print STDERR " -l tagfile\@linkName tag file + URL or directory \n";
|
||||
print STDERR " -q Quiet mode\n\n";
|
||||
exit 1;
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<!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>CVRP-TW: Welcome to PARADISEO - CVRP-TW contribution</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 id="current"><a href="main.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><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> <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>Welcome to PARADISEO - CVRP-TW contribution</h1>
|
||||
<p>
|
||||
<h3 align="center">1.0 </h3><h2><a class="anchor" name="Introduction">
|
||||
Introduction</a></h2>
|
||||
The capacitated vehicle routing problem with time windows or CVRP-TW is a combinatorial optimization problem seeking to service a number of customers with a fleet of vehicles where the vehicles have a mimited capacity and the delivery locations have time windows within which the deliveries (or visits) must be made. Often the context is that of delivering goods located at a central depot to customers who have placed orders for such goods. Implicit is the goal of minimizing the cost of distributing the goods. Finding the global minimum for the cost function, except for the smallest instances, is computationally complex.<h2><a class="anchor" name="authors">
|
||||
AUTHORS</a></h2>
|
||||
<table border="1" cellspacing="3" cellpadding="3">
|
||||
<tr>
|
||||
<td>Dolphin project-team INRIA Futurs, 2007. </td><td>Antonio LaTorre atorre[at]fi.upm.es </td><td>Thomas Legrand paradiseo-help[at]lists.gforge.inria.fr </td></tr>
|
||||
</table>
|
||||
<h2><a class="anchor" name="LICENSE">
|
||||
LICENSE</a></h2>
|
||||
This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".<p>
|
||||
As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.<p>
|
||||
In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security. The fact that you are presently reading this means that you have had knowledge of the CeCILL license and that you accept its terms.<p>
|
||||
ParadisEO WebSite : <a href="http://paradiseo.gforge.inria.fr">http://paradiseo.gforge.inria.fr</a> Contact: <a href="mailto:paradiseo-help@lists.gforge.inria.fr">paradiseo-help@lists.gforge.inria.fr</a><h2><a class="anchor" name="Paradiseo">
|
||||
Home Page</a></h2>
|
||||
<a href="http://paradiseo.gforge.inria.fr>">http://paradiseo.gforge.inria.fr</a> <hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,345 @@
|
|||
<!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>CVRP-TW: eoVRPUtils Namespace 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 Page</span></a></li>
|
||||
<li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPUtils Namespace Reference</h1>A set of structures and utility functions for the VRP-TW problem.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">ClientData</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Information regarding each client in the dataset. <a href="structeo_v_r_p_utils_1_1_client_data.html#_details">More...</a><br></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e63908fdf744829e9f781fbd4e84157"></a><!-- doxytag: member="eoVRPUtils::ClientDataT" ref="7e63908fdf744829e9f781fbd4e84157" args="" -->
|
||||
typedef <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#7e63908fdf744829e9f781fbd4e84157">ClientDataT</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Renaming of struct <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">ClientData</a>. <br></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#f09f4dc5739c56f1a30a3ae8532502d3">computeDistances</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the distance between two clients. <a href="#f09f4dc5739c56f1a30a3ae8532502d3"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">getTimeWindow</a> (unsigned _client, double &_readyTime, double &_dueTime, double &_serviceTime)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the time window information of a given client. <a href="#a2926351e32e88b8c477c15537c41e1c"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">distance</a> (unsigned _from, unsigned _to)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">A function to get the distance between two clients. <a href="#b9df85a56a60d65bc6c127b959319d7b"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#4d6ec814ae3e31508ebc6f51eeefb8a7">polarAngle</a> (unsigned _from, unsigned _to)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes de polar angle between clients. <a href="#4d6ec814ae3e31508ebc6f51eeefb8a7"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#3ce087ce36a197c4fce6419e71ae3d41">load</a> (const char *_fileName)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Loads the problem data from a given file. <a href="#3ce087ce36a197c4fce6419e71ae3d41"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#98b134f2b63fe5ed3155b0379a5fb912">printRoute</a> (const Route &_route)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Prints a route to the standard output. <a href="#98b134f2b63fe5ed3155b0379a5fb912"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#57f6a32cc66da26d57459a1560e6ee5d">printRoutes</a> (Routes &_routes)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Prints a set of routes to the standard output. <a href="#57f6a32cc66da26d57459a1560e6ee5d"></a><br></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cca56d985813005c1859bf4965b00308"></a><!-- doxytag: member="eoVRPUtils::clients" ref="cca56d985813005c1859bf4965b00308" args="" -->
|
||||
static std::vector< <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">ClientDataT</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">clients</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Vector to store clients's information. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e2976c5bc5da08aca013ebaf87196ee1"></a><!-- doxytag: member="eoVRPUtils::dist" ref="e2976c5bc5da08aca013ebaf87196ee1" args="" -->
|
||||
static std::vector< std::vector<<br>
|
||||
double > > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">dist</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance matrix. <br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
A set of structures and utility functions for the VRP-TW problem. <hr><h2>Function Documentation</h2>
|
||||
<a class="anchor" name="f09f4dc5739c56f1a30a3ae8532502d3"></a><!-- doxytag: member="eoVRPUtils::computeDistances" ref="f09f4dc5739c56f1a30a3ae8532502d3" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPUtils::computeDistances </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Computes the distance between two clients.
|
||||
<p>
|
||||
The computed distances will be stored in dist.
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_utils_8h-source.html#l00108">108</a> of file <a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">clients</a>, and <a class="el" href="eo_v_r_p_utils_8h-source.html#l00100">dist</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_utils_8h-source.html#l00199">load()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="a2926351e32e88b8c477c15537c41e1c"></a><!-- doxytag: member="eoVRPUtils::getTimeWindow" ref="a2926351e32e88b8c477c15537c41e1c" args="(unsigned _client, double &_readyTime, double &_dueTime, double &_serviceTime)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPUtils::getTimeWindow </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_client</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double & </td>
|
||||
<td class="paramname"> <em>_readyTime</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double & </td>
|
||||
<td class="paramname"> <em>_dueTime</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double & </td>
|
||||
<td class="paramname"> <em>_serviceTime</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Returns the time window information of a given client.
|
||||
<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>_client</em> </td><td>The client whose information we want to know. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_readyTime</em> </td><td>Return value. The beginning of the client's time window. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_dueTime</em> </td><td>Return value. The end of the client's time window. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_serviceTime</em> </td><td>Return value. The client's service time. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_utils_8h-source.html#l00139">139</a> of file <a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">clients</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_8h-source.html#l00334">eoVRP::decode()</a>, and <a class="el" href="eo_v_r_p_init_8h-source.html#l00308">eoVRPInit::evaluateInsertion()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="b9df85a56a60d65bc6c127b959319d7b"></a><!-- doxytag: member="eoVRPUtils::distance" ref="b9df85a56a60d65bc6c127b959319d7b" args="(unsigned _from, unsigned _to)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">float eoVRPUtils::distance </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_from</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_to</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
A function to get the distance between two clients.
|
||||
<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>_from</em> </td><td>The first client. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_to</em> </td><td>The second client. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>The distance between _from and _to. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_utils_8h-source.html#l00157">157</a> of file <a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">clients</a>, and <a class="el" href="eo_v_r_p_utils_8h-source.html#l00100">dist</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_8h-source.html#l00334">eoVRP::decode()</a>, <a class="el" href="eo_v_r_p_init_8h-source.html#l00308">eoVRPInit::evaluateInsertion()</a>, <a class="el" href="eo_v_r_p_init_8h-source.html#l00532">eoVRPInit::selectBestClientAsSeed()</a>, <a class="el" href="eo_v_r_p_init_8h-source.html#l00498">eoVRPInit::selectCheapestClient()</a>, and <a class="el" href="eo_v_r_p_init_8h-source.html#l00472">eoVRPInit::selectFarthestClientAsSeed()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="4d6ec814ae3e31508ebc6f51eeefb8a7"></a><!-- doxytag: member="eoVRPUtils::polarAngle" ref="4d6ec814ae3e31508ebc6f51eeefb8a7" args="(unsigned _from, unsigned _to)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">float eoVRPUtils::polarAngle </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_from</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">unsigned </td>
|
||||
<td class="paramname"> <em>_to</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Computes de polar angle between clients.
|
||||
<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>_from</em> </td><td>The first client. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>_to</em> </td><td>The second client. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>The polar angle between _from and _to. </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_utils_8h-source.html#l00174">174</a> of file <a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">clients</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="eo_v_r_p_init_8h-source.html#l00498">eoVRPInit::selectCheapestClient()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="3ce087ce36a197c4fce6419e71ae3d41"></a><!-- doxytag: member="eoVRPUtils::load" ref="3ce087ce36a197c4fce6419e71ae3d41" args="(const char *_fileName)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPUtils::load </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>_fileName</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Loads the problem data from a given file.
|
||||
<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>_fileName</em> </td><td>The file to load data from. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Warning:</b></dt><dd>No error check is performed! </dd></dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_utils_8h-source.html#l00199">199</a> of file <a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="eo_v_r_p_utils_8h-source.html#l00099">clients</a>, and <a class="el" href="eo_v_r_p_utils_8h-source.html#l00108">computeDistances()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="98b134f2b63fe5ed3155b0379a5fb912"></a><!-- doxytag: member="eoVRPUtils::printRoute" ref="98b134f2b63fe5ed3155b0379a5fb912" args="(const Route &_route)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPUtils::printRoute </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const Route & </td>
|
||||
<td class="paramname"> <em>_route</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Prints a route to the standard output.
|
||||
<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>_route</em> </td><td>The route to print. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_utils_8h-source.html#l00241">241</a> of file <a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="57f6a32cc66da26d57459a1560e6ee5d"></a><!-- doxytag: member="eoVRPUtils::printRoutes" ref="57f6a32cc66da26d57459a1560e6ee5d" args="(Routes &_routes)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void eoVRPUtils::printRoutes </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Routes & </td>
|
||||
<td class="paramname"> <em>_routes</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Prints a set of routes to the standard output.
|
||||
<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>_routes</em> </td><td>The set of routes to print. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_utils_8h-source.html#l00264">264</a> of file <a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<!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>CVRP-TW: Class Members</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 id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li id="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
Here is a list of all documented namespace members with links to the namespaces they belong to:
|
||||
<p>
|
||||
<ul>
|
||||
<li>ClientDataT
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#7e63908fdf744829e9f781fbd4e84157">eoVRPUtils</a><li>clients
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils</a><li>computeDistances()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#f09f4dc5739c56f1a30a3ae8532502d3">eoVRPUtils</a><li>dist
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">eoVRPUtils</a><li>distance()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils</a><li>getTimeWindow()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils</a><li>load()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#3ce087ce36a197c4fce6419e71ae3d41">eoVRPUtils</a><li>polarAngle()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#4d6ec814ae3e31508ebc6f51eeefb8a7">eoVRPUtils</a><li>printRoute()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#98b134f2b63fe5ed3155b0379a5fb912">eoVRPUtils</a><li>printRoutes()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#57f6a32cc66da26d57459a1560e6ee5d">eoVRPUtils</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<!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>CVRP-TW: Class Members</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 id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li id="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li id="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>computeDistances()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#f09f4dc5739c56f1a30a3ae8532502d3">eoVRPUtils</a><li>distance()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#b9df85a56a60d65bc6c127b959319d7b">eoVRPUtils</a><li>getTimeWindow()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#a2926351e32e88b8c477c15537c41e1c">eoVRPUtils</a><li>load()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#3ce087ce36a197c4fce6419e71ae3d41">eoVRPUtils</a><li>polarAngle()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#4d6ec814ae3e31508ebc6f51eeefb8a7">eoVRPUtils</a><li>printRoute()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#98b134f2b63fe5ed3155b0379a5fb912">eoVRPUtils</a><li>printRoutes()
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#57f6a32cc66da26d57459a1560e6ee5d">eoVRPUtils</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
<!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>CVRP-TW: Class Members</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 id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li id="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
<li id="current"><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>ClientDataT
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#7e63908fdf744829e9f781fbd4e84157">eoVRPUtils</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<!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>CVRP-TW: Class Members</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 id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li id="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
|
||||
<li id="current"><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>clients
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#cca56d985813005c1859bf4965b00308">eoVRPUtils</a><li>dist
|
||||
: <a class="el" href="namespaceeo_v_r_p_utils.html#e2976c5bc5da08aca013ebaf87196ee1">eoVRPUtils</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
<!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>CVRP-TW: Namespace Index</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 id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>CVRP-TW Namespace List</h1>Here is a list of all documented namespaces with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="namespaceeo_v_r_p_utils.html">eoVRPUtils</a></td><td class="indexvalue">A set of structures and utility functions for the VRP-TW problem </td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,382 @@
|
|||
<!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>Search</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="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><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> <u>S</u>earch for </label></td>
|
||||
|
||||
<?php
|
||||
|
||||
function search_results()
|
||||
{
|
||||
return "Search Results";
|
||||
}
|
||||
|
||||
function matches_text($num)
|
||||
{
|
||||
if ($num==0)
|
||||
{
|
||||
return "Sorry, no documents matching your query.";
|
||||
}
|
||||
else if ($num==1)
|
||||
{
|
||||
return "Found <b>1</b> document matching your query.";
|
||||
}
|
||||
else // $num>1
|
||||
{
|
||||
return "Found <b>$num</b> documents matching your query. Showing best matches first.";
|
||||
}
|
||||
}
|
||||
|
||||
function report_matches()
|
||||
{
|
||||
return "Matches: ";
|
||||
}
|
||||
function end_form($value)
|
||||
{
|
||||
echo " <td><input type=\"text\" name=\"query\" value=\"$value\" size=\"20\" accesskey=\"s\"/></td>\n </tr>\n </table>\n </form>\n </li>\n </ul>\n</div>\n";
|
||||
}
|
||||
|
||||
function readInt($file)
|
||||
{
|
||||
$b1 = ord(fgetc($file)); $b2 = ord(fgetc($file));
|
||||
$b3 = ord(fgetc($file)); $b4 = ord(fgetc($file));
|
||||
return ($b1<<24)|($b2<<16)|($b3<<8)|$b4;
|
||||
}
|
||||
|
||||
function readString($file)
|
||||
{
|
||||
$result="";
|
||||
while (ord($c=fgetc($file))) $result.=$c;
|
||||
return $result;
|
||||
}
|
||||
|
||||
function readHeader($file)
|
||||
{
|
||||
$header =fgetc($file); $header.=fgetc($file);
|
||||
$header.=fgetc($file); $header.=fgetc($file);
|
||||
return $header;
|
||||
}
|
||||
|
||||
function computeIndex($word)
|
||||
{
|
||||
// Fast string hashing
|
||||
//$lword = strtolower($word);
|
||||
//$l = strlen($lword);
|
||||
//for ($i=0;$i<$l;$i++)
|
||||
//{
|
||||
// $c = ord($lword{$i});
|
||||
// $v = (($v & 0xfc00) ^ ($v << 6) ^ $c) & 0xffff;
|
||||
//}
|
||||
//return $v;
|
||||
|
||||
// Simple hashing that allows for substring search
|
||||
if (strlen($word)<2) return -1;
|
||||
// high char of the index
|
||||
$hi = ord($word{0});
|
||||
if ($hi==0) return -1;
|
||||
// low char of the index
|
||||
$lo = ord($word{1});
|
||||
if ($lo==0) return -1;
|
||||
// return index
|
||||
return $hi*256+$lo;
|
||||
}
|
||||
|
||||
function search($file,$word,&$statsList)
|
||||
{
|
||||
$index = computeIndex($word);
|
||||
if ($index!=-1) // found a valid index
|
||||
{
|
||||
fseek($file,$index*4+4); // 4 bytes per entry, skip header
|
||||
$index = readInt($file);
|
||||
if ($index) // found words matching the hash key
|
||||
{
|
||||
$start=sizeof($statsList);
|
||||
$count=$start;
|
||||
fseek($file,$index);
|
||||
$w = readString($file);
|
||||
while ($w)
|
||||
{
|
||||
$statIdx = readInt($file);
|
||||
if ($word==substr($w,0,strlen($word)))
|
||||
{ // found word that matches (as substring)
|
||||
$statsList[$count++]=array(
|
||||
"word"=>$word,
|
||||
"match"=>$w,
|
||||
"index"=>$statIdx,
|
||||
"full"=>strlen($w)==strlen($word),
|
||||
"docs"=>array()
|
||||
);
|
||||
}
|
||||
$w = readString($file);
|
||||
}
|
||||
$totalHi=0;
|
||||
$totalFreqHi=0;
|
||||
$totalFreqLo=0;
|
||||
for ($count=$start;$count<sizeof($statsList);$count++)
|
||||
{
|
||||
$statInfo = &$statsList[$count];
|
||||
$multiplier = 1;
|
||||
// whole word matches have a double weight
|
||||
if ($statInfo["full"]) $multiplier=2;
|
||||
fseek($file,$statInfo["index"]);
|
||||
$numDocs = readInt($file);
|
||||
$docInfo = array();
|
||||
// read docs info + occurrence frequency of the word
|
||||
for ($i=0;$i<$numDocs;$i++)
|
||||
{
|
||||
$idx=readInt($file);
|
||||
$freq=readInt($file);
|
||||
$docInfo[$i]=array("idx" => $idx,
|
||||
"freq" => $freq>>1,
|
||||
"rank" => 0.0,
|
||||
"hi" => $freq&1
|
||||
);
|
||||
if ($freq&1) // word occurs in high priority doc
|
||||
{
|
||||
$totalHi++;
|
||||
$totalFreqHi+=$freq*$multiplier;
|
||||
}
|
||||
else // word occurs in low priority doc
|
||||
{
|
||||
$totalFreqLo+=$freq*$multiplier;
|
||||
}
|
||||
}
|
||||
// read name and url info for the doc
|
||||
for ($i=0;$i<$numDocs;$i++)
|
||||
{
|
||||
fseek($file,$docInfo[$i]["idx"]);
|
||||
$docInfo[$i]["name"]=readString($file);
|
||||
$docInfo[$i]["url"]=readString($file);
|
||||
}
|
||||
$statInfo["docs"]=$docInfo;
|
||||
}
|
||||
$totalFreq=($totalHi+1)*$totalFreqLo + $totalFreqHi;
|
||||
for ($count=$start;$count<sizeof($statsList);$count++)
|
||||
{
|
||||
$statInfo = &$statsList[$count];
|
||||
$multiplier = 1;
|
||||
// whole word matches have a double weight
|
||||
if ($statInfo["full"]) $multiplier=2;
|
||||
for ($i=0;$i<sizeof($statInfo["docs"]);$i++)
|
||||
{
|
||||
$docInfo = &$statInfo["docs"];
|
||||
// compute frequency rank of the word in each doc
|
||||
$freq=$docInfo[$i]["freq"];
|
||||
if ($docInfo[$i]["hi"])
|
||||
{
|
||||
$statInfo["docs"][$i]["rank"]=
|
||||
(float)($freq*$multiplier+$totalFreqLo)/$totalFreq;
|
||||
}
|
||||
else
|
||||
{
|
||||
$statInfo["docs"][$i]["rank"]=
|
||||
(float)($freq*$multiplier)/$totalFreq;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $statsList;
|
||||
}
|
||||
|
||||
function combine_results($results,&$docs)
|
||||
{
|
||||
foreach ($results as $wordInfo)
|
||||
{
|
||||
$docsList = &$wordInfo["docs"];
|
||||
foreach ($docsList as $di)
|
||||
{
|
||||
$key=$di["url"];
|
||||
$rank=$di["rank"];
|
||||
if (in_array($key, array_keys($docs)))
|
||||
{
|
||||
$docs[$key]["rank"]+=$rank;
|
||||
}
|
||||
else
|
||||
{
|
||||
$docs[$key] = array("url"=>$key,
|
||||
"name"=>$di["name"],
|
||||
"rank"=>$rank
|
||||
);
|
||||
}
|
||||
$docs[$key]["words"][] = array(
|
||||
"word"=>$wordInfo["word"],
|
||||
"match"=>$wordInfo["match"],
|
||||
"freq"=>$di["freq"]
|
||||
);
|
||||
}
|
||||
}
|
||||
return $docs;
|
||||
}
|
||||
|
||||
function filter_results($docs,&$requiredWords,&$forbiddenWords)
|
||||
{
|
||||
$filteredDocs=array();
|
||||
while (list ($key, $val) = each ($docs))
|
||||
{
|
||||
$words = &$docs[$key]["words"];
|
||||
$copy=1; // copy entry by default
|
||||
if (sizeof($requiredWords)>0)
|
||||
{
|
||||
foreach ($requiredWords as $reqWord)
|
||||
{
|
||||
$found=0;
|
||||
foreach ($words as $wordInfo)
|
||||
{
|
||||
$found = $wordInfo["word"]==$reqWord;
|
||||
if ($found) break;
|
||||
}
|
||||
if (!$found)
|
||||
{
|
||||
$copy=0; // document contains none of the required words
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (sizeof($forbiddenWords)>0)
|
||||
{
|
||||
foreach ($words as $wordInfo)
|
||||
{
|
||||
if (in_array($wordInfo["word"],$forbiddenWords))
|
||||
{
|
||||
$copy=0; // document contains a forbidden word
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($copy) $filteredDocs[$key]=$docs[$key];
|
||||
}
|
||||
return $filteredDocs;
|
||||
}
|
||||
|
||||
function compare_rank($a,$b)
|
||||
{
|
||||
if ($a["rank"] == $b["rank"])
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return ($a["rank"]>$b["rank"]) ? -1 : 1;
|
||||
}
|
||||
|
||||
function sort_results($docs,&$sorted)
|
||||
{
|
||||
$sorted = $docs;
|
||||
usort($sorted,"compare_rank");
|
||||
return $sorted;
|
||||
}
|
||||
|
||||
function report_results(&$docs)
|
||||
{
|
||||
echo "<table cellspacing=\"2\">\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan=\"2\"><h2>".search_results()."</h2></td>\n";
|
||||
echo " </tr>\n";
|
||||
$numDocs = sizeof($docs);
|
||||
if ($numDocs==0)
|
||||
{
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan=\"2\">".matches_text(0)."</td>\n";
|
||||
echo " </tr>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan=\"2\">".matches_text($numDocs);
|
||||
echo "\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
$num=1;
|
||||
foreach ($docs as $doc)
|
||||
{
|
||||
echo " <tr>\n";
|
||||
echo " <td align=\"right\">$num.</td>";
|
||||
echo "<td><a class=\"el\" href=\"".$doc["url"]."\">".$doc["name"]."</a></td>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td></td><td class=\"tiny\">".report_matches()." ";
|
||||
foreach ($doc["words"] as $wordInfo)
|
||||
{
|
||||
$word = $wordInfo["word"];
|
||||
$matchRight = substr($wordInfo["match"],strlen($word));
|
||||
echo "<b>$word</b>$matchRight(".$wordInfo["freq"].") ";
|
||||
}
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
$num++;
|
||||
}
|
||||
}
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
function main()
|
||||
{
|
||||
if(strcmp('4.1.0', phpversion()) > 0)
|
||||
{
|
||||
die("Error: PHP version 4.1.0 or above required!");
|
||||
}
|
||||
if (!($file=fopen("search.idx","rb")))
|
||||
{
|
||||
die("Error: Search index file could NOT be opened!");
|
||||
}
|
||||
if (readHeader($file)!="DOXS")
|
||||
{
|
||||
die("Error: Header of index file is invalid!");
|
||||
}
|
||||
$query="";
|
||||
if (array_key_exists("query", $_GET))
|
||||
{
|
||||
$query=$_GET["query"];
|
||||
}
|
||||
end_form($query);
|
||||
echo " \n<div class=\"searchresults\">\n";
|
||||
$results = array();
|
||||
$requiredWords = array();
|
||||
$forbiddenWords = array();
|
||||
$foundWords = array();
|
||||
$word=strtok($query," ");
|
||||
while ($word) // for each word in the search query
|
||||
{
|
||||
if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; }
|
||||
if (($word{0}=='-')) { $word=substr($word,1); $forbiddenWords[]=$word; }
|
||||
if (!in_array($word,$foundWords))
|
||||
{
|
||||
$foundWords[]=$word;
|
||||
search($file,strtolower($word),$results);
|
||||
}
|
||||
$word=strtok(" ");
|
||||
}
|
||||
$docs = array();
|
||||
combine_results($results,$docs);
|
||||
// filter out documents with forbidden word or that do not contain
|
||||
// required words
|
||||
$filteredDocs = filter_results($docs,$requiredWords,$forbiddenWords);
|
||||
// sort the results based on rank
|
||||
$sorted = array();
|
||||
sort_results($filteredDocs,$sorted);
|
||||
// report results to the user
|
||||
report_results($sorted);
|
||||
echo "</div>\n";
|
||||
fclose($file);
|
||||
}
|
||||
|
||||
main();
|
||||
|
||||
|
||||
?>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<!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>CVRP-TW: Member List</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="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>eoVRPUtils::ClientData Member List</h1>This is the complete list of members for <a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#3834669c3b0da0592c20a2349b1284cb">demand</a></td><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#2e8c450e35be04f80c4949f6efaac618">dueTime</a></td><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#c6496a0fce64b8b6babe12b2446c1050">id</a></td><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#d9f6b6b3a9e7431145f6049f13e90255">readyTime</a></td><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#515b7488b4c4f6e1806b7a9606ab1cc3">serviceTime</a></td><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#fb30df4148eb916a1785ecd823b02316">x</a></td><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#3164fdd2b99e9b3c565ba3f8ff05c0da">y</a></td><td><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">eoVRPUtils::ClientData</a></td><td></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
<!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>CVRP-TW: eoVRPUtils::ClientData Struct 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</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> <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>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="nav">
|
||||
<a class="el" href="namespaceeo_v_r_p_utils.html">eoVRPUtils</a>::<a class="el" href="structeo_v_r_p_utils_1_1_client_data.html">ClientData</a></div>
|
||||
<h1>eoVRPUtils::ClientData Struct Reference</h1><!-- doxytag: class="eoVRPUtils::ClientData" -->Information regarding each client in the dataset.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a>></code>
|
||||
<p>
|
||||
<a href="structeo_v_r_p_utils_1_1_client_data-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 Attributes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6496a0fce64b8b6babe12b2446c1050"></a><!-- doxytag: member="eoVRPUtils::ClientData::id" ref="c6496a0fce64b8b6babe12b2446c1050" args="" -->
|
||||
unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#c6496a0fce64b8b6babe12b2446c1050">id</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Client ID number. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fb30df4148eb916a1785ecd823b02316"></a><!-- doxytag: member="eoVRPUtils::ClientData::x" ref="fb30df4148eb916a1785ecd823b02316" args="" -->
|
||||
double </td><td class="memItemRight" valign="bottom"><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#fb30df4148eb916a1785ecd823b02316">x</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Client's 'x' position in the map. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3164fdd2b99e9b3c565ba3f8ff05c0da"></a><!-- doxytag: member="eoVRPUtils::ClientData::y" ref="3164fdd2b99e9b3c565ba3f8ff05c0da" args="" -->
|
||||
double </td><td class="memItemRight" valign="bottom"><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#3164fdd2b99e9b3c565ba3f8ff05c0da">y</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Client's 'y' position in the map. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3834669c3b0da0592c20a2349b1284cb"></a><!-- doxytag: member="eoVRPUtils::ClientData::demand" ref="3834669c3b0da0592c20a2349b1284cb" args="" -->
|
||||
double </td><td class="memItemRight" valign="bottom"><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#3834669c3b0da0592c20a2349b1284cb">demand</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Client's demand of delivered product. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d9f6b6b3a9e7431145f6049f13e90255"></a><!-- doxytag: member="eoVRPUtils::ClientData::readyTime" ref="d9f6b6b3a9e7431145f6049f13e90255" args="" -->
|
||||
double </td><td class="memItemRight" valign="bottom"><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#d9f6b6b3a9e7431145f6049f13e90255">readyTime</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Client's beginning of the time window. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e8c450e35be04f80c4949f6efaac618"></a><!-- doxytag: member="eoVRPUtils::ClientData::dueTime" ref="2e8c450e35be04f80c4949f6efaac618" args="" -->
|
||||
double </td><td class="memItemRight" valign="bottom"><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#2e8c450e35be04f80c4949f6efaac618">dueTime</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Client's end of the time window. <br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="515b7488b4c4f6e1806b7a9606ab1cc3"></a><!-- doxytag: member="eoVRPUtils::ClientData::serviceTime" ref="515b7488b4c4f6e1806b7a9606ab1cc3" args="" -->
|
||||
double </td><td class="memItemRight" valign="bottom"><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html#515b7488b4c4f6e1806b7a9606ab1cc3">serviceTime</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Client's service time (time needed to serve the product). <br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Information regarding each client in the dataset.
|
||||
<p>
|
||||
This structure is intended to be used to store the information of each client read from the data file.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="eo_v_r_p_utils_8h-source.html#l00086">86</a> of file <a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a>.<hr>The documentation for this struct was generated from the following file:<ul>
|
||||
<li><a class="el" href="eo_v_r_p_utils_8h-source.html">eoVRPUtils.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Fri Dec 7 16:57:20 2007 for CVRP-TW 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>
|
||||
|
After Width: | Height: | Size: 35 B |
|
After Width: | Height: | Size: 706 B |
|
After Width: | Height: | Size: 2.5 KiB |
|
|
@ -0,0 +1,102 @@
|
|||
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
|
||||
|
||||
DIV.tabs
|
||||
{
|
||||
float : left;
|
||||
width : 100%;
|
||||
background : url("tab_b.gif") repeat-x bottom;
|
||||
margin-bottom : 4px;
|
||||
}
|
||||
|
||||
DIV.tabs UL
|
||||
{
|
||||
margin : 0px;
|
||||
padding-left : 10px;
|
||||
list-style : none;
|
||||
}
|
||||
|
||||
DIV.tabs LI, DIV.tabs FORM
|
||||
{
|
||||
display : inline;
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs FORM
|
||||
{
|
||||
float : right;
|
||||
}
|
||||
|
||||
DIV.tabs A
|
||||
{
|
||||
float : left;
|
||||
background : url("tab_r.gif") no-repeat right top;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
font-size : x-small;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
DIV.tabs A:hover
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs A:link, DIV.tabs A:visited,
|
||||
DIV.tabs A:active, DIV.tabs A:hover
|
||||
{
|
||||
color: #1A419D;
|
||||
}
|
||||
|
||||
DIV.tabs SPAN
|
||||
{
|
||||
float : left;
|
||||
display : block;
|
||||
background : url("tab_l.gif") no-repeat left top;
|
||||
padding : 5px 9px;
|
||||
white-space : nowrap;
|
||||
}
|
||||
|
||||
DIV.tabs INPUT
|
||||
{
|
||||
float : right;
|
||||
display : inline;
|
||||
font-size : 1em;
|
||||
}
|
||||
|
||||
DIV.tabs TD
|
||||
{
|
||||
font-size : x-small;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Commented Backslash Hack hides rule from IE5-Mac \*/
|
||||
DIV.tabs SPAN {float : none;}
|
||||
/* End IE5-Mac hack */
|
||||
|
||||
DIV.tabs A:hover SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs LI#current A
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
border-width : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs LI#current SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
padding-bottom : 6px;
|
||||
}
|
||||
|
||||
DIV.nav
|
||||
{
|
||||
background : none;
|
||||
border : none;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
}
|
||||
|
|
@ -0,0 +1,172 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=iso-8859-1" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta http-equiv="Content-Language" content="en" />
|
||||
<link rel="stylesheet" href="doxygen.css">
|
||||
<title>TreeView</title>
|
||||
<script type="text/javascript">
|
||||
<!-- // Hide script from old browsers
|
||||
|
||||
function toggleFolder(id, imageNode)
|
||||
{
|
||||
var folder = document.getElementById(id);
|
||||
var l = imageNode.src.length;
|
||||
if (imageNode.src.substring(l-20,l)=="ftv2folderclosed.png" ||
|
||||
imageNode.src.substring(l-18,l)=="ftv2folderopen.png")
|
||||
{
|
||||
imageNode = imageNode.previousSibling;
|
||||
l = imageNode.src.length;
|
||||
}
|
||||
if (folder == null)
|
||||
{
|
||||
}
|
||||
else if (folder.style.display == "block")
|
||||
{
|
||||
if (imageNode != null)
|
||||
{
|
||||
imageNode.nextSibling.src = "ftv2folderclosed.png";
|
||||
if (imageNode.src.substring(l-13,l) == "ftv2mnode.png")
|
||||
{
|
||||
imageNode.src = "ftv2pnode.png";
|
||||
}
|
||||
else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png")
|
||||
{
|
||||
imageNode.src = "ftv2plastnode.png";
|
||||
}
|
||||
}
|
||||
folder.style.display = "none";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (imageNode != null)
|
||||
{
|
||||
imageNode.nextSibling.src = "ftv2folderopen.png";
|
||||
if (imageNode.src.substring(l-13,l) == "ftv2pnode.png")
|
||||
{
|
||||
imageNode.src = "ftv2mnode.png";
|
||||
}
|
||||
else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png")
|
||||
{
|
||||
imageNode.src = "ftv2mlastnode.png";
|
||||
}
|
||||
}
|
||||
folder.style.display = "block";
|
||||
}
|
||||
}
|
||||
|
||||
// End script hiding -->
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="ftvtree">
|
||||
<div class="directory">
|
||||
<h3>CVRP-TW</h3>
|
||||
<div style="display: block;">
|
||||
<p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="main.html" target="basefrm">Welcome to PARADISEO - CVRP-TW contribution</a></p>
|
||||
<p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder1', this)"/><a class="el" href="annotated.html" target="basefrm">Class List</a></p>
|
||||
<div id="folder1">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html" target="basefrm">eoVRPUtils::ClientData</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p.html" target="basefrm">eoVRP</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_edge_crossover.html" target="basefrm">eoVRPEdgeCrossover</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_eval_func.html" target="basefrm">eoVRPEvalFunc</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_generic_crossover.html" target="basefrm">eoVRPGenericCrossover</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_init.html" target="basefrm">eoVRPInit</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_mutation.html" target="basefrm">eoVRPMutation</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_one_point_crossover.html" target="basefrm">eoVRPOnePointCrossover</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_stat.html" target="basefrm">eoVRPStat</a></p>
|
||||
</div>
|
||||
<p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder2', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder2', this)"/><a class="el" href="hierarchy.html" target="basefrm">Class Hierarchy</a></p>
|
||||
<div id="folder2">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structeo_v_r_p_utils_1_1_client_data.html" target="basefrm">eoVRPUtils::ClientData</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder3', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder3', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_functor_base.html" target="basefrm">eoFunctorBase</a> [external]</p>
|
||||
<div id="folder3">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html" target="basefrm">eoBF< EOType &, EOType &, bool ></a> [external]</p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder4', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder4', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_b_f.html" target="basefrm">eoBF< eoVRP &, eoVRP &, bool ></a> [external]</p>
|
||||
<div id="folder4">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder5', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder5', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html" target="basefrm">eoQuadOp< eoVRP ></a> [external]</p>
|
||||
<div id="folder5">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_edge_crossover.html" target="basefrm">eoVRPEdgeCrossover</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_generic_crossover.html" target="basefrm">eoVRPGenericCrossover</a></p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_one_point_crossover.html" target="basefrm">eoVRPOnePointCrossover</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder6', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder6', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html" target="basefrm">eoUF< A1, R ></a> [external]</p>
|
||||
<div id="folder6">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder7', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder7', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_eval_func.html" target="basefrm">eoEvalFunc< eoVRP ></a> [external]</p>
|
||||
<div id="folder7">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_eval_func.html" target="basefrm">eoVRPEvalFunc</a></p>
|
||||
</div>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder8', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder8', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_init.html" target="basefrm">eoInit< eoVRP ></a> [external]</p>
|
||||
<div id="folder8">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_init.html" target="basefrm">eoVRPInit</a></p>
|
||||
</div>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder9', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder9', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat_base.html" target="basefrm">eoStatBase< EOT ></a> [external]</p>
|
||||
<div id="folder9">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder10', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder10', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html" target="basefrm">eoStat< eoVRP, double ></a> [external]</p>
|
||||
<div id="folder10">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_stat.html" target="basefrm">eoVRPStat</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html" target="basefrm">eoUF< EOType &, bool ></a> [external]</p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder11', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder11', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_u_f.html" target="basefrm">eoUF< eoVRP &, bool ></a> [external]</p>
|
||||
<div id="folder11">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder12', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder12', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html" target="basefrm">eoMonOp< eoVRP ></a> [external]</p>
|
||||
<div id="folder12">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p_mutation.html" target="basefrm">eoVRPMutation</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder13', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder13', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_object.html" target="basefrm">eoObject</a> [external]</p>
|
||||
<div id="folder13">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder14', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder14', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html" target="basefrm">EO< F ></a> [external]</p>
|
||||
<div id="folder14">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder15', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder15', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_vector.html" target="basefrm">eoVector< eoMinimizingFitness, int ></a> [external]</p>
|
||||
<div id="folder15">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classeo_v_r_p.html" target="basefrm">eoVRP</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder16', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder16', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_op.html" target="basefrm">eoOp< EOType ></a> [external]</p>
|
||||
<div id="folder16">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_mon_op.html" target="basefrm">eoMonOp< eoVRP ></a> [external]</p>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_quad_op.html" target="basefrm">eoQuadOp< eoVRP ></a> [external]</p>
|
||||
</div>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder17', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder17', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_param.html" target="basefrm">eoParam</a> [external]</p>
|
||||
<div id="folder17">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder18', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder18', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html" target="basefrm">eoValueParam< double ></a> [external]</p>
|
||||
<div id="folder18">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_stat.html" target="basefrm">eoStat< eoVRP, double ></a> [external]</p>
|
||||
</div>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_value_param.html" target="basefrm">eoValueParam< T ></a> [external]</p>
|
||||
</div>
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder19', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder19', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_printable.html" target="basefrm">eoPrintable</a> [external]</p>
|
||||
<div id="folder19">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder20', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder20', this)"/><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/classeo_persistent.html" target="basefrm">eoPersistent</a> [external]</p>
|
||||
<div id="folder20">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="elRef" doxygen="eo.doxytag:http://eodev.sourceforge.net/eo/doc/html/" href="http://eodev.sourceforge.net/eo/doc/html/class_e_o.html" target="basefrm">EO< F ></a> [external]</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="functions.html" target="basefrm">Class Members</a></p>
|
||||
<p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder21', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder21', this)"/><a class="el" href="namespaces.html" target="basefrm">Namespace List</a></p>
|
||||
<div id="folder21">
|
||||
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="namespaceeo_v_r_p_utils.html" target="basefrm">eoVRPUtils</a></p>
|
||||
</div>
|
||||
<p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="namespacemembers.html" target="basefrm">Namespace Members</a></p>
|
||||
<p><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder22', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder22', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p>
|
||||
<div id="folder22">
|
||||
<p><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>eoVRP.h</b></p>
|
||||
<p><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>eoVRPEvalFunc.h</b></p>
|
||||
<p><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>eoVRPInit.h</b></p>
|
||||
<p><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>eoVRPMutation.h</b></p>
|
||||
<p><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>eoVRPQuadCrossover.h</b></p>
|
||||
<p><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>eoVRPStat.h</b></p>
|
||||
<p><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>eoVRPUtils.h</b></p>
|
||||
<p><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>index.h</b></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
all: clean refman.dvi
|
||||
|
||||
ps: refman.ps
|
||||
|
||||
pdf: refman.pdf
|
||||
|
||||
ps_2on1: refman_2on1.ps
|
||||
|
||||
pdf_2on1: refman_2on1.pdf
|
||||
|
||||
refman.ps: refman.dvi
|
||||
dvips -o refman.ps refman.dvi
|
||||
|
||||
refman.pdf: refman.ps
|
||||
ps2pdf refman.ps refman.pdf
|
||||
|
||||
refman.dvi: refman.tex doxygen.sty
|
||||
echo "Running latex..."
|
||||
latex refman.tex
|
||||
echo "Running makeindex..."
|
||||
makeindex refman.idx
|
||||
echo "Rerunning latex...."
|
||||
latex refman.tex
|
||||
latex_count=5 ; \
|
||||
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
|
||||
do \
|
||||
echo "Rerunning latex...." ;\
|
||||
latex refman.tex ;\
|
||||
latex_count=`expr $$latex_count - 1` ;\
|
||||
done
|
||||
|
||||
refman_2on1.ps: refman.ps
|
||||
psnup -2 refman.ps >refman_2on1.ps
|
||||
|
||||
refman_2on1.pdf: refman_2on1.ps
|
||||
ps2pdf refman_2on1.ps refman_2on1.pdf
|
||||
|
||||
clean:
|
||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
\section{CVRP-TW Class List}
|
||||
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{\bf{eo\-VRPUtils::Client\-Data} (Information regarding each client in the dataset )}{\pageref{structeo_v_r_p_utils_1_1_client_data}}{}
|
||||
\item\contentsline{section}{\bf{eo\-VRP} (Defines the getoype used to solve the VRP-TW problem )}{\pageref{classeo_v_r_p}}{}
|
||||
\item\contentsline{section}{\bf{eo\-VRPEdge\-Crossover} (Implementation of the classic Edge Crossover from the TSP )}{\pageref{classeo_v_r_p_edge_crossover}}{}
|
||||
\item\contentsline{section}{\bf{eo\-VRPEval\-Func} (Evaluates an individual of type \doxyref{eo\-VRP}{p.}{classeo_v_r_p} )}{\pageref{classeo_v_r_p_eval_func}}{}
|
||||
\item\contentsline{section}{\bf{eo\-VRPGeneric\-Crossover} (Implementation of the generic crossover for the VRP-TW by Tavares et al )}{\pageref{classeo_v_r_p_generic_crossover}}{}
|
||||
\item\contentsline{section}{\bf{eo\-VRPInit} (Class defining the initializer functor )}{\pageref{classeo_v_r_p_init}}{}
|
||||
\item\contentsline{section}{\bf{eo\-VRPMutation} (Implementation of variations of the four mutation operators for the VRP-TW defined by Tavares et al )}{\pageref{classeo_v_r_p_mutation}}{}
|
||||
\item\contentsline{section}{\bf{eo\-VRPOne\-Point\-Crossover} (Implementation of the simple One Point Crossover )}{\pageref{classeo_v_r_p_one_point_crossover}}{}
|
||||
\item\contentsline{section}{\bf{eo\-VRPStat} (Manages the statistics of the VRP problem )}{\pageref{classeo_v_r_p_stat}}{}
|
||||
\end{CompactList}
|
||||
|
|
@ -0,0 +1,221 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 216.45
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 2.31 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 5 def
|
||||
/cols 2 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(eoVRP) cw
|
||||
(eoVector< eoMinimizingFitness, int >) cw
|
||||
(EO< F >) cw
|
||||
(eoObject) cw
|
||||
(eoPersistent) cw
|
||||
(eoPrintable) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(eoVRP) 0.5 0 box
|
||||
(eoVector< eoMinimizingFitness, int >) 0.5 1 box
|
||||
(EO< F >) 0.5 2 box
|
||||
(eoObject) 0 3 box
|
||||
(eoPersistent) 1 3 box
|
||||
(eoPrintable) 1 4 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 0 out
|
||||
solid
|
||||
1 0.5 1 in
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
1 0.5 2 in
|
||||
solid
|
||||
0 0.5 2 out
|
||||
solid
|
||||
0 1 3 conn
|
||||
solid
|
||||
1 0 3 in
|
||||
solid
|
||||
1 1 3 in
|
||||
solid
|
||||
0 1 3 out
|
||||
solid
|
||||
1 1 4 in
|
||||
|
|
@ -0,0 +1,323 @@
|
|||
\section{eo\-VRP Class Reference}
|
||||
\label{classeo_v_r_p}\index{eoVRP@{eoVRP}}
|
||||
Defines the getoype used to solve the VRP-TW problem.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-VRP.h$>$}
|
||||
|
||||
Inheritance diagram for eo\-VRP::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=5cm]{classeo_v_r_p}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\bf{eo\-VRP} ()\label{classeo_v_r_p_20e79a2ad5721ce7f2fe4a88f00692de}
|
||||
|
||||
\begin{CompactList}\small\item\em Default constructor: initializes variables to safe values. \item\end{CompactList}\item
|
||||
\bf{eo\-VRP} (const \bf{eo\-VRP} \&\_\-orig)
|
||||
\begin{CompactList}\small\item\em Copy contructor: creates a new individual from a given one. \item\end{CompactList}\item
|
||||
virtual \bf{$\sim$eo\-VRP} ()\label{classeo_v_r_p_dedbd3437656d5dacafab6652219c8e2}
|
||||
|
||||
\begin{CompactList}\small\item\em Default destructor: nothing to do here. \item\end{CompactList}\item
|
||||
\bf{eo\-VRP} \& \bf{operator=} (const \bf{eo\-VRP} \&\_\-orig)
|
||||
\begin{CompactList}\small\item\em Performs a copy from the invidual passed as argument. \item\end{CompactList}\item
|
||||
virtual std::string \bf{class\-Name} () const
|
||||
\begin{CompactList}\small\item\em Returns a string containing the name of the class. \item\end{CompactList}\item
|
||||
void \bf{print\-On} (std::ostream \&\_\-os) const
|
||||
\begin{CompactList}\small\item\em Prints the individual to a given stream. \item\end{CompactList}\item
|
||||
void \bf{print\-All\-On} (std::ostream \&\_\-os) const
|
||||
\begin{CompactList}\small\item\em Prints a detailed version of the individual (decoding information, unsatisfied contraints, etc. \item\end{CompactList}\item
|
||||
void \bf{read\-From} (std::istream \&\_\-is)
|
||||
\begin{CompactList}\small\item\em Reads an individual from a given stream. \item\end{CompactList}\item
|
||||
const Routes \& \bf{routes} ()
|
||||
\begin{CompactList}\small\item\em Returns a reference to the decoded individual. \item\end{CompactList}\item
|
||||
double \bf{length} ()
|
||||
\begin{CompactList}\small\item\em Returns the total cost (length) of traveling all the routes. \item\end{CompactList}\item
|
||||
void \bf{print\-Routes} (std::ostream \&\_\-os) const
|
||||
\begin{CompactList}\small\item\em Aux. \item\end{CompactList}\item
|
||||
void \bf{print\-Route} (std::ostream \&\_\-os, unsigned \_\-p) const
|
||||
\begin{CompactList}\small\item\em Aux. \item\end{CompactList}\item
|
||||
bool \bf{clean} ()
|
||||
\begin{CompactList}\small\item\em Cleans the individual (the vector of clients and also the decoding information). \item\end{CompactList}\item
|
||||
bool \bf{clean\-Routes} ()
|
||||
\begin{CompactList}\small\item\em Invalidates the decoding information (usually after crossover or mutation). \item\end{CompactList}\item
|
||||
bool \bf{decoded} () const
|
||||
\begin{CompactList}\small\item\em Has this individual been decoded? \item\end{CompactList}\item
|
||||
bool \bf{encode} (Routes \&\_\-routes)
|
||||
\begin{CompactList}\small\item\em Encodes an individual from a set of routes (usually used within crossover). \item\end{CompactList}\item
|
||||
double \bf{decode} ()
|
||||
\begin{CompactList}\small\item\em Decodes an individual in a set of routes and calculates its cost (length) of traveling. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
Routes \bf{m\-Routes}\label{classeo_v_r_p_ecbcda9f187d0d842c043544daa33558}
|
||||
|
||||
\begin{CompactList}\small\item\em A set of routes containing the decoding information of the individual. \item\end{CompactList}\item
|
||||
double \bf{m\-Length}\label{classeo_v_r_p_0e8c40e00bd835dd380d26d4a3abf544}
|
||||
|
||||
\begin{CompactList}\small\item\em Cached cost (length) of traveling the set of routes defined by the individual. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Defines the getoype used to solve the VRP-TW problem.
|
||||
|
||||
|
||||
|
||||
Definition at line 50 of file eo\-VRP.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\index{eoVRP@{eo\-VRP}!eoVRP@{eoVRP}}
|
||||
\index{eoVRP@{eoVRP}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-VRP::eo\-VRP (const \bf{eo\-VRP} \& {\em \_\-orig})\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_1733318610dff5f47ac7d1272a4b4fb1}
|
||||
|
||||
|
||||
Copy contructor: creates a new individual from a given one.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-orig}]The individual used to create the new one. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 68 of file eo\-VRP.h.
|
||||
|
||||
References operator=().
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{eoVRP@{eo\-VRP}!operator=@{operator=}}
|
||||
\index{operator=@{operator=}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\bf{eo\-VRP}\& eo\-VRP::operator= (const \bf{eo\-VRP} \& {\em \_\-orig})\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_c0fcb2c17f849bfa61dd5d7ff072e0e4}
|
||||
|
||||
|
||||
Performs a copy from the invidual passed as argument.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-orig}]The individual to copy from. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]A reference to this. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 90 of file eo\-VRP.h.
|
||||
|
||||
References clean(), m\-Length, and m\-Routes.
|
||||
|
||||
Referenced by eo\-VRP().\index{eoVRP@{eo\-VRP}!className@{className}}
|
||||
\index{className@{className}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual std::string eo\-VRP::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_8c7f524cf34787f9ec26ffcc420565c5}
|
||||
|
||||
|
||||
Returns a string containing the name of the class.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Returns:]The string containing the name of the class. \end{Desc}
|
||||
|
||||
|
||||
Reimplemented from \bf{EO$<$ F $>$}.
|
||||
|
||||
Definition at line 117 of file eo\-VRP.h.\index{eoVRP@{eo\-VRP}!printOn@{printOn}}
|
||||
\index{printOn@{printOn}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRP::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_dc4cb13768ef1a2c810d4d298b36707c}
|
||||
|
||||
|
||||
Prints the individual to a given stream.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-os}]The stream to print to. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Reimplemented from \bf{eo\-Vector$<$ eo\-Minimizing\-Fitness, int $>$}.
|
||||
|
||||
Definition at line 129 of file eo\-VRP.h.
|
||||
|
||||
References eo\-Vector$<$ Fit\-T, Gene\-Type $>$::print\-On().
|
||||
|
||||
Referenced by decode().\index{eoVRP@{eo\-VRP}!printAllOn@{printAllOn}}
|
||||
\index{printAllOn@{printAllOn}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRP::print\-All\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_738f0aa43d8608cc68e41b1d3f8c944d}
|
||||
|
||||
|
||||
Prints a detailed version of the individual (decoding information, unsatisfied contraints, etc.
|
||||
|
||||
) to a given stream. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-os}]The stream to print to. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 146 of file eo\-VRP.h.
|
||||
|
||||
References decoded(), EO$<$ F $>$::fitness(), eo\-Vector$<$ Fit\-T, Gene\-Type $>$::print\-On(), and print\-Routes().\index{eoVRP@{eo\-VRP}!readFrom@{readFrom}}
|
||||
\index{readFrom@{readFrom}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRP::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_fdb87ffaf7ac95988e8896bb896183cc}
|
||||
|
||||
|
||||
Reads an individual from a given stream.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-is}]The stream to read from. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Reimplemented from \bf{eo\-Vector$<$ eo\-Minimizing\-Fitness, int $>$}.
|
||||
|
||||
Definition at line 177 of file eo\-VRP.h.
|
||||
|
||||
References eo\-Vector$<$ Fit\-T, Gene\-Type $>$::read\-From().\index{eoVRP@{eo\-VRP}!routes@{routes}}
|
||||
\index{routes@{routes}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const Routes\& eo\-VRP::routes ()\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_0e000044813b4ebdd822e7e2f8540d8b}
|
||||
|
||||
|
||||
Returns a reference to the decoded individual.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Returns:]A reference to the decoded individual. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 190 of file eo\-VRP.h.
|
||||
|
||||
References m\-Routes.
|
||||
|
||||
Referenced by eo\-VRPGeneric\-Crossover::operator()().\index{eoVRP@{eo\-VRP}!length@{length}}
|
||||
\index{length@{length}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double eo\-VRP::length ()\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_e4d189ca6349a875ae8d6fd9c7fe2491}
|
||||
|
||||
|
||||
Returns the total cost (length) of traveling all the routes.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Returns:]The total cost (length) of traveling all the routes. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 205 of file eo\-VRP.h.
|
||||
|
||||
References m\-Length.
|
||||
|
||||
Referenced by eo\-VRPEval\-Func::operator()().\index{eoVRP@{eo\-VRP}!printRoutes@{printRoutes}}
|
||||
\index{printRoutes@{printRoutes}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRP::print\-Routes (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_2a4c249cc6b15819c48c9210db385dc7}
|
||||
|
||||
|
||||
Aux.
|
||||
|
||||
method to print a structure of routes. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-os}]The stream to print to. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 217 of file eo\-VRP.h.
|
||||
|
||||
References m\-Routes, and print\-Route().
|
||||
|
||||
Referenced by print\-All\-On().\index{eoVRP@{eo\-VRP}!printRoute@{printRoute}}
|
||||
\index{printRoute@{printRoute}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRP::print\-Route (std::ostream \& {\em \_\-os}, unsigned {\em \_\-p}) const\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_ec256ed5b3b15b6d220494015e2aba93}
|
||||
|
||||
|
||||
Aux.
|
||||
|
||||
method to print only one route. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-os}]The stream to print to. \item[{\em \_\-p}]The route to print. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 244 of file eo\-VRP.h.
|
||||
|
||||
References m\-Routes.
|
||||
|
||||
Referenced by print\-Routes().\index{eoVRP@{eo\-VRP}!clean@{clean}}
|
||||
\index{clean@{clean}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRP::clean ()\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_1c53a7a42174c7d40db92da644b25fec}
|
||||
|
||||
|
||||
Cleans the individual (the vector of clients and also the decoding information).
|
||||
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the operation finishes correctly. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 267 of file eo\-VRP.h.
|
||||
|
||||
References m\-Length, and m\-Routes.
|
||||
|
||||
Referenced by encode(), eo\-VRPEdge\-Crossover::operator()(), and operator=().\index{eoVRP@{eo\-VRP}!cleanRoutes@{cleanRoutes}}
|
||||
\index{cleanRoutes@{cleanRoutes}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRP::clean\-Routes ()\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_66fb699c1d34cac859406ad450be406a}
|
||||
|
||||
|
||||
Invalidates the decoding information (usually after crossover or mutation).
|
||||
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the operation finishes correctly. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 283 of file eo\-VRP.h.
|
||||
|
||||
References m\-Length, and m\-Routes.
|
||||
|
||||
Referenced by decode(), eo\-VRPOne\-Point\-Crossover::operator()(), and eo\-VRPMutation::operator()().\index{eoVRP@{eo\-VRP}!decoded@{decoded}}
|
||||
\index{decoded@{decoded}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRP::decoded () const\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_e188fadc91b4ee256e144ac86ee80a40}
|
||||
|
||||
|
||||
Has this individual been decoded?
|
||||
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if has decoding information. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 298 of file eo\-VRP.h.
|
||||
|
||||
References m\-Routes.
|
||||
|
||||
Referenced by eo\-VRPEval\-Func::operator()(), and print\-All\-On().\index{eoVRP@{eo\-VRP}!encode@{encode}}
|
||||
\index{encode@{encode}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRP::encode (Routes \& {\em \_\-routes})\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_b56c820bff344b4cd7338628a6f8f083}
|
||||
|
||||
|
||||
Encodes an individual from a set of routes (usually used within crossover).
|
||||
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the operation finishes correctly. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 313 of file eo\-VRP.h.
|
||||
|
||||
References clean().
|
||||
|
||||
Referenced by eo\-VRPGeneric\-Crossover::operator()().\index{eoVRP@{eo\-VRP}!decode@{decode}}
|
||||
\index{decode@{decode}!eoVRP@{eo\-VRP}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double eo\-VRP::decode ()\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_fdfd2633515baa85c3fdaf39be6dea5c}
|
||||
|
||||
|
||||
Decodes an individual in a set of routes and calculates its cost (length) of traveling.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Returns:]The cost (length) of traveling the set of routes. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 334 of file eo\-VRP.h.
|
||||
|
||||
References clean\-Routes(), eo\-VRPUtils::clients, eo\-VRPUtils::distance(), eo\-VRPUtils::get\-Time\-Window(), m\-Length, m\-Routes, and print\-On().
|
||||
|
||||
Referenced by eo\-VRPEval\-Func::operator()().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-VRP.h\end{CompactItemize}
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 180.18
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 2.775 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 2 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(eoVRPEdgeCrossover) cw
|
||||
(eoQuadOp< eoVRP >) cw
|
||||
(eoOp< EOType >) cw
|
||||
(eoBF< eoVRP &, eoVRP &, bool >) cw
|
||||
(eoFunctorBase) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(eoVRPEdgeCrossover) 0.5 0 box
|
||||
(eoQuadOp< eoVRP >) 0.5 1 box
|
||||
(eoOp< EOType >) 0 2 box
|
||||
(eoBF< eoVRP &, eoVRP &, bool >) 1 2 box
|
||||
(eoFunctorBase) 1 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 0 out
|
||||
solid
|
||||
1 0.5 1 in
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
0 1 2 conn
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
1 1 2 in
|
||||
solid
|
||||
0 1 2 out
|
||||
solid
|
||||
1 1 3 in
|
||||
|
|
@ -0,0 +1,134 @@
|
|||
\section{eo\-VRPEdge\-Crossover Class Reference}
|
||||
\label{classeo_v_r_p_edge_crossover}\index{eoVRPEdgeCrossover@{eoVRPEdgeCrossover}}
|
||||
Implementation of the classic Edge Crossover from the TSP.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-VRPQuad\-Crossover.h$>$}
|
||||
|
||||
Inheritance diagram for eo\-VRPEdge\-Crossover::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classeo_v_r_p_edge_crossover}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\bf{eo\-VRPEdge\-Crossover} ()\label{classeo_v_r_p_edge_crossover_1cec73fc43837a61b6c97812dd57891b}
|
||||
|
||||
\begin{CompactList}\small\item\em Deafult constructor. \item\end{CompactList}\item
|
||||
std::string \bf{class\-Name} () const
|
||||
\begin{CompactList}\small\item\em Returns a string containing the name of the class. \item\end{CompactList}\item
|
||||
bool \bf{operator()} (\bf{eo\-VRP} \&\_\-genotype1, \bf{eo\-VRP} \&\_\-genotype2)
|
||||
\begin{CompactList}\small\item\em Both parameters are the parents and the (future) children of the crossover. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
bool \bf{Edge\-Crossover} (\bf{eo\-VRP} \&\_\-genotype1, \bf{eo\-VRP} \&\_\-genotype2, \bf{eo\-VRP} \&\_\-child)
|
||||
\begin{CompactList}\small\item\em Actually performs the edge crossover. \item\end{CompactList}\item
|
||||
void \bf{remove\_\-entry} (unsigned \_\-vertex, std::vector$<$ std::set$<$ unsigned $>$ $>$ \&\_\-map)
|
||||
\begin{CompactList}\small\item\em Removes a vertex from all his neighbours. \item\end{CompactList}\item
|
||||
void \bf{add\_\-vertex} (unsigned \_\-vertex, std::vector$<$ bool $>$ \&\_\-visited, std::vector$<$ std::set$<$ unsigned $>$ $>$ \&\_\-map, \bf{eo\-VRP} \&\_\-child)
|
||||
\begin{CompactList}\small\item\em Adds a vertex to a child and erases it from the list of available vertices. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Implementation of the classic Edge Crossover from the TSP.
|
||||
|
||||
|
||||
|
||||
Definition at line 240 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}!className@{className}}
|
||||
\index{className@{className}!eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::string eo\-VRPEdge\-Crossover::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_edge_crossover_8b2a199b70442852f93b2a34a42cf1e4}
|
||||
|
||||
|
||||
Returns a string containing the name of the class.
|
||||
|
||||
Used to display statistics. \begin{Desc}
|
||||
\item[Returns:]The string containing the name of the class. \end{Desc}
|
||||
|
||||
|
||||
Reimplemented from \bf{eo\-Quad\-Op$<$ eo\-VRP $>$}.
|
||||
|
||||
Definition at line 258 of file eo\-VRPQuad\-Crossover.h.\index{eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPEdge\-Crossover::operator() (\bf{eo\-VRP} \& {\em \_\-genotype1}, \bf{eo\-VRP} \& {\em \_\-genotype2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_edge_crossover_518856969ec708a73e728d36ddf01d1b}
|
||||
|
||||
|
||||
Both parameters are the parents and the (future) children of the crossover.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-genotype1}]The first parent. \item[{\em \_\-genotype2}]The second parent. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if any of the parents was modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Implements \bf{eo\-BF$<$ eo\-VRP \&, eo\-VRP \&, bool $>$}.
|
||||
|
||||
Definition at line 272 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
References eo\-VRP::clean(), and Edge\-Crossover().\index{eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}!EdgeCrossover@{EdgeCrossover}}
|
||||
\index{EdgeCrossover@{EdgeCrossover}!eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPEdge\-Crossover::Edge\-Crossover (\bf{eo\-VRP} \& {\em \_\-genotype1}, \bf{eo\-VRP} \& {\em \_\-genotype2}, \bf{eo\-VRP} \& {\em \_\-child})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_edge_crossover_389bd29cab9e12915d0d5c4af80343d7}
|
||||
|
||||
|
||||
Actually performs the edge crossover.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-genotype1}]First parent. \item[{\em \_\-genotype2}]Second parent. \item[{\em \_\-child}]Child. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the second parent was modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 301 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
References add\_\-vertex(), and eo\-Rng::random().
|
||||
|
||||
Referenced by operator()().\index{eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}!remove_entry@{remove\_\-entry}}
|
||||
\index{remove_entry@{remove\_\-entry}!eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPEdge\-Crossover::remove\_\-entry (unsigned {\em \_\-vertex}, std::vector$<$ std::set$<$ unsigned $>$ $>$ \& {\em \_\-map})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_edge_crossover_df9886f80565a966c78fb5a08e12631f}
|
||||
|
||||
|
||||
Removes a vertex from all his neighbours.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-vertex}]The vertex being erased. \item[{\em \_\-map}]The structure containing the neighbourhood relationship. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 380 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
Referenced by add\_\-vertex().\index{eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}!add_vertex@{add\_\-vertex}}
|
||||
\index{add_vertex@{add\_\-vertex}!eoVRPEdgeCrossover@{eo\-VRPEdge\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPEdge\-Crossover::add\_\-vertex (unsigned {\em \_\-vertex}, std::vector$<$ bool $>$ \& {\em \_\-visited}, std::vector$<$ std::set$<$ unsigned $>$ $>$ \& {\em \_\-map}, \bf{eo\-VRP} \& {\em \_\-child})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_edge_crossover_7917ea1dec6221f71127c6fae9515e68}
|
||||
|
||||
|
||||
Adds a vertex to a child and erases it from the list of available vertices.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-vertex}]The vertex being added to the child. \item[{\em \_\-visited}]The vector of visited vertices. \item[{\em \_\-map}]The structure containing the neighbourhood relationship. \item[{\em \_\-child}]The child where we add the vertex. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 398 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
References remove\_\-entry().
|
||||
|
||||
Referenced by Edge\-Crossover().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-VRPQuad\-Crossover.h\end{CompactItemize}
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 529.801
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 0.94375 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(eoVRPEvalFunc) cw
|
||||
(eoEvalFunc< eoVRP >) cw
|
||||
(eoUF< A1, R >) cw
|
||||
(eoFunctorBase) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(eoVRPEvalFunc) 0 0 box
|
||||
(eoEvalFunc< eoVRP >) 0 1 box
|
||||
(eoUF< A1, R >) 0 2 box
|
||||
(eoFunctorBase) 0 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
0 0 2 out
|
||||
solid
|
||||
1 0 3 in
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
\section{eo\-VRPEval\-Func Class Reference}
|
||||
\label{classeo_v_r_p_eval_func}\index{eoVRPEvalFunc@{eoVRPEvalFunc}}
|
||||
Evaluates an individual of type \doxyref{eo\-VRP}{p.}{classeo_v_r_p}.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-VRPEval\-Func.h$>$}
|
||||
|
||||
Inheritance diagram for eo\-VRPEval\-Func::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classeo_v_r_p_eval_func}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\bf{eo\-VRPEval\-Func} ()\label{classeo_v_r_p_eval_func_9746622fd0ae11ae58261b0711b7918c}
|
||||
|
||||
\begin{CompactList}\small\item\em Constructor: nothing to do here. \item\end{CompactList}\item
|
||||
void \bf{operator()} (\bf{eo\-VRP} \&\_\-eo)
|
||||
\begin{CompactList}\small\item\em Computes the (penalized) fitness. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Evaluates an individual of type \doxyref{eo\-VRP}{p.}{classeo_v_r_p}.
|
||||
|
||||
|
||||
|
||||
Definition at line 54 of file eo\-VRPEval\-Func.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{eoVRPEvalFunc@{eo\-VRPEval\-Func}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoVRPEvalFunc@{eo\-VRPEval\-Func}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPEval\-Func::operator() (\bf{eo\-VRP} \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_eval_func_840c1a7d38dbdeb40e283df3be42aa48}
|
||||
|
||||
|
||||
Computes the (penalized) fitness.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-eo}]The individual to be evaluated. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 72 of file eo\-VRPEval\-Func.h.
|
||||
|
||||
References eo\-VRP::decode(), eo\-VRP::decoded(), EO$<$ F $>$::fitness(), EO$<$ F $>$::invalid(), and eo\-VRP::length().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-VRPEval\-Func.h\end{CompactItemize}
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 180.18
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 2.775 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 2 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(eoVRPGenericCrossover) cw
|
||||
(eoQuadOp< eoVRP >) cw
|
||||
(eoOp< EOType >) cw
|
||||
(eoBF< eoVRP &, eoVRP &, bool >) cw
|
||||
(eoFunctorBase) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(eoVRPGenericCrossover) 0.5 0 box
|
||||
(eoQuadOp< eoVRP >) 0.5 1 box
|
||||
(eoOp< EOType >) 0 2 box
|
||||
(eoBF< eoVRP &, eoVRP &, bool >) 1 2 box
|
||||
(eoFunctorBase) 1 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 0 out
|
||||
solid
|
||||
1 0.5 1 in
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
0 1 2 conn
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
1 1 2 in
|
||||
solid
|
||||
0 1 2 out
|
||||
solid
|
||||
1 1 3 in
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
\section{eo\-VRPGeneric\-Crossover Class Reference}
|
||||
\label{classeo_v_r_p_generic_crossover}\index{eoVRPGenericCrossover@{eoVRPGenericCrossover}}
|
||||
Implementation of the generic crossover for the VRP-TW by Tavares et al.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-VRPQuad\-Crossover.h$>$}
|
||||
|
||||
Inheritance diagram for eo\-VRPGeneric\-Crossover::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classeo_v_r_p_generic_crossover}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\bf{eo\-VRPGeneric\-Crossover} ()\label{classeo_v_r_p_generic_crossover_63e5fb734c46be62a12f6799e34cebe4}
|
||||
|
||||
\begin{CompactList}\small\item\em Deafult constructor. \item\end{CompactList}\item
|
||||
std::string \bf{class\-Name} () const
|
||||
\begin{CompactList}\small\item\em Returns a string containing the name of the class. \item\end{CompactList}\item
|
||||
bool \bf{operator()} (\bf{eo\-VRP} \&\_\-genotype1, \bf{eo\-VRP} \&\_\-genotype2)
|
||||
\begin{CompactList}\small\item\em Both parameters are the parents and the (future) children of the crossover. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
bool \bf{Generic\-Crossover} (const Routes \&\_\-donor, Routes \&\_\-receiver) const
|
||||
\begin{CompactList}\small\item\em Actually performs the generic crossover. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Implementation of the generic crossover for the VRP-TW by Tavares et al.
|
||||
|
||||
|
||||
|
||||
Definition at line 53 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{eoVRPGenericCrossover@{eo\-VRPGeneric\-Crossover}!className@{className}}
|
||||
\index{className@{className}!eoVRPGenericCrossover@{eo\-VRPGeneric\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::string eo\-VRPGeneric\-Crossover::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_generic_crossover_7740db73b7151dab52df9d50f5366429}
|
||||
|
||||
|
||||
Returns a string containing the name of the class.
|
||||
|
||||
Used to display statistics. \begin{Desc}
|
||||
\item[Returns:]The string containing the name of the class. \end{Desc}
|
||||
|
||||
|
||||
Reimplemented from \bf{eo\-Quad\-Op$<$ eo\-VRP $>$}.
|
||||
|
||||
Definition at line 71 of file eo\-VRPQuad\-Crossover.h.\index{eoVRPGenericCrossover@{eo\-VRPGeneric\-Crossover}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoVRPGenericCrossover@{eo\-VRPGeneric\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPGeneric\-Crossover::operator() (\bf{eo\-VRP} \& {\em \_\-genotype1}, \bf{eo\-VRP} \& {\em \_\-genotype2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_generic_crossover_d7d3b19562b071bd50dd4d831e447d0c}
|
||||
|
||||
|
||||
Both parameters are the parents and the (future) children of the crossover.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-genotype1}]The first parent. \item[{\em \_\-genotype2}]The second parent. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if any of the parents was modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Implements \bf{eo\-BF$<$ eo\-VRP \&, eo\-VRP \&, bool $>$}.
|
||||
|
||||
Definition at line 85 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
References eo\-VRP::encode(), Generic\-Crossover(), and eo\-VRP::routes().\index{eoVRPGenericCrossover@{eo\-VRPGeneric\-Crossover}!GenericCrossover@{GenericCrossover}}
|
||||
\index{GenericCrossover@{GenericCrossover}!eoVRPGenericCrossover@{eo\-VRPGeneric\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPGeneric\-Crossover::Generic\-Crossover (const Routes \& {\em \_\-donor}, Routes \& {\em \_\-receiver}) const\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_generic_crossover_543ba6869b93a3f9f709045b7e24d74a}
|
||||
|
||||
|
||||
Actually performs the generic crossover.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-donor}]Set of routes from the first parent. \item[{\em \_\-receiver}]Set of routes from the second parent \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the second parent was modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 110 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
References eo\-Rng::random().
|
||||
|
||||
Referenced by operator()().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-VRPQuad\-Crossover.h\end{CompactItemize}
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 707.965
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 0.70625 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 1 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(eoVRPInit) cw
|
||||
(eoInit< eoVRP >) cw
|
||||
(eoUF< A1, R >) cw
|
||||
(eoFunctorBase) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(eoVRPInit) 0 0 box
|
||||
(eoInit< eoVRP >) 0 1 box
|
||||
(eoUF< A1, R >) 0 2 box
|
||||
(eoFunctorBase) 0 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0 0 out
|
||||
solid
|
||||
1 0 1 in
|
||||
solid
|
||||
0 0 1 out
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
0 0 2 out
|
||||
solid
|
||||
1 0 3 in
|
||||
|
|
@ -0,0 +1,232 @@
|
|||
\section{eo\-VRPInit Class Reference}
|
||||
\label{classeo_v_r_p_init}\index{eoVRPInit@{eoVRPInit}}
|
||||
Class defining the initializer functor.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-VRPInit.h$>$}
|
||||
|
||||
Inheritance diagram for eo\-VRPInit::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classeo_v_r_p_init}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\bf{eo\-VRPInit} ()\label{classeo_v_r_p_init_a620d4fa1b930b1fd8b491f1ef5c72fd}
|
||||
|
||||
\begin{CompactList}\small\item\em Default constructor: nothing to do here. \item\end{CompactList}\item
|
||||
void \bf{operator()} (\bf{eo\-VRP} \&\_\-gen)
|
||||
\begin{CompactList}\small\item\em Functor member. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
void \bf{Heuristic\-Initialization} (\bf{eo\-VRP} \&\_\-gen)
|
||||
\begin{CompactList}\small\item\em Heuristic initializer. \item\end{CompactList}\item
|
||||
bool \bf{create\-New\-Route} (std::vector$<$ int $>$ \&\_\-unvisited, int \&\_\-unvisited\-Idx, bool \_\-seed\-Checking\-Override, Route \&\_\-route)
|
||||
\begin{CompactList}\small\item\em Creates a new route. \item\end{CompactList}\item
|
||||
bool \bf{select\-Best\-Insertion} (std::vector$<$ int $>$ \&\_\-unvisited, unsigned \_\-unvisited\-Idx, Route \&\_\-route, unsigned \&\_\-next\-Client, Route::iterator \&\_\-it)
|
||||
\begin{CompactList}\small\item\em Selects the best client and the best position for its insertion in a given route. \item\end{CompactList}\item
|
||||
bool \bf{evaluate\-Insertion} (Route \&\_\-route, unsigned \_\-new\-Client, int \_\-after\-Client, double \&\_\-cost)
|
||||
\begin{CompactList}\small\item\em Evaluates the feasibility and the cost of inserting a new client in a given subroute. \item\end{CompactList}\item
|
||||
unsigned \bf{select\-Farthest\-Client\-As\-Seed} (const std::vector$<$ int $>$ \&\_\-unvisited, int \_\-unvisited\-Idx)
|
||||
\begin{CompactList}\small\item\em Selects the farthest client as seed for a new route. \item\end{CompactList}\item
|
||||
unsigned \bf{select\-Cheapest\-Client} (const std::vector$<$ int $>$ \&\_\-unvisited, int \_\-unvisited\-Idx, bool \_\-seed\-Checking\-Override)
|
||||
\begin{CompactList}\small\item\em Selects the cheapest client as seed for a new route. \item\end{CompactList}\item
|
||||
unsigned \bf{select\-Best\-Client\-As\-Seed} (const std::vector$<$ int $>$ \&\_\-unvisited, int \_\-unvisited\-Idx, bool \_\-seed\-Checking\-Override)
|
||||
\begin{CompactList}\small\item\em Selects the best (the \char`\"{}hardest\char`\"{} one) client as seed for a new route. \item\end{CompactList}\item
|
||||
void \bf{Random\-Initialization\-No\-Check} (\bf{eo\-VRP} \&\_\-gen)
|
||||
\begin{CompactList}\small\item\em Random initializer. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
unsigned \bf{m\-Seeds\-Used\-Count}\label{classeo_v_r_p_init_b74e164ca817fe5615e9519ec671a356}
|
||||
|
||||
\begin{CompactList}\small\item\em Number of clients already used as seeds. \item\end{CompactList}\item
|
||||
std::vector$<$ bool $>$ \bf{m\-Seeds\-Used}\label{classeo_v_r_p_init_5e940cc7eec88f268e8eb72313212947}
|
||||
|
||||
\begin{CompactList}\small\item\em Vector storing if a client has been used as a seed or not. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Class defining the initializer functor.
|
||||
|
||||
This class initializes an individual of the VRP problem using an heuristic initializer.
|
||||
|
||||
|
||||
|
||||
Definition at line 65 of file eo\-VRPInit.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{eoVRPInit@{eo\-VRPInit}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoVRPInit@{eo\-VRPInit}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPInit::operator() (\bf{eo\-VRP} \& {\em \_\-gen})\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_init_8bc4f6fb201b09dd882d721d2cfef8ce}
|
||||
|
||||
|
||||
Functor member.
|
||||
|
||||
Initializes a genotype using an heuristic initializer. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-gen}]Generally a genotype that has been default-constructed. Whatever it contains will be lost. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 99 of file eo\-VRPInit.h.
|
||||
|
||||
References Heuristic\-Initialization().\index{eoVRPInit@{eo\-VRPInit}!HeuristicInitialization@{HeuristicInitialization}}
|
||||
\index{HeuristicInitialization@{HeuristicInitialization}!eoVRPInit@{eo\-VRPInit}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPInit::Heuristic\-Initialization (\bf{eo\-VRP} \& {\em \_\-gen})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_init_af5946da88fb14494cb23dc21d167866}
|
||||
|
||||
|
||||
Heuristic initializer.
|
||||
|
||||
This initializer constructs and individual from routes. Each route is built in a constructive way. The first client of each route is selected trying to maximize a function depending on its time window and how far it is from the depot. We always try to select the hardest clients as seeds. Used seeds are stored so that different seeds are selected for different individuals and thus guarantee the diversity of the initial population. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-gen}]The individual to be initialized. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 123 of file eo\-VRPInit.h.
|
||||
|
||||
References eo\-VRPUtils::clients, create\-New\-Route(), and EO$<$ F $>$::invalidate().
|
||||
|
||||
Referenced by operator()().\index{eoVRPInit@{eo\-VRPInit}!createNewRoute@{createNewRoute}}
|
||||
\index{createNewRoute@{createNewRoute}!eoVRPInit@{eo\-VRPInit}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPInit::create\-New\-Route (std::vector$<$ int $>$ \& {\em \_\-unvisited}, int \& {\em \_\-unvisited\-Idx}, bool {\em \_\-seed\-Checking\-Override}, Route \& {\em \_\-route})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_init_ff7c0bf38bdd70d6f9d561479ec4f48a}
|
||||
|
||||
|
||||
Creates a new route.
|
||||
|
||||
Creates a new route selecting the best (hardest) client as seed and then adding the cheapest clients until one of the constraints (time window or vehicle's capacity) is broken. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-unvisited}]Vector of unvisited and thus available clients for constructing the new route. \item[{\em \_\-unvisited\-Idx}]Position of the last univisted client in \_\-unvisited vector. \item[{\em \_\-seed\-Checking\-Override}]If true, it overrides the seed checking mecanism. It must be always false for the first route and then true for the following ones. This way we will preserve diversity in our initial population as every individual will be initialized from a different initial route. \item[{\em \_\-route}]The brand new route we have constructed. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if everything went ok. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 176 of file eo\-VRPInit.h.
|
||||
|
||||
References m\-Seeds\-Used, m\-Seeds\-Used\-Count, select\-Best\-Client\-As\-Seed(), and select\-Best\-Insertion().
|
||||
|
||||
Referenced by Heuristic\-Initialization().\index{eoVRPInit@{eo\-VRPInit}!selectBestInsertion@{selectBestInsertion}}
|
||||
\index{selectBestInsertion@{selectBestInsertion}!eoVRPInit@{eo\-VRPInit}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPInit::select\-Best\-Insertion (std::vector$<$ int $>$ \& {\em \_\-unvisited}, unsigned {\em \_\-unvisited\-Idx}, Route \& {\em \_\-route}, unsigned \& {\em \_\-next\-Client}, Route::iterator \& {\em \_\-it})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_init_7f07be1f3a027dc56af84bb46828ddda}
|
||||
|
||||
|
||||
Selects the best client and the best position for its insertion in a given route.
|
||||
|
||||
Given a subroute, this method tries to find the best client and the best position for it among all the univisited clients. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-unvisited}]Vector of unvisited and thus available clients for constructing the new route. \item[{\em \_\-unvisited\-Idx}]Position of the last univisted client in \_\-unvisited vector. \item[{\em \_\-route}]The route where we are trying to insert a new client. \item[{\em \_\-next\-Client}]A return value. The selected client to be inserted. \item[{\em \_\-it}]A return value. The position for selected client to be inserted. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if a new insertion is possible. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 249 of file eo\-VRPInit.h.
|
||||
|
||||
References evaluate\-Insertion().
|
||||
|
||||
Referenced by create\-New\-Route().\index{eoVRPInit@{eo\-VRPInit}!evaluateInsertion@{evaluateInsertion}}
|
||||
\index{evaluateInsertion@{evaluateInsertion}!eoVRPInit@{eo\-VRPInit}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPInit::evaluate\-Insertion (Route \& {\em \_\-route}, unsigned {\em \_\-new\-Client}, int {\em \_\-after\-Client}, double \& {\em \_\-cost})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_init_82f2bb762d8f5da85febd266fb75a29b}
|
||||
|
||||
|
||||
Evaluates the feasibility and the cost of inserting a new client in a given subroute.
|
||||
|
||||
Given a subroute, this method tries evaluates if it is possible to insert a client in a position. It will return the cost of the resulting route if this insertion is possible. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-route}]The route where we are trying to insert a new client. \item[{\em \_\-new\-Client}]The client we are trying to insert. \item[{\em \_\-after\-Client}]The position of insertion. \item[{\em \_\-cost}]A return value. The cost of inserting the given client at the given position. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the new insertion is possible. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 308 of file eo\-VRPInit.h.
|
||||
|
||||
References eo\-VRPUtils::clients, eo\-VRPUtils::distance(), and eo\-VRPUtils::get\-Time\-Window().
|
||||
|
||||
Referenced by select\-Best\-Insertion().\index{eoVRPInit@{eo\-VRPInit}!selectFarthestClientAsSeed@{selectFarthestClientAsSeed}}
|
||||
\index{selectFarthestClientAsSeed@{selectFarthestClientAsSeed}!eoVRPInit@{eo\-VRPInit}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned eo\-VRPInit::select\-Farthest\-Client\-As\-Seed (const std::vector$<$ int $>$ \& {\em \_\-unvisited}, int {\em \_\-unvisited\-Idx})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_init_a24867d25a6c9911e9b5c9eb1b4b650d}
|
||||
|
||||
|
||||
Selects the farthest client as seed for a new route.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-unvisited}]Vector of unvisited and thus available clients for constructing the new route. \item[{\em \_\-unvisited\-Idx}]Position of the last univisted client in \_\-unvisited vector. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]The position of the client farthest from the depot. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 472 of file eo\-VRPInit.h.
|
||||
|
||||
References eo\-VRPUtils::distance().\index{eoVRPInit@{eo\-VRPInit}!selectCheapestClient@{selectCheapestClient}}
|
||||
\index{selectCheapestClient@{selectCheapestClient}!eoVRPInit@{eo\-VRPInit}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned eo\-VRPInit::select\-Cheapest\-Client (const std::vector$<$ int $>$ \& {\em \_\-unvisited}, int {\em \_\-unvisited\-Idx}, bool {\em \_\-seed\-Checking\-Override})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_init_0bb48de33e92c2b6a386e28d5b759f4b}
|
||||
|
||||
|
||||
Selects the cheapest client as seed for a new route.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-unvisited}]Vector of unvisited and thus available clients for constructing the new route. \item[{\em \_\-unvisited\-Idx}]Position of the last univisted client in \_\-unvisited vector. \item[{\em \_\-seed\-Checking\-Override}]If true, it overrides the seed checking mecanism. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]The position of the cheapest client. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 498 of file eo\-VRPInit.h.
|
||||
|
||||
References eo\-VRPUtils::clients, eo\-VRPUtils::distance(), eo\-Rng::flip(), m\-Seeds\-Used, and eo\-VRPUtils::polar\-Angle().\index{eoVRPInit@{eo\-VRPInit}!selectBestClientAsSeed@{selectBestClientAsSeed}}
|
||||
\index{selectBestClientAsSeed@{selectBestClientAsSeed}!eoVRPInit@{eo\-VRPInit}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned eo\-VRPInit::select\-Best\-Client\-As\-Seed (const std::vector$<$ int $>$ \& {\em \_\-unvisited}, int {\em \_\-unvisited\-Idx}, bool {\em \_\-seed\-Checking\-Override})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_init_dd681a23869f69438120ee2d82f85e94}
|
||||
|
||||
|
||||
Selects the best (the \char`\"{}hardest\char`\"{} one) client as seed for a new route.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-unvisited}]Vector of unvisited and thus available clients for constructing the new route. \item[{\em \_\-unvisited\-Idx}]Position of the last univisted client in \_\-unvisited vector. \item[{\em \_\-seed\-Checking\-Override}]If true, it overrides the seed checking mecanism. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]The position of the best client. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 532 of file eo\-VRPInit.h.
|
||||
|
||||
References eo\-VRPUtils::clients, eo\-VRPUtils::distance(), eo\-Rng::flip(), m\-Seeds\-Used, and eo\-Rng::uniform().
|
||||
|
||||
Referenced by create\-New\-Route().\index{eoVRPInit@{eo\-VRPInit}!RandomInitializationNoCheck@{RandomInitializationNoCheck}}
|
||||
\index{RandomInitializationNoCheck@{RandomInitializationNoCheck}!eoVRPInit@{eo\-VRPInit}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPInit::Random\-Initialization\-No\-Check (\bf{eo\-VRP} \& {\em \_\-gen})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_init_008ae39692b67ef0b25aed89075b1d46}
|
||||
|
||||
|
||||
Random initializer.
|
||||
|
||||
Initializes a genotype using a random initializer. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-gen}]Generally a genotype that has been default-constructed. Whatever it contains will be lost. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 569 of file eo\-VRPInit.h.
|
||||
|
||||
References eo\-VRPUtils::clients, and eo\-Rng::random().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-VRPInit.h\end{CompactItemize}
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 250
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 2 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 2 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(eoVRPMutation) cw
|
||||
(eoMonOp< eoVRP >) cw
|
||||
(eoOp< EOType >) cw
|
||||
(eoUF< eoVRP &, bool >) cw
|
||||
(eoFunctorBase) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(eoVRPMutation) 0.5 0 box
|
||||
(eoMonOp< eoVRP >) 0.5 1 box
|
||||
(eoOp< EOType >) 0 2 box
|
||||
(eoUF< eoVRP &, bool >) 1 2 box
|
||||
(eoFunctorBase) 1 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 0 out
|
||||
solid
|
||||
1 0.5 1 in
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
0 1 2 conn
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
1 1 2 in
|
||||
solid
|
||||
0 1 2 out
|
||||
solid
|
||||
1 1 3 in
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
\section{eo\-VRPMutation Class Reference}
|
||||
\label{classeo_v_r_p_mutation}\index{eoVRPMutation@{eoVRPMutation}}
|
||||
Implementation of variations of the four mutation operators for the VRP-TW defined by Tavares et al.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-VRPMutation.h$>$}
|
||||
|
||||
Inheritance diagram for eo\-VRPMutation::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classeo_v_r_p_mutation}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\bf{eo\-VRPMutation} ()\label{classeo_v_r_p_mutation_419ac5c738369876de09212a844e67c3}
|
||||
|
||||
\begin{CompactList}\small\item\em Default constructor: nothing to do here. \item\end{CompactList}\item
|
||||
std::string \bf{class\-Name} () const
|
||||
\begin{CompactList}\small\item\em Returns a string containing the name of the class. \item\end{CompactList}\item
|
||||
bool \bf{operator()} (\bf{eo\-VRP} \&\_\-genotype)
|
||||
\begin{CompactList}\small\item\em Functor operator. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
bool \bf{swap\-Mutation} (\bf{eo\-VRP} \&\_\-genotype)
|
||||
\begin{CompactList}\small\item\em It exhanges the positions of two clients within the individual. \item\end{CompactList}\item
|
||||
bool \bf{inversion\-Mutation} (\bf{eo\-VRP} \&\_\-genotype)
|
||||
\begin{CompactList}\small\item\em It selects two positions in the genotype and inverts the clients between them. \item\end{CompactList}\item
|
||||
bool \bf{insertion\-Mutation} (\bf{eo\-VRP} \&\_\-genotype)
|
||||
\begin{CompactList}\small\item\em It selects and individual, erases it from its original position and inserts it somewhere else. \item\end{CompactList}\item
|
||||
bool \bf{Displacement\-Mutation} (\bf{eo\-VRP} \&\_\-genotype)
|
||||
\begin{CompactList}\small\item\em It selects a set of clients, erases them from their original position and inserts them somewhere else. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Implementation of variations of the four mutation operators for the VRP-TW defined by Tavares et al.
|
||||
|
||||
These four operators should be separated in different classes and their probabilities made parameterizable.
|
||||
|
||||
|
||||
|
||||
Definition at line 52 of file eo\-VRPMutation.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{eoVRPMutation@{eo\-VRPMutation}!className@{className}}
|
||||
\index{className@{className}!eoVRPMutation@{eo\-VRPMutation}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::string eo\-VRPMutation::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_mutation_1c99e21818d6bae1cdd21b4180601d41}
|
||||
|
||||
|
||||
Returns a string containing the name of the class.
|
||||
|
||||
Used to display statistics. \begin{Desc}
|
||||
\item[Returns:]The string containing the name of the class. \end{Desc}
|
||||
|
||||
|
||||
Reimplemented from \bf{eo\-Mon\-Op$<$ eo\-VRP $>$}.
|
||||
|
||||
Definition at line 70 of file eo\-VRPMutation.h.\index{eoVRPMutation@{eo\-VRPMutation}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoVRPMutation@{eo\-VRPMutation}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPMutation::operator() (\bf{eo\-VRP} \& {\em \_\-genotype})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_mutation_f9fabdc8497f463add309fdace102813}
|
||||
|
||||
|
||||
Functor operator.
|
||||
|
||||
Applies one of the four mutation operators available, each of them with a predefined (hard-coded) probability. These operators should be separated in different classes and their probabilities made parameterizable to do it in a more \char`\"{}paradis\-EO\char`\"{} way. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-genotype}]The genotype being mutated (it will be probably modified). \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the individual has been modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Implements \bf{eo\-UF$<$ eo\-VRP \&, bool $>$}.
|
||||
|
||||
Definition at line 86 of file eo\-VRPMutation.h.
|
||||
|
||||
References eo\-VRP::clean\-Routes(), Displacement\-Mutation(), insertion\-Mutation(), inversion\-Mutation(), swap\-Mutation(), and eo\-Rng::uniform().\index{eoVRPMutation@{eo\-VRPMutation}!swapMutation@{swapMutation}}
|
||||
\index{swapMutation@{swapMutation}!eoVRPMutation@{eo\-VRPMutation}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPMutation::swap\-Mutation (\bf{eo\-VRP} \& {\em \_\-genotype})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_mutation_bef9736583de0b7f6e734b26483ab69d}
|
||||
|
||||
|
||||
It exhanges the positions of two clients within the individual.
|
||||
|
||||
Clients may or may not be in the same route. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-genotype}]The genotype being mutated (it will be probably modified). \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the individual has been modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 119 of file eo\-VRPMutation.h.
|
||||
|
||||
References eo\-Rng::random().
|
||||
|
||||
Referenced by operator()().\index{eoVRPMutation@{eo\-VRPMutation}!inversionMutation@{inversionMutation}}
|
||||
\index{inversionMutation@{inversionMutation}!eoVRPMutation@{eo\-VRPMutation}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPMutation::inversion\-Mutation (\bf{eo\-VRP} \& {\em \_\-genotype})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_mutation_61cc39a190e9d070b005a7afb5e38d2a}
|
||||
|
||||
|
||||
It selects two positions in the genotype and inverts the clients between them.
|
||||
|
||||
Clients may or may not be in the same route. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-genotype}]The genotype being mutated (it will be probably modified). \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the individual has been modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 142 of file eo\-VRPMutation.h.
|
||||
|
||||
References eo\-Rng::random().
|
||||
|
||||
Referenced by operator()().\index{eoVRPMutation@{eo\-VRPMutation}!insertionMutation@{insertionMutation}}
|
||||
\index{insertionMutation@{insertionMutation}!eoVRPMutation@{eo\-VRPMutation}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPMutation::insertion\-Mutation (\bf{eo\-VRP} \& {\em \_\-genotype})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_mutation_6ead0938bb1f8ab34c321916a6dd5b66}
|
||||
|
||||
|
||||
It selects and individual, erases it from its original position and inserts it somewhere else.
|
||||
|
||||
The insertion may or may not be within the same route. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-genotype}]The genotype being mutated (it will be probably modified). \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the individual has been modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 170 of file eo\-VRPMutation.h.
|
||||
|
||||
References eo\-Rng::random().
|
||||
|
||||
Referenced by operator()().\index{eoVRPMutation@{eo\-VRPMutation}!DisplacementMutation@{DisplacementMutation}}
|
||||
\index{DisplacementMutation@{DisplacementMutation}!eoVRPMutation@{eo\-VRPMutation}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPMutation::Displacement\-Mutation (\bf{eo\-VRP} \& {\em \_\-genotype})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_v_r_p_mutation_b6b7e818085f6ba03d64f045f32356be}
|
||||
|
||||
|
||||
It selects a set of clients, erases them from their original position and inserts them somewhere else.
|
||||
|
||||
The selected set of clients may cover different routes. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-genotype}]The genotype being mutated (it will be probably modified). \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if the individual has been modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 199 of file eo\-VRPMutation.h.
|
||||
|
||||
References eo\-Rng::random().
|
||||
|
||||
Referenced by operator()().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-VRPMutation.h\end{CompactItemize}
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 180.18
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 2.775 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 4 def
|
||||
/cols 2 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(eoVRPOnePointCrossover) cw
|
||||
(eoQuadOp< eoVRP >) cw
|
||||
(eoOp< EOType >) cw
|
||||
(eoBF< eoVRP &, eoVRP &, bool >) cw
|
||||
(eoFunctorBase) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(eoVRPOnePointCrossover) 0.5 0 box
|
||||
(eoQuadOp< eoVRP >) 0.5 1 box
|
||||
(eoOp< EOType >) 0 2 box
|
||||
(eoBF< eoVRP &, eoVRP &, bool >) 1 2 box
|
||||
(eoFunctorBase) 1 3 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 0 out
|
||||
solid
|
||||
1 0.5 1 in
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
0 1 2 conn
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
1 1 2 in
|
||||
solid
|
||||
0 1 2 out
|
||||
solid
|
||||
1 1 3 in
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
\section{eo\-VRPOne\-Point\-Crossover Class Reference}
|
||||
\label{classeo_v_r_p_one_point_crossover}\index{eoVRPOnePointCrossover@{eoVRPOnePointCrossover}}
|
||||
Implementation of the simple One Point Crossover.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-VRPQuad\-Crossover.h$>$}
|
||||
|
||||
Inheritance diagram for eo\-VRPOne\-Point\-Crossover::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=4cm]{classeo_v_r_p_one_point_crossover}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\bf{eo\-VRPOne\-Point\-Crossover} ()\label{classeo_v_r_p_one_point_crossover_24f40efc1adb60947c5d533653bbfbe9}
|
||||
|
||||
\begin{CompactList}\small\item\em Deafult constructor. \item\end{CompactList}\item
|
||||
std::string \bf{class\-Name} () const
|
||||
\begin{CompactList}\small\item\em Returns a string containing the name of the class. \item\end{CompactList}\item
|
||||
bool \bf{operator()} (\bf{eo\-VRP} \&\_\-genotype1, \bf{eo\-VRP} \&\_\-genotype2)
|
||||
\begin{CompactList}\small\item\em Performs a one point crossover. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Implementation of the simple One Point Crossover.
|
||||
|
||||
|
||||
|
||||
Definition at line 159 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{eoVRPOnePointCrossover@{eo\-VRPOne\-Point\-Crossover}!className@{className}}
|
||||
\index{className@{className}!eoVRPOnePointCrossover@{eo\-VRPOne\-Point\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::string eo\-VRPOne\-Point\-Crossover::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_one_point_crossover_a62bc52e6f36d7fae7c192173fbfd2dc}
|
||||
|
||||
|
||||
Returns a string containing the name of the class.
|
||||
|
||||
Used to display statistics. \begin{Desc}
|
||||
\item[Returns:]The string containing the name of the class. \end{Desc}
|
||||
|
||||
|
||||
Reimplemented from \bf{eo\-Quad\-Op$<$ eo\-VRP $>$}.
|
||||
|
||||
Definition at line 177 of file eo\-VRPQuad\-Crossover.h.\index{eoVRPOnePointCrossover@{eo\-VRPOne\-Point\-Crossover}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoVRPOnePointCrossover@{eo\-VRPOne\-Point\-Crossover}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool eo\-VRPOne\-Point\-Crossover::operator() (\bf{eo\-VRP} \& {\em \_\-genotype1}, \bf{eo\-VRP} \& {\em \_\-genotype2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_one_point_crossover_b930b5d9a8ee0719f675f9eea791579b}
|
||||
|
||||
|
||||
Performs a one point crossover.
|
||||
|
||||
Both parameters are the parents and the (future) children of the crossover. \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-genotype1}]The first parent. \item[{\em \_\-genotype2}]The second parent. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]True if any of the parents was modified. False otherwise. \end{Desc}
|
||||
|
||||
|
||||
Implements \bf{eo\-BF$<$ eo\-VRP \&, eo\-VRP \&, bool $>$}.
|
||||
|
||||
Definition at line 191 of file eo\-VRPQuad\-Crossover.h.
|
||||
|
||||
References eo\-VRP::clean\-Routes(), and eo\-Rng::random().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-VRPQuad\-Crossover.h\end{CompactItemize}
|
||||
|
|
@ -0,0 +1,227 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: ClassName
|
||||
%%Creator: Doxygen
|
||||
%%CreationDate: Time
|
||||
%%For:
|
||||
%Magnification: 1.00
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 500 303.03
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
|
||||
% ----- variables -----
|
||||
|
||||
/boxwidth 0 def
|
||||
/boxheight 40 def
|
||||
/fontheight 24 def
|
||||
/marginwidth 10 def
|
||||
/distx 20 def
|
||||
/disty 40 def
|
||||
/boundaspect 1.65 def % aspect ratio of the BoundingBox (width/height)
|
||||
/boundx 500 def
|
||||
/boundy boundx boundaspect div def
|
||||
/xspacing 0 def
|
||||
/yspacing 0 def
|
||||
/rows 5 def
|
||||
/cols 2 def
|
||||
/scalefactor 0 def
|
||||
/boxfont /Times-Roman findfont fontheight scalefont def
|
||||
|
||||
% ----- procedures -----
|
||||
|
||||
/dotted { [1 4] 0 setdash } def
|
||||
/dashed { [5] 0 setdash } def
|
||||
/solid { [] 0 setdash } def
|
||||
|
||||
/max % result = MAX(arg1,arg2)
|
||||
{
|
||||
/a exch def
|
||||
/b exch def
|
||||
a b gt {a} {b} ifelse
|
||||
} def
|
||||
|
||||
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
|
||||
{
|
||||
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
|
||||
} def
|
||||
|
||||
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
|
||||
{
|
||||
/str exch def
|
||||
/boxwidth boxwidth str stringwidth pop max def
|
||||
} def
|
||||
|
||||
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
|
||||
{ gsave
|
||||
2 setlinewidth
|
||||
newpath
|
||||
exch xspacing mul xoffset add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
boxwidth 0 rlineto
|
||||
0 boxheight rlineto
|
||||
boxwidth neg 0 rlineto
|
||||
0 boxheight neg rlineto
|
||||
closepath
|
||||
dup stringwidth pop neg boxwidth add 2 div
|
||||
boxheight fontheight 2 div sub 2 div
|
||||
rmoveto show stroke
|
||||
grestore
|
||||
} def
|
||||
|
||||
/mark
|
||||
{ newpath
|
||||
exch xspacing mul xoffset add boxwidth add
|
||||
exch yspacing mul
|
||||
moveto
|
||||
0 boxheight 4 div rlineto
|
||||
boxheight neg 4 div boxheight neg 4 div rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/arrow
|
||||
{ newpath
|
||||
moveto
|
||||
3 -8 rlineto
|
||||
-6 0 rlineto
|
||||
3 8 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} def
|
||||
|
||||
/out % draws an output connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight add
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/in % draws an input connector for the block at (arg1,arg2)
|
||||
{
|
||||
newpath
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul disty 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
x y moveto
|
||||
0 disty 2 div rlineto
|
||||
stroke
|
||||
1 eq { x y disty 2 div add arrow } if
|
||||
} def
|
||||
|
||||
/hedge
|
||||
{
|
||||
exch xspacing mul xoffset add boxwidth 2 div add
|
||||
exch yspacing mul boxheight 2 div sub
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x y moveto
|
||||
boxwidth 2 div distx add 0 rlineto
|
||||
stroke
|
||||
1 eq
|
||||
{ newpath x boxwidth 2 div distx add add y moveto
|
||||
-8 3 rlineto
|
||||
0 -6 rlineto
|
||||
8 3 rlineto
|
||||
closepath
|
||||
eofill
|
||||
stroke
|
||||
} if
|
||||
} def
|
||||
|
||||
/vedge
|
||||
{
|
||||
/ye exch def
|
||||
/ys exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add dup
|
||||
ys yspacing mul boxheight 2 div sub
|
||||
moveto
|
||||
ye yspacing mul boxheight 2 div sub
|
||||
lineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
|
||||
{
|
||||
/ys exch def
|
||||
/xe exch def
|
||||
/xs exch def
|
||||
newpath
|
||||
xs xspacing mul xoffset add boxwidth 2 div add
|
||||
ys yspacing mul disty 2 div sub
|
||||
moveto
|
||||
xspacing xe xs sub mul 0
|
||||
rlineto
|
||||
stroke
|
||||
} def
|
||||
|
||||
% ----- main ------
|
||||
|
||||
boxfont setfont
|
||||
1 boundaspect scale
|
||||
(eoVRPStat) cw
|
||||
(eoStat< eoVRP, double >) cw
|
||||
(eoValueParam< double >) cw
|
||||
(eoStatBase< EOT >) cw
|
||||
(eoParam) cw
|
||||
(eoUF< A1, R >) cw
|
||||
(eoFunctorBase) cw
|
||||
/boxwidth boxwidth marginwidth 2 mul add def
|
||||
/xspacing boxwidth distx add def
|
||||
/yspacing boxheight disty add def
|
||||
/scalefactor
|
||||
boxwidth cols mul distx cols 1 sub mul add
|
||||
boxheight rows mul disty rows 1 sub mul add boundaspect mul
|
||||
max def
|
||||
boundx scalefactor div boundy scalefactor div scale
|
||||
|
||||
% ----- classes -----
|
||||
|
||||
(eoVRPStat) 0.5 0 box
|
||||
(eoStat< eoVRP, double >) 0.5 1 box
|
||||
(eoValueParam< double >) 0 2 box
|
||||
(eoStatBase< EOT >) 1 2 box
|
||||
(eoParam) 0 3 box
|
||||
(eoUF< A1, R >) 1 3 box
|
||||
(eoFunctorBase) 1 4 box
|
||||
|
||||
% ----- relations -----
|
||||
|
||||
solid
|
||||
0 0.5 0 out
|
||||
solid
|
||||
1 0.5 1 in
|
||||
solid
|
||||
0 0.5 1 out
|
||||
solid
|
||||
0 1 2 conn
|
||||
solid
|
||||
1 0 2 in
|
||||
solid
|
||||
0 0 2 out
|
||||
solid
|
||||
1 1 2 in
|
||||
solid
|
||||
0 1 2 out
|
||||
solid
|
||||
1 0 3 in
|
||||
solid
|
||||
1 1 3 in
|
||||
solid
|
||||
0 1 3 out
|
||||
solid
|
||||
1 1 4 in
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
\section{eo\-VRPStat Class Reference}
|
||||
\label{classeo_v_r_p_stat}\index{eoVRPStat@{eoVRPStat}}
|
||||
Manages the statistics of the VRP problem.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-VRPStat.h$>$}
|
||||
|
||||
Inheritance diagram for eo\-VRPStat::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=5cm]{classeo_v_r_p_stat}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\bf{eo\-VRPStat} (std::string \_\-description=\char`\"{}eo\-VRPStat \char`\"{})
|
||||
\begin{CompactList}\small\item\em Constructor: initializes variables properly. \item\end{CompactList}\item
|
||||
void \bf{operator()} (const \bf{eo\-Pop}$<$ \bf{eo\-VRP} $>$ \&\_\-pop)
|
||||
\begin{CompactList}\small\item\em Gets statistics from a population. \item\end{CompactList}\item
|
||||
virtual std::string \bf{class\-Name} (void) const
|
||||
\begin{CompactList}\small\item\em Returns a string containing the name of the class. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Manages the statistics of the VRP problem.
|
||||
|
||||
|
||||
|
||||
Definition at line 47 of file eo\-VRPStat.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\index{eoVRPStat@{eo\-VRPStat}!eoVRPStat@{eoVRPStat}}
|
||||
\index{eoVRPStat@{eoVRPStat}!eoVRPStat@{eo\-VRPStat}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}eo\-VRPStat::eo\-VRPStat (std::string {\em \_\-description} = {\tt \char`\"{}eoVRPStat~\char`\"{}})\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_stat_a326e09d7efebb4c572ea51ae517e058}
|
||||
|
||||
|
||||
Constructor: initializes variables properly.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-description}]A string identifying the class. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 56 of file eo\-VRPStat.h.
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{eoVRPStat@{eo\-VRPStat}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoVRPStat@{eo\-VRPStat}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPStat::operator() (const \bf{eo\-Pop}$<$ \bf{eo\-VRP} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classeo_v_r_p_stat_5e773fab9c82e0a06d075af4be265d1e}
|
||||
|
||||
|
||||
Gets statistics from a population.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-pop}]The population that will be analyzed. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 66 of file eo\-VRPStat.h.
|
||||
|
||||
References eo\-Value\-Param$<$ T $>$::value().\index{eoVRPStat@{eo\-VRPStat}!className@{className}}
|
||||
\index{className@{className}!eoVRPStat@{eo\-VRPStat}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual std::string eo\-VRPStat::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_v_r_p_stat_61d9ece1bde19f4cd997c3aba075d8e7}
|
||||
|
||||
|
||||
Returns a string containing the name of the class.
|
||||
|
||||
Used to display statistics. \begin{Desc}
|
||||
\item[Returns:]The string containing the name of the class. \end{Desc}
|
||||
|
||||
|
||||
Reimplemented from \bf{eo\-Stat$<$ eo\-VRP, double $>$}.
|
||||
|
||||
Definition at line 79 of file eo\-VRPStat.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-VRPStat.h\end{CompactItemize}
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{doxygen}
|
||||
\RequirePackage{calc}
|
||||
\RequirePackage{array}
|
||||
\pagestyle{fancyplain}
|
||||
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
|
||||
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
|
||||
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
|
||||
\lhead[\fancyplain{}{\bfseries\thepage}]
|
||||
{\fancyplain{}{\bfseries\rightmark}}
|
||||
\rhead[\fancyplain{}{\bfseries\leftmark}]
|
||||
{\fancyplain{}{\bfseries\thepage}}
|
||||
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW by Doxygen }]{}
|
||||
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Fri Dec 7 16:57:19 2007 for CVRP-TW by Doxygen }}
|
||||
\cfoot{}
|
||||
\newenvironment{Code}
|
||||
{\footnotesize}
|
||||
{\normalsize}
|
||||
\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
|
||||
\newenvironment{DocInclude}
|
||||
{\footnotesize}
|
||||
{\normalsize}
|
||||
\newenvironment{VerbInclude}
|
||||
{\footnotesize}
|
||||
{\normalsize}
|
||||
\newenvironment{Image}
|
||||
{\begin{figure}[H]}
|
||||
{\end{figure}}
|
||||
\newenvironment{ImageNoCaption}{}{}
|
||||
\newenvironment{CompactList}
|
||||
{\begin{list}{}{
|
||||
\setlength{\leftmargin}{0.5cm}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\topsep}{0pt}
|
||||
\renewcommand{\makelabel}{\hfill}}}
|
||||
{\end{list}}
|
||||
\newenvironment{CompactItemize}
|
||||
{
|
||||
\begin{itemize}
|
||||
\setlength{\itemsep}{-3pt}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\topsep}{0pt}
|
||||
\setlength{\partopsep}{0pt}
|
||||
}
|
||||
{\end{itemize}}
|
||||
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
|
||||
\newlength{\tmplength}
|
||||
\newenvironment{TabularC}[1]
|
||||
{
|
||||
\setlength{\tmplength}
|
||||
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
|
||||
\par\begin{tabular*}{\linewidth}
|
||||
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
|
||||
}
|
||||
{\end{tabular*}\par}
|
||||
\newcommand{\entrylabel}[1]{
|
||||
{\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
|
||||
\newenvironment{Desc}
|
||||
{\begin{list}{}
|
||||
{
|
||||
\settowidth{\labelwidth}{40pt}
|
||||
\setlength{\leftmargin}{\labelwidth}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\itemsep}{-4pt}
|
||||
\renewcommand{\makelabel}{\entrylabel}
|
||||
}
|
||||
}
|
||||
{\end{list}}
|
||||
\newenvironment{Indent}
|
||||
{\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
|
||||
\item[]\ignorespaces}
|
||||
{\unskip\end{list}}
|
||||
\setlength{\parindent}{0cm}
|
||||
\setlength{\parskip}{0.2cm}
|
||||
\addtocounter{secnumdepth}{1}
|
||||
\sloppy
|
||||
\usepackage[T1]{fontenc}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
\section{CVRP-TW Class Hierarchy}
|
||||
This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList}
|
||||
\item \contentsline{section}{eo\-VRPUtils::Client\-Data}{\pageref{structeo_v_r_p_utils_1_1_client_data}}{}
|
||||
\item eo\-Functor\-Base{\tt [external]}\begin{CompactList}
|
||||
\item eo\-BF$<$ EOType \&, EOType \&, bool $>${\tt [external]}\item eo\-BF$<$ eo\-VRP \&, eo\-VRP \&, bool $>${\tt [external]}\begin{CompactList}
|
||||
\item eo\-Quad\-Op$<$ eo\-VRP $>${\tt [external]}\begin{CompactList}
|
||||
\item \contentsline{section}{eo\-VRPEdge\-Crossover}{\pageref{classeo_v_r_p_edge_crossover}}{}
|
||||
\item \contentsline{section}{eo\-VRPGeneric\-Crossover}{\pageref{classeo_v_r_p_generic_crossover}}{}
|
||||
\item \contentsline{section}{eo\-VRPOne\-Point\-Crossover}{\pageref{classeo_v_r_p_one_point_crossover}}{}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
\item eo\-UF$<$ A1, R $>${\tt [external]}\begin{CompactList}
|
||||
\item eo\-Eval\-Func$<$ eo\-VRP $>${\tt [external]}\begin{CompactList}
|
||||
\item \contentsline{section}{eo\-VRPEval\-Func}{\pageref{classeo_v_r_p_eval_func}}{}
|
||||
\end{CompactList}
|
||||
\item eo\-Init$<$ eo\-VRP $>${\tt [external]}\begin{CompactList}
|
||||
\item \contentsline{section}{eo\-VRPInit}{\pageref{classeo_v_r_p_init}}{}
|
||||
\end{CompactList}
|
||||
\item eo\-Stat\-Base$<$ EOT $>${\tt [external]}\begin{CompactList}
|
||||
\item eo\-Stat$<$ eo\-VRP, double $>${\tt [external]}\begin{CompactList}
|
||||
\item \contentsline{section}{eo\-VRPStat}{\pageref{classeo_v_r_p_stat}}{}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
\item eo\-UF$<$ EOType \&, bool $>${\tt [external]}\item eo\-UF$<$ eo\-VRP \&, bool $>${\tt [external]}\begin{CompactList}
|
||||
\item eo\-Mon\-Op$<$ eo\-VRP $>${\tt [external]}\begin{CompactList}
|
||||
\item \contentsline{section}{eo\-VRPMutation}{\pageref{classeo_v_r_p_mutation}}{}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
\item eo\-Object{\tt [external]}\begin{CompactList}
|
||||
\item EO$<$ F $>${\tt [external]}\begin{CompactList}
|
||||
\item eo\-Vector$<$ eo\-Minimizing\-Fitness, int $>${\tt [external]}\begin{CompactList}
|
||||
\item \contentsline{section}{eo\-VRP}{\pageref{classeo_v_r_p}}{}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
\item eo\-Op$<$ EOType $>${\tt [external]}\begin{CompactList}
|
||||
\item eo\-Mon\-Op$<$ eo\-VRP $>${\tt [external]}\item eo\-Quad\-Op$<$ eo\-VRP $>${\tt [external]}\end{CompactList}
|
||||
\item eo\-Param{\tt [external]}\begin{CompactList}
|
||||
\item eo\-Value\-Param$<$ double $>${\tt [external]}\begin{CompactList}
|
||||
\item eo\-Stat$<$ eo\-VRP, double $>${\tt [external]}\end{CompactList}
|
||||
\item eo\-Value\-Param$<$ T $>${\tt [external]}\end{CompactList}
|
||||
\item eo\-Printable{\tt [external]}\begin{CompactList}
|
||||
\item eo\-Persistent{\tt [external]}\begin{CompactList}
|
||||
\item EO$<$ F $>${\tt [external]}\end{CompactList}
|
||||
\end{CompactList}
|
||||
\end{CompactList}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
\section{Introduction}\label{main_Introduction}
|
||||
The capacitated vehicle routing problem with time windows or CVRP-TW is a combinatorial optimization problem seeking to service a number of customers with a fleet of vehicles where the vehicles have a mimited capacity and the delivery locations have time windows within which the deliveries (or visits) must be made. Often the context is that of delivering goods located at a central depot to customers who have placed orders for such goods. Implicit is the goal of minimizing the cost of distributing the goods. Finding the global minimum for the cost function, except for the smallest instances, is computationally complex.\section{AUTHORS}\label{main_authors}
|
||||
\begin{TabularC}{3}
|
||||
\hline
|
||||
Dolphin project-team INRIA Futurs, 2007. &Antonio La\-Torre atorre[at]fi.upm.es &Thomas Legrand paradiseo-help[at]lists.gforge.inria.fr \\\hline
|
||||
\end{TabularC}
|
||||
\section{LICENSE}\label{main_LICENSE}
|
||||
This software is governed by the Ce\-CILL license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the Ce\-CILL license as circulated by CEA, CNRS and INRIA at the following URL \char`\"{}http://www.cecill.info\char`\"{}.
|
||||
|
||||
As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.
|
||||
|
||||
In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security. The fact that you are presently reading this means that you have had knowledge of the Ce\-CILL license and that you accept its terms.
|
||||
|
||||
Paradis\-EO Web\-Site : \tt{http://paradiseo.gforge.inria.fr} Contact: \tt{paradiseo-help@lists.gforge.inria.fr}\section{Home Page}\label{main_Paradiseo}
|
||||
{\tt http://paradiseo.gforge.inria.fr}
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
\section{eo\-VRPUtils Namespace Reference}
|
||||
\label{namespaceeo_v_r_p_utils}\index{eoVRPUtils@{eoVRPUtils}}
|
||||
A set of structures and utility functions for the VRP-TW problem.
|
||||
|
||||
|
||||
\subsection*{Classes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
struct \bf{Client\-Data}
|
||||
\begin{CompactList}\small\item\em Information regarding each client in the dataset. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Typedefs}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
typedef \bf{eo\-VRPUtils::Client\-Data} \bf{Client\-Data\-T}\label{namespaceeo_v_r_p_utils_7e63908fdf744829e9f781fbd4e84157}
|
||||
|
||||
\begin{CompactList}\small\item\em Renaming of struct \doxyref{Client\-Data}{p.}{structeo_v_r_p_utils_1_1_client_data}. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
void \bf{compute\-Distances} ()
|
||||
\begin{CompactList}\small\item\em Computes the distance between two clients. \item\end{CompactList}\item
|
||||
void \bf{get\-Time\-Window} (unsigned \_\-client, double \&\_\-ready\-Time, double \&\_\-due\-Time, double \&\_\-service\-Time)
|
||||
\begin{CompactList}\small\item\em Returns the time window information of a given client. \item\end{CompactList}\item
|
||||
float \bf{distance} (unsigned \_\-from, unsigned \_\-to)
|
||||
\begin{CompactList}\small\item\em A function to get the distance between two clients. \item\end{CompactList}\item
|
||||
float \bf{polar\-Angle} (unsigned \_\-from, unsigned \_\-to)
|
||||
\begin{CompactList}\small\item\em Computes de polar angle between clients. \item\end{CompactList}\item
|
||||
void \bf{load} (const char $\ast$\_\-file\-Name)
|
||||
\begin{CompactList}\small\item\em Loads the problem data from a given file. \item\end{CompactList}\item
|
||||
void \bf{print\-Route} (const Route \&\_\-route)
|
||||
\begin{CompactList}\small\item\em Prints a route to the standard output. \item\end{CompactList}\item
|
||||
void \bf{print\-Routes} (Routes \&\_\-routes)
|
||||
\begin{CompactList}\small\item\em Prints a set of routes to the standard output. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Variables}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
static std::vector$<$ \bf{Client\-Data\-T} $>$ \bf{clients}\label{namespaceeo_v_r_p_utils_cca56d985813005c1859bf4965b00308}
|
||||
|
||||
\begin{CompactList}\small\item\em Vector to store clients's information. \item\end{CompactList}\item
|
||||
static std::vector$<$ std::vector$<$ double $>$ $>$ \bf{dist}\label{namespaceeo_v_r_p_utils_e2976c5bc5da08aca013ebaf87196ee1}
|
||||
|
||||
\begin{CompactList}\small\item\em Distance matrix. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
A set of structures and utility functions for the VRP-TW problem.
|
||||
|
||||
\subsection{Function Documentation}
|
||||
\index{eoVRPUtils@{eo\-VRPUtils}!computeDistances@{computeDistances}}
|
||||
\index{computeDistances@{computeDistances}!eoVRPUtils@{eo\-VRPUtils}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPUtils::compute\-Distances ()}\label{namespaceeo_v_r_p_utils_f09f4dc5739c56f1a30a3ae8532502d3}
|
||||
|
||||
|
||||
Computes the distance between two clients.
|
||||
|
||||
The computed distances will be stored in dist.
|
||||
|
||||
Definition at line 108 of file eo\-VRPUtils.h.
|
||||
|
||||
References clients, and dist.
|
||||
|
||||
Referenced by load().\index{eoVRPUtils@{eo\-VRPUtils}!getTimeWindow@{getTimeWindow}}
|
||||
\index{getTimeWindow@{getTimeWindow}!eoVRPUtils@{eo\-VRPUtils}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPUtils::get\-Time\-Window (unsigned {\em \_\-client}, double \& {\em \_\-ready\-Time}, double \& {\em \_\-due\-Time}, double \& {\em \_\-service\-Time})}\label{namespaceeo_v_r_p_utils_a2926351e32e88b8c477c15537c41e1c}
|
||||
|
||||
|
||||
Returns the time window information of a given client.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-client}]The client whose information we want to know. \item[{\em \_\-ready\-Time}]Return value. The beginning of the client's time window. \item[{\em \_\-due\-Time}]Return value. The end of the client's time window. \item[{\em \_\-service\-Time}]Return value. The client's service time. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 139 of file eo\-VRPUtils.h.
|
||||
|
||||
References clients.
|
||||
|
||||
Referenced by eo\-VRP::decode(), and eo\-VRPInit::evaluate\-Insertion().\index{eoVRPUtils@{eo\-VRPUtils}!distance@{distance}}
|
||||
\index{distance@{distance}!eoVRPUtils@{eo\-VRPUtils}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float eo\-VRPUtils::distance (unsigned {\em \_\-from}, unsigned {\em \_\-to})}\label{namespaceeo_v_r_p_utils_b9df85a56a60d65bc6c127b959319d7b}
|
||||
|
||||
|
||||
A function to get the distance between two clients.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-from}]The first client. \item[{\em \_\-to}]The second client. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]The distance between \_\-from and \_\-to. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 157 of file eo\-VRPUtils.h.
|
||||
|
||||
References clients, and dist.
|
||||
|
||||
Referenced by eo\-VRP::decode(), eo\-VRPInit::evaluate\-Insertion(), eo\-VRPInit::select\-Best\-Client\-As\-Seed(), eo\-VRPInit::select\-Cheapest\-Client(), and eo\-VRPInit::select\-Farthest\-Client\-As\-Seed().\index{eoVRPUtils@{eo\-VRPUtils}!polarAngle@{polarAngle}}
|
||||
\index{polarAngle@{polarAngle}!eoVRPUtils@{eo\-VRPUtils}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float eo\-VRPUtils::polar\-Angle (unsigned {\em \_\-from}, unsigned {\em \_\-to})}\label{namespaceeo_v_r_p_utils_4d6ec814ae3e31508ebc6f51eeefb8a7}
|
||||
|
||||
|
||||
Computes de polar angle between clients.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-from}]The first client. \item[{\em \_\-to}]The second client. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]The polar angle between \_\-from and \_\-to. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 174 of file eo\-VRPUtils.h.
|
||||
|
||||
References clients.
|
||||
|
||||
Referenced by eo\-VRPInit::select\-Cheapest\-Client().\index{eoVRPUtils@{eo\-VRPUtils}!load@{load}}
|
||||
\index{load@{load}!eoVRPUtils@{eo\-VRPUtils}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPUtils::load (const char $\ast$ {\em \_\-file\-Name})}\label{namespaceeo_v_r_p_utils_3ce087ce36a197c4fce6419e71ae3d41}
|
||||
|
||||
|
||||
Loads the problem data from a given file.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-file\-Name}]The file to load data from. \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Warning:]No error check is performed! \end{Desc}
|
||||
|
||||
|
||||
Definition at line 199 of file eo\-VRPUtils.h.
|
||||
|
||||
References clients, and compute\-Distances().\index{eoVRPUtils@{eo\-VRPUtils}!printRoute@{printRoute}}
|
||||
\index{printRoute@{printRoute}!eoVRPUtils@{eo\-VRPUtils}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPUtils::print\-Route (const Route \& {\em \_\-route})}\label{namespaceeo_v_r_p_utils_98b134f2b63fe5ed3155b0379a5fb912}
|
||||
|
||||
|
||||
Prints a route to the standard output.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-route}]The route to print. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 241 of file eo\-VRPUtils.h.\index{eoVRPUtils@{eo\-VRPUtils}!printRoutes@{printRoutes}}
|
||||
\index{printRoutes@{printRoutes}!eoVRPUtils@{eo\-VRPUtils}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void eo\-VRPUtils::print\-Routes (Routes \& {\em \_\-routes})}\label{namespaceeo_v_r_p_utils_57f6a32cc66da26d57459a1560e6ee5d}
|
||||
|
||||
|
||||
Prints a set of routes to the standard output.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-routes}]The set of routes to print. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 264 of file eo\-VRPUtils.h.
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
\section{CVRP-TW Namespace List}
|
||||
Here is a list of all documented namespaces with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{\bf{eo\-VRPUtils} (A set of structures and utility functions for the VRP-TW problem )}{\pageref{namespaceeo_v_r_p_utils}}{}
|
||||
\end{CompactList}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
\documentclass[a4paper]{book}
|
||||
\usepackage{a4wide}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{multicol}
|
||||
\usepackage{float}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{alltt}
|
||||
\usepackage{doxygen}
|
||||
\makeindex
|
||||
\setcounter{tocdepth}{1}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\begin{document}
|
||||
\begin{titlepage}
|
||||
\vspace*{7cm}
|
||||
\begin{center}
|
||||
{\Large CVRP-TW Reference Manual\\[1ex]\large 1.0 }\\
|
||||
\vspace*{1cm}
|
||||
{\large Generated by Doxygen 1.4.7}\\
|
||||
\vspace*{0.5cm}
|
||||
{\small Fri Dec 7 16:57:19 2007}\\
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{arabic}
|
||||
\chapter{Welcome to PARADISEO - CVRP-TW contribution }
|
||||
\label{index}\input{main}
|
||||
\chapter{CVRP-TW Namespace Index}
|
||||
\input{namespaces}
|
||||
\chapter{CVRP-TW Hierarchical Index}
|
||||
\input{hierarchy}
|
||||
\chapter{CVRP-TW Class Index}
|
||||
\input{annotated}
|
||||
\chapter{CVRP-TW Namespace Documentation}
|
||||
\input{namespaceeo_v_r_p_utils}
|
||||
\chapter{CVRP-TW Class Documentation}
|
||||
\input{structeo_v_r_p_utils_1_1_client_data}
|
||||
\include{classeo_v_r_p}
|
||||
\include{classeo_v_r_p_edge_crossover}
|
||||
\include{classeo_v_r_p_eval_func}
|
||||
\include{classeo_v_r_p_generic_crossover}
|
||||
\include{classeo_v_r_p_init}
|
||||
\include{classeo_v_r_p_mutation}
|
||||
\include{classeo_v_r_p_one_point_crossover}
|
||||
\include{classeo_v_r_p_stat}
|
||||
\printindex
|
||||
\end{document}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
\section{eo\-VRPUtils::Client\-Data Struct Reference}
|
||||
\label{structeo_v_r_p_utils_1_1_client_data}\index{eoVRPUtils::ClientData@{eoVRPUtils::ClientData}}
|
||||
Information regarding each client in the dataset.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-VRPUtils.h$>$}
|
||||
|
||||
\subsection*{Public Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
unsigned \bf{id}\label{structeo_v_r_p_utils_1_1_client_data_c6496a0fce64b8b6babe12b2446c1050}
|
||||
|
||||
\begin{CompactList}\small\item\em Client ID number. \item\end{CompactList}\item
|
||||
double \bf{x}\label{structeo_v_r_p_utils_1_1_client_data_fb30df4148eb916a1785ecd823b02316}
|
||||
|
||||
\begin{CompactList}\small\item\em Client's 'x' position in the map. \item\end{CompactList}\item
|
||||
double \bf{y}\label{structeo_v_r_p_utils_1_1_client_data_3164fdd2b99e9b3c565ba3f8ff05c0da}
|
||||
|
||||
\begin{CompactList}\small\item\em Client's 'y' position in the map. \item\end{CompactList}\item
|
||||
double \bf{demand}\label{structeo_v_r_p_utils_1_1_client_data_3834669c3b0da0592c20a2349b1284cb}
|
||||
|
||||
\begin{CompactList}\small\item\em Client's demand of delivered product. \item\end{CompactList}\item
|
||||
double \bf{ready\-Time}\label{structeo_v_r_p_utils_1_1_client_data_d9f6b6b3a9e7431145f6049f13e90255}
|
||||
|
||||
\begin{CompactList}\small\item\em Client's beginning of the time window. \item\end{CompactList}\item
|
||||
double \bf{due\-Time}\label{structeo_v_r_p_utils_1_1_client_data_2e8c450e35be04f80c4949f6efaac618}
|
||||
|
||||
\begin{CompactList}\small\item\em Client's end of the time window. \item\end{CompactList}\item
|
||||
double \bf{service\-Time}\label{structeo_v_r_p_utils_1_1_client_data_515b7488b4c4f6e1806b7a9606ab1cc3}
|
||||
|
||||
\begin{CompactList}\small\item\em Client's service time (time needed to serve the product). \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
Information regarding each client in the dataset.
|
||||
|
||||
This structure is intended to be used to store the information of each client read from the data file.
|
||||
|
||||
|
||||
|
||||
Definition at line 86 of file eo\-VRPUtils.h.
|
||||
|
||||
The documentation for this struct was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-VRPUtils.h\end{CompactItemize}
|
||||
|
|
@ -0,0 +1,360 @@
|
|||
.TH "eoVRP" 3 "7 Dec 2007" "Version 1.0" "CVRP-TW" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
eoVRP \- Defines the getoype used to solve the VRP-TW problem.
|
||||
|
||||
.PP
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.PP
|
||||
\fC#include <eoVRP.h>\fP
|
||||
.PP
|
||||
Inherits \fBeoVector< eoMinimizingFitness, int >\fP.
|
||||
.PP
|
||||
.SS "Public Member Functions"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "\fBeoVRP\fP ()"
|
||||
.br
|
||||
.RI "\fIDefault constructor: initializes variables to safe values. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBeoVRP\fP (const \fBeoVRP\fP &_orig)"
|
||||
.br
|
||||
.RI "\fICopy contructor: creates a new individual from a given one. \fP"
|
||||
.ti -1c
|
||||
.RI "virtual \fB~eoVRP\fP ()"
|
||||
.br
|
||||
.RI "\fIDefault destructor: nothing to do here. \fP"
|
||||
.ti -1c
|
||||
.RI "\fBeoVRP\fP & \fBoperator=\fP (const \fBeoVRP\fP &_orig)"
|
||||
.br
|
||||
.RI "\fIPerforms a copy from the invidual passed as argument. \fP"
|
||||
.ti -1c
|
||||
.RI "virtual std::string \fBclassName\fP () const "
|
||||
.br
|
||||
.RI "\fIReturns a string containing the name of the class. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBprintOn\fP (std::ostream &_os) const "
|
||||
.br
|
||||
.RI "\fIPrints the individual to a given stream. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBprintAllOn\fP (std::ostream &_os) const "
|
||||
.br
|
||||
.RI "\fIPrints a detailed version of the individual (decoding information, unsatisfied contraints, etc. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBreadFrom\fP (std::istream &_is)"
|
||||
.br
|
||||
.RI "\fIReads an individual from a given stream. \fP"
|
||||
.ti -1c
|
||||
.RI "const Routes & \fBroutes\fP ()"
|
||||
.br
|
||||
.RI "\fIReturns a reference to the decoded individual. \fP"
|
||||
.ti -1c
|
||||
.RI "double \fBlength\fP ()"
|
||||
.br
|
||||
.RI "\fIReturns the total cost (length) of traveling all the routes. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBprintRoutes\fP (std::ostream &_os) const "
|
||||
.br
|
||||
.RI "\fIAux. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBprintRoute\fP (std::ostream &_os, unsigned _p) const "
|
||||
.br
|
||||
.RI "\fIAux. \fP"
|
||||
.ti -1c
|
||||
.RI "bool \fBclean\fP ()"
|
||||
.br
|
||||
.RI "\fICleans the individual (the vector of clients and also the decoding information). \fP"
|
||||
.ti -1c
|
||||
.RI "bool \fBcleanRoutes\fP ()"
|
||||
.br
|
||||
.RI "\fIInvalidates the decoding information (usually after crossover or mutation). \fP"
|
||||
.ti -1c
|
||||
.RI "bool \fBdecoded\fP () const "
|
||||
.br
|
||||
.RI "\fIHas this individual been decoded? \fP"
|
||||
.ti -1c
|
||||
.RI "bool \fBencode\fP (Routes &_routes)"
|
||||
.br
|
||||
.RI "\fIEncodes an individual from a set of routes (usually used within crossover). \fP"
|
||||
.ti -1c
|
||||
.RI "double \fBdecode\fP ()"
|
||||
.br
|
||||
.RI "\fIDecodes an individual in a set of routes and calculates its cost (length) of traveling. \fP"
|
||||
.in -1c
|
||||
.SS "Private Attributes"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "Routes \fBmRoutes\fP"
|
||||
.br
|
||||
.RI "\fIA set of routes containing the decoding information of the individual. \fP"
|
||||
.ti -1c
|
||||
.RI "double \fBmLength\fP"
|
||||
.br
|
||||
.RI "\fICached cost (length) of traveling the set of routes defined by the individual. \fP"
|
||||
.in -1c
|
||||
.SH "Detailed Description"
|
||||
.PP
|
||||
Defines the getoype used to solve the VRP-TW problem.
|
||||
.PP
|
||||
Definition at line 50 of file eoVRP.h.
|
||||
.SH "Constructor & Destructor Documentation"
|
||||
.PP
|
||||
.SS "eoVRP::eoVRP (const \fBeoVRP\fP & _orig)\fC [inline]\fP"
|
||||
.PP
|
||||
Copy contructor: creates a new individual from a given one.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_orig\fP The individual used to create the new one.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 68 of file eoVRP.h.
|
||||
.PP
|
||||
References operator=().
|
||||
.SH "Member Function Documentation"
|
||||
.PP
|
||||
.SS "\fBeoVRP\fP& eoVRP::operator= (const \fBeoVRP\fP & _orig)\fC [inline]\fP"
|
||||
.PP
|
||||
Performs a copy from the invidual passed as argument.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_orig\fP The individual to copy from.
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
A reference to this.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 90 of file eoVRP.h.
|
||||
.PP
|
||||
References clean(), mLength, and mRoutes.
|
||||
.PP
|
||||
Referenced by eoVRP().
|
||||
.SS "virtual std::string eoVRP::className (void) const\fC [inline, virtual]\fP"
|
||||
.PP
|
||||
Returns a string containing the name of the class.
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The string containing the name of the class.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Reimplemented from \fBEO< F >\fP.
|
||||
.PP
|
||||
Definition at line 117 of file eoVRP.h.
|
||||
.SS "void eoVRP::printOn (std::ostream & _os) const\fC [inline, virtual]\fP"
|
||||
.PP
|
||||
Prints the individual to a given stream.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_os\fP The stream to print to.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Reimplemented from \fBeoVector< eoMinimizingFitness, int >\fP.
|
||||
.PP
|
||||
Definition at line 129 of file eoVRP.h.
|
||||
.PP
|
||||
References eoVector< FitT, GeneType >::printOn().
|
||||
.PP
|
||||
Referenced by decode().
|
||||
.SS "void eoVRP::printAllOn (std::ostream & _os) const\fC [inline]\fP"
|
||||
.PP
|
||||
Prints a detailed version of the individual (decoding information, unsatisfied contraints, etc.
|
||||
.PP
|
||||
) to a given stream.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_os\fP The stream to print to.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 146 of file eoVRP.h.
|
||||
.PP
|
||||
References decoded(), EO< F >::fitness(), eoVector< FitT, GeneType >::printOn(), and printRoutes().
|
||||
.SS "void eoVRP::readFrom (std::istream & _is)\fC [inline, virtual]\fP"
|
||||
.PP
|
||||
Reads an individual from a given stream.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_is\fP The stream to read from.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Reimplemented from \fBeoVector< eoMinimizingFitness, int >\fP.
|
||||
.PP
|
||||
Definition at line 177 of file eoVRP.h.
|
||||
.PP
|
||||
References eoVector< FitT, GeneType >::readFrom().
|
||||
.SS "const Routes& eoVRP::routes ()\fC [inline]\fP"
|
||||
.PP
|
||||
Returns a reference to the decoded individual.
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
A reference to the decoded individual.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 190 of file eoVRP.h.
|
||||
.PP
|
||||
References mRoutes.
|
||||
.PP
|
||||
Referenced by eoVRPGenericCrossover::operator()().
|
||||
.SS "double eoVRP::length ()\fC [inline]\fP"
|
||||
.PP
|
||||
Returns the total cost (length) of traveling all the routes.
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The total cost (length) of traveling all the routes.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 205 of file eoVRP.h.
|
||||
.PP
|
||||
References mLength.
|
||||
.PP
|
||||
Referenced by eoVRPEvalFunc::operator()().
|
||||
.SS "void eoVRP::printRoutes (std::ostream & _os) const\fC [inline]\fP"
|
||||
.PP
|
||||
Aux.
|
||||
.PP
|
||||
method to print a structure of routes.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_os\fP The stream to print to.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 217 of file eoVRP.h.
|
||||
.PP
|
||||
References mRoutes, and printRoute().
|
||||
.PP
|
||||
Referenced by printAllOn().
|
||||
.SS "void eoVRP::printRoute (std::ostream & _os, unsigned _p) const\fC [inline]\fP"
|
||||
.PP
|
||||
Aux.
|
||||
.PP
|
||||
method to print only one route.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_os\fP The stream to print to.
|
||||
.br
|
||||
\fI_p\fP The route to print.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 244 of file eoVRP.h.
|
||||
.PP
|
||||
References mRoutes.
|
||||
.PP
|
||||
Referenced by printRoutes().
|
||||
.SS "bool eoVRP::clean ()\fC [inline]\fP"
|
||||
.PP
|
||||
Cleans the individual (the vector of clients and also the decoding information).
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
True if the operation finishes correctly. False otherwise.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 267 of file eoVRP.h.
|
||||
.PP
|
||||
References mLength, and mRoutes.
|
||||
.PP
|
||||
Referenced by encode(), eoVRPEdgeCrossover::operator()(), and operator=().
|
||||
.SS "bool eoVRP::cleanRoutes ()\fC [inline]\fP"
|
||||
.PP
|
||||
Invalidates the decoding information (usually after crossover or mutation).
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
True if the operation finishes correctly. False otherwise.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 283 of file eoVRP.h.
|
||||
.PP
|
||||
References mLength, and mRoutes.
|
||||
.PP
|
||||
Referenced by decode(), eoVRPOnePointCrossover::operator()(), and eoVRPMutation::operator()().
|
||||
.SS "bool eoVRP::decoded () const\fC [inline]\fP"
|
||||
.PP
|
||||
Has this individual been decoded?
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
True if has decoding information. False otherwise.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 298 of file eoVRP.h.
|
||||
.PP
|
||||
References mRoutes.
|
||||
.PP
|
||||
Referenced by eoVRPEvalFunc::operator()(), and printAllOn().
|
||||
.SS "bool eoVRP::encode (Routes & _routes)\fC [inline]\fP"
|
||||
.PP
|
||||
Encodes an individual from a set of routes (usually used within crossover).
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
True if the operation finishes correctly. False otherwise.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 313 of file eoVRP.h.
|
||||
.PP
|
||||
References clean().
|
||||
.PP
|
||||
Referenced by eoVRPGenericCrossover::operator()().
|
||||
.SS "double eoVRP::decode ()\fC [inline]\fP"
|
||||
.PP
|
||||
Decodes an individual in a set of routes and calculates its cost (length) of traveling.
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The cost (length) of traveling the set of routes.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 334 of file eoVRP.h.
|
||||
.PP
|
||||
References cleanRoutes(), eoVRPUtils::clients, eoVRPUtils::distance(), eoVRPUtils::getTimeWindow(), mLength, mRoutes, and printOn().
|
||||
.PP
|
||||
Referenced by eoVRPEvalFunc::operator()().
|
||||
|
||||
.SH "Author"
|
||||
.PP
|
||||
Generated automatically by Doxygen for CVRP-TW from the source code.
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
.TH "eoVRPEdgeCrossover" 3 "7 Dec 2007" "Version 1.0" "CVRP-TW" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
eoVRPEdgeCrossover \- Implementation of the classic Edge Crossover from the TSP.
|
||||
|
||||
.PP
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.PP
|
||||
\fC#include <eoVRPQuadCrossover.h>\fP
|
||||
.PP
|
||||
Inherits \fBeoQuadOp< eoVRP >\fP.
|
||||
.PP
|
||||
.SS "Public Member Functions"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "\fBeoVRPEdgeCrossover\fP ()"
|
||||
.br
|
||||
.RI "\fIDeafult constructor. \fP"
|
||||
.ti -1c
|
||||
.RI "std::string \fBclassName\fP () const "
|
||||
.br
|
||||
.RI "\fIReturns a string containing the name of the class. \fP"
|
||||
.ti -1c
|
||||
.RI "bool \fBoperator()\fP (\fBeoVRP\fP &_genotype1, \fBeoVRP\fP &_genotype2)"
|
||||
.br
|
||||
.RI "\fIBoth parameters are the parents and the (future) children of the crossover. \fP"
|
||||
.in -1c
|
||||
.SS "Private Member Functions"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "bool \fBEdgeCrossover\fP (\fBeoVRP\fP &_genotype1, \fBeoVRP\fP &_genotype2, \fBeoVRP\fP &_child)"
|
||||
.br
|
||||
.RI "\fIActually performs the edge crossover. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBremove_entry\fP (unsigned _vertex, std::vector< std::set< unsigned > > &_map)"
|
||||
.br
|
||||
.RI "\fIRemoves a vertex from all his neighbours. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBadd_vertex\fP (unsigned _vertex, std::vector< bool > &_visited, std::vector< std::set< unsigned > > &_map, \fBeoVRP\fP &_child)"
|
||||
.br
|
||||
.RI "\fIAdds a vertex to a child and erases it from the list of available vertices. \fP"
|
||||
.in -1c
|
||||
.SH "Detailed Description"
|
||||
.PP
|
||||
Implementation of the classic Edge Crossover from the TSP.
|
||||
.PP
|
||||
Definition at line 240 of file eoVRPQuadCrossover.h.
|
||||
.SH "Member Function Documentation"
|
||||
.PP
|
||||
.SS "std::string eoVRPEdgeCrossover::className (void) const\fC [inline, virtual]\fP"
|
||||
.PP
|
||||
Returns a string containing the name of the class.
|
||||
.PP
|
||||
Used to display statistics.
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
The string containing the name of the class.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Reimplemented from \fBeoQuadOp< eoVRP >\fP.
|
||||
.PP
|
||||
Definition at line 258 of file eoVRPQuadCrossover.h.
|
||||
.SS "bool eoVRPEdgeCrossover::operator() (\fBeoVRP\fP & _genotype1, \fBeoVRP\fP & _genotype2)\fC [inline, virtual]\fP"
|
||||
.PP
|
||||
Both parameters are the parents and the (future) children of the crossover.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_genotype1\fP The first parent.
|
||||
.br
|
||||
\fI_genotype2\fP The second parent.
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
True if any of the parents was modified. False otherwise.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Implements \fBeoBF< eoVRP &, eoVRP &, bool >\fP.
|
||||
.PP
|
||||
Definition at line 272 of file eoVRPQuadCrossover.h.
|
||||
.PP
|
||||
References eoVRP::clean(), and EdgeCrossover().
|
||||
.SS "bool eoVRPEdgeCrossover::EdgeCrossover (\fBeoVRP\fP & _genotype1, \fBeoVRP\fP & _genotype2, \fBeoVRP\fP & _child)\fC [inline, private]\fP"
|
||||
.PP
|
||||
Actually performs the edge crossover.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_genotype1\fP First parent.
|
||||
.br
|
||||
\fI_genotype2\fP Second parent.
|
||||
.br
|
||||
\fI_child\fP Child.
|
||||
.RE
|
||||
.PP
|
||||
\fBReturns:\fP
|
||||
.RS 4
|
||||
True if the second parent was modified. False otherwise.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 301 of file eoVRPQuadCrossover.h.
|
||||
.PP
|
||||
References add_vertex(), and eoRng::random().
|
||||
.PP
|
||||
Referenced by operator()().
|
||||
.SS "void eoVRPEdgeCrossover::remove_entry (unsigned _vertex, std::vector< std::set< unsigned > > & _map)\fC [inline, private]\fP"
|
||||
.PP
|
||||
Removes a vertex from all his neighbours.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_vertex\fP The vertex being erased.
|
||||
.br
|
||||
\fI_map\fP The structure containing the neighbourhood relationship.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 380 of file eoVRPQuadCrossover.h.
|
||||
.PP
|
||||
Referenced by add_vertex().
|
||||
.SS "void eoVRPEdgeCrossover::add_vertex (unsigned _vertex, std::vector< bool > & _visited, std::vector< std::set< unsigned > > & _map, \fBeoVRP\fP & _child)\fC [inline, private]\fP"
|
||||
.PP
|
||||
Adds a vertex to a child and erases it from the list of available vertices.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_vertex\fP The vertex being added to the child.
|
||||
.br
|
||||
\fI_visited\fP The vector of visited vertices.
|
||||
.br
|
||||
\fI_map\fP The structure containing the neighbourhood relationship.
|
||||
.br
|
||||
\fI_child\fP The child where we add the vertex.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 398 of file eoVRPQuadCrossover.h.
|
||||
.PP
|
||||
References remove_entry().
|
||||
.PP
|
||||
Referenced by EdgeCrossover().
|
||||
|
||||
.SH "Author"
|
||||
.PP
|
||||
Generated automatically by Doxygen for CVRP-TW from the source code.
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
.TH "eoVRPEvalFunc" 3 "7 Dec 2007" "Version 1.0" "CVRP-TW" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
eoVRPEvalFunc \- Evaluates an individual of type \fBeoVRP\fP.
|
||||
|
||||
.PP
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.PP
|
||||
\fC#include <eoVRPEvalFunc.h>\fP
|
||||
.PP
|
||||
Inherits \fBeoEvalFunc< eoVRP >\fP.
|
||||
.PP
|
||||
.SS "Public Member Functions"
|
||||
|
||||
.in +1c
|
||||
.ti -1c
|
||||
.RI "\fBeoVRPEvalFunc\fP ()"
|
||||
.br
|
||||
.RI "\fIConstructor: nothing to do here. \fP"
|
||||
.ti -1c
|
||||
.RI "void \fBoperator()\fP (\fBeoVRP\fP &_eo)"
|
||||
.br
|
||||
.RI "\fIComputes the (penalized) fitness. \fP"
|
||||
.in -1c
|
||||
.SH "Detailed Description"
|
||||
.PP
|
||||
Evaluates an individual of type \fBeoVRP\fP.
|
||||
.PP
|
||||
Definition at line 54 of file eoVRPEvalFunc.h.
|
||||
.SH "Member Function Documentation"
|
||||
.PP
|
||||
.SS "void eoVRPEvalFunc::operator() (\fBeoVRP\fP & _eo)\fC [inline]\fP"
|
||||
.PP
|
||||
Computes the (penalized) fitness.
|
||||
.PP
|
||||
\fBParameters:\fP
|
||||
.RS 4
|
||||
\fI_eo\fP The individual to be evaluated.
|
||||
.RE
|
||||
.PP
|
||||
|
||||
.PP
|
||||
Definition at line 72 of file eoVRPEvalFunc.h.
|
||||
.PP
|
||||
References eoVRP::decode(), eoVRP::decoded(), EO< F >::fitness(), EO< F >::invalid(), and eoVRP::length().
|
||||
|
||||
.SH "Author"
|
||||
.PP
|
||||
Generated automatically by Doxygen for CVRP-TW from the source code.
|
||||