什么是鱼群算法

来源:百度知道 编辑:UC知道 时间:2024/09/24 23:31:33

artifical fish-warm algorithm
xp(v1,v2……vn)个体的当前位置,d(p,q)=(1/n)*{[v(p,1)-v(q,1)]^2+……[v

(p,n)-v(q,n)]^2},两个体的距离,(不知道为什么用1/n而不是开平方);visual

一只鱼的感知距离。@拥挤度因子。
第一步:觅食人工鱼当前位置为Xi,在可见域内随机选择一个位置Xj(d(ij)

<=visual),如xj优于xi向xj前进一步,否则随机移动一步。如出现不满足约束则

剪去。X(j+1,k)={if x(i,k)=x(j,k) 不变,else x(j+1,k)=随机(0,1)}。
第二步:聚群:
xi可见域内共有nf1条鱼。形成集合KJi,KJi={Xj|Dij<=visual},if KJi不为空,

then
X(center)=(xj1+xj2+.....xjn)/nf1(xjk属于kji)
X(center,k)=0,X(center,k)<0.5 1,X(center,k)>=0.5
若:FCc/nf1>@FCi(FCc为中心食物浓度,FCi为Xi点食物浓度)
则:向中心移动:X(i+1,k)=不变,当Xik=X(center,k)时;Xik=随机(0,1),当

Xik!=X(center,k)时;
若:FCc/nf1<@FCi
则:进行觅食
第三步:追尾
在visual范围内,某一个体食物浓度最大则称为Xmax,若:FCmax>@FCi,则向它移动

:X(i+1,k)=当X(i,k)=X(max,k)时,X(i,k)不变,当X(i,k)!=X(max,k)时,X(i,k)=

随机(0,1)
第四步:公告板
在运算过程中,用公告板始终记录下最优FCi

人工鱼群算法是一种基于动物行为的群体智能优化算法。该文提出一种改进的人工鱼群算法,在觅食行为中让人工鱼直接移动到较优位置,以加快算