This is an accelerated PSO (APSO), developed by Xin-She Yang in 2008. APSO does not use velocities or any inertia parameter.
A full program for solving nonlinear constrained optimization problem (welded beam design as an example) is provided, which can be extended to solve other continuous optimization problems.
Xin-She Yang (2020). Accelerated Particle Swarm Optimization (https://www.mathworks.com/matlabcentral/fileexchange/29725-accelerated-particle-swarm-optimization), MATLAB Central File Exchange. Retrieved .
Thank you very much.
Thanks. "n=size(ns,1)" is better, as "length" only returns the longer size. For example, a=rand(4,8) is a two-dimensional array, then use "n=length(a), it will give n=8.
Thank you very much for the codes. It is working quite well to my problem. However, I think there is a mistyping in the function "findrange". In this case, where we have "n=length(ns)", it should be "n=size(ns,1)".