We introduce CBXPy and ConsensusBasedX.jl, Python and Julia implementations of consensus-based interacting particle systems (CBX), which generalise consensus-based optimization methods (CBO) for global, derivative-free optimisation. The raison d'\^etre of our libraries is twofold: on the one hand, to offer high-performance implementations of CBX methods that the community can use directly, while on the other, providing a general interface that can accommodate and be extended to further variations of the CBX family. Python and Julia were selected as the leading high-level languages in terms of usage and performance, as well as their popularity among the scientific computing community. Both libraries have been developed with a common ethos, ensuring a similar API and core functionality, while leveraging the strengths of each language and writing idiomatic code.
Cite
@article{arxiv.2403.14470,
title = {CBX: Python and Julia packages for consensus-based interacting particle methods},
author = {Rafael Bailo and Alethea Barbaro and Susana N. Gomes and Konstantin Riedl and Tim Roith and Claudia Totzeck and Urbain Vaes},
journal= {arXiv preprint arXiv:2403.14470},
year = {2024}
}