版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、粒子群算法及其MATLAB實現(xiàn)60組 張曉寒 楊凌霄 唐鵬程PSOPSO算法的根本實際算法的根本實際PSOPSO算法概述算法概述PSOPSO算法源程序案例算法源程序案例PSOPSO算法運用案例算法運用案例粒子群算法粒子群算法粒子群算法particle swarm optimization,簡稱PSO是依托群鳥尋食模型Boid尋覓最優(yōu)值。鳥尋食模型需求對鳥的位置和飛翔速度賦予初值,采用對稱隨機初始化戰(zhàn)略,使其在尋優(yōu)空間范圍內(nèi)隨機初始化分布,然后鳥根據(jù)本人尋覓食物的閱歷以及鳥群信息共享,不斷向目的接近,經(jīng)過有限次位移,絕大部分鳥聚集在一同并且找到了食物或離食物非常近。PSO算法的根本實際PSO算法
2、最早是由美國電氣工程師Eberhart和社會心思學家Kennedy在1995年基于群鳥尋食提出來的。群鳥尋食過程中,每只鳥的初始形狀和飛行方向是隨機的,每只鳥都不知道食物在哪里,隨著時間推移,處于隨機形狀的鳥會經(jīng)過相互學習和本身閱歷,自行組織成一個群落,向著食物目的前進。 每只鳥可以經(jīng)過本身閱歷和外界信息估計當前所處位置對于能找到食物有多大價值,即順應(yīng)值。順應(yīng)值函數(shù):基于某種規(guī)范對個體進展評價的函數(shù)每只鳥可以記住本人所找到的最好位置,即部分最優(yōu)pbest;每只鳥還可以記住一切個體能找到的一切最好位置,即全局最優(yōu)(gbest)。整個鳥群的尋食中心將向全局最優(yōu)挪動,經(jīng)過鳥群位置的挪動,即迭代過程,
3、可以使鳥群向目的食物逼近。第i個粒子在D維搜索空間的位置為 粒子的位置可以作為潛在解,將 帶入目的函數(shù)可以計算出其順應(yīng)值,根據(jù)順應(yīng)值的大小衡量優(yōu)劣。 粒子個體經(jīng)過的最好位置記為 =( , ) 整個群體的一切粒子經(jīng)過的最好位置記為 () 粒子i的速度記為);為【0,1】之間的隨機數(shù),這兩個參數(shù)是用來堅持群體的多樣性。在每次迭代中,粒子根據(jù)以下公式更新速度和位置:+(;約束因子:控制速度的權(quán)重PSO算法的參數(shù)選取1.1.粒子數(shù)粒子數(shù) 粒子數(shù)普通取值為粒子數(shù)普通取值為20402040,特殊的難題需求,特殊的難題需求100200100200個粒子。個粒子。 粒子數(shù)越多,搜索范圍越大,粒子數(shù)越多,搜索范
4、圍越大,越容易找到全局最優(yōu)解,算法運轉(zhuǎn)時間也越長。越容易找到全局最優(yōu)解,算法運轉(zhuǎn)時間也越長。2.2.慣性因子慣性因子 慣性因子慣性因子w w對于粒子群算法的收斂性起到很對于粒子群算法的收斂性起到很大作用。大作用。w w值越大,粒子飛翔幅度越大,容易錯失部分值越大,粒子飛翔幅度越大,容易錯失部分尋優(yōu)才干,而全局搜索才干較強尋優(yōu)才干,而全局搜索才干較強;w;w值越小,那么部分值越小,那么部分尋優(yōu)才干加強,全局尋優(yōu)才干減弱。尋優(yōu)才干加強,全局尋優(yōu)才干減弱。經(jīng)過調(diào)整w的大小來控制歷史的速度對當前速度的影響程度,使其成為兼顧全局搜索和部分搜索的一個折中。慣性因子w的大小決議了對粒子當前速度承繼的多少。假
5、設(shè)慣性因子w是變量,通常在迭代開場時將慣性因子w設(shè)置的較大,然后在迭代過程中逐漸減小。這樣可以使粒子群在開場優(yōu)化時搜索到較大的解空間,得到適宜的粒子,然后在后期逐漸收縮到較好的區(qū)域進展更精細的搜索,以加快收斂速度和目的精度。3.3.加速常數(shù)加速常數(shù) 對于簡單的常規(guī)問題,普通情況下去對于簡單的常規(guī)問題,普通情況下去2.02.0。 加速常數(shù)調(diào)整本身閱歷和社會閱歷在其運動中加速常數(shù)調(diào)整本身閱歷和社會閱歷在其運動中所起作用的權(quán)重。假設(shè)那么粒子沒有本身閱歷,只需社會所起作用的權(quán)重。假設(shè)那么粒子沒有本身閱歷,只需社會閱歷,它的收斂速度能夠較快,容易墮入部分最優(yōu)點;假閱歷,它的收斂速度能夠較快,容易墮入部分
6、最優(yōu)點;假設(shè),那么粒子群沒有共享信息,只需本身閱歷,得到最優(yōu)設(shè),那么粒子群沒有共享信息,只需本身閱歷,得到最優(yōu)解的幾率非常小。假設(shè)粒子將在沒有任何閱歷和信息的情解的幾率非常小。假設(shè)粒子將在沒有任何閱歷和信息的情況下盲目地搜索到有限區(qū)域,很難找到最優(yōu)解。況下盲目地搜索到有限區(qū)域,很難找到最優(yōu)解。4.4.最大飛翔速度最大飛翔速度 為使粒子有效地進展搜索,需求運用參數(shù)對為使粒子有效地進展搜索,需求運用參數(shù)對粒子運動速度進展限制。參數(shù)有利于防止搜索范圍毫粒子運動速度進展限制。參數(shù)有利于防止搜索范圍毫無意義的發(fā)散,防止粒子群由于飛翔速度過大錯過最無意義的發(fā)散,防止粒子群由于飛翔速度過大錯過最優(yōu)目的值。優(yōu)
7、目的值。 為了跳出部分最優(yōu),需求較大的尋優(yōu)步長,為了跳出部分最優(yōu),需求較大的尋優(yōu)步長,而在接近最優(yōu)值時,采用更小的步長會更好。假設(shè)的而在接近最優(yōu)值時,采用更小的步長會更好。假設(shè)的選擇是固定不變的,通常設(shè)定為每維變化范圍的選擇是固定不變的,通常設(shè)定為每維變化范圍的10%20%10%20%。PSO算法程序設(shè)計PSOPSO算法實現(xiàn)的步驟:算法實現(xiàn)的步驟:1.1.初始化粒子群速度和位置、慣性因子、初始化粒子群速度和位置、慣性因子、加速常數(shù)、最大迭代次數(shù)和算法終止的最小允加速常數(shù)、最大迭代次數(shù)和算法終止的最小允許誤差。許誤差。2.2.評價每個粒子的初始順應(yīng)值。評價每個粒子的初始順應(yīng)值。3.3.將初始順應(yīng)
8、值作為當前全局最優(yōu)值,將最正將初始順應(yīng)值作為當前全局最優(yōu)值,將最正確順應(yīng)值對應(yīng)的位置作為全局最優(yōu)值的位置。確順應(yīng)值對應(yīng)的位置作為全局最優(yōu)值的位置。4.4.將最正確初始順應(yīng)值作為當前全局最優(yōu)值,將最正確初始順應(yīng)值作為當前全局最優(yōu)值,將最正確順應(yīng)值的位置作為全局最優(yōu)值的位置。將最正確順應(yīng)值的位置作為全局最優(yōu)值的位置。5.5.根據(jù)更新公式更新每個粒子當前的飛行速度。根據(jù)更新公式更新每個粒子當前的飛行速度。6.對每個粒子的飛翔速度進展限幅處置,使其不超越設(shè)定的最大飛翔速度。7.根據(jù)更新公式更新每個粒子當前所在位置。8.比較當前粒子的順應(yīng)值能否比歷史部分最優(yōu)好,假設(shè)好,那么當前粒子順應(yīng)值作為粒子部分最優(yōu)
9、值,其對應(yīng)的位置作為部分最優(yōu)值的位置。9.找出全局最優(yōu)值,將當前全局最優(yōu)值的位置作為粒子群的全局最優(yōu)值所在位置。10.反復步驟59,直到滿足設(shè)定的最小誤差或到達最大迭代次數(shù)。11.輸出粒子群全局最優(yōu)值和其對應(yīng)的位置以及每個粒子的部分最優(yōu)值和其對應(yīng)的位置。程序設(shè)計流程圖程序設(shè)計流程圖 否 是開場初始化各參數(shù)計算各粒子順應(yīng)值找出個體和群體最優(yōu)值更新各個粒子的速度和位置終止條件?終了PSOPSO算法源程序范例算法源程序范例function main()clc;clear all; close all;tic; %程序運轉(zhuǎn)計時E0=0.001; %允許誤差MaxNum=100; %粒子最大迭代次數(shù)na
10、rvs=1; %目的函數(shù)的自變量個數(shù)particlesize=30; %粒子群規(guī)模c1=2; %每個粒子的個體學習因子,也稱為加速常數(shù)c2=2; %每個粒子的社會學習因子,也成為加速常數(shù)w=0.6; %慣性因子求解maxf(x)=2.1vmax=0.8; %粒子的最大飛翔速度x=-5+10*rand(particlesize,narvs); %粒子所在的位置v=2*rand(particlesize,narvs); %粒子的飛翔速度%用inline定義順應(yīng)度函數(shù)以便將子函數(shù)文件與主程序文件放在一同%目的函數(shù)是:y=1+(2.1*(1-x+2*x.2).*exp(-x.2/2)%inline命令
11、定義順應(yīng)度函數(shù)如下fitness=inline(1/(1+(2.1*(1-x+2*x.2).*exp(-x.2/2),x); %inline定義的順應(yīng)度函數(shù)會使程序運轉(zhuǎn)速度大大降低for i=1:particlesize for j=1:narvs f(i)=fitness(x(i,j); %fitness順應(yīng)度函數(shù)用于評價每個粒子的初始順應(yīng)值 endendpersonalbest_x=x; %將初始順應(yīng)值作為當前全局最優(yōu)值 personalbest_faval=f; %將各順應(yīng)值對應(yīng)的位置作為每個粒子的部分最優(yōu)值所在的位置globalbest_faval i=min(personalbest
12、_faval); %將最正確初始順應(yīng)值對應(yīng)的位置作為全局最優(yōu)值所在的位置globalbest_x=personalbest_x(i,:); %將最正確初始順應(yīng)值作為當前全局最優(yōu)值k=1;while k = MaxNum for i=1:particlesize for j=1:narvs f(i)=fitness(x(i,j) end if f(i)vmax; v(i,j)=vmax;elseif v(i,j)-vmax; v(i,j)=-vmax; %對每一個粒子的飛翔速度進展限幅處置 end end x(i,:)=x(i,:)+v(i,:); %更新粒子當前所在的位置 end if abs
13、(globalbest_faval)Vmax endV1(i,j,num)=Vmax; elseif endV1(i,j,num)Vmax endV2(s2,num)=Vmax; elseif endV2(s2,num)Xmax endP1(i,j,num)=Xmax; elseif endP1(i,j,num)Xmax endP2(s2,num)=Xmax; elseif endP2(s2,num)Xmin endP2(s2,num)=Xmin; end end W1=endP1(1:HiddenUnitNum,1:R,num); W2=endP1(1:HiddenUnitNum,R+1:R
14、+S2,num); B1=endP1(1:HiddenUnitNum,R+S2+1,num); B2=endP2(1:S2,num); for q=1:SamNum TempOut=logsig(W1*SamIn(:,q)+B1); NetworkOut(1,q)=W2*TempOut+B2; end E=NetworkOut-SamOut; SSE=sumsqr(E) %便于在命令窗口察看網(wǎng)絡(luò)誤差的變化情況 endE(1,num)=sumsqr(E)/(SamNum*S2); if endE(1,num)=Maxgeneration) Done=1; end if PgvalueE0 Don
15、e=1; end startP1=endP1; startP2=endP2; startV1=endV1; startV2=endV2; startE=endE; generation=generation+1;endW1=Pg1(1:HiddenUnitNum,1:R);W2=Pg1(1:HiddenUnitNum,R+1:R+S2);B1=Pg1(1:HiddenUnitNum,R+S2+1);B2=Pg2(:,1);NewW1=W1;NewW2=W2;NewB1=B1;NewB2=B2;PSO-BP神經(jīng)網(wǎng)絡(luò)訓練及測試情況神經(jīng)網(wǎng)絡(luò)訓練及測試情況由圖可以看出網(wǎng)絡(luò)擬合效果比較好,網(wǎng)絡(luò)訓練和網(wǎng)絡(luò)推理才干良好。終了終了謝謝大家謝謝大家問題提問問題提問1.粒子群算優(yōu)缺陷: 優(yōu)點:參數(shù)少,原理簡單,容易實現(xiàn); 可以同時利用個人部分信息和群體全局信息進展 搜索; 容易越過部分最優(yōu)進展全局最優(yōu)搜索 缺陷:PSO部分搜索才干較差,探求精度 不高; 算法不能保證一定能找到全局最優(yōu) 2.參數(shù)選取的根本原那么: 慣性因子w可取0,1區(qū)間的隨機數(shù),當w為定值時,普通取0.60.75區(qū)間的合理值。加速常數(shù)c1、c2普通都取2.0,最大飛翔問題可根據(jù)實踐問題分析。3.與其他算法想比,粒子群算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年馬拉松比賽合作協(xié)議書
- 人教版地理八年級下冊6.4《祖國的首都-北京》聽課評課記錄2
- 【部編版】七年級歷史上冊 《中國早期人類的代表-北京人》公開課聽課評課記錄
- 豬欄承包協(xié)議書(2篇)
- 生產(chǎn)工人中介合同(2篇)
- 人教版數(shù)學九年級上冊《構(gòu)建知識體系級習題訓練》聽評課記錄1
- 北師大版道德與法治九年級上冊4.1《經(jīng)濟發(fā)展新階段》聽課評課記錄
- 八年級思想讀本《5.1奉法者強則國強》聽課評課記錄
- 五年級上冊數(shù)學聽評課記錄《4.2 認識底和高》(3)-北師大版
- 湘教版數(shù)學八年級上冊2.3《等腰(邊)三角形的判定》聽評課記錄
- 城市隧道工程施工質(zhì)量驗收規(guī)范
- 2025年湖南高速鐵路職業(yè)技術(shù)學院高職單招高職單招英語2016-2024年參考題庫含答案解析
- 五 100以內(nèi)的筆算加、減法2.筆算減法 第1課時 筆算減法課件2024-2025人教版一年級數(shù)學下冊
- 2025江蘇太倉水務(wù)集團招聘18人高頻重點提升(共500題)附帶答案詳解
- 2024-2025學年人教新版高二(上)英語寒假作業(yè)(五)
- 2025年八省聯(lián)考陜西高考生物試卷真題答案詳解(精校打印)
- 2025脫貧攻堅工作計劃
- 借款人解除合同通知書(2024年版)
- 《血小板及其功能》課件
- 江蘇省泰州市靖江市2024屆九年級下學期中考一模數(shù)學試卷(含答案)
- 沐足店長合同范例
評論
0/150
提交評論