Levy PSO

Version (84.8 KB) by Zhuo Li
Particle swarm optimization using Levy distribution (alpha stable) randomization


Updated 26 Mar 2015

View License

[gbest, xb] = levyPSO(@func, vars) is a function that searches for the global minimum of
an n-Dimensional function defined in 'func' using the PSO algorithm based on Levy distribution randomization.
It returns the global (not guaranteed) minimal value and the coordinate at which the function takes that value.
The input to this function is designed in the similar manner of the Matlab built-in function "fminsearch()".
Sample syntax: [gbest, xb] = levyPSO(@func_test, [0 0], [100 100], 100, 200) for 2-D,
[gbest, xb] = levyPSO(@func_test_3d, [0 0 0], [100 100 100], 100, 200) for 3-D function demo
The performance of this function is tested on the attached test functions. It is competitive with "fminsearch()" and "GOAT()" in terms of the target hitting rate (locate global minimum successfully), better than the built-in "particleswarm()" (2014b). When using adequate swam size (not too large), it is faster than GOAT() and fminsearch().

Cite As

Zhuo Li (2023). Levy PSO (https://www.mathworks.com/matlabcentral/fileexchange/50277-levy-pso), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Inspired by: STBL: Alpha stable distributions for MATLAB

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Changed title to avoid repentance with summary
Added performance comments
changed search path