智能優(yōu)化方法作業(yè)——PSO算法_第1頁(yè)
智能優(yōu)化方法作業(yè)——PSO算法_第2頁(yè)
智能優(yōu)化方法作業(yè)——PSO算法_第3頁(yè)
智能優(yōu)化方法作業(yè)——PSO算法_第4頁(yè)
智能優(yōu)化方法作業(yè)——PSO算法_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、智能優(yōu)化方法作業(yè)PSO算法實(shí)驗(yàn)報(bào)告課程名稱: 智能優(yōu)化方法 作者姓名: 專 業(yè): 控制工程 目錄第一章 問(wèn)題描述1第二章 算法設(shè)計(jì)12.1解及目標(biāo)函數(shù)的表達(dá)12.1.1種群的編碼12.1.2初始種群的產(chǎn)生12.1.3評(píng)價(jià)函數(shù)的構(gòu)造12.2 POS速度迭代公式22.3粒子的更新22.4慣性權(quán)重的調(diào)整32.5停止準(zhǔn)則3第三章 算法實(shí)現(xiàn)及分析33.1編譯環(huán)境及界面介紹33.2 matlab中GUI界面打開(kāi)的3種方式4第四章 算法分析54.1 默認(rèn)參數(shù)下的運(yùn)行結(jié)果54.2種群大小對(duì)算法的影響64.3 最大迭代次數(shù)對(duì)算法的影響84.4 實(shí)驗(yàn)得出的“最優(yōu)”參數(shù)9第一章 問(wèn)題描述無(wú)約束5維的Rosenbro

2、ck函數(shù)可以描述如下:(1)其中,。要求按PSO算法思想設(shè)計(jì)一個(gè)該問(wèn)題的求解算法,并利用計(jì)算機(jī)語(yǔ)言實(shí)現(xiàn)設(shè)計(jì)的算法。將實(shí)驗(yàn)報(bào)告和程序代碼(帶有詳細(xì)注釋)。第二章 算法設(shè)計(jì)2.1解及目標(biāo)函數(shù)的表達(dá)2.1.1種群的編碼顯然對(duì)于一個(gè)粒子個(gè)體可以用一個(gè)含有5個(gè)元素的一維數(shù)組進(jìn)行表示。對(duì)于一個(gè)種群這里使用pop_size×5的二維數(shù)組進(jìn)行表示。其中pop_size為種群大小。2.1.2初始種群的產(chǎn)生初始種群的各個(gè)粒子均采用均勻隨機(jī)產(chǎn)生的方式,即粒子每一位都是-30到30上的隨機(jī)數(shù)。同樣粒子的速度也是-40到40上的隨機(jī)數(shù)。這里設(shè)置速度在-40到40內(nèi)是因?yàn)橄薅ㄋ俣鹊淖畲笾禐?0。2.1.3評(píng)價(jià)函

3、數(shù)的構(gòu)造這里直接采用解的函數(shù)值作為評(píng)價(jià)函數(shù),評(píng)價(jià)函數(shù)值越小認(rèn)為該解越好。評(píng)價(jià)函數(shù)如下:(2)其中,。2.2 POS速度迭代公式為了改善算法的收斂性,這里采樣帶慣性權(quán)重的迭代公式,速度迭代公式如下:(3)其中:粒子的速度。w:粒子的權(quán)重,為0到1的數(shù)值。表示對(duì)之前速度的一個(gè)慣性。值越小,前一時(shí)刻的速度對(duì)當(dāng)前時(shí)刻速度的影響也越小。:對(duì)個(gè)體所搜索過(guò)的最優(yōu)值的學(xué)習(xí)因子。值越大,向個(gè)體最優(yōu)值的移動(dòng)速度也越大。:對(duì)全局搜索過(guò)的最優(yōu)值的學(xué)習(xí)因子。值越大,向全局最優(yōu)值移動(dòng)的速度也越大。:0到1的隨機(jī)數(shù)。表示粒子學(xué)習(xí)狀態(tài)的隨機(jī),有可能向全局最優(yōu)值學(xué)習(xí),有可能向個(gè)體最優(yōu)值學(xué)習(xí)。也有可能幾乎不學(xué)習(xí)。:粒子搜索過(guò)的個(gè)

4、體最優(yōu)解。:種群搜索過(guò)的全局最優(yōu)解。可以看出,這里將整個(gè)種群視為“連通的”。即整個(gè)種群共用一個(gè)全局最優(yōu)值。另外,為了保證算法的收斂性,這里對(duì)速度的最大值進(jìn)行了限定。這里設(shè)定的速度最大值的絕對(duì)值為40,即粒子的每一個(gè)分量在一次迭代過(guò)程中最多跨越搜索長(zhǎng)度的2/3。2.3粒子的更新粒子的更新采用如下公式:(4)其中:粒子的位置。這里同樣對(duì)粒子的位置進(jìn)行限定,即讓粒子的每一個(gè)分量均在-30到30之間。2.4慣性權(quán)重的調(diào)整慣性權(quán)重帶代表著對(duì)之前速度繼承情況。一般來(lái)說(shuō),慣性權(quán)重越大全局的探索能力越強(qiáng),慣性權(quán)重越小局部的開(kāi)發(fā)能力越強(qiáng)。根據(jù)這個(gè)規(guī)律,這里采樣變慣性權(quán)重的搜索方式。在搜索的開(kāi)始階段,使用較大的慣

5、性權(quán)重,隨著迭代次數(shù)的進(jìn)行,逐漸減少慣性權(quán)重。使其進(jìn)行更多的局部開(kāi)發(fā),尋找最優(yōu)解。慣性權(quán)重調(diào)整公式如下:(5)其中:第i次迭代的慣性權(quán)重。:最大慣性權(quán)重。:最小慣性權(quán)重。iter_max:最大迭代次數(shù)。i:當(dāng)前迭代次數(shù)。2.5停止準(zhǔn)則停止準(zhǔn)則采樣固定的迭代次數(shù)。第三章 算法實(shí)現(xiàn)及分析3.1編譯環(huán)境及界面介紹本次試驗(yàn)算法采用matlab進(jìn)行實(shí)現(xiàn)。matlab版本為R2013b.首先我們編寫(xiě)了一個(gè)m腳本文件進(jìn)行調(diào)試(pso_pro.m).在程序調(diào)試成功以后,為了方便討論各個(gè)參數(shù)對(duì)算法的影響及對(duì)算法進(jìn)行分析。我們又編寫(xiě)了一個(gè)GUI界面(PSO_pro.fig或PSO_pro.m)。界面如下:圖3.1

6、 PSO算法GUI界面3.2 matlab中GUI界面打開(kāi)的3種方式方法一:將文件放到matlab當(dāng)前工作目錄或者添加文件目錄到matlab搜索目錄中。然后在命令空間輸入PSO_pro.方法二:打開(kāi)PSO_pro.m文件,然后點(diǎn)擊上方run字樣的綠色箭頭。方法三:在命令空間輸入guide,選擇open existing GUI->browse->PSO_pro.fig.然后點(diǎn)擊上方的run字樣的綠色箭頭。以上方法均可以打開(kāi)GUI界面,但是不能直接點(diǎn)擊PSO_pro.fig文件進(jìn)行打開(kāi)。這是因?yàn)檫@樣打開(kāi)GUI文件時(shí),不會(huì)調(diào)用opening函數(shù)。即不會(huì)初始化及更新結(jié)構(gòu)體。運(yùn)行文件會(huì)導(dǎo)致

7、錯(cuò)誤。第四章 算法分析4.1 默認(rèn)參數(shù)下的運(yùn)行結(jié)果下面是默認(rèn)參數(shù)下的一種運(yùn)行結(jié)果圖4.1 默認(rèn)參數(shù)下的運(yùn)行情況可以看出在這些參數(shù)下,算法的收斂速度非常不錯(cuò),在迭代到150次左右次之后,結(jié)果幾乎不變了。最優(yōu)值1.2398距離理論最優(yōu)值0也是比較接近??傮w來(lái)說(shuō)算法表現(xiàn)較為良好。然后我們多運(yùn)行了幾次,發(fā)現(xiàn)并不是每一次算法都會(huì)收斂到最優(yōu)值附近。如下圖所示:圖4.2 默認(rèn)參數(shù)下收斂效果不好的情況這是因?yàn)椋@里種群的大小為20,比較少。粒子群算法作為一種隨機(jī)優(yōu)化方法。在初始粒子分布較近,且他們的函數(shù)值離最優(yōu)值較遠(yuǎn)時(shí)。他們通過(guò)互相學(xué)習(xí),很快的就會(huì)“聚攏”。但是因?yàn)樗麄兒瘮?shù)值較差,所以會(huì)出現(xiàn)求解失敗的情況。這

8、里由迭代曲線可以看出,在不到40代的時(shí)候,粒子幾乎已經(jīng)收攏了,不會(huì)出現(xiàn)更新到更好解的情況了。下面分別討論一些參數(shù)對(duì)算法的影響。4.2種群大小對(duì)算法的影響下面是將種群大小改為30后,其中的一次較好的迭代結(jié)果:圖4.3 種群大小=30較好的一次結(jié)果可以看出,當(dāng)把種群大小改為30后,算法的收斂速度更快了(坐標(biāo)軸從1010到10-30變化)。同時(shí)求解的效果也非常的好。另外,由迭代曲線可以看出,粒子并沒(méi)有完全“聚攏”,最優(yōu)值還可以繼續(xù)下降。這里1.0000是顯示精度不足,并不是代表1.同樣多運(yùn)行幾遍程序,發(fā)現(xiàn)很少出現(xiàn)求解失敗的情況,即使求解失敗,其最優(yōu)值和之前求解失敗的情況相比,也有明顯的下降。如下圖所

9、示:圖4.4 種群大小=30求解失敗的情況另外,我們又將種群大小改為40,50,60.發(fā)現(xiàn)當(dāng)種群大小超過(guò)40后,求解精度幾乎為10(-5)以上.同時(shí)幾乎不存在求解失敗的情況??偨Y(jié):隨著種群的增加,系統(tǒng)求解到最優(yōu)值的精度越來(lái)越高。同時(shí)系統(tǒng)求解成功的概率也越來(lái)越高。系統(tǒng)求解成功的概率和種群的大小密切相關(guān)。4.3 最大迭代次數(shù)對(duì)算法的影響下面是將最大迭代次數(shù)改為300后的一次運(yùn)行結(jié)果:圖4.5 迭代次數(shù)=300的運(yùn)行結(jié)果可以看出,當(dāng)增加迭代次數(shù)時(shí),求解的結(jié)果也會(huì)越來(lái)越好。但是通過(guò)多次運(yùn)行發(fā)現(xiàn),算法求解失敗的概率幾乎沒(méi)有改變。這是因?yàn)樗惴ǖ那蠼馐欠癯晒头N群的大小、他們的初始位置有關(guān)以及速度慣性權(quán)重有關(guān)。而和迭代次數(shù)關(guān)系不大,由上圖可以發(fā)現(xiàn)在230次的時(shí)候,粒子幾乎已經(jīng)“聚攏”了。這時(shí)即使增加迭代次數(shù),粒子也不會(huì)再進(jìn)行廣域的探索了。結(jié)論:迭代次數(shù)越多,求解的精度越高。但求解的成功概率幾乎不變。4.4 實(shí)驗(yàn)得出的“最優(yōu)”參數(shù)通過(guò)一系列的測(cè)試,我們發(fā)現(xiàn)在以下這組參數(shù)下,算法用時(shí)最少,同時(shí)比較容

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論