diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6eff1e82f..e13c2a31f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -19,9 +19,8 @@ Contribution Workflow
The maintainer(s) will try to answer under a couple of weeks, if not, do not hesitate to send an e-mail.
-If you're not familiar with Git and merge requests, start by cloning one of the main repository:
+If you're not familiar with Git and merge requests, start by cloning the main repository:
- `git clone https://github.com/nojhan/paradiseo.git`
-- `git clone https://scm.gforge.inria.fr/anonscm/git/paradiseo/paradiseo.git`
Git workflow
@@ -38,7 +37,7 @@ git checkout -b As Paradiseo is a development framework, you do not really need to install it on all your systems. Just put it somewhere on your development computer, compile it from here and indicate where to find it to your favorite build system. Paradiseo is mainly developed for Linux, on which it is straightforward to install a C++ build chain.
- For example, on Ubuntu 18.04: sudo apt install g++-8 cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-devsudo apt install g++ cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev
Paradiseo use the CMake build system, so building it should be as simple as:
mkdir build ; cd build ; cmake -DEDO=ON .. && make -j
If you need immediate support or have any question, the best way to get - answers is to send an email to paradiseo-help@lists.gforge.inria.fr. You can also consult the help archives, subscribe to our (low traffic) mailing-list or consult its archives. +
If you need immediate support or have any question, you can: +
Alternatively, you can join us on the official chatroom. You can try the online webchat app, or if you already use Element.io, you can directly connect to the #paradiseo:matrix.org multi-user chatroom with your favorite client.
-Recent versions of Paradiseo uses the CMake portable build system, that permits to easily generate a build script for your environment.
- If you have tested Paradiseo on a system not listed here, please let
+ If you have tested Paradiseo on a system not listed here, please let
us know. The core EO module is described in the following scientific article:
M. Keijzer, J.J. Merelo, G. Romero, G., M. Schoenauer,
- Evolving
+ Evolving
objects: A general purpose evolutionary computation
library, Artificial Evolution, 2310, 829--888 (2002).
The multi-objective module (MOEO) is described in: -
A. Liefooghe, M. Basseur, L. Jourdan, E.-G. Talbi, Paradiseo-MOEO: A Framework for Evolutionary Multi-objective Optimization, EMO 2007, LNCS Vol. 4403, pp. 386-400, Matsushima, Japan.+
A. Liefooghe, M. Basseur, L. Jourdan, E.-G. Talbi, Paradiseo-MOEO: A Framework for Evolutionary Multi-objective Optimization, EMO 2007, LNCS Vol. 4403, pp. 386-400, Matsushima, Japan.
A book about metaheuristics use Paradiseo as its framework of choice and explains in details several of its concepts, along with algorithmics content: -
El-Ghazali Talbi, Metaheuristics: from design to implementation, Wiley, 2009. +El-Ghazali Talbi, Metaheuristics: from design to implementation, Wiley, 2009. (624pp), ISBN: 978-0-470-27858-1@@ -1026,24 +1027,24 @@ undiscovered knowledge.Paradiseo-EO
-
- A functional and "philosophical" overview of the EO module was presented at EA'01 conference. - You can download the paper - or the - slides.
-- Metaheuristics for Combinatorial Optimization [pdf] by E-G. Talbi and S.Cahon: provides general concept on metaheuristics for combinatorial optimization. -
- Reusable Design of Metaheuristics [pdf] by S.Cahon, E-G. Talbi and N. Melab: explains how to use Paradiseo-EO with a simple example. +
- A functional and "philosophical" overview of the EO module was presented at EA'01 conference. + You can download the paper + or the + slides (also available locally in
+eo/doc/).- Metaheuristics for Combinatorial Optimization [pdf] by E-G. Talbi and S.Cahon: provides general concept on metaheuristics for combinatorial optimization. [No longer available online] +
- Reusable Design of Metaheuristics [pdf] by S.Cahon, E-G. Talbi and N. Melab: explains how to use Paradiseo-EO with a simple example. [No longer available online]
Paradiseo-MO
-
- Reusable Design of Local Searches and Tools for Landscape Analysis [pdf] by S.Verel, A.Liefooghe and J.Humeau: explains the new design of Paradiseo-MO. +
- Reusable Design of Local Searches and Tools for Landscape Analysis [pdf] by S.Verel, A.Liefooghe and J.Humeau: explains the new design of Paradiseo-MO. [No longer available online]
- Paradiseo-MO: From fitness landscape analysis to efficient local search algorithms [pdf] by J.Humeau, A.Liefooghe, E-G. Talbi, and S.Verel (presented at ROADEF 2012).
Paradiseo-MOEO
-
- Metaheuristics for Multi-objective Optimization [pdf] by E.-G. Talbi and the Paradiseo group: presents multi-objective optimization concepts, a taxonomy of resolution methods and gives performance evaluation examples. -
- Reusable Design of Metaheuristics for Multi-objective Optimization [pdf] by E.-G. Talbi and the Paradiseo group: explains how to implement metaheuristics for multi-objective optimization using Paradiseo-MOEO through a simple example. +
@@ -1068,30 +1069,32 @@ undiscovered knowledge.
- Metaheuristics for Multi-objective Optimization [pdf] by E.-G. Talbi and the Paradiseo group: presents multi-objective optimization concepts, a taxonomy of resolution methods and gives performance evaluation examples. [No longer available online] +
- Reusable Design of Metaheuristics for Multi-objective Optimization [pdf] by E.-G. Talbi and the Paradiseo group: explains how to implement metaheuristics for multi-objective optimization using Paradiseo-MOEO through a simple example. [No longer available online]
Tutorials on EO (evolutionary algorithms module)
-
- EO Lesson1-5 Implement a GA -
- EO Lesson6 first part Implement a real PSO algorithm -
- EO Lesson6 second part Implement a binary PSO algorithm +
- EO Lessons 1–5 Implement a GA (also available locally in
eo/tutorial/html/) +- EO Lesson 6 Implement real and binary PSO algorithms (see
RealPSO.cppandBinaryPSO.cpp)Tutorials on MO (local search module)
-
- MO Lesson1 Hill Climber -
- MO Lesson2 Neighborhoods (classical and indexed) -
- MO Lesson3 Simulated Annealing and Checkpointing -
- MO Lesson4 Tabu Search -
- MO Lesson5 Iterated Local Search -
- MO Lesson6 Fitness Landscapes Analysis -
- MO Lesson7 Hybrid Lesson +
- MO Lesson 1 Hill Climber +
- MO Lesson 2 Neighborhoods (classical and indexed) +
- MO Lesson 3 Simulated Annealing and Checkpointing +
- MO Lesson 4 Tabu Search +
- MO Lesson 5 Iterated Local Search +
- MO Lesson 6 Fitness Landscapes Analysis +
- MO Lesson 7 Hybrid Lesson
Tutorials on MOEO (multi-objective module)
-
- MOEO Lesson1 Implement NSGA, NSGA-II and IBEA for the SCH1 problem -
- MOEO Lesson2 Evolutionary Algorithms for the flow-shop scheduling problem -
- MOEO Lesson3 Evolutionary Algorithms with a user-friendly parameter file -
- MOEO Lesson4 Dominance-based Local Search for the flow-shop scheduling problem -
Tutorials SMP: new -
- SMP Lesson1 Algorithm wrapping with Master / Workers model +
-
- MOEO Lesson 1 Implement NSGA, NSGA-II and IBEA for the SCH1 problem +
- MOEO Lesson 2 Evolutionary Algorithms for the flow-shop scheduling problem +
- MOEO Lesson 3 Evolutionary Algorithms with a user-friendly parameter file +
- MOEO Lesson 4 Dominance-based Local Search for the flow-shop scheduling problem +
Tutorials SMP: +
- SMP Lesson 1 Algorithm wrapping with Master / Workers model +
- SMP Lesson 2 Homogeneous island model +
- SMP Lesson 3 Heterogeneous island model +
- SMP Lesson 4 Island topology
Tutorials on parallelization
@@ -1104,12 +1107,8 @@ undiscovered knowledge. 2. components and basics, 3. advanced island model manipulations.- PEO Intro Technical introduction
- -- PEO Lesson2 Multistart over an evolutionary algorithm
-- PEO Lesson3 Parallel evaluation
- -- PEO Lesson5 Island model
+ @@ -1124,9 +1123,9 @@ undiscovered knowledge.Utilities
-+ +
- Utils Lesson1 Using configuration files -
- Utils Lesson2 Using statistics -
@@ -1134,16 +1133,7 @@ undiscovered knowledge.The heart of Paradiseo is a set of classes implementing operators. Each module has a separate API documentation. If you want to browse the features and find which class to use, this is the right entry point
-For your convenience, you can browse an online API doc for Paradiseo version 2.0: -
- - -Note that if you want to find the API documentation for the version you have at hand, just build the
+make doctarget and openparadiseo/<build>/<module>/doc/html/index.htmlin your web browser.The previously hosted online API docs (v2.0) are no longer available. To generate the API documentation for your version, build the
make doctarget and openparadiseo/<build>/<module>/doc/html/index.htmlin your web browser. Per-module targets are also available:make doc-eo,make doc-mo,make doc-moeo,make doc-smp,make doc-edo.@@ -1151,9 +1141,8 @@ undiscovered knowledge.If you want to see examples of real solvers:
-
@@ -1172,7 +1161,7 @@ undiscovered knowledge.- The examples page on INRIA Paradiseo pages (with explanations).
-- The contributed code on the project page.
-- The Descarwin project hold the "DaE" planning solver, +
- The problems directory in the repository contains benchmark problem implementations (DTLZ, NK landscapes, QAP, etc.).
+- The Descarwin project holds the "DaE" planning solver, which is implemented with Paradiseo and won the International Planning Competition.
The current stable release is version: Paradiseo 3.1.3. Some other releases (older or newer) can be found on GitHub/paradiseo/releases.
You can obtain the latest stable and beta version directly via the Git repository: -
@@ -1205,7 +1194,7 @@ undiscovered knowledge. -git clone https://github.com/jdreo/paradiseo.git. +git clone https://github.com/nojhan/paradiseo.git. The release are on the "master" branch.To install all those dependencies at once under Ubuntu (18.04), just type: sudo apt install g++-8 cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev.
+To install all those dependencies at once under Ubuntu, just type: sudo apt install g++ cmake make libeigen3-dev libopenmpi-dev doxygen graphviz libgnuplot-iostream-dev.
@@ -1253,7 +1242,7 @@ undiscovered knowledge.@@ -1289,35 +1278,26 @@ undiscovered knowledge.Paradiseo development is open and contributions are welcomed.
The official bug tracker is available on the project page.
-If you have any question about contributing: subscribe to our (low traffic) mailing-list.
+If you have any question about contributing, open an issue or join the Matrix chatroom.
diff --git a/edo/README b/edo/README index 4217a844e..e006a7d79 100644 --- a/edo/README +++ b/edo/README @@ -9,7 +9,7 @@ On Windows write your path with double antislash (ex: C:\\Users\\...) # Step 2 - Build process ------------------------ -ParadisEO is assumed to be compiled. To download ParadisEO, please visit http://paradiseo.gforge.inria.fr/. +ParadisEO is assumed to be compiled. To download ParadisEO, please visit https://nojhan.github.io/paradiseo/. Go to the DO/build/ directory and lunch cmake: (Unix) > cmake .. (Windows) > cmake .. -G"Visual Studio 9 2008" @@ -22,23 +22,23 @@ Note for windows users: if you don't use VisualStudio 9, enter the name of your In the edo/build/ directory: (Unix) > make (Windows) Open the VisualStudio solution and compile it, compile also the target install. -You can refer to this tutorial if you don't know how to compile a solution: http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.VisualCTutorial +You can refer to this tutorial if you don't know how to compile a solution: https://nojhan.github.io/paradiseo/index.php?n=Paradiseo.VisualCTutorial # Step 4 - Execution --------------------- A toy example is given to test the components. You can run these tests as following. -To define problem-related components for your own problem, please refer to the tutorials available on the website : http://paradiseo.gforge.inria.fr/. +To define problem-related components for your own problem, please refer to the tutorials available on the website : https://nojhan.github.io/paradiseo/. In the edo/build/ directory: (Unix) > ctest -Windows users, please refer to this tutorial: http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.VisualCTutorial +Windows users, please refer to this tutorial: https://nojhan.github.io/paradiseo/index.php?n=Paradiseo.VisualCTutorial In the directory "application", there are several directory such as eda which instantiate EDA solver. (Unix) After compilation you can run the binary "build/eda" and see results. Parameters can be modified from command line. (Windows) Add argument "eda.param" and execute the corresponding algorithms. -Windows users, please refer to this tutorial: http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.VisualCTutorial +Windows users, please refer to this tutorial: https://nojhan.github.io/paradiseo/index.php?n=Paradiseo.VisualCTutorial # Documentation diff --git a/eo/README b/eo/README index d4268be0f..51458a2e6 100644 --- a/eo/README +++ b/eo/README @@ -1,13 +1,13 @@ EO README FILE ======================================================================= - check latest news at http://eodev.sourceforge.net/ + check latest news at https://nojhan.github.io/paradiseo/ ======================================================================= Welcome to EO, the Evolving Objects library. The latest news about EO can be found on the sourceforge repository at - http://eodev.sourceforge.net/ + https://nojhan.github.io/paradiseo/ In case of any problem, please e-mail us at eodev-main@lists.sourceforge.net diff --git a/eo/doc/index.h b/eo/doc/index.h index 52a5758cf..da7d95678 100644 --- a/eo/doc/index.h +++ b/eo/doc/index.h @@ -56,7 +56,7 @@ Thus, you can easily build your own algorithm by trying several combination of o For a more detailled introduction to the design of %EO you can look at the slides from a talk at EA 2001 or at the corresponding article in Lecture Notes In Computer Science, 2310, Selected Papers from the 5th European Conference on Artificial Evolution: - - http://portal.acm.org/citation.cfm?id=727742 - - http://eodev.sourceforge.net/eo/doc/LeCreusot.pdf - - http://eodev.sourceforge.net/eo/doc/EO_EA2001.pdf + - https://doi.org/10.1007/3-540-46033-0_13 + - LeCreusot.pdf (available in eo/doc/) + - EO_EA2001.pdf (available in eo/doc/) */ diff --git a/eo/doc/mainpage.html b/eo/doc/mainpage.html index e175850c6..9b26541bc 100644 --- a/eo/doc/mainpage.html +++ b/eo/doc/mainpage.html @@ -35,23 +35,18 @@ background: #00309c; in it, it is very easy to subclass existing abstract or concrete classes. -Authors
-The EO module was started in 1999 by the Geneura - Team at the University of Granada, headed by Juan Julián Merelo. The original Web site is also the only place where you - will find old releases of Paradiseo (up to 0.8.7), but beware that it is not - compatible at all with the current version.
+The EO module was started in 1999 by the Geneura + Team at the University of Granada, headed by + Juan Julián Merelo.
-You can read this - PowerPoint presentation, that shows the EO philosophy back then. - It includes a Visual Basic (!) macro for evolving objects in Visual Basic - for Applications.
- -The developement team has then been reinforced by Maarten Keijzer, the C++ +
The developement team has then been reinforced by + Maarten Keijzer (the C++ wizard who designed the current neat architecture), - and Marc Schoenauer + and Marc Schoenauer (who became a prominent researcher in the evolutionary algorithm community). - Later came Jeroen Eggermont, + Later came Jeroen Eggermont, who, among other things, did a lot of work on GP, INRIA Dolphin Team, Olivier König, who did a lot of useful additions and cleaning of the code - and Jochen Küpper, working on + and Jochen Küpper, working on infrastructure maintenance.
-El-Ghazali Talbi's +
El-Ghazali Talbi's INRIA team did a lot of contributions starting from around 2003, on their own module collection called Paradiseo. - Thomas Legrand, Sébastien Cahon and Nouredine Melab + Thomas Legrand, Sébastien Cahon and Nouredine Melab worked on parallelization modules. Arnaud Liefooghe worked a lot on the multi-objective module and @@ -1326,7 +1306,7 @@ undiscovered knowledge. In the same team, C. C. and J. Boisson made significant contributions. Karima Boufaras specifically worked on (now deprecated) GPU tools.
-The (then) EO project was then taken over by Johann Dreo, +
The (then) EO project was then taken over by Johann Dreo, who worked with the help of Caner Candan on adding the EDO module. Johann and Benjamin Bouvier have also designed a MPI parallelization module. Alexandre Quemy @@ -1346,14 +1326,13 @@ undiscovered knowledge.
Some softwares listed here are using Paradiseo, but they are not maintained by the Paradiseo team. They may not be free softwares.
-
- DegaX - is an ActiveX control which embeds Paradiseo 0.8.4. +
- DegaX was an ActiveX control which embedded Paradiseo 0.8.4.
-- EASEA was a GUI that permits to build evolutionary algorithm with Paradiseo or the GAlib. - It is now a platform that allows program evolutionary algorithms on massively parallel many-core architectures.
+- EASEA was a GUI that permits to build evolutionary algorithm with Paradiseo or GAlib. + It became a platform that allows programming evolutionary algorithms on massively parallel many-core architectures.
-- GUIDE is a GUI that allows the generation of evolutionary algorithms. It can use Paradiseo or ECJ.
+- GUIDE was a GUI that allows the generation of evolutionary algorithms. It could use Paradiseo or ECJ.
EO was started by the Geneura - Team at the University of Granada, headed by Juan Julián Merelo. The original Web site is also the only place where you - will find old releases of EO (up to 0.8.7), but beware that it is not - compatible at all with the current version.
+EO was started by the Geneura + Team at the University of Granada, headed by + Juan Julián Merelo.
-The developement team has then been reinforced by Maarten Keijzer, the C++ - wizzard, and Marc Schoenauer. - Later came Jeroen - Eggermont, who, among other things, did a lot of work on GP, - INRIA Dolphin Team, Olivier König, who did a +
The developement team has then been reinforced by + Maarten Keijzer (the C++ + wizard), and Marc Schoenauer. + Later came Jeroen + Eggermont, who, among other things, did a lot of work on GP, + INRIA Dolphin Team, Olivier König, who did a lot of useful additions and cleaning of the code and Jochen Küpper, working on + href="https://www.jochen-kuepper.de">Jochen Küpper, working on infrastructure maintenance.
@@ -81,7 +76,7 @@ background: #00309c;If you have tested EO on a system not listed here, please let + href="https://github.com/nojhan/paradiseo/issues">let us know.
If you are working on a system with an older C++ compiler there @@ -98,26 +93,11 @@ background: #00309c;
The tutorial demonstrates that writing an evolutionary algorithm evolving your own structures is now easy, using ready-to-use - template files. Although the tutorial has not been upgraded for some - time now and refers to version 0.9.2 of EO, it nevertheless remains the - best way to dive into EO. You can start by trying it on-line at LRI - or SourceForge, - before downloading it. The - tutorial is also included in the released - sources.
+ template files. The tutorial is included in the source tree at + eo/tutorial/. -The latest tutorial - release -
- -The complete code is also well documented and you can look at the - generated interface - documentation.
+The complete code is also well documented and you can generate the + API documentation locally with
make doc-eo.The easiest way to create a complete new EO-project, even for new genomes, is to use the script provided in tutorial/Templates/; see @@ -132,17 +112,9 @@ background: #00309c;
- A functional and "philosophical" overview of EO was presented at EA'01 conference. - You can download the paper - or the - slides.
- -A PowerPoint presentation shows the EO philosophy, and - it includes a Visual Basic macro for evolving objects in Visual Basic - for Applications.
+A functional and "philosophical" overview of EO was presented at EA'01 conference. + You can find the paper (
EO_EA2001.pdf) + and the slides (LeCreusot.pdf) in theeo/doc/directory.You can also look a the list of publications that used EO to solve real problems.
@@ -155,18 +127,14 @@ background: #00309c;- @@ -176,11 +144,9 @@ background: #00309c;The current release is EO 1.0. - It supports any Standard-compliant C++ compiler.
- -You can obtain the latest version directly via cvs or download a - daily snapshot from LRI.
- -All releases can be obtained from the SourceForge download - area.
+EO is now part of ParadisEO. + You can obtain the latest version via Git: +
+ +git clone https://github.com/nojhan/paradiseo.gitReleases can be obtained from the GitHub releases + page.
- We would like EO to be an open development effort; that is why we have - created mailing lists to discuss future developments, solve technical - problems, announce releases, publish patches, and discuss evolutionary - computation in general. Browse the archives or join the EO mailing lists. + For questions, bug reports, or contributions, please use the + GitHub issue tracker + or the Matrix chatroom. @@ -190,23 +156,11 @@ background: #00309c;- @@ -226,16 +180,11 @@ background: #00309c;The following resources are available, thanks to sourceforge
+EO is now developed as part of ParadisEO on GitHub:
- ParadisEO provides EO extensions for +
ParadisEO provides EO extensions for the flexible design of single solution-based metaheuristics, metaheuristics for multi objective optimization as well as hybrid, parallel and distributed metaheuristics.
-DegaX is an ActiveX control which embeds EO 0.8.4. -
-@@ -245,30 +194,20 @@ background: #00309c; --
- The - Hitch-Hiker's Guide to Evolutionary Computation, FAQ for - comp.ai.genetic.
-- Wikipedia +
- Wikipedia on Evolutionary algorithms.
-- Charles Darwin: The +
- Charles Darwin: The Origin of Species.
-- Nikolaus Hansen: Comparison - of Evolutionary Algorithms on a Benchmark Function Set.
+- CMA-ES: + Covariance Matrix Adaptation Evolution Strategy.
- - +
![]()
Please send comments on this webpage to the EO mailing -list.Please report issues on the GitHub issue tracker.