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

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

【智能優(yōu)化算法】基于反向策略麻雀搜索算法求解單目標(biāo)優(yōu)化問(wèn)題附matlab代碼

2022-09-08 14:12 作者:Matlab工程師  | 我要投稿

1 簡(jiǎn)介

2 部分代碼

%_________________________________________________________________________%% 麻雀優(yōu)化算法 ? ? ? ? ? ? %%_________________________________________________________________________%function [Best_pos,Best_score,curve]=SSA(pop,Max_iter,lb,ub,dim,fobj)ST = 0.6;%預(yù)警值PD = 0.7;%發(fā)現(xiàn)者的比列,剩下的是加入者SD = 0.2;%意識(shí)到有危險(xiǎn)麻雀的比重PDNumber = round(pop*PD); %發(fā)現(xiàn)者數(shù)量SDNumber = round(pop*SD);%意識(shí)到有危險(xiǎn)麻雀數(shù)量if(max(size(ub)) == 1) ? ub = ub.*ones(1,dim); ? lb = lb.*ones(1,dim); ?end%種群初始化X0=initialization(pop,dim,ub,lb);X = X0;%計(jì)算初始適應(yīng)度值fitness = zeros(1,pop);for i = 1:pop ? fitness(i) = ?fobj(X(i,:));end [fitness, index]= sort(fitness);%排序BestF = fitness(1);WorstF = fitness(end);GBestF = fitness(1);%全局最優(yōu)適應(yīng)度值for i = 1:pop ? ?X(i,:) = X0(index(i),:);endcurve=zeros(1,Max_iter);GBestX = X(1,:);%全局最優(yōu)位置X_new = X;for i = 1: Max_iter ? ?BestF = fitness(1); ? ?WorstF = fitness(end); ? ?R2 = rand(1); ? for j = 1:PDNumber ? ? ?if(R2<ST) ? ? ? ? ?X_new(j,:) = X(j,:).*exp(-j/(rand(1)*Max_iter)); ? ? ?else ? ? ? ? ?X_new(j,:) = X(j,:) + randn()*ones(1,dim); ? ? ?end ? ? ? end ? for j = PDNumber+1:pop% ? ? ? ?if(j>(pop/2)) ? ? ? ?if(j>(pop - PDNumber)/2 + PDNumber) ? ? ? ? ?X_new(j,:)= randn().*exp((X(end,:) - X(j,:))/j^2); ? ? ? else ? ? ? ? ?%產(chǎn)生-1,1的隨機(jī)數(shù) ? ? ? ? ?A = ones(1,dim); ? ? ? ? ?for a = 1:dim ? ? ? ? ? ?if(rand()>0.5) ? ? ? ? ? ? ? ?A(a) = -1; ? ? ? ? ? ?end ? ? ? ? ?end ? ? ? ? ?AA = A'*inv(A*A'); ? ? ? ? ? ? ?X_new(j,:)= X(1,:) + abs(X(j,:) - X(1,:)).*AA'; ? ? ? end ? end ? Temp = randperm(pop); ? SDchooseIndex = Temp(1:SDNumber); ? for j = 1:SDNumber ? ? ? if(fitness(SDchooseIndex(j))>BestF) ? ? ? ? ? X_new(SDchooseIndex(j),:) = X(1,:) + randn().*abs(X(SDchooseIndex(j),:) - X(1,:)); ? ? ? elseif(fitness(SDchooseIndex(j))== BestF) ? ? ? ? ? K = 2*rand() -1; ? ? ? ? ? X_new(SDchooseIndex(j),:) = X(SDchooseIndex(j),:) + K.*(abs( X(SDchooseIndex(j),:) - X(end,:))./(fitness(SDchooseIndex(j)) - fitness(end) + 10^-8)); ? ? ? end ? end ? %邊界控制 ? for j = 1:pop ? ? ? for a = 1: dim ? ? ? ? ? if(X_new(j,a)>ub(a)) ? ? ? ? ? ? ? X_new(j,a) =ub(a); ? ? ? ? ? end ? ? ? ? ? if(X_new(j,a)<lb(a)) ? ? ? ? ? ? ? X_new(j,a) =lb(a); ? ? ? ? ? end ? ? ? end ? end ? %更新位置 ? for j=1:pop ? ?fitness_new(j) = fobj(X_new(j,:)); ? end ? for j = 1:pop ? ?if(fitness_new(j) < GBestF) ? ? ? GBestF = fitness_new(j); ? ? ? ?GBestX = X_new(j,:); ? ? ?end ? end ? X = X_new; ? fitness = fitness_new; ? ?%排序更新 ? [fitness, index]= sort(fitness);%排序 ? BestF = fitness(1); ? WorstF = fitness(end); ? for j = 1:pop ? ? ?X(j,:) = X(index(j),:); ? end ? curve(i) = GBestF;endBest_pos =GBestX;Best_score = curve(end);end

3 仿真結(jié)果

4 參考文獻(xiàn)


博主簡(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)系博主刪除。



【智能優(yōu)化算法】基于反向策略麻雀搜索算法求解單目標(biāo)優(yōu)化問(wèn)題附matlab代碼的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
九台市| 若尔盖县| 武强县| 新干县| 苍南县| 沭阳县| 玉环县| 康平县| 霸州市| 嘉义县| 华亭县| 北碚区| 嵊州市| 新营市| 都匀市| 涪陵区| 本溪市| 嵩明县| 五莲县| 大渡口区| 资兴市| 芮城县| 南城县| 扎兰屯市| 沈丘县| 泗水县| 栾川县| 新营市| 武平县| 佛坪县| 确山县| 老河口市| 西和县| 三门县| 钟山县| 土默特左旗| 梁平县| 绵阳市| 泰安市| 烟台市| 朝阳区|