Paradiseo

From HandWiki
Paradiseo
Developer(s)DOLPHIN project-team of INRIA
Stable release
3.0.0 / February 10, 2023 (2023-02-10)
Operating systemCross-platform
TypeTechnical computing
LicenseCeCill license
Websitenojhan.github.io/paradiseo/

ParadisEO is a white-box object-oriented framework dedicated to the flexible design of metaheuristics. It uses EO, a template-based, ANSI-C++ compliant computation library.[1] ParadisEO is portable across both Windows system and sequential platforms (Unix, Linux, Mac OS X, etc.). ParadisEO is distributed under the CeCill license and can be used under several environments.

Overview

ParadisEO is a white-box object-oriented framework dedicated to the reusable design of metaheuristics, hybrid metaheuristics, and parallel and distributed metaheuristics. ParadisEO provides a broad range of features including evolutionary algorithms, local searches, Particle swarm optimization, the most common parallel and distributed models and hybridization mechanisms, etc. This high content and utility encourages its use at International 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 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.

Modules

Paradiseo-EO

Paradiseo-EO deals with population based metaheuristics, it is a templates-based, ANSI-C++ compliant evolutionary computation library (evolutionary algorithms, particle swarm optimization...). It contains classes for almost any kind of evolutionary computation you might come up to - at least for the ones we could think of. It is component-based, so that if you don't find the class you need in it, it is very easy to subclass existing abstract or concrete classes.

Paradiseo-MOEO

Paradiseo-MOEO provides a broad range of tools for the design of multiobjective optimization metaheuristics: fitness assignment schemes (achievement functions, ranking, indicator-based...), diversity preservation mechanisms (sharing, crowding), elitism, performance metrics (contribution, entropy...), statistical tools and some easy-to-use state-of-the-art multi-objective evolutionary algorithms (NSGA, NSGA-II, IBEA...).

Paradiseo-MO

Paradiseo-MO deals with single-solution based metaheuristics, it provides tools for the development of single solution-based metaheuristics: Hill climbing, Tabu search, Iterative Local Search (ILS), Simulated annealing, incremental evaluation, partial neighbourhood...

Paradiseo-PEO

Paradiseo-PEO provides tools for the design of parallel and distributed metaheuristics: parallel evaluation, parallel evaluation function, island model, cellular model... Paradiseo-PEO also introduces tools for the design of distributed, hybrid and cooperative models.

See also

  • ECJ, A toolkit to implement Evolutionary Algorithms
  • MOEA Framework, an open source Java framework for multiobjective evolutionary algorithms

External links

References