国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【樽海鞘算法】基于集成隨機慣性權(quán)重和差分變異操作的樽海鞘群算法(ISSA)求解單目標(biāo)

2022-05-08 10:04 作者:Matlab工程師  | 我要投稿

1 簡介

為了提高樽海鞘群算法(Salp Swarm Algorithm,SSA)的收斂速度,計算精度和全局優(yōu)化能力,在分析總結(jié)粒子群優(yōu)化(Particle Swarm Optimization,PSO)和差分進化(Differential Evolution,DE)算法相關(guān)研究成果后,提出了一種集成PSO算法隨機慣性權(quán)重和DE算法差分變異操作的改進SSA算法——iSSA.首先,將PSO算法的隨機慣性權(quán)重引入SSA算法的追隨者位置更新公式中,用于增強和平衡SSA算法的勘探與開發(fā)能力;其次,用DE算法的變異操作替代SSA算法的領(lǐng)導(dǎo)者位置更新操作,以提高SSA算法的收斂速度和計算精度.為了檢驗隨機慣性權(quán)重和差分變異操作對SSA算法的改進效果,在多個高維基準(zhǔn)函數(shù)上進行了仿真實驗,并與其他改進SSA算法進行了比較.實驗結(jié)果及分析表明,與SSA算法和兩個典型的改進SSA算法(ESSA和CASSA)相比,集成隨機慣性權(quán)重和差分變異操作的iSSA算法,在沒有增加算法時間復(fù)雜度的情況下,顯著地提高了SSA算法的收斂速度,計算精度和全局優(yōu)化能力,并且優(yōu)于ESSA算法和CASSA算法.

2 部分代碼

%% 樽海鞘算法function [FoodFitness,FoodPosition,Convergence_curve]=SSA(N,Max_iter,lb,ub,dim,fobj)if size(ub,1)==1 ? ?ub=ones(dim,1)*ub; ? ?lb=ones(dim,1)*lb;endConvergence_curve = zeros(1,Max_iter);%Initialize the positions of salpsSalpPositions=initialization(N,dim,ub,lb);FoodPosition=zeros(1,dim);FoodFitness=inf;%calculate the fitness of initial salpsfor i=1:size(SalpPositions,1) ? ?SalpFitness(1,i)=fobj(SalpPositions(i,:));end[sorted_salps_fitness,sorted_indexes]=sort(SalpFitness);for newindex=1:N ? ?Sorted_salps(newindex,:)=SalpPositions(sorted_indexes(newindex),:);endFoodPosition=Sorted_salps(1,:);FoodFitness=sorted_salps_fitness(1);Convergence_curve(1) = inf;%Main loopl=2; % start from the second iteration since the first iteration was dedicated to calculating the fitness of salpswhile l<Max_iter+1 ? ?c1 = 2*exp(-(4*l/Max_iter)^2); % Eq. (3.2) in the paper ? ?for i=1:size(SalpPositions,1) ? ? ? ?SalpPositions= SalpPositions'; ? ? ? ?if i<=N/2 ? ? ? ? ? ?for j=1:1:dim ? ? ? ? ? ? ? ?c2=rand(); ? ? ? ? ? ? ? ?c3=rand(); ? ? ? ? ? ? ? ?%%%%%%%%%%%%% % Eq. (3.1) in the paper %%%%%%%%%%%%%% ? ? ? ? ? ? ? ?if c3<0.5 ? ? ? ? ? ? ? ? ? ?SalpPositions(j,i)=FoodPosition(j)+c1*((ub(j)-lb(j))*c2+lb(j)); ? ? ? ? ? ? ? ?else ? ? ? ? ? ? ? ? ? ?SalpPositions(j,i)=FoodPosition(j)-c1*((ub(j)-lb(j))*c2+lb(j)); ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ? ? ? ? ? ?end ? ? ? ?elseif i>N/2 && i<N+1 ? ? ? ? ? ?point1=SalpPositions(:,i-1); ? ? ? ? ? ?point2=SalpPositions(:,i); ? ? ? ? ? ?SalpPositions(:,i)=(point2+point1)/2; % % Eq. (3.4) in the paper ? ? ? ?end ? ? ? ?SalpPositions= SalpPositions'; ? ?end ? ?for i=1:size(SalpPositions,1) ? ? ? ?Tp=SalpPositions(i,:)>ub';Tm=SalpPositions(i,:)<lb';SalpPositions(i,:)=(SalpPositions(i,:).*(~(Tp+Tm)))+ub'.*Tp+lb'.*Tm; ? ? ? ?SalpFitness(1,i)=fobj(SalpPositions(i,:)); ? ? ? ?if SalpFitness(1,i)<FoodFitness ? ? ? ? ? ?FoodPosition=SalpPositions(i,:); ? ? ? ? ? ?FoodFitness=SalpFitness(1,i); ? ? ? ?end ? ?end ? ?Convergence_curve(l)=FoodFitness; ? ?l = l + 1;end

3 仿真結(jié)果

4 參考文獻

[1]張志強, 魯曉鋒, 隋連升,等. 集成隨機慣性權(quán)重和差分變異操作的樽海鞘群算法[J]. 計算機科學(xué), 2020, 47(8):5.

博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。

部分理論引用網(wǎng)絡(luò)文獻,若有侵權(quán)聯(lián)系博主刪除。





【樽海鞘算法】基于集成隨機慣性權(quán)重和差分變異操作的樽海鞘群算法(ISSA)求解單目標(biāo)的評論 (共 條)

分享到微博請遵守國家法律
年辖:市辖区| 临武县| 青河县| 汪清县| 邳州市| 肥乡县| 台中市| 桂阳县| 宁海县| 临洮县| 枣阳市| 神池县| 昌都县| 沐川县| 越西县| 乐业县| 施甸县| 灌南县| 景德镇市| 加查县| 婺源县| 丰原市| 五华县| 连平县| 修水县| 宾阳县| 宣汉县| 岳阳县| 白山市| 札达县| 横峰县| 信宜市| 柞水县| 康平县| 义马市| 云南省| 宜兰市| 遵义县| 周口市| 绥江县| 香河县|