# {py:mod}`evox.algorithms.so.pso_variants.cso` ```{py:module} evox.algorithms.so.pso_variants.cso ``` ```{autodoc2-docstring} evox.algorithms.so.pso_variants.cso :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`CSO ` - ```{autodoc2-docstring} evox.algorithms.so.pso_variants.cso.CSO :summary: ``` ```` ### API `````{py:class} CSO(pop_size: int, lb: torch.Tensor, ub: torch.Tensor, phi: float = 0.0, mean: torch.Tensor | None = None, stdev: torch.Tensor | None = None, device: torch.device | None = None) :canonical: evox.algorithms.so.pso_variants.cso.CSO Bases: {py:obj}`evox.core.Algorithm` ```{autodoc2-docstring} evox.algorithms.so.pso_variants.cso.CSO ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} evox.algorithms.so.pso_variants.cso.CSO.__init__ ``` ````{py:method} init_step() :canonical: evox.algorithms.so.pso_variants.cso.CSO.init_step ```` ````{py:method} step() :canonical: evox.algorithms.so.pso_variants.cso.CSO.step ```{autodoc2-docstring} evox.algorithms.so.pso_variants.cso.CSO.step ``` ```` `````