蛙跳算法的数学模型

算法参数
与其他优化算法一样,SFLA亦具有一些必要的计算参数,包括F:蛙群的数量;m:族群的数量;n:族群中青蛙的数量;Smax:最大允许跳动步长;Px:全局最好解;Pb:局部最好解;Pw:局部最差解;q:子族群中青蛙的数量;LS:局部元进化次数以及SF:全局思想交流次数等。
更新策略
对于青蛙群体,具有全局最好适应度的解表示为U g;对于每一个子族群,具有最好适应度的解表示为UB,最差适应度的解表示为UW。首先对每个子族群进行局部搜索,即对子族群中最差适应度的青蛙个体进行更新操作,更新策略为
青蛙更新距离 Ds=rand()*(Pb-Pw) (1)
更新后的青蛙 newDw=oldPw+Ds(-Dmax≦Ds≦Dmax) (2)
其中, Ds 表示青蛙个体的调整矢量, Dmax表示青蛙个体允许改变的最大步长。如设Uw=[1 3 5 4 2],UB=[2 1 5 3 4],允许改变的最大步长Dmax =3,若rand=0.5 ,则U q(1) =1+min{int[0.5 × (2−1)],3}=1;U q(2) =3+max{int[0.5×(1−3)], −3}=2;依此相同的操作完成更新策略后可得到一个新解U q=[1 2 5 4 3].