最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
米林县| 东海县| 济宁市| 东乡县| 太保市| 察雅县| 阳泉市| 渭源县| 巴林左旗| 襄汾县| 宁强县| 吉安市| 海林市| 洛隆县| 二手房| 景德镇市| 霍林郭勒市| 湖州市| 赤城县| 武乡县| 滨州市| 景德镇市| 连山| 长丰县| 凌云县| 曲周县| 永丰县| 庄浪县| 杂多县| 凤凰县| 巴里| 岑溪市| 柳江县| 油尖旺区| 乌什县| 双牌县| 卫辉市| 江西省| 乳山市| 武胜县| 横山县|