【蛇群優(yōu)化算法】基于蛇優(yōu)化算法求解單目標優(yōu)化問題附matlab代碼
1 簡介
近年來,在工程和科學領域引入了幾種元啟發(fā)式算法來解決現(xiàn)實生活中的優(yōu)化問題。在這項研究中,提出了一種新的受自然啟發(fā)的元啟發(fā)式算法,稱為蛇優(yōu)化器 (SO),以解決模仿蛇特殊交配行為的各種優(yōu)化任務。如果存在的食物量足夠且溫度低,每條蛇(雄性/雌性)都會爭奪最佳伴侶。這項研究在數(shù)學上模擬和模擬了覓食和繁殖行為和模式,以提出一種簡單有效的優(yōu)化算法。為了驗證所提出方法的有效性和優(yōu)越性,SO 在 29 個無約束的進化計算大會 (CEC) 2017 基準函數(shù)和四個受約束的現(xiàn)實世界工程問題上進行了測試。將 SO 與其他 9 種著名的和新開發(fā)的算法進行比較,例如線性種群大小減少-差分進化的成功歷史適應 (L-SHADE)、與 L-SHADE 結合的集成正弦曲線 (LSHADE-EpSin)、協(xié)方差矩陣適應進化策略 (CMAES)、土狼優(yōu)化算法 (COA)、蛾火焰優(yōu)化、哈里斯鷹優(yōu)化器、熱交換優(yōu)化、蚱蜢優(yōu)化算法和鯨魚優(yōu)化算法。實驗結果和統(tǒng)計比較證明了 SO 在不同景觀上的勘探開發(fā)平衡和收斂曲線速度的有效性和效率。
2 部分代碼
%___________________________________________________________________%
% ?Snake Optimizer (SO) source codes version 1.0 ? ? ? ? ? ? ? ? ? ?%
? ? ? ? ? ? ? %
% ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %
%___________________________________________________________________%
close all
clear all
clc
SearchAgents=30;
Fun_name='F3'; ?
Max_iterations=100;
[lowerbound,upperbound,dimension,fitness]=fun_info(Fun_name);
[Best_score,Best_pos,TSA_curve]=SO(SearchAgents,Max_iterations,dimension,lowerbound,upperbound,fitness);
figure('Position',[400 400 560 190])
subplot(1,2,1);
func_plot(Fun_name);
title('Objective space')
xlabel('x_1');
ylabel('x_2');
zlabel([Fun_name,'( x_1 , x_2 )'])
subplot(1,2,2);
plot(TSA_curve,'Color','g','linewidth',2);
hold on
title('Objective space')
xlabel('Iterations');
ylabel('Best score');
axis tight
grid on
box on
legend('SO')
3 仿真結果

4 參考文獻
[1] Mller B ,? Misiak D . SnakeOptimizer - Object Segmentation with Parametric Active Contours in ImageJ[C]// ImageJ User & Developer Conference 2012. 2012.
博主簡介:擅長智能優(yōu)化算法、神經網絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。
部分理論引用網絡文獻,若有侵權聯(lián)系博主刪除。
