A Joint Python/C++ Library for Efficient yet Accessible Black-Box and Gray-Box Optimization with GOMEA

05/10/2023
by   Anton Bouter, et al.
0

Exploiting knowledge about the structure of a problem can greatly benefit the efficiency and scalability of an Evolutionary Algorithm (EA). Model-Based EAs (MBEAs) are capable of doing this by explicitly modeling the problem structure. The Gene-pool Optimal Mixing Evolutionary Algorithm (GOMEA) is among the state-of-the-art of MBEAs due to its use of a linkage model and the optimal mixing variation operator. Especially in a Gray-Box Optimization (GBO) setting that allows for partial evaluations, i.e., the relatively efficient evaluation of a partial modification of a solution, GOMEA is known to excel. Such GBO settings are known to exist in various real-world applications to which GOMEA has successfully been applied. In this work, we introduce the GOMEA library, making existing GOMEA code in C++ accessible through Python, which serves as a centralized way of maintaining and distributing code of GOMEA for various optimization domains. Moreover, it allows for the straightforward definition of BBO as well as GBO fitness functions within Python, which are called from the C++ optimization code for each required (partial) evaluation. We describe the structure of the GOMEA library and how it can be used, and we show its performance in both GBO and Black-Box Optimization (BBO).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/16/2022

GPU-Accelerated Parallel Gene-pool Optimal Mixing in a Gray-Box Optimization Setting

In a Gray-Box Optimization (GBO) setting that allows for partial evaluat...
research
12/12/2022

PyPop7: A Pure-Python Library for Population-Based Black-Box Optimization

In this paper, we present a pure-Python open-source library, called PyPo...
research
09/11/2021

Parameterless Gene-pool Optimal Mixing Evolutionary Algorithms

When it comes to solving optimization problems with evolutionary algorit...
research
10/29/2018

Splitability Annotations: Optimizing Black-Box Function Composition in Existing Libraries

Data movement is a major bottleneck in parallel data-intensive applicati...
research
06/27/2023

PyBADS: Fast and robust black-box optimization in Python

PyBADS is a Python implementation of the Bayesian Adaptive Direct Search...
research
07/11/2017

Gray-box optimization and factorized distribution algorithms: where two worlds collide

The concept of gray-box optimization, in juxtaposition to black-box opti...
research
04/14/2023

Designing a Framework for Solving Multiobjective Simulation Optimization Problems

Multiobjective simulation optimization (MOSO) problems are optimization ...

Please sign up or login with your details

Forgot password? Click here to reset