new design for the doc and the sources: licence ...

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@661 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2007-10-08 09:26:25 +00:00
commit 39cd826ea3
281 changed files with 9521 additions and 4839 deletions

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ParadisEO-PEO: The ParadisEO-PEO Framework</title>
<title>ParadisEO-PEOMovingObjects: The ParadisEO-PEO Framework</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
@ -24,8 +24,8 @@
</ul></div>
<h1>The ParadisEO-PEO Framework</h1>
<p>
<h3 align="center">0.1 </h3><h2><a class="anchor" name="intro">
Introduction</a></h2>
<h3 align="center">1.0 </h3><h2><a class="anchor" name="intro">
intro</a></h2>
ParadisEO is a white-box object-oriented framework dedicated to the reusable design of parallel and distributed metaheuristics (PDM). ParadisEO provides a broad range of features including evolutionary algorithms (EA), local searches (LS), the most common parallel and distributed models and hybridization mechanisms, etc. This high content and utility encourages its use at European level. ParadisEO is based on a clear conceptual separation of the solution methods from the problems they are intended to solve. This separation confers to the user a maximum code and design reuse. Furthermore, the fine-grained nature of the classes provided by the framework allow a higher flexibility compared to other frameworks. ParadisEO is one of the rare frameworks that provide the most common parallel and distributed models. Their implementation is portable on distributed-memory machines as well as on shared-memory multiprocessors, as it uses standard libraries such as MPI, PVM and PThreads. The models can be exploited in a transparent way, one has just to instantiate their associated provided classes. Their experimentation on the radio network design real-world application demonstrate their efficiency.<p>
In practice, combinatorial optimization problems are often NP-hard, CPU time-consuming, and evolve over time. Unlike exact methods, metaheuristics allow to tackle large-size problems instances by delivering satisfactory solutions in a reasonable time. Metaheuristics are general-purpose heuristics that split in two categories: evolutionary algorithms (EA) and local search methods (LS). These two families have complementary characteristics: EA allow a better exploration of the search space, while LS have the power to intensify the search in promising regions. Their hybridization allows to deliver robust and better solutions<p>
Although serial metaheuristics have a polynomial temporal complexity, they remain unsatisfactory for industrial problems. Parallel and distributed computing is a powerful way to deal with the performance issue of these problems. Numerous parallel and distributed metaheuristics (PDM) and their implementations have been proposed, and are available on theWeb. They can be reused and adapted to his/her own problems. However, the user has to deeply examine the code and rewrite its problem-specific sections. The task is tedious, errorprone, takes along time and makes harder the produced code maintenance. A better way to reuse the code of existing PDM is the reuse through libraries. These are often more reliable as they are more tested and documented. They allow a better maintainability and efficiency. However, libraries do not allow the reuse of design.<h2><a class="anchor" name="parallel_metaheuristics">
@ -60,7 +60,7 @@ Two parallel distributed models are commonly used in the literature: the paralle
Hybridization</a></h2>
Recently, hybrid metaheuristics have gained a considerable interest. For many practical or academic optimization problems, the best found solutions are obtained by hybrid algorithms. Combinations of different metaheuristics have provided very powerful search methods. Two levels and two modes of hybridization have been distinguished: Low and High levels, and Relay and <a class="el" href="classCooperative.html">Cooperative</a> modes. The low-level hybridization addresses the functional composition of a single optimization method. A function of a given metaheuristic is replaced by another metaheuristic. On the contrary, for high-level hybrid algorithms the different metaheuristics are self-containing, meaning no direct relationship to their internal working is considered. On the other hand, relay hybridization means a set of metaheuristics is applied in a pipeline way. The output of a metaheuristic (except the last) is the input of the following one (except the first). Conversely, co-evolutionist hybridization is a cooperative optimization model. Each metaheuristic performs a search in a solution space, and exchange solutions with others.<h2><a class="anchor" name="paradiseo_goals">
Paradiseo goals and architecture</a></h2>
The "EO" part of ParadisEO means Evolving Objects. <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/class_e_o.html">EO</a> is a C++ LGPL open source framework and includes a paradigm-free Evolutionary Computation library (EOlib) dedicated to the flexible design of EA through evolving objects superseding the most common dialects (Genetic Algorithms, Evolution Strategies, Evolutionary Programming and Genetic Programming). Furthermore, <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/class_e_o.html">EO</a> integrates several services including visualization facilities, on-line definition of parameters, application check-pointing, etc. ParadisEO is an extended version of the <a class="elRef" doxygen="eo.doxytag:../../../paradiseo-eo/doc/html/" href="../../../paradiseo-eo/doc/html/class_e_o.html">EO</a> framework. The extensions include local search methods, hybridization mechanisms, parallelism and distribution mechanisms, and other features that are not addressed in this paper such as multi-objective optimization and grid computing. In the next sections, we present the motivations and goals of ParadisEO, its architecture and some of its main implementation details and issues.<h3><a class="anchor" name="motivation">
The "EO" part of ParadisEO means Evolving Objects. <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</a> is a C++ LGPL open source framework and includes a paradigm-free Evolutionary Computation library (EOlib) dedicated to the flexible design of EA through evolving objects superseding the most common dialects (Genetic Algorithms, Evolution Strategies, Evolutionary Programming and Genetic Programming). Furthermore, <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</a> integrates several services including visualization facilities, on-line definition of parameters, application check-pointing, etc. ParadisEO is an extended version of the <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</a> framework. The extensions include local search methods, hybridization mechanisms, parallelism and distribution mechanisms, and other features that are not addressed in this paper such as multi-objective optimization and grid computing. In the next sections, we present the motivations and goals of ParadisEO, its architecture and some of its main implementation details and issues.<h3><a class="anchor" name="motivation">
Motivations and goals</a></h3>
A framework is normally intended to be exploited by as many users as possible. Therefore, its exploitation could be successful only if some important user criteria are satisfied. The following criteria are the major of them and constitute the main objectives of the ParadisEO framework:<p>
<ul>
@ -99,7 +99,12 @@ The basisc of the ParadisEO framework philosophy are exposed in a few simple tut
<li>
<a href="lesson1/html/main.html" style="text-decoration:none;">creating a simple ParadisEO evolutionary algorithm</a>; </li>
</ul>
All the presented examples have as case study the traveling salesman problem (TSP). Different operators and auxiliary objects were designed, standing as a <a href="lsnshared/html/index.html" target="new" style="text-decoration:none;">common shared source code base</a>. While not being part of the ParadisEO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials. <hr size="1"><address style="align: right;"><small>Generated on Thu Jul 5 13:43:30 2007 for ParadisEO-PEO by&nbsp;
All the presented examples have as case study the traveling salesman problem (TSP). Different operators and auxiliary objects were designed, standing as a <a href="lsnshared/html/index.html" target="new" style="text-decoration:none;">common shared source code base</a>. While not being part of the ParadisEO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials.<h2><a class="anchor" name="LICENCE">
LICENCE</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> <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>