WOA算法的伪代码

一、WOA算法的伪代码(中文伪代码,只供自娱自乐)
初始化搜索的变量的初值 Xi(X1,X2,X3,X4·······);
计算出每个搜索代理的目标函数值(通过for语句);
X*=目前最好的搜索代理
while(限制迭代次数)
for 每个搜索代理
更新a,A,C,l,和p的值;
if1(p<0.5)
if2(|A|<1)
通过式子D=|C.X(t)-X(t)|和X(t+1)=X*(t)-A.*D更新搜索代理的位置(收缩环流-机制);
els if2(|A|>=1)
通过式子D=|C.*Xrand-X| 和 X(t+1)=Xrand-A.D更新搜索代理的位置(随机搜索,勘探阶段);
end if2
else if1(p>=0.5)
通过式子D=|X
(t)-X(t)|和X(t+1)=D.e~bl.cos(2pi.l)+X(t)更新搜索代理的位置(螺旋收缩阶段);
end if1
end for
检查每个搜索代理是否超出了搜索边界,要是超出更新其位置;
计算每个搜索代理的函数值;
如果函数值是比优的,更新其X
的值
t=t+1;
end while
return X

你可能感兴趣的:(优化算法)