魚群演算法解析
Ⅰ 誰能簡單介紹一下魚群演算法
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
Ⅱ 可用能力名詞解釋
可用傳輸能力:
利用改進人工魚群演算法構造了可用傳輸能力問題的優化模型。首先採用潮流校驗法解決了人工魚群演算法的初始值敏感問題;然後引入遺傳演算法,解決了人工魚群演算法的早熟問題;最後運用IEEE30節點算例系統驗證了所提演算法的准確性和有效性,同時分析了人工魚群演算法在電網可用傳輸能力研究中尚需解決的問題。
Ⅲ 魚群演算法是什麼
和蟻群演算法其實是一樣的,生物那方面不說了,主要是生成隨機數,經過數次迭代,一次次計算目標函數值從而優化答案,最後看答案分布,這樣就能計算解決全局最優,因為魚群演算法能夠跳出局部最優,所以應用於目標函數的最大值最小值是很有用的,希望能幫到你
Ⅳ 蟻群演算法的優缺點是什麼人工魚群演算法的優缺點是什麼
針對不同的研究方向,它所體現出來的優缺點是不一樣的,不能一概而論的。
Ⅳ 什麼是魚群演算法
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
Ⅵ 哪位大神,有沒有人工魚群演算法的模擬程序,matlab的,不勝感激!!!!
tic
figure(1);hold on
ezplot('x*sin(10*pi*x)+2',[-1,2]);
%% 參數設置
fishnum=50; %生成50隻人工魚
MAXGEN=50; %最多迭代次數
try_number=100;%最多試探次數
visual=1; %感知距離
delta=0.618; %擁擠度因子
step=0.1; %步長
%% 初始化魚群
lb_ub=[-1,2,1];
X=AF_init(fishnum,lb_ub);
LBUB=[];
for i=1:size(lb_ub,1)
LBUB=[LBUB;repmat(lb_ub(i,1:2),lb_ub(i,3),1)];
end
gen=1;
BestY=-1*ones(1,MAXGEN); %每步中最優的函數值
BestX=-1*ones(1,MAXGEN); %每步中最優的自變數
besty=-100; %最優函數值
Y=AF_foodconsistence(X);
while gen<=MAXGEN
fprintf(1,'%d\n',gen)
for i=1:fishnum
%% 聚群行為
[Xi1,Yi1]=AF_swarm(X,i,visual,step,delta,try_number,LBUB,Y);
%% 追尾行為
[Xi2,Yi2]=AF_follow(X,i,visual,step,delta,try_number,LBUB,Y);
if Yi1>Yi2
X(:,i)=Xi1;
Y(1,i)=Yi1;
else
X(:,i)=Xi2;
Y(1,i)=Yi2;
end
end
[Ymax,index]=max(Y);
figure(1);
plot(X(1,index),Ymax,'.','color',[gen/MAXGEN,0,0])
if Ymax>besty
besty=Ymax;
bestx=X(:,index);
BestY(gen)=Ymax;
[BestX(:,gen)]=X(:,index);
else
BestY(gen)=BestY(gen-1);
[BestX(:,gen)]=BestX(:,gen-1);
end
gen=gen+1;
end
plot(bestx(1),besty,'ro','MarkerSize',100)
xlabel('x')
ylabel('y')
title('魚群演算法迭代過程中最優坐標移動')
%% 優化過程圖
figure
plot(1:MAXGEN,BestY)
xlabel('迭代次數')
ylabel('優化值')
title('魚群演算法迭代過程')
disp(['最優解X:',num2str(bestx,'%1.5f')])
disp(['最優解Y:',num2str(besty,'%1.5f')])
toc
Ⅶ 初三數學問題(請說明理由)
1.因為直線過(2,8),所以帶入直線方程,可得8=2*2+b
算得b=4 即原解析式為y=2x+4 與X軸交於A點,則縱坐標等於0
再次帶入解析式,0=2x+4 此時x=-2即A(-2,0)
沿B點做垂線垂直於X軸於C則構成Rt△ABC,A距Y軸2個單位,C也距2個
則AC=4,BC=8 根據勾股定理 AB=4根號5 則sina=BC/AB=2/5根號5
2.可以順勢延長樓頂的視線到地面,則與地面的夾角為30
設電視塔底到與地面的夾角頂點處為X 由tan30=√3/3=(150+50√3)/X
X=150(√3+1) 由於塔頂與樓底俯角為45,則視線的夾角也為45
可算得塔底到樓底的距離為150+50√3 樓底與視線與地面夾角的距離為
150(√3+1)-150-50√3=100√3
根據相似三角形可列出比例式 樓高:塔高=樓底與視線與地面夾角的距離:塔底與視線與地面夾角的距離
樓高得100m
3.沿C做垂線垂直於船的路線,就可以構成2個直角三角形,用2題的方法完全可以解決了.
要注意北偏東是該點與目標地連線與豎直方向上的夾角.
Ⅷ 用人工魚群演算法求函數最小值
人工魚群演算法:
在一片水域中,魚往往能自行或尾隨其他魚找到營養物質多的地方,因而魚生存數目最多的地方一般就是本水域中營養物質最多的地方,人工魚群演算法就是根據這一特點,通過構造人工魚來模仿魚群的覓食、聚群及追尾行為,從而實現尋優,以下是魚的幾種典型行為:
(1)覓食行為:一般情況下魚在水中隨機地自由游動,當發現食物時,則會向食物逐漸增多的方向快速游去。
(2)聚群行為:魚在游動過程中為了保證自身的生存和躲避危害會自然地聚集成群,魚聚群時所遵守的規則有三條:分隔規則:盡量避免與臨近夥伴過於擁擠;對准規則:盡量與臨近夥伴的平均方向一致;內聚規則:盡量朝臨近夥伴的中心移動。
(3)追尾行為:當魚群中的一條或幾條魚發現食物時,其臨近的夥伴會尾隨其快速到達食物點。
(4)隨機行為:單獨的魚在水中通常都是隨機游動的,這是為了更大范圍地尋找食物點或身邊的夥伴。
Ⅸ 人工魚群演算法的特點
1)具有較快的收斂速度,可以用於解決有實時性要求的問題;
2)對於一些精度要求不高的場合,可以用它快速的得到一個可行解;
3)不需要問題的嚴格機理模型,甚至不需要問題的精確描述,這使得它的應用范圍得以延伸。