Features¶
Single-Objective Optimizers¶
These are standard optimization techniques for finding the optima of a single objective function.
Continuous¶
Single-objective optimization where the search-space is continuous. Perfect for optimizing various common functions.
pyswarms.single.global_best
- classic global-best Particle Swarm Optimization algorithm with a star-topology. Every particle compares itself with the best-performing particle in the swarm.pyswarms.single.local_best
- classic local-best Particle Swarm Optimization algorithm with a ring-topology. Every particle compares itself only with its nearest-neighbours as computed by a distance metric.pyswarms.single.general_optimizer
- alterable but still classic Particle Swarm Optimization algorithm with a custom topology. Every topology in thepyswarms.backend
module can be passed as an argument.
Discrete¶
Single-objective optimization where the search-space is discrete. Useful for job-scheduling, traveling salesman, or any other sequence-based problems.
pyswarms.discrete.binary
- classic binary Particle Swarm Optimization algorithm without mutation. Uses a ring topology to choose its neighbours (but can be set to global).
Utilities¶
Benchmark Functions¶
These functions can be used as benchmarks for assessing the performance of the optimization algorithm.
pyswarms.utils.functions.single_obj
- single-objective test functions
Search¶
These search methods can be used to compare the relative performance of hyperparameter value combinations in reducing a specified objective function.
pyswarms.utils.search.grid_search
- exhaustive search of optimal performance on selected objective function over cartesian products of provided hyperparameter valuespyswarms.utils.search.random_search
- search for optimal performance on selected objective function over combinations of randomly selected hyperparameter values within specified bounds for specified number of selection iterations
Plotters¶
A quick and easy to use tool for the visualization of optimizations. It allows you to easily create animations and to visually check your optimization!
Environment¶
Deprecated since version 0.4.0: Use pyswarms.utils.plotters
instead!
Various environments that allow you to analyze your swarm performance and make visualizations!
pyswarms.utils.environments.plot_environment
- an environment for plotting the cost history and animating particles in a 2D or 3D space.