Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3583133.3596361acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article
Open access

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

Published: 24 July 2023 Publication History

Abstract

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).

References

[1]
Stefan Behnel, Robert Bradshaw, Craig Citro, Lisandro Dalcin, Dag Sverre Seljebotn, and Kurt Smith. 2011. Cython: The best of both worlds. Computing in Science & Engineering 13, 2 (2011), 31--39.
[2]
Peter A. N. Bosman and Dirk Thierens. 2013. More concise and robust linkage learning by filtering and combining linkage hierarchies. In Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 359--366.
[3]
Anton Bouter, Tanja Alderliesten, Arjan Bel, Cees Witteveen, and Peter A N Bosman. 2018. Large-scale parallelization of partial evaluations in evolutionary algorithms for real-world problems. In Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 1199--1206.
[4]
Anton Bouter, Tanja Alderliesten, and Peter A. N. Bosman. 2021. Achieving highly scalable evolutionary real-valued optimization by exploiting partial evaluations. Evolutionary Computation 29, 1 (2021), 129--155.
[5]
Anton Bouter, Tanja Alderliesten, Bradley R Pieters, Arjan Bel, Yury Niatsetski, and Peter A N Bosman. 2019. GPU-accelerated bi-objective treatment planning for prostate high-dose-rate brachytherapy. Medical Physics 46, 9 (2019), 3776--3787.
[6]
Anton Bouter, Ngoc Hoang Luong, Cees Witteveen, Tanja Alderliesten, and Peter A. N. Bosman. 2017. The multi-objective real-valued gene-pool optimal mixing evolutionary algorithm. In Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 537--544.
[7]
Anton Bouter, Stefanus C Maree, Tanja Alderliesten, and Peter A N Bosman. 2020. Leveraging conditional linkage models in gray-box optimization with the real-valued gene-pool optimal mixing evolutionary algorithm. In Proceedings of the Genetic and Evolutionary Computation Conference. 603--611.
[8]
Larry Bull. 1999. On model-based evolutionary computation. Soft Computing 3 (1999), 76--82.
[9]
Wenxiang Chen, Darrell Whitley, Renato Tinós, and Francisco Chicano. 2018. Tunneling between plateaus: Improving on a state-of-the-art MAXSAT solver using partition crossover. In Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 921--928.
[10]
Ran Cheng, Cheng He, Yaochu Jin, and Xin Yao. 2018. Model-based evolutionary algorithms: A short survey. Complex & Intelligent Systems 4, 4 (2018), 283--292.
[11]
Kalyanmoy Deb and David E Goldberg. 1993. Analyzing deception in trap functions. In Foundations of genetic algorithms. Vol. 2. Elsevier, 93--108.
[12]
Kalyanmoy Deb and Christie Myburgh. 2016. Breaking the billion-variable barrier in real-world optimization using a customized evolutionary algorithm. In Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 653--660.
[13]
Arkadiy Dushatskiy, Marco Virgolin, Anton Bouter, Dirk Thierens, and Peter A N Bosman. 2021. Parameterless Gene-pool Optimal Mixing Evolutionary Algorithms. arXiv preprint arXiv:2109.05259 (2021).
[14]
I. Gronau and S. Moran. 2007. Optimal implementations of UPGMA and other common clustering algorithms. Information Processing Letters 104, 6 (2007), 205--210.
[15]
G.R. Harik and F.G. Lobo. 1999. A parameter-less genetic algorithm. In Proceedings of the Genetic and Evolutionary Computation Conference. Morgan Kaufmann Publishers Inc., 258--265.
[16]
Charles R. Harris, K. Jarrod Millman, Stéfan J. van der Walt, Ralf Gommers, Pauli Virtanen, David Cournapeau, Eric Wieser, Julian Taylor, Sebastian Berg, Nathaniel J. Smith, Robert Kern, Matti Picus, Stephan Hoyer, Marten H. van Kerkwijk, Matthew Brett, Allan Haldane, Jaime Fernández del Río, Mark Wiebe, Pearu Peterson, Pierre Gérard-Marchant, Kevin Sheppard, Tyler Reddy, Warren Weckesser, Hameer Abbasi, Christoph Gohlke, and Travis E. Oliphant. 2020. Array programming with NumPy. Nature 585, 7825 (Sept. 2020), 357--362.
[17]
Richard M Karp. 1972. Reducibility among combinatorial problems. In Complexity of Computer Computations. Springer, 85--103.
[18]
Ngoc Hoang Luong, Han La Poutré, and Peter A. N. Bosman. 2014. Multi-objective gene-pool optimal mixing evolutionary algorithms. In Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 357--364.
[19]
Mitchell Olsthoorn and Annibale Panichella. 2021. Multi-objective test case selection through linkage learning-based crossover. In Search-Based Software Engineering: 13th International Symposium, SSBSE 2021, Bari, Italy, October 11--12, 2021, Proceedings 13. Springer, 87--102.
[20]
Siddhartha Shakya and Roberto Santana. 2012. Markov networks in evolutionary computation. Springer.
[21]
Dirk Thierens. 2010. The linkage tree genetic algorithm. In International Conference on Parallel Problem Solving from Nature. Springer, 264--273.
[22]
Dirk Thierens and Peter A. N. Bosman. 2011. Optimal mixing evolutionary algorithms. In Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 617--624.
[23]
R. Tintos, D. Whitley, and F. Chicano. 2015. Partition crossover for pseudo-boolean optimization. In Proceedings of the 2015 ACM Conference on Foundations of Genetic Algorithms XIII. ACM, 137--149.
[24]
Marco Virgolin, Tanja Alderliesten, Cees Witteveen, and Peter A. N. Bosman. 2017. Scalable genetic programming by gene-pool optimal mixing and input-space entropy-based building-block learning. In Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 1041--1048.
[25]
Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland, Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson, Warren Weckesser, Jonathan Bright, Stéfan J. van der Walt, Matthew Brett, Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R. J. Nelson, Eric Jones, Robert Kern, Eric Larson, C J Carey, İlhan Polat, Yu Feng, Eric W. Moore, Jake VanderPlas, Denis Laxalde, Josef Perktold, Robert Cimrman, Ian Henriksen, E. A. Quintero, Charles R. Harris, Anne M. Archibald, Antônio H. Ribeiro, Fabian Pedregosa, Paul van Mulbregt, and SciPy 1.0 Contributors. 2020. SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. Nature Methods 17 (2020), 261--272.
[26]
Wes McKinney. 2010. Data Structures for Statistical Computing in Python. In Proceedings of the 9th Python in Science Conference, Stéfan van der Walt and Jarrod Millman (Eds.). 56 -- 61.
[27]
Darrell Whitley, Doug Hains, and Adele Howe. 2009. Tunneling between optima: Partition crossover for the traveling salesman problem. In Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 915--922.

Cited By

View all
  • (2024)Learning Discretized Bayesian Networks with GOMEAParallel Problem Solving from Nature – PPSN XVIII10.1007/978-3-031-70071-2_22(352-368)Online publication date: 14-Sep-2024

Index Terms

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

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
GECCO '23 Companion: Proceedings of the Companion Conference on Genetic and Evolutionary Computation
July 2023
2519 pages
ISBN:9798400701207
DOI:10.1145/3583133
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 July 2023

Check for updates

Qualifiers

  • Research-article

Conference

GECCO '23 Companion
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)209
  • Downloads (Last 6 weeks)55
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Learning Discretized Bayesian Networks with GOMEAParallel Problem Solving from Nature – PPSN XVIII10.1007/978-3-031-70071-2_22(352-368)Online publication date: 14-Sep-2024

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media