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

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

【樽海鞘算法】基于多子群的共生非均勻高斯變異樽海鞘群算法求解單目標(biāo)優(yōu)化問(wèn)題

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

1 簡(jiǎn)介

針對(duì)樽海鞘群算法求解精度不高和收斂速度慢等缺點(diǎn), 提出一種多子群的共生非均勻高斯變異樽海鞘群算法(Multi-subpopulation based symbiosis and non-uniform Gaussian mutation salp swarm algorithm, MSNSSA). 根據(jù)不同適應(yīng)度值將樽海鞘鏈群分為三個(gè)子種群, 各個(gè)子種群分別進(jìn)行領(lǐng)導(dǎo)者位置更新,追隨者共生策略和鏈尾者非均勻高斯變異等操作. 使用統(tǒng)計(jì)分析,收斂速度分析,Wilcoxon檢驗(yàn),經(jīng)典基準(zhǔn)函數(shù)和CEC 2014函數(shù)的標(biāo)準(zhǔn)差來(lái)評(píng)估改進(jìn)樽海鞘群算法的效率. 結(jié)果表明, 改進(jìn)算法具有更好的尋優(yōu)精度和收斂速度. 尤其在求解高維和多峰測(cè)試函數(shù)上, 改進(jìn)算法擁有更好性能.

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 參考文獻(xiàn)

[1]陳忠云, 張達(dá)敏, 辛梓蕓. 多子群的共生非均勻高斯變異樽海鞘群算法[J]. 自動(dòng)化學(xué)報(bào), 2022, 48(5):1307-1317.

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

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



【樽海鞘算法】基于多子群的共生非均勻高斯變異樽海鞘群算法求解單目標(biāo)優(yōu)化問(wèn)題的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
河东区| 惠东县| 涡阳县| 信宜市| 宁德市| 亚东县| 德庆县| 修文县| 繁昌县| 尚志市| 霍州市| 雅安市| 新余市| 商河县| 高阳县| 汶川县| 九龙县| 山阴县| 鲜城| 江孜县| 嵊州市| 嘉兴市| 绍兴市| 涟水县| 东阳市| 吉木乃县| 元江| 隆尧县| 弋阳县| 镇安县| 融水| 麻栗坡县| 濮阳县| 宝鸡市| 崇礼县| 兖州市| 洪雅县| 碌曲县| 旬阳县| 聊城市| 博兴县|