Skip to content

Commit

Permalink
update plot and package names
Browse files Browse the repository at this point in the history
  • Loading branch information
TimRoith committed May 15, 2024
1 parent b1d6133 commit e817b79
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ CBX methods have been successfully applied and extended to several different set

In general, very few implementations of CBO already exist, and none have been designed with the generality of other CBX methods in mind. We summarise here the related software:

Regarding Python, we refer to `PyPop7` [@duan2023pypop7] and `scikit-opt` [@scikitopt] for a collection of various derivative-free optimisation strategies. A very recent implementation of Bayesian optimisation is described in `BayesO` [@Kim2023], where we also refer to `bayesian-optimization` [@Bayesian14], `GPyOpt` [@gpyopt2016], `GPflowOpt` [@GPflowOpt2017], `pyGPGO` [@Jiménez2017] and `BoTorch` [@balandat2020botorch]. Furthermore, CMA-ES [@hansen1996adapting] was implemented in `pycma` [@hansen2019pycma]. To the best of our knowledge the connection between consensus-based methods and evolution strategies is not fully understood, and is therefore an interesting future direction. PSO and SA implementations are already available in `PySwarms` [@miranda2018pyswarms], `scikit-opt` [@scikitopt], `DEAP` [@deapJMLR2012] and `pagmo` [@pagmo2017]. They are widely used by the community and provide a rich framework for the respective methods. However, adjusting these implementations to CBO is not straightforward. The first publicly available Python packages implementing CBX algorithms were given by some of the authors together with collaborators. @Igor_CBOinPython implement standard CBO [@pinnau2017consensus], and the package `PolarCBO` [@Roith_polarcbo] provides an implementation of polarised CBO [@bungert2022polarized]. [CBXPy](https://pdips.github.io/CBXpy/) is a significant extension of the latter, which was tailored to polarised CBO. The code architecture was changed to a more general setup, which allowed the implementation of the whole CBO zoo within a common framework.
Regarding Python, we refer to `PyPop7` [@duan2023pypop7] and `scikit-opt` [@scikitopt] for a collection of various derivative-free optimisation strategies. For packages connected to Bayesian optimisation, we refer to `BayesO` [@Kim2023], `bayesian-optimization` [@Bayesian14], `GPyOpt` [@gpyopt2016], `GPflowOpt` [@GPflowOpt2017], `pyGPGO` [@Jiménez2017] and `BoTorch` [@balandat2020botorch]. Furthermore, CMA-ES [@hansen1996adapting] was implemented in `pycma` [@hansen2019pycma]. To the best of our knowledge the connection between consensus-based methods and evolution strategies is not fully understood, and is therefore an interesting future direction. PSO and SA implementations are already available in `PySwarms` [@miranda2018pyswarms], `scikit-opt` [@scikitopt], `DEAP` [@deapJMLR2012] and `pagmo` [@pagmo2017]. They are widely used by the community and provide a rich framework for the respective methods. However, adjusting these implementations to CBO is not straightforward. The first publicly available Python packages implementing CBX algorithms were given by some of the authors together with collaborators. @Igor_CBOinPython implement standard CBO [@pinnau2017consensus], and the package `PolarCBO` [@Roith_polarcbo] provides an implementation of polarised CBO [@bungert2022polarized]. [CBXPy](https://pdips.github.io/CBXpy/) is a significant extension of the latter, which was tailored to polarised variant. The code architecture was changed to a more general setup, which allowed the implementation of the whole CBO zoo within a common framework.

Regarding Julia, PSO and SA methods are, among others, implemented in `optim.jl` [@mogensen2018optim], `Metaheuristics.jl` [@mejia2022metaheuristics], and `Manopt.jl` [@Bergmann2022]. PSO and SA are also included in the meta-library `Optimization.jl` [@DR2023], as well as Nelder--Mead, which is a direct search method. The latter is also implemented in `Manopt.jl` [@Bergmann2022], which further provides a manifold variant of CMA-ES [@colutto2009cma]. One of the authors gave the first specific Julia implementation of standard CBO `Consensus.jl`[@Bailo_consensus]; that package has now been deprecated in favour of [ConsensusBasedX.jl](https://pdips.github.io/ConsensusBasedX.jl/), which offers additional CBX methods and a far more general interface.

Expand Down

0 comments on commit e817b79

Please sign in to comment.