鱼群探测算法
① 什么是鱼群算法
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
② 鱼群算法是什么
和蚁群算法其实是一样的,生物那方面不说了,主要是生成随机数,经过数次迭代,一次次计算目标函数值从而优化答案,最后看答案分布,这样就能计算解决全局最优,因为鱼群算法能够跳出局部最优,所以应用于目标函数的最大值最小值是很有用的,希望能帮到你