Skip to content
Marco S. Nobile edited this page Oct 15, 2017 · 29 revisions

Welcome to the fst-pso wiki!

We encourage everyone to participate in this wiki. Please remember that, in order to modify the wiki, you need to create an account (top right corner).

What is FST-PSO?

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.

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, 2017 (doi:10.1016/j.swevo.2017.09.001)

Why FST-PSO?

FST-PSO was specifically design to be 1) extremely easy to use (no settings!) and 2) more effective than normal PSO. Thus, the API is extremely simple and straightforward:

  • create a FuzzyPSO class;
  • specify the search space with its set_search_space() method;
  • 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 solve_with_fstpso() method.

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.

Are there any optional settings?

Yes. You can pass the number of iterations as argument (max_iter) to solve_with_fstpso().

Can I distribute the fitness evaluations?

Yes. In alternative to the set_fitness() method, you can use the set_parallel_fitness() method. In this case, you must specify as argument a function which receives the whole population and must return the vector of the fitness values for all particles. Please note that the position of a particle is contained in the field .X.

FST-PSO uses fuzzy logic to dynamically adapt the social factor, cognitive factor, inertia weight, maximum velocity, and minimum velocity of all particles

Clone this wiki locally