【黑猩猩算法】基于加權(quán)反對技術(shù)和貪婪搜索進(jìn)化黑猩猩優(yōu)化算法求解多模態(tài)工程問題附m
?作者簡介:熱愛科研的Matlab仿真開發(fā)者,修心和技術(shù)同步精進(jìn),matlab項(xiàng)目合作可私信。
??個人主頁:Matlab科研工作室
??個人信條:格物致知。
更多Matlab仿真內(nèi)容點(diǎn)擊??
智能優(yōu)化算法 ?神經(jīng)網(wǎng)絡(luò)預(yù)測 雷達(dá)通信 無線傳感器
信號處理 圖像處理 路徑規(guī)劃 元胞自動機(jī) 無人機(jī)
? 內(nèi)容介紹
黑猩猩算法主要模擬了黑猩猩對于獵物的攻擊、驅(qū)趕、攔截和追逐等4種社會行為[16]。黑猩猩優(yōu)化算法的基本描述為:假定黑猩猩種群數(shù)目為N,Xi表示第i只黑猩猩所處的位置,群體的最優(yōu)解為Xatacter、次優(yōu)解Xbarier、第3優(yōu)解Xchaser、第4優(yōu)解Xdrive。黑猩猩算法的具體數(shù)學(xué)描述如下:1)驅(qū)趕、追逐獵物。在黑猩猩狩獵的過程中,任何個體均會依據(jù)獵物的位置而改變自身的位置。其位置更新公式如下:

式中:D表示黑猩猩與獵物之間的距離;Xprey和Xchimp分別表示獵物的位置和黑猩猩的位置;A、m、C為系數(shù)向量,m=Chaotic_value是一個基于某種混沌映射計算出來的混沌向量;r1和r2為[0,1]之間的隨機(jī)數(shù);t和tmax分別表示當(dāng)前迭代次數(shù)和最大迭代次數(shù);f為收斂因子,在迭代過程中從2線性遞減到0。
2)攻擊方式。黑猩猩通過對獵物位置的探索,最后將其包圍。通常狩獵過程由攻擊者進(jìn)行,而驅(qū)趕者、攔截者、追逐者僅參與狩獵過程,4種黑猩猩分別更新自己的位置,其他黑猩猩根據(jù)四者的位置進(jìn)行更新。
?

黑猩猩優(yōu)化算法(Chimp Optimization Algorithm,ChOA)是對自然界中黑猩猩群體合作捕食行為模擬而提出的一種群智能優(yōu)化算法。該算法結(jié)構(gòu)清晰,調(diào)整參數(shù)少,在許多優(yōu)化領(lǐng)域應(yīng)用取得較大地成功。隨著研究的深入,研究者發(fā)現(xiàn)該算法存在易陷入局部最優(yōu),全局勘探能力和局部開采能力之間不平衡,這極大地限制了算法本身的性能。本文針對黑猩猩優(yōu)化算法所存在的不足,從多策略混合這方面對算法進(jìn)行分析改進(jìn),并將算法應(yīng)用于函數(shù)優(yōu)化、最小生成樹、無人機(jī)三維路徑規(guī)劃及圖像增強(qiáng)問題,進(jìn)一步提升ChOA算法的性能和拓寬其應(yīng)用范圍。
? 部分代碼
function [] = drawComparisonPlot(function_name, curve_list, curve_name_list, curve_color_list)
figure('Position',[500 500 660 290])
% Draw search space
subplot(1,2,1);
func_plot(num2str(cell2mat(function_name)));
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([num2str(cell2mat(function_name)),'( x_1 , x_2 )'])
%Draw objective space
subplot(1,2,2);
for loop = 1:size(curve_list,1)
? ? semilogy(curve_list(:,loop),'Color',curve_color_list(1,loop));
? ? hold on;
end
title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid on
box on
legend(curve_name_list)? % chnage this according to your required names
end
? 運(yùn)行結(jié)果


? 參考文獻(xiàn)
[1]程國森, and 崔東文. "黑猩猩優(yōu)化算法-極限學(xué)習(xí)機(jī)模型在富水性分級判定中的應(yīng)用." 人民黃河 43.7(2021):6.
?? 關(guān)注我領(lǐng)取海量matlab電子書和數(shù)學(xué)建模資料
??部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除
