Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Library for Evolutionary Algorithms in Python (LEAP)

Conference ·

There are generally three types of scientific software users: users that solve problems using existing science software tools, researchers that explore new approaches by extending existing code, and educators that teach students scientific concepts. Python is a general-purpose programming language that is accessible to beginners, such as students, but also as a language that has a rich scientific programming ecosystem that facilitates writing research software. Additionally, as high-performance computing (HPC) resources become more readily available, software support for parallel processing becomes more relevant to scientific software.There currently are no Python-based evolutionary computation frameworks that support all three types of scientific software users. Moreover, some support synchronous concurrent fitness evaluation that do not efficiently use HPC resources. We pose here a new Python-based EC framework that uses an established generalized unified approach to EA concepts to provide an easy to use toolkit for users wishing to use an EA to solve a problem, for researchers to implement novel approaches, and for providing a low-bar to entry to EA concepts for students. Additionally, this toolkit provides a scalable asynchronous fitness evaluation implementation friendly to HPC that has been vetted on hardware ranging from laptops to the world’s fastest supercomputer, Summit.

Research Organization:
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-00OR22725
OSTI ID:
1649229
Country of Publication:
United States
Language:
English

References (10)

Evolutionary and swarm-intelligence algorithms through monadic composition conference July 2019
Learning with genetic algorithms: An overview journal October 1988
Understanding Simple Asynchronous Evolutionary Algorithms
  • Scott, Eric O.; De Jong, Kenneth A.
  • FOGA '15: Foundations of Genetic Algorithms XIII, Proceedings of the 2015 ACM Conference on Foundations of Genetic Algorithms XIII https://doi.org/10.1145/2725494.2725509
conference January 2015
schwimmbad: A uniform interface to parallel processing pools in Python journal September 2017
jMetalPy: A Python framework for multi-objective optimization with metaheuristics journal December 2019
Pyevolve journal November 2009
Reducing the Time Complexity of the Derandomized Evolution Strategy with Covariance Matrix Adaptation (CMA-ES) journal March 2003
Troubleshooting deep-learner training data problems using an evolutionary algorithm on Summit journal May 2020
Re-evaluating genetic algorithm performance under coordinate rotation of benchmark functions. A survey of some theoretical and practical aspects of genetic algorithms journal January 1996
ECJ at 20 conference July 2019

Similar Records

Pybus -- A Python Software Bus
Conference · Thu Oct 14 00:00:00 EDT 2004 · OSTI ID:842987

The Python ARM Radar Toolkit (Py-ART), a library for working with weather radar data in the Python programming language
Journal Article · Mon Jul 18 00:00:00 EDT 2016 · Journal of Open Research Software · OSTI ID:1339572

Why scientists should learn to program in Python
Journal Article · Sun Nov 30 23:00:00 EST 2014 · Powder Diffraction · OSTI ID:1396251

Related Subjects