You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
[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 (2026). Levy PSO (https://au.mathworks.com/matlabcentral/fileexchange/50277-levy-pso), MATLAB Central File Exchange. Retrieved .
Acknowledgements
Inspired by: STBL: Alpha stable distributions for MATLAB
General Information
- Version 1.1.0.0 (84.8 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
