[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().
引用格式
Zhuo Li (2024). Levy PSO (https://www.mathworks.com/matlabcentral/fileexchange/50277-levy-pso), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!