Consensus based optimization

Uses your system voice; voice and rate in settings.

Snapshot

≈ 6 min read

Names in other languages

No names in other languages are held for this entry yet.

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

Consensus-based optimization (CBO) is a multi-agent derivative-free optimization method, designed to obtain solutions for global optimization problems of the form \min_{x\in \cal{X}} f(x), . Blue: Particles, Pink: drift vectors and consensus point. where f:\mathcal{X}\to\R denotes the objective function acting on the state space \cal{X} , which is assumed to be a normed vector space. The function f can potentially be nonconvex and nonsmooth. The algorithm employs particles or agents to explore the state space, which communicate with each other to update their positions. Their dynamics follows the paradigm of metaheuristics, which blend exploration with exploitation. In this sense, CBO is comparable to ant colony optimization, wind driven optimization, particle swarm optimization or Simulated annealing.

Consensus-based optimization (CBO) is a multi-agent derivative-free optimization method, designed to obtain solutions for global optimization problems of the form \min_{x\in \cal{X}} f(x), . Blue: Particles, Pink: drift vectors and consensus point. where f:\mathcal{X}\to\R denotes the objective function acting on the state space \cal{X} , which is assumed to be a normed vector space. The function f can potentially be nonconvex and nonsmooth. The algorithm employs particles or agents to explore the state space, which communicate with each other to update their positions. Their dynamics follows the paradigm of metaheuristics, which blend exploration with exploitation. In this sense, CBO is comparable to ant colony optimization, wind driven optimization, particle swarm optimization or Simulated annealing. Consider an ensemble of points x_t = (x_t^1,\dots, x_t^N) \in {\cal{X}}^N , dependent of the time t\in[0,\infty) . Then the update for the i th particle is formulated as a stochastic differential equation, dx^i_t = -\lambda\, \underbrace{(x^i_t-c_\alpha(x_t))\,dt}_{\text{consensus drift}} + \sigma \underbrace{D(x^i_t-c_{\alpha}(x_t))\,dB^i_t}_{\text{scaled diffusion}}, with the following components: The consensus point c_{\alpha}(x) : The key idea of CBO is that in each step the particles “agree” on a common consensus point, by computing an average of their positions, weighted by their current objective function value c_\alpha(x_t) = \frac{1}{\sum_{i=1}^N \omega_\alpha(x^i_t)} \sum_{i=1}^N x^i_t\ \omega_\alpha(x^i_t), \quad\text{ with }\quad \omega_\alpha(\,\cdot\,) = \mathrm{exp}(-\alpha f(\,\cdot\,)). This point is then used in the drift term x^i_t-c_\alpha(x_t) , which moves each particle into the direction of the consensus point. Scaled noise: For each t\geq 0 and i=1,\dots,N , we denote by B^i_t independent standard Brownian motions. The function D:{\cal{X}}\to\R^s incorporates the drift of the i th particle and determines the noise model. The most common choices are: Isotropic noise, D(\cdot) = \|\cdot \| : In this case s=1 and every component of the noise vector is scaled equally. This was used in the original version of the algorithm. Anisotropic noise , D(\cdot) = |\cdot| : In the special case, where {\cal{X}}\subset \R^d , this means that s=d and D applies the absolute value function component-wise. Here, every component of the noise vector is scaled, dependent on the corresponding entry of the drift vector. Hyperparameters: The parameter \sigma \geq 0 scales the influence of the noise term. The parameter \alpha \geq 0 determines the separation effect of the particles: in the limit \alpha\to 0 every particle is assigned the same weight and the consensus point is a regular mean. In the limit \alpha\to\infty the consensus point corresponds to the particle with the best objective value, completely ignoring the position of other points in the ensemble. In practice, the SDE is discretized via the Euler–Maruyama method such that the following explicit update formula for the ensemble x = (x^1,\dots,x^N) is obtained, x^i \gets x^i-\lambda\, (x^i-c_\alpha(x))\,dt + \sigma D(x^i-c_{\alpha}(x))\, B^i. If one can employ an efficient implementation of the LogSumExp functions, this can be beneficial for numerical stability of the consensus point computation. We refer to existing implementation in Python and Julia [https://github.com/PdIPS/CBX.jl. dx^i_t = -(x^i_t-c_\alpha(x_t))\,dt + \sqrt{2 \tilde{\lambda}^{-1}\, C_\alpha(x_t)}\,dB^i_t, where the weighted covariance matrix is defined as C_\alpha(x_t) := \frac{1}{\sum_{i=1}^N \omega_\alpha(x_t^i)}\sum_{i=1}^N (x_t^i - c(x_t)) \otimes (x_t^i - c(x_t)) \omega(x_t^i) . If the parameters are chosen such that \tilde{\lambda}^{-1} = (1 + \alpha) the above scheme creates approximate samples of a probability distribution with a density, that is proportional to \exp(-\alpha f) . If the function f is multi-modal, i.e., has more than one global minimum, the standard CBO algorithm can only find one of these points. However, one can “polarize” the consensus computation by introducing a kernel k: \cal{X}\times\cal{X}\to[0,\infty) that includes local information into the weighting. In this case, every particle has its own version of the consensus point, which is computed as c_\alpha^j(x) = \frac{1}{\sum_{i=1}^N \omega_\alpha^j(x^i)} \sum_{i=1}^N x^i\ \omega_\alpha^j(x^i), \quad\text{ with }\quad \omega_\alpha^j(\,\cdot\,) = \mathrm{exp}(-\alpha f(\,\cdot\,))\, k(\cdot,x^j). In this case, the drift is a vector field over the state space \cal{X} . Intuitively, particles are now not only attracted to other particles based on their objective value, but also based on their spatial locality. For a constant kernel function, the polarized version corresponds to standard CBO and is therefore a generalization. We briefly give some examples of common configurations: Gaussian kernel k(\cdot,\cdot) = \exp\left(- \frac{1}{2\kappa^{2} \alpha} \|\cdot-\cdot\|^2_2 \right) : the parameter \kappa determines the communication radius of particles. This choice corresponds to a local convex regularization of the objective function f . Mean-shift algorithm: Employing polarized CBO for a constant objective function f , together with no noise (i.e. \sigma = 0 ) and an Euler–Maruyama discretization with step size dt=1 , corresponds to the mean-shift algorithm. Bounded confidence model: When choosing a constant objective function, no noise model, but also the special kernel function k(x,\tilde x) = 1_{\|x-\tilde x\| \leq \kappa} , the SDE in transforms to a ODE known as the bounded confidence model, which arises in opinion dynamics. A further modification is to also scale the kernel with the objective function, which leads to a provably globally convergent scheme .

Text derived from https://en.wikipedia.org/w/index.php?oldid=1349105675 under CC BY-SA 4.0; modifications have been made.

Provenance

snapshot enwiki-001349105675 · captured 1776276342.0 · version history

Cite this page as: encyclopegia.org, “Consensus based optimization”, snapshot enwiki-001349105675. https://encyclopegia.org/a/consensus-based-optimization