November 2023

Conference Paper

Library for Evolutionary Algorithms in Python (LEAP)

By:
Coletti, Mark A; Scott, Eric; Bassett, Jeffrey
Page Number:
1571-1579
Book Title:
GECCO '20: Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion
Publication Date:
November 2023
Conference Name:
The Genetic and Evolutionary Computation Conference (GECCO)
Conference Location:
Cancun, Mexico
Conference Sponsor:
ACM
View DOI Listing:
https://doi.org/10.1145/3377929.3398147

Abstract

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.


Related Researchers