資源描述:
《基于動態(tài)粒子群算法的動態(tài)環(huán)境尋優(yōu)算》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、基于動態(tài)粒子群算法的動態(tài)環(huán)境尋優(yōu)算1、案例背景為了跟蹤動態(tài)極值,需要對基本的PSO算法進(jìn)行兩方面改進(jìn),第一是引入探測機(jī)制,使種群或粒子獲得感知外部環(huán)境變化的能力;第二是引入響應(yīng)機(jī)制,在探測到環(huán)境的變化后,采取某種響應(yīng)方式對種群進(jìn)行更新,以適應(yīng)動態(tài)環(huán)境?;诿舾辛W拥膭討B(tài)粒子群算法是一種典型的動態(tài)粒子群算法,它在算法初始化時隨機(jī)選擇一個或多個位置,稱為敏感粒子,每次迭代中計算敏感粒子適應(yīng)度值,當(dāng)發(fā)現(xiàn)適應(yīng)度值變化時,認(rèn)為環(huán)境已發(fā)生變化。響應(yīng)的方式是按照一定比例重新初始化粒子位置和粒子速度。2、案例目錄第十六章
2、??基于動態(tài)粒子群算法的動態(tài)環(huán)境尋優(yōu)算法...16.1理論基礎(chǔ)...16.1.1?動態(tài)粒子群算法...16.1.2?動態(tài)環(huán)境...16.2?案例背景...16.3MATLAB程序?qū)崿F(xiàn)...16.3.1?動態(tài)環(huán)境函數(shù)...16.3.2?種群初始化...16.3.3?循環(huán)動態(tài)尋找...16.3.4?仿真結(jié)果...16.4延伸閱讀...16.4.1.APSO..16.4.2.EPSO..16.4.3TDPSO..16.5?參考文獻(xiàn)...?103、主程序%%循環(huán)尋找最優(yōu)點fork=1:1200k%新數(shù)字地圖h=D
3、F1function(X1,Y1,H1,X2(k),Y2(k),H2(k));%敏感粒子變化fori=1:5*nfitnessTest(i)=h(popTest(i,1),popTest(i,2));endoFitness=sum(fitnessTest);%變化超過一定范圍,重新初始化ifabs(oFitness-nFitness)>1index=randperm(20);pop(index(1:10),:)=unidrnd(501,[10,2]);V(index(1:10),:)=unidrnd(10
4、0,[10,2])-50;end%粒子搜索fori=1:Tmaxforj=1:n%速度更新V(j,:)=V(j,:)+floor(rand*(popgbest(j,:)-pop(j,:)))+floor(rand*(popzbest-pop(j,:)));index1=find(V(j,:)>Vmax);V(j,index1)=Vmax;index2=find(V(j,:)5、op(j,:)>popMax);pop(j,index1)=popMax;index2=find(pop(j,:)fitnessgbest(j)popgbest(j,:)=pop(j,:);fitnessgbest(j)=fitness(j);end%群體極值更新iffitness(j)>fitnesszbestpopzbest=p
6、op(j,:);fitnesszbest=fitness(j);endendendfitnessRecord(k)=fitnesszbest;fitnesszbest=0;fitnessgbest=zeros(1,20);end4、運行結(jié)果