Skip to content

Commit

Permalink
Merge branch 'main' of github.com:PdIPS/CBXpy
Browse files Browse the repository at this point in the history
  • Loading branch information
TimRoith committed Oct 12, 2023
2 parents e21c5e9 + b30e76b commit 435c8a8
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,7 @@ A Documentation is available at [https://pdips.github.io/CBXpy](https://pdips.gi

# What is CBX?

For an ensemble of particles $x = (x_1, \ldots, x_N)$ the basic update step reads

$$
x_i \gets x_i - dt\, (x_i - c(x))
$$

CBXPy is a python package implementing consensus based particle schemes. Originally designed for optimization problems
Originally designed for optimization problems

$$
\min_{x \in \mathbb{R}^n} f(x),
Expand All @@ -37,12 +31,16 @@ $$
the scheme was introduced as CBO (Consensus Based Optimization). Given an ensemble of points $x = (x_1, \ldots, x_N)$, the update reads

$$
x_i \gets x_i - \lambda\, dt\, (x_i - c(x)) + \sigma\, \sqrt{dt} |x_i - c(x)| \xi_i
x_i \gets x_i - \lambda\ dt\ (x_i - c(x)) + \sigma\ \sqrt{dt} |x_i - c(x)| \xi_i
$$

where $\xi_i$ are i.i.d. standard normal random variables. The core element is the consensus point

$$c(x) = \frac{\sum_{i=1}^N x_i\, \exp(-\alpha\, f(x_i))}{\sum_{i=1}^N \exp(-\alpha\, f(x_i))}.$$
$$
\begin{align*}
c(x) = \left(\sum_{i=1}^{N} x_i\ \exp(-\alpha\ f(x_i))\right)\bigg/\left(\sum_{i=1}^N \exp(-\alpha\ f(x_i))\right).
\end{align*}
$$

with a parameter $\alpha>0$. The scheme can be extended to sampling problems known as CBS, clustering problems and opinion dynamics, which motivates the acronym
**CBX**, indicating the flexibility of the scheme.
Expand Down

0 comments on commit 435c8a8

Please sign in to comment.