【跳蛛優(yōu)化算法】基于跳蛛優(yōu)化算法求解單目標(biāo)優(yōu)化問題附matlab代碼
1 簡介
本文提出了一種新的元啟發(fā)式算法,稱為跳蛛優(yōu)化算法 (JSOA),其靈感來自于 Arachnida Salticidae 的狩獵習(xí)慣。所提出的算法模仿自然界中蜘蛛的行為,并對其狩獵策略進(jìn)行數(shù)學(xué)建模:搜索、迫害和跳躍技能以獲取獵物。這些策略在解決方案搜索空間的開發(fā)和探索之間提供了良好的平衡,并解決了全局優(yōu)化問題。?JSOA 使用來自文獻(xiàn)的 20 個(gè)著名的測試臺數(shù)學(xué)問題進(jìn)行測試。進(jìn)一步的研究包括比例積分微分 (PID) 控制器的調(diào)整、選擇性諧波消除問題以及取自 CEC 2020 的一些現(xiàn)實(shí)世界的單目標(biāo)有界約束數(shù)值優(yōu)化問題。此外,JSOA 的性能已針對幾個(gè)著名的仿生算法取自文獻(xiàn)。統(tǒng)計(jì)結(jié)果表明,所提出的算法優(yōu)于最近的文獻(xiàn)算法,并且能夠解決具有未知搜索空間的具有挑戰(zhàn)性的現(xiàn)實(shí)世界問題










2 部分代碼
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %
%_________________________________________________________________________%
clear
clc
format long
parameters.SearchAgents= 30; ?% Number of jumping Spiders
parameters.Function='F2'; %Function_name
parameters.maxIteration=200; % Maximum numbef of iterations
[parameters.lb,parameters.ub,parameters.dim,parameters.fobj]=FunctionsDetails(parameters.Function);
[vMin,theBestVct,ConvergenceCurve]=JSOA(parameters);
display(['The best solution obtained by JSOA is : ', num2str(theBestVct)]);
display(['The best optimal value found by JSOA is : ', num2str(vMin)]);
% Plotting the convergence curve
figure;
subplot(121)
func_plot(parameters.Function);
title(parameters.Function)
xlabel('x_1');
ylabel('x_2');
zlabel([parameters.Function,'( x_1 , x_2 )'])
subplot(122)
semilogy(ConvergenceCurve,'Color','r')
title('Convergence Curve')
xlabel('Iteration');
ylabel('Fitness: Best score obtained so far');
%*********************************************************************
3 仿真結(jié)果


4 參考文獻(xiàn)
Peraza-Vázquez, Hernán, et al. “A Bio-Inspired Method for Mathematical Optimization Inspired by Arachnida Salticidade.” Mathematics, vol. 10, no. 1, MDPI AG, Dec. 2021, p. 102
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
