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 is False.

  • heavi_correction (bool, optional) – If True, the Heaviside correction is applied. The default is False.

References

See also

CBO

Consensus-based dynamics class

CCBS

Cluster consensus-based sampling class