FST-PSO is a settings-free version of the global optimization algorithm known as Particle Swarm Optimization.
FST-PSO does not need any user settings to work, because particles leverage fuzzy logic to adapt their behavior to the fitness landscape.
pip install fst-pso
Why should I use FST-PSO?
FST-PSO was specifically designed to be 1) more effective than normal PSO and its competitors (please, check out the paper for additional info) and 2) extremely easy to use (no settings, few lines of code). Thus, the API is extremely simple and straightforward:
- create a
- specify the search space with its
- specify a fitness function with the
set_fitness()method. Please note that the argument of this method must be a function which receives the position of a particle as argument and returns its fitness value as a real number;
- launch the optimization with the
Please note that you must specify the search space before setting the fitness function, because the
set_fitness() method is designed to automatically test the proper functioning of the fitness function. You can exclude this check by using the optional argument
Additional information about FST-PSO
- Optional settings
- Logging FST-PSO’s performance
- Distribute the fitness evaluations
- GITHUB repository
If you find FST-PSO useful for your research, please cite it as:
Nobile, Cazzaniga, Besozzi, Colombo, Mauri, Pasi, “Fuzzy Self-Tuning PSO: A Settings-Free Algorithm for Global Optimization”, Swarm & Evolutionary Computation, 39:70-85, 2018 (doi:10.1016/j.swevo.2017.09.001)