国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】

這篇具有很好參考價(jià)值的文章主要介紹了【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


【獲取資源請(qǐng)見(jiàn)文章第5節(jié):資源獲取】


1. 原始POA算法

此算法詳細(xì)介紹請(qǐng)參考POA算法介紹

2. 改進(jìn)后的IPOA算法

2.1 隨機(jī)對(duì)立學(xué)習(xí)種群初始化

采用隨機(jī)方法初始化POA種群,生成的種群不均勻,影響了收斂速度和精度。為了獲得更好的初始種群,本文采用了隨機(jī)對(duì)立學(xué)習(xí)策略來(lái)進(jìn)行種群初始:
X i , n e w = ( l + u ) ? k X i (1) X_{i,new}=(l+u)-kX_{i}\tag1 Xi,new?=(l+u)?kXi?(1)
其中, X i X_{i} Xi?為原解, X i , n e w X_{i,new} Xi,new?為隨機(jī)對(duì)立學(xué)習(xí)生成的反向解, k k k為[0,1]之間的隨機(jī)數(shù)。
經(jīng)過(guò)隨機(jī)對(duì)立學(xué)習(xí)策略后,生成了 N N N個(gè)反向解,如果反向解的適應(yīng)度值優(yōu)于原解,就用反向解替代原解,否則保留原解。

2.2 動(dòng)態(tài)權(quán)重系數(shù)

基本鵜鶘優(yōu)化算法的開(kāi)發(fā)階段,在迭代后期會(huì)存在陷入局部最優(yōu)的情況,使搜索失敗。為克服這一弊端,再在其位置更新公式中加入動(dòng)態(tài)權(quán)重系數(shù) ω,讓它在迭代初期具有較大值,促進(jìn)全局搜索,迭代后期自適應(yīng)變小,促進(jìn)局部搜索并加快收斂速度。

2.3 透鏡成像折射方向?qū)W習(xí)

透鏡成像折射反向?qū)W習(xí)策略的思想來(lái)自于凸透鏡成像的原理。通過(guò)基于當(dāng)前坐標(biāo)生成一個(gè)反向位置來(lái)擴(kuò)展搜索范圍,如圖1所示。
【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA

圖1 透鏡成像折射反向?qū)W習(xí)原理圖

在二維坐標(biāo)中,x軸的搜索范圍為(a, b), y軸表示一個(gè)凸透鏡。假設(shè)物體A在x軸上的投影為x,高度為h,通過(guò)透鏡成像,另一側(cè)的圖像為A*, A在x軸上的投影為x,高度為h*。通過(guò)以上分析,我們可以得到如下公式:
( a + b ) / 2 ? x x ? ? ( a + b ) / 2 = h h ? (2) \frac{(a+b)/2-x}{x^{*}-(a+b)/2 }=\frac{h}{h^{*}} \tag2 x??(a+b)/2(a+b)/2?x?=h?h?(2)
對(duì)公式(2)進(jìn)行轉(zhuǎn)換,即可得到反向解x*的表達(dá)式為:
x ? = a + b 2 + a + b 2 k ? x k (3) x^{*} =\frac{a+b}{2}+\frac{a+b}{2k}-\frac{x}{k} \tag3 x?=2a+b?+2ka+b??kx?(3)
其中, k = h / h ? k=h/h^{*} k=h/h?, a a a b b b可以視為某維度的上下限。本文中的 k k k是一個(gè)與迭代次數(shù)相關(guān)的動(dòng)態(tài)自適應(yīng)值。

3. 部分代碼展示

%%
clc
clear
close all

%%
Fun_name='F1'; % number of test functions: 'F1' to 'F23'
SearchAgents=30;                     % number of Pelicans (population members) 
Max_iterations=500;                  % maximum number of iteration
[lb,ub,dim,fobj]=Get_Functions_details(Fun_name); % Object function information
[Best_score_POA,Best_pos_POA,POA_curve]=POA(SearchAgents,Max_iterations,lb,ub,dim,fobj);   
[Best_score_SSA,Best_pos_SSA,SSA_curve]=SSA(SearchAgents,Max_iterations,lb,ub,dim,fobj);
[Best_score_WOA,Best_pos_WOA,WOA_curve]=WOA(SearchAgents,Max_iterations,lb,ub,dim,fobj);
[Best_score_GWO,Best_pos_GWO,GWO_curve]=GWO(SearchAgents,Max_iterations,lb,ub,dim,fobj);
[Best_score_IPOA,Best_pos_IPOA,IPOA_curve]=IPOA(SearchAgents,Max_iterations,lb,ub,dim,fobj);

%%
figure('Position',[454   445   694   297]);
subplot(1,2,1);
func_plot(Fun_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Fun_name,'( x_1 , x_2 )'])

subplot(1,2,2);
t = 1:Max_iterations;
semilogy(t, POA_curve, 'b-',    t, SSA_curve, 'k-',    t, WOA_curve, 'g-',  t, GWO_curve, 'm-',  t, IPOA_curve, 'r-','linewidth', 1.5);

title(Fun_name)
xlabel('Iteration');
ylabel('Best fitness function');
axis tight
legend('POA','SSA','WOA','GWO','IPOA')

display(['The best solution obtained by POA for ' [num2str(Fun_name)],'  is : ', num2str(Best_pos_POA)]);
display(['The best optimal value of the objective funciton found by POA  for ' [num2str(Fun_name)],'  is : ', num2str(Best_score_POA)]);
display(['The best solution obtained by SSA for ' [num2str(Fun_name)],'  is : ', num2str(Best_pos_SSA)]);
display(['The best optimal value of the objective funciton found by SSA  for ' [num2str(Fun_name)],'  is : ', num2str(Best_score_SSA)]);
display(['The best solution obtained by WOA for ' [num2str(Fun_name)],'  is : ', num2str(Best_pos_WOA)]);
display(['The best optimal value of the objective funciton found by WOA  for ' [num2str(Fun_name)],'  is : ', num2str(Best_score_WOA)]);
display(['The best solution obtained by GWO for ' [num2str(Fun_name)],'  is : ', num2str(Best_pos_GWO)]);
display(['The best optimal value of the objective funciton found by GWO  for ' [num2str(Fun_name)],'  is : ', num2str(Best_score_GWO)]);
display(['The best solution obtained by IPOA for ' [num2str(Fun_name)],'  is : ', num2str(Best_pos_IPOA)]);
display(['The best optimal value of the objective funciton found by IPOA  for ' [num2str(Fun_name)],'  is : ', num2str(Best_score_IPOA)]);

4. 仿真結(jié)果展示

【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA
【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA
【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA
【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA
【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA
【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA
【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA
【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA
【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】,#群智能算法改進(jìn),Matlab,matlab,鵜鶘優(yōu)化算法,POA

5. 資源獲取

可以獲取完整代碼資源。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-699723.html

到了這里,關(guān)于【群智能算法改進(jìn)】一種改進(jìn)的鵜鶘優(yōu)化算法 IPOA算法[2]【Matlab代碼#58】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包