CBX: Python and Julia packages for consensus-based interacting particle methods
arXiv:2403.14470 · doi:10.21105/joss.06611
Abstract
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'être 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.
7 pages, 3 figures
References in corpus (13)
- Array Programming with NumPy
- A consensus-based model for global optimization and its mean-field limit
- On the Global Convergence of Particle Swarm Optimization Methods
- GPflowOpt: A Bayesian Optimization Library using TensorFlow
- On the mean-field limit for the consensus-based optimization
- Convergence of Anisotropic Consensus-Based Optimization in Mean-Field Law
- Consensus-Based Optimization for Saddle Point Problems
- Leveraging Memory Effects and Gradient Information in Consensus-Based Optimization: On Global Convergence in Mean-Field Law
- Polarized consensus-based dynamics for optimization and sampling
- FedCBO: Reaching Group Consensus in Clustered Federated Learning through Consensus-based Optimization
- Consensus-Based Optimization with Truncated Noise
- PyPop7: A Pure-Python Library for Population-Based Black-Box Optimization
- Consensus-based rare event estimation
Cited by in corpus (5)
- Polarized consensus-based dynamics for optimization and sampling
- Mean-field limits for Consensus-Based Optimization and Sampling
- MirrorCBO: A consensus-based optimization method in the spirit of mirror descent
- Defending Against Diverse Attacks in Federated Learning Through Consensus-Based Bi-Level Optimization
- Adversarial flows: A gradient flow characterization of adversarial attacks