PySwarms package

Particle Swarm Optimization (PSO) toolkit

PySwarms is a particle swarm optimization (PSO) toolkit that enables researchers to test variants of the PSO technique in different contexts. Users can define their own function, or use one of the benchmark functions in the library. It is built on top of numpy and scipy, and is very extensible to accommodate other PSO variations.

Base Classes

The base classes are inherited by various PSO implementations throughout the library. It supports a simple skeleton to construct a customized PSO algorithm.


The optimizers include the actual PSO implementations for various tasks. These include easy, off-the-shelf implementations include those that are already considered as standard in literature. This may include the classics such as global-best and local-best. Useful for quick-and-easy optimization problems.


This includes various utilities to help in optimization. In the future, parameter search and plotting techniques will be incoroporated in this module.