版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、差分進(jìn)化算法 - 入門基本差分進(jìn)化算法1 基本差分進(jìn)化算法的基本思想DE 算法是一種基于實(shí)數(shù)編碼的用于優(yōu)化函數(shù)最小值的進(jìn)化算法, 是在求解 有關(guān)切比雪夫多項(xiàng)式的問題時(shí)提出來的,是基于群體差異的進(jìn)化計(jì)算方法。它 的整體結(jié)構(gòu)類似于遺傳算法,一樣都存在變異、交叉和選擇操作,但是它又不 同于遺傳算法。與基本遺傳算法的主要區(qū)別在于變異操作上,如:1、傳統(tǒng)的遺傳算法采用二進(jìn)制編碼,而差分進(jìn)化算法采用實(shí)數(shù)編碼。2、在遺傳算法中通過兩個父代個體的交叉產(chǎn)生兩個子個體,而在差分進(jìn)化 算法中通過第兩個或幾個個體的差分矢量做擾動來產(chǎn)生新個體。3、在傳統(tǒng)的遺傳算法中,子代個體以一定概率取代其父代個體,而在差分 進(jìn)化中新
2、產(chǎn)生的個體只有當(dāng)它比種群中的個體優(yōu)良時(shí)才替換種群中的個體。變異是 DE 算法的主要操作,它是基于群體的差異向量來修正各個體的值, 其基本原理是通過把種群中兩個個體的向量差加權(quán)后,按一定的規(guī)劃與第三個 個體求和來產(chǎn)生新個體,然后將新個體與當(dāng)代種群中某個預(yù)先決定的個體相比 較,如果新個體的目標(biāo)值優(yōu)于與之相比較的個體的目標(biāo)值,則在下一代中就用 新個體取代,否則,舊個體仍保存下來。差分進(jìn)化算法其基本思想是:首先由父代個體間的變異操作構(gòu)成變異個體; 接著按一定的概率,父代個體與變異個體之間進(jìn)行交叉操作,生成一試驗(yàn)個體; 然后在父代個體與試驗(yàn)個體之間根據(jù)適應(yīng)度的大小進(jìn)行貪婪選擇操作,保留較 優(yōu)者,實(shí)現(xiàn)種群
3、的進(jìn)化。2 差分進(jìn)化算法的基本操作設(shè)當(dāng)前進(jìn)化代數(shù)為t,群體規(guī)模為NP,空間維數(shù) 為D,當(dāng)前種群為 X(t) x1t ,x2t ,L ,xtNP , xit xit1,xit2,L ,xitD 為種群中的第 i 個個體。 在進(jìn)化過程 中,對于每個個體 xit 依次進(jìn)行下面三種操作 。2.1 變異操作對于每個個體 x it按下式產(chǎn)生 變異個體 vit (vit1,vit2,L ,vitD)T ,則vitj xrt1j F(xrt2j xrt3j ) j 1,2,L ,D (1其中 xrt1(xrt11, xtr12 ,L ,xrt1D )T , xrt2tt(xr21,xr22,L ,xrt2D
4、)T 和 xtr3tt(xr31,xr32,L ,xr3D ) 是群體中隨機(jī)選擇的三個個體,并且 r1i ; xrt1 j , xtr2 j和 xtr3j 分別為個體 r1, r2和 r3 的第 j 維分量; F 為變異因子,一般取值于 0,2 。這樣就得到了變異個體 vit2.2 交叉操作由變異個體 vit 和父代個體 x it得到試驗(yàn)個體 uit (uit1,uit2,L ,uitD)T ,則tuitjvitj if rand0 1 CR or j j_rand xitj if rand0 1 CR and j j_rand其中,rand 0,1是0,1間的隨機(jī)數(shù); CR是范圍在 0,1間
5、的常數(shù),稱為交叉因子,CR值越大,發(fā)生交叉的可能性就越大; j _ rand 是在1,D 隨機(jī)選擇的一整數(shù), 它保證了對于試驗(yàn)個體 uit至少要從變異個體 vit 中獲得一個元素 。以上的變異操 作和交叉操作統(tǒng)稱為繁殖操作。2.3 選擇操作差分進(jìn)化算法采用的是 “貪婪”選擇策略,即從父代個體 xit 和試驗(yàn)個體 uit中選擇一個適應(yīng)度值最好的作為下一代的個體x it+ 1 ,選擇操作為:t1xixit if f itness (xit ) fitness(uit ) uit otherwise(3)其中, fitness( ) 為適應(yīng)度函數(shù),一般以所要優(yōu)化的目標(biāo)函數(shù)為適應(yīng)度函數(shù)。本 文的適應(yīng)度
6、函數(shù)如無特殊說明均為目標(biāo)函數(shù) 且為求函數(shù)極小值 。3 差分進(jìn)化算法的算法流程由前面對基本差分進(jìn)化算法的基本原理的了解, 我們可以得到差分進(jìn)化算法 的算法流程設(shè)計(jì)如下。3.1 基本差分進(jìn)化算法的基本步驟CR;空間維數(shù) D ;(1) 初始化參數(shù):種群規(guī)模 NP ;縮放因子 F ;變異因子 進(jìn)化代數(shù) t 0 。(2)隨機(jī)初始化初始種群 X(t) x1t , xt2 ,L ,xtNP ,其中 xitxit1,xit2,L ,xitD T 。(3)個體評價(jià):計(jì)算每個個體的適應(yīng)度值。(4)變異操作:按 (1) 式對每個個體進(jìn)行變異操作,并得到變異個體tvi 。(5)交叉操作:按 (2) 式對每個個體進(jìn)行交
7、叉操作,得到試驗(yàn)個體tui 。選擇操作:按(3)式從父代個體 xit 和試驗(yàn)個體 uit中選擇一個作為下一代個體。則停止進(jìn)化并輸中的最優(yōu)個體為 xbtes1t ,如果達(dá)到最大進(jìn)化代數(shù)或滿足誤差要求, 出 xbtes1t為最優(yōu)解,否則令 t=t+1 ,轉(zhuǎn)(3)。3.2 基本差分進(jìn)化算法的流程圖差分進(jìn)化算法流程圖4 基本差分進(jìn)化算法的 MATLAB 描述function Pb=DE%參數(shù)初始化D=input(' 請輸入空間維數(shù) D=');N=input(' 請輸入種群規(guī)模 N=');Tmax=');F=input(' 請輸入縮放因子 F=')
8、; CR=input(' 請輸入交叉因子 CR='); U=input(' 請輸入運(yùn)行的次數(shù) U='); Tmax=input(' 請輸入最大迭代次數(shù)% 變量限制 a1=ones(1,30)*(-5.12);b1=ones(1,30)*(5.12); eps=1e-9;x=; v=; y=;%隨機(jī)產(chǎn)生初始種群 for i=1:Nfor j=1:D x(i,j)=a1(j)+rand*(b1(j)-a1(j);endendt=1;trial=zeros(1,D);cost=zeros(1,N);cost(1)=fitness(x(1,:),D);Pb=co
9、st(1);Xb=x(1,:);% 計(jì)算每個個體的適應(yīng)度值及當(dāng)前種群的最優(yōu) 值for i=2:Ncost(i)=fitness(x(i,:),D);if(cost(i)<=Pb)Pb=cost(i);Xb=x(i,:);end end tic sum=0; for z=1:Uwhile(t<Tmax) for i=1:N%對每個個體進(jìn)行變異操作,得變異個體while 2>1a=floor(rand*N)+1;if a=i break;endend while 2>1b=floor(rand*N)+1;if b=i&b=a break;endend while 2
10、>1c=floor(rand*N)+1;if c=i&c=a&c=b break;endendfor k=1:Dv(k)=x(c,k)+F*(x(a,k)-x(b,k); end%對每個個體進(jìn)行交叉操作,得試驗(yàn)個體 jrand=floor(rand*D+1);for k=1:Dif(rand<CR|jrand=k)trial(k)=v(k); elsetrial(k)=x(i,k); end if trial(k)<a1(k)trial(k)=a1(k);endif trial(k)>b1(k)trial(k)=b1(k); end end%對每個個體進(jìn)行選擇操作,得下一代個體score=fitness(trial(:),D);if(score<=cost(i)x(i,1:D)=trial(1:D);cost(i)=score;endif cost(i)<=PbPb=cost(i);Xb(1:D)=x(i,1:D);endendt=t+1;endy(z)=Pb;%計(jì)算平均適應(yīng)最優(yōu)值 sum=Pb+sum;endPbavr=sum/U;%U 次中的最差值和最好值Pbmax=y(1);Pbmin=y(1);for z=1:Uif Pbmax<y(z) Pbmax=y(z);endif Pbmin&
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《大學(xué)計(jì)算機(jī)基礎(chǔ)》課件-第5章 電子表格處理軟件
- 填報(bào)志愿 合同
- 《正向間接血凝試驗(yàn)》課件
- 2025年吐魯番道路貨運(yùn)駕駛員從業(yè)資格考試題庫
- 2025年湖北貨運(yùn)從業(yè)資格證考試模擬考試題目
- 2025年長沙貨運(yùn)從業(yè)資格證考試題目和答案
- 2025年張掖駕??荚囏涍\(yùn)從業(yè)資格證模擬考試
- 2025年河源考貨運(yùn)資格證考試內(nèi)容
- 工業(yè)用地交易中介合同樣本
- 水利工程機(jī)械施工安全協(xié)議
- 脊柱外科臨床指南
- 萬千教育學(xué)前透視幼兒的戶外學(xué)習(xí)
- 《抗菌藥物知識培訓(xùn)》課件
- 2024年北京市安全員A證考試題庫附答案
- 醫(yī)療專業(yè)人員的情緒管理培訓(xùn)
- 森林法培訓(xùn)課件
- 儀器分析題庫(含答案)
- 招標(biāo)法律法規(guī)匯總
- 湖北省黃岡市2022-2023學(xué)年高一上學(xué)期元月期末數(shù)學(xué)試題(原卷版)
- 2023配電網(wǎng)線損理論計(jì)算導(dǎo)則
- 審計(jì)人員保密守則
評論
0/150
提交評論