Paradiseo: from a Modular Framework for Evolutionary Computation to the Automated Design of Metaheuristics---22 Years of Paradiseo

Paradiseo: from a Modular Framework for Evolutionary Computation to the Automated Design of Metaheuristics---22 Years of Paradiseo

Paradiseo: From a Modular Framework for Evolutionary Computation to the Automated Design of Metaheuristics |22 Years of Paradiseo| Johann Dreo1, Arnaud Liefooghe2, S´ebastienVerel3, Marc Schoenauer4, Juan J. Merelo5, Alexandre Quemy6, Benjamin Bouvier7, and Jan Gmys8 1Systems Biology Group, Depepartment of Computational Biology, USR 3756, Institut Pasteur and CNRS, Paris, France. [email protected] |Corresponding author. 2Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille. [email protected] 3 Univ. Littoral C^oted'Opale, Calais, France. [email protected] 4TAU, Inria, CNRS & UPSaclay, LISN, Saclay, France. [email protected] 5University of Granada, Granada, Spain. [email protected] 6Poznan University of Technology, Poznan, Poland. [email protected] [email protected] 8Inria, Lille, France. [email protected] Abstract ical approaches, numerous applications have shown the efficiency of those randomized search heuristics. The success of metaheuristic optimization methods However, following Wagner et al. [33], we observe that has led to the development of a large variety of al- the metaheuristic research domain lacks mature soft- gorithm paradigms. However, no algorithm clearly ware, while it is crippled with short-lived research dominates all its competitors on all problems. In- prototypes on over-specific features sets. We believe stead, the underlying variety of landscapes of opti- this state hinders the adoption of those technologies mization problems calls for a variety of algorithms to in the industrial world and is an obstacle to break- solve them efficiently. It is thus of prior importance through innovations. Therefore, the development of a to have access to mature and flexible software frame- full-featured and mature metaheuristic optimization works which allow for an efficient exploration of the framework is of prior importance, for both the scien- algorithm design space. Such frameworks should be tific and the applied communities. In this article, we flexible enough to accommodate any kind of meta- summarize our efforts towards this goal, in the guise heuristics, and open enough to connect with higher- of the Paradiseo project. level optimization, monitoring and evaluation soft- The Paradiseo framework is a 22 years old effort wares. This article summarizes the features of the which aims at developing a flexible architecture for Paradiseo framework, a comprehensive C++ free soft- the generic design of metaheuristics for hard opti- arXiv:2105.00420v1 [cs.NE] 2 May 2021 ware which targets the development of modular meta- mization problems. It is implemented in C++, a very heuristics. Paradiseo provides a highly modular archi- mature object-oriented programming language,which tecture, a large set of components, speed of execution is probably one of the fastest, if not the fastest, and automated algorithm design features, which are object-oriented programming platforms on the mar- key to modern approaches to metaheuristics develop- ket [19, 30, 28]. It is also highly portable and ben- ment. efits from very extensive tooling as well as an active community. Paradiseo is released as a free and open- 1 Introduction source software, under the LGPL-v2 and CeCILL li- censes (depending on the module). Its development In the research domain of metaheuristics for black- is open and the source code is freely available on the 1 2 box optimization, a very large variety of algorithms Inria and Github code repositories. has been developed since the first Evolution Strategies appeared in 1965 [31]. Starting from nature-inspired 1https://gitlab.inria.fr/paradiseo/paradiseo computing methods and following recent mathemat- 2https://github.com/jdreo/paradiseo 1 1.1 History Table 1: Main software frameworks for evolutionary The \Evolving Objects" (EOlib, then simply EO) computation and metaheuristics. Fastest languages framework was started in 1999 by the Geneura team are figured in green and slowest in red, copyleft li- at the University of Granada, headed by Juan Juli´an censes are in red. \kloc" stands for \thousands of Merelo. The development team was then reinforced lines of code". e h v n s i s r c t g r i e o by Maarten Keijzer, who designed the current mod- c t e a s p e e j u e e g r a e r a b b c o S U D e i s e t s u s c o l r . P e t . s i i n a t e l ular architecture, and Marc Schoenauer [21]. Later g a d t t o s t e c l G l A d n O t m o c n n u a c o u u P a p o l u v D S t a i o a l came Jeroen Eggermont, who, among other things, N L U L C k E E P L C M G M L S A ParadisEO C++ 2021 LGPLv2 33 82 Y Y Y Y Y Y ~ Y Y Y Y did a lot of work on genetic programming, Olivier jMetal Java 2021 MIT 29 60 Y N Y N Y N N Y N ? N ECF C++ 2017 MIT 19 15 Y N Y N Y N N N N Y N K¨onig,who did a lot of useful additions and cleaning ECJ Java 2021 AFLv3 33 54 Y Y Y N Y Y Y Y N Y N DEAP Python 2020 LGPLv3 45 9 Y N N N Y Y N Y N Y N of the code, and Jochen K¨upper. CIlib Scala 2021 Apachev2 17 4 Y N N N N N N N N ? N HeuristicLab C# 2021 GPLv3 20 150 Y N Y Y Y Y N Y ~ Y N The Inria Dolphin team, headed by El-Ghazali Clojush Clojure 2020 EPLv1 17 19 Y N N N N N N N N N N Talbi, did a lot of contributions starting from around 2003, on their own module collection called Paradiseo. Thomas Legrand worked on particle swarm optimiza- lists 57 software packages related to the implementa- tion, the regretted S´ebastienCahon and Nouredine tion of evolutionary algorithms (among which EOlib, Melab worked on parallelization modules [7,6,4,5]. the ancestor of Paradiseo). Arnaud Liefooghe and J´er´emieHumeau worked a lot Most of those software are now unmaintained or on the multi-objective module [24] and on the local impossible to find. There has been, however, a con- search one along with S´ebastienVerel [18]. In the stant flow of new frameworks, library or solvers every same team, C. FC.3 and Jean-Charles Boisson made year, for decades. We were able to find at least 47 7 significant contributions. of them readily available on the web . Among those The (then) EO project was taken over by Johann projects, only 8 met all the following criteria: Dreo, who worked with the help of Caner Candan on 1. open-source framework aiming at designing algo- adding the EDO module. Johann and Benjamin Bou- rithms8, vier have also designed a MPI parallelization module, while Alexandre Quemy also worked on paralleliza- 2. being active since 2015, tion code. In 2012, the two projects (EO and Paradiseo) were 3. having more than 15 contributors. merged into a single one by Johann Dreo, S´ebastien The features of those main frameworks are compared Verel and Arnaud Liefooghe, who have been acting in Table1, where the number of lines of code was com- as maintainers ever since. puted with the cloc tool9. Note that for HeuristicLab, In 2020, automated algorithm selection design and the code for the GUI modules was excluded from the binding toward the IOHprofiler validation tool were count. The GPGPU module of Paradiseo [27] is not added by Johann Dreo. counted either, as it is not maintained anymore. The Along the life of the project, several spin-off soft- number of contributors has been retrieved from the ware have been developed, among which a port of code repository's commit histories, which underes- the EO module in Java [1], another one in ActiveX4; timates the number of people involved in the case GUIDE, a graphical user interface for assembling al- of Paradiseo; the extracted number is however kept, gorithms [10]5, and EASEA, a high-level declarative for fairness in comparison with the other frameworks, language for evolutionary algorithm specification [9], that might face a similar bias. which later became independent [26] of the specific Among the software close in features to Paradiseo, library. ECF has not been updated in 4 years. ECJ, jMetal edu/pub/doc/EC/FAQ/www/Q20.htm 1.2 Related Frameworks 7Paradiseo, jMetal, ECF, OpenBeagle, Jenetics, ECJ, The 1998's version of the hitch-hiker's guide to evo- DEAP, CIlib, GP.NET, DGPF, JGAP, Watchmaker, Gen- Pro, GAlib, HeuristicLab, PyBrain, JCLEC, GPE, JGAlib, lutionary computation (frequently asked question in pycma, PyEvolve, GPLAB, Clojush, µGP, pySTEP, Pyvolu- the comp.ai.genetic Usenet newsgroup6) already tion, PISA, EvoJ, Galapagos, branecloud, JAGA, PMDGP, GPC++, PonyGE, Platypus, DCTG-GP, Desdeo, PonyGE2, 3Redacted by author's demand. EvoGrad, HyperSpark, Nevergrad, Pagmo2, LEAP, Operon, 4http://geneura.ugr.es/~jmerelo/DegaX/ EMILI, pso-de-framework, MOACO. 5Which also supported ECJ. 8Libraries of solvers, like Pagmo2 or Nevergrad, do not 6Discussion forum which was popular before the World match this criterion. Wide Web and social networks. http://coast.cs.purdue. 9version 1.82 of https://github.com/AlDanial/cloc 2 are close competitors, albeit programmed in Java, patterns: Functor, Strategy, Generic Type and Fac- which is expected to run near 2.6 times slower than tory. Figure1 shows a high-level view of the global programs in C++10, a key drawback for automated design pattern. algorithm design (see Section 4.3). HeuristicLab suf- encoding:EOT fers from the same drawback, but provides a graphi- Interface cal user interface for the run and analysis of solvers.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us