Table of Contents
Fetching ...

A diversity-enhanced genetic algorithm for efficient exploration of parameter spaces

Jonas Wessén, Eliel Camargo-Molina

TL;DR

This work tackles the challenge of exploring high-dimensional parameter spaces by seeking multiple viable regions under experimental and theoretical constraints. It introduces a diversity-enhanced genetic algorithm that couples elitist survival with a distance-based diversity penalty, supporting both numerical and categorical genes, and provides a lightweight Python package for easy adoption. Benchmarking on a type-I 2HDM parameter space shows robust performance across population sizes and crossovers, with clear advantages over random scans and competitive diversity relative to SciPy’s Differential Evolution. The accompanying lightweight-genetic-algorithm package offers practical guidelines, multiprocessing support, and a menu of customizable options, enabling broad application to parameter-space exploration tasks beyond particle physics.

Abstract

We present a Python package together with a practical guide for the implementation of a lightweight diversity-enhanced genetic algorithm (GA) approach for the exploration of multi-dimensional parameter spaces. Searching a parameter space for regions with desirable properties, e.g. compatibility with experimental data, poses a type of optimization problem wherein the focus lies on pinpointing all "good enough" solutions, rather than a single "best solution". Our approach dramatically outperforms random scans and other GA-based implementations in this aspect. We validate the effectiveness of our approach by applying it to a particle physics problem, showcasing its ability to identify promising parameter points in isolated, viable regions meeting experimental constraints. The companion Python package is applicable to optimization problems beyond those considered in this work, including scanning over discrete parameters (categories). A detailed guide for its usage is provided.

A diversity-enhanced genetic algorithm for efficient exploration of parameter spaces

TL;DR

This work tackles the challenge of exploring high-dimensional parameter spaces by seeking multiple viable regions under experimental and theoretical constraints. It introduces a diversity-enhanced genetic algorithm that couples elitist survival with a distance-based diversity penalty, supporting both numerical and categorical genes, and provides a lightweight Python package for easy adoption. Benchmarking on a type-I 2HDM parameter space shows robust performance across population sizes and crossovers, with clear advantages over random scans and competitive diversity relative to SciPy’s Differential Evolution. The accompanying lightweight-genetic-algorithm package offers practical guidelines, multiprocessing support, and a menu of customizable options, enabling broad application to parameter-space exploration tasks beyond particle physics.

Abstract

We present a Python package together with a practical guide for the implementation of a lightweight diversity-enhanced genetic algorithm (GA) approach for the exploration of multi-dimensional parameter spaces. Searching a parameter space for regions with desirable properties, e.g. compatibility with experimental data, poses a type of optimization problem wherein the focus lies on pinpointing all "good enough" solutions, rather than a single "best solution". Our approach dramatically outperforms random scans and other GA-based implementations in this aspect. We validate the effectiveness of our approach by applying it to a particle physics problem, showcasing its ability to identify promising parameter points in isolated, viable regions meeting experimental constraints. The companion Python package is applicable to optimization problems beyond those considered in this work, including scanning over discrete parameters (categories). A detailed guide for its usage is provided.

Paper Structure

This paper contains 22 sections, 11 equations, 8 figures.

Figures (8)

  • Figure 1: Flowchart of the main algorithm. Beginning with a randomly generated population, the GA proceeds through iterative offspring generation and survivor selection until a satisfactory population of individuals has been reached.
  • Figure 2: Fitness evaluations vs. average $\tilde{p}$-value for all benchmark runs. The $\tilde{p}$-value is defined as $10^{f_{\rm s}}$ where $f_{\rm s}$ is the average fitness among selected survivors. For the later stages of the run it is the same as the $p$-value reported by HiggsSignals. (a) "$\mathcal{O}(n^2)$ offspring" and "$\mathcal{O}(n)$ offspring". (b) All crossover methods. Each curve shows $\tilde{p}$ averaged over 3 independent runs.
  • Figure 3: Average survivor fitness vs. number of fitness evaluations for the best performing (no crossover, green curve) and worst performing (midpoint crossover, purple curve) GA setups compared with the same for a random scan (black curve). The GA implementations dramatically outperform the random scan in terms of quickly finding high-fitness parameter points (either considering the population average or the best individuals in the population).
  • Figure 4: Comparison between (a) the GA and (b) SciPy's DE when used for locating maxima in a two-dimensional fitness landscape. The final populations are shown as scatter points and the fitness $f$, defined in Eq. \ref{['eq:2D_fitness_function']}, is shown as a heatmap. DE's final population is more concentrated around (0,0), while the GA explored the parameter space more effectively, finding a wider variety of good solutions.
  • Figure A1: Complete Python code for the simple example for numeric genes. In this example, an individual represents coordinates of a point in the $xy$-plane. The fitness function has an extended maximum on a circle with radius 5.0. The genetic algorithm is run for 20 generations with a population size of 100 using the Between crossover method.
  • ...and 3 more figures