polarcbo.dynamic.CCBO
- class polarcbo.dynamic.CCBO(x, V, noise, num_means=1, beta=1.0, noise_decay=0.0, diff_exp=1.0, kernel=<polarcbo.functional.Gaussian_kernel object>, tau=0.1, sigma=1.0, lamda=1.0, repulsion_scale=0.0, M=None, overshoot_correction=False, heavi_correction=False)[source]
Bases:
ParticleDynamic
Cluster CBO class
This class implements the cluster CBO algorithm as described in [1]. The algorithm is based on the consensus-based dynamics (CBO) algorithm [2].
- Parameters:
x (array_like) – The initial positions of the particles. The shape of the array should be (num_particles, num_dimensions).
V (obejective) – The objective function \(V(x)\) of the system.
beta (float, optional) – The heat parameter \(\beta\) of the system. The default is 1.0.
noise (float, optional) – The noise parameter \(\sigma\) of the system. The default is 1.0.
num_means (int, optional) – The number of means \(\mathsf{m}_i\) that are used to compute the mean \(\mathsf{m}(x_i)\). The default is 1.
kernel (object, optional) – The kernel function \(K(x_i, x_j)\) that is used to compute the mean \(\mathsf{m}(x_i)\). The default is
Gaussian_kernel()
.tau (float, optional) – The time constant \(\tau\) of the noise model. The default is 0.1.
sigma (float, optional) – The noise parameter \(\sigma\) of the system. The default is 1.0.
lamda (float, optional) – The default is 1.0.
repulsion_scale (float, optional) – The repulsion scale \(\alpha\) of the system. The default is 0.0.
M (int, optional) – The number of particles that are used to compute the mean \(\mathsf{m}(x_i)\). The default is
num_particles
.overshoot_correction (bool, optional) – If
True
, the overshoot correction is applied. The default isFalse
.heavi_correction (bool, optional) – If
True
, the Heaviside correction is applied. The default isFalse
.
References