




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第四章遺傳算法及其MATLAB實現(xiàn)1、遺傳算法的理論現(xiàn)代生物進(jìn)化理論的基本觀點:種群是生物進(jìn)化的基本單位,生物進(jìn)化的實質(zhì)是種群基因頻率的改變。種群進(jìn)化將最終導(dǎo)致新物種的形成。遺傳算法雜交了漸變式和爆發(fā)式兩種思想。(2)解碼目的是為了將不直觀的二進(jìn)制還原成十進(jìn)制。設(shè)某一個體的二進(jìn)制編碼為bkbk-1…b2b1,則對應(yīng)的解碼公式為解碼在宏觀上對應(yīng)著表現(xiàn)型,微觀上對應(yīng)DNA的翻譯過程。(3)交配“交配運算”是使用單點或多點進(jìn)行交叉的算子。首先用隨機(jī)數(shù)產(chǎn)生一個或多個交配點位置,然后兩個個體在交配點位置互換部分基因碼,形成兩個子個體。原代子代交換后四位基因(4)突變?yōu)榱吮苊庠谒惴ǖ笃诔霈F(xiàn)種群過早收斂。對于二進(jìn)制的基因碼組成的個體種群,實行基因碼的小幾率翻轉(zhuǎn),即0變?yōu)?,1變?yōu)?。突變后的染色體可以看成原染色體的子代染色體。(5)倒位
指一個染色體某區(qū)段排列順序發(fā)生180°的顛倒,造成染色體內(nèi)的DNA序列重新排列。
倒位的部分倒位后(6)個體適應(yīng)度評估自然界對于生物的篩選機(jī)制與下圖相似。落在各個區(qū)域的幾率對應(yīng)遺傳算法中各條染色體被遺傳到下一代的幾率,其墜落位置對應(yīng)自變量取值。個體適應(yīng)度大的個體更容易被遺傳到下一代。通常,求目標(biāo)函數(shù)最大值的問題可以直接把目標(biāo)函數(shù)作為檢測個體適應(yīng)度大小的函數(shù)。3、遺傳算法的MATLAB程序設(shè)計
程序設(shè)計流程及參數(shù)選取MATLAB遺傳算法工具箱①種群的規(guī)模②變異概率③交配概率④進(jìn)化代數(shù)⑤種群初始化遺傳算法的參數(shù)設(shè)計原則工具箱核心函數(shù)用法函數(shù)ga函數(shù)gaoptimset[x,fval.reason]=ga(@fitnessfun.nvars,options)options=gaoptimset(‘PropertyName1’,’PropertyValue1’,PropertyName2’,’PropertyValue2’,PropertyName3’,’PropertyValue3’……)GeneticAlgorithmandDirectSearchToolbox適應(yīng)度函數(shù)設(shè)計實例1遺傳算法和直接搜索工具箱中的函數(shù)ga是求解目標(biāo)函數(shù)最小值,可直接令目標(biāo)函數(shù)為適應(yīng)度函數(shù)function
f=fitnessfcn(x)%x為自變量實例2若有約束條件(包括自變量取值范圍)求最小值functionf=fitnessfcn()xIf(x<=-1|x>3)%表示有約束x>-1和x<=3,其他約束條件類推f=inf;elsef=f(x);end實例3若有約束條件(包括自變量取值范圍)求最大值將f=f(x)換成f=-f(x)4、遺傳算法應(yīng)用案例案例一
>>globalBitLengthglobalboundsbeginglobalboundsendbounds=[-22]; %一維自變量取值范圍precision=0.0001;%運算精度boundsbegin=bounds(:,1);boundsend=bounds(:,2)計算如果滿足求解精度至少需要多長染色體BitLength=ceil(log2((boundsend-boundsbegin)'./precision));popsize=50;%初始種群大小Generationnmax=12;%最大代數(shù)pcrossover=0.90;%交配概率pmutation=0.09;%變異概率
產(chǎn)生初始種群population=round(rand(popsize,BitLength)); 計算適應(yīng)度,返回適應(yīng)度fitvalue和累積概率[Fitvalue,cumsump]=fitnessfun(population);Generation=1;whileGeneration<Generationnmax+1forj=1:2:popsizeseln=selection(population,cumsump);%選擇操作scro=crossover(population,seln,pcrossover);%交叉操作scnew(j,:)=scro(1,:);scnew(j+1,:)=scro(2,:);%變異操作smnew(j,:)=mutation(scnew(j,:),pmutation);smnew(j+1,:)=mutation(scnew(j+1,:),pmutation);endpopulation=smnew[Fitvalue,cumsump]=fitnessfun(population);%記錄當(dāng)前代最好的適應(yīng)度和平均適應(yīng)度[fmax,nmax]=max(Fitvalue);fmean=mean(Fitvalue);ymax(Generation)=fmax;ymean(Generation)=fmean;%記錄當(dāng)前代的最佳染色體個體x=transform2to10(population(nmax,:));%自變量取值范圍是[-22],需要把經(jīng)過遺傳運算的最佳染色體整合到[-22]區(qū)間xx=boundsbegin+x*(boundsend-boundsbegin)/(power((boundsend),BitLength)-1);xmax(Generation)=xx;Generation=Generation+1endGeneration=Generation-1;Bestpopulation=xxBesttargetfunvalue=targetfun(xx)%繪制經(jīng)過遺傳運算后的適應(yīng)度曲線。一般地,如果進(jìn)化過程中種群的平均適應(yīng)度與最大適%應(yīng)度在曲線上有相互趨同的形態(tài),表示算法收斂進(jìn)行得很順利,沒有出現(xiàn)震蕩;在這種前%提下,最大適應(yīng)度個體連續(xù)若干代都沒有發(fā)生進(jìn)化表明種群已經(jīng)成熟。%給適應(yīng)度函數(shù)加上一個大小合理的數(shù)以便保證種群適應(yīng)值為正數(shù)Fitvalue=Fitvalue'+230;%計算選擇概率fsum=sum(Fitvalue);Pperpopulation=Fitvalue/fsum;%計算累積概率cumsump(1)=Pperpopulation(1);fori=2:popsizecumsump(i)=cumsump(i-1)+Pperpopulation(i);endcumsump=cumsump';%子程序:新種群變異操作,函數(shù)名稱存儲為mutation.mfunctionsnnew=mutation(snew,pmutation);BitLength=size(snew,2);snnew=snew;pmm=IfCroIfMut(pmutation);%根據(jù)變異概率決定是否進(jìn)行變異操作,1則是,0則否election.mfunctionseln=selection(population,cumsump);%從種群中選擇兩個個體fori=1:2r=rand;%產(chǎn)生一個隨機(jī)數(shù)prand=cumsump-r;j=1;whileprand(j)<0j=j+1;endseln(i)=j;%選中個體的序號end%子程序:將2進(jìn)制數(shù)轉(zhuǎn)換為10進(jìn)制數(shù),函數(shù)名稱存儲為transform2to10.mfFunctionx=transform2to10(Population);BitLength=size(Population,2);x=Population(BitLen
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國鐵氧體軟磁市場競爭狀況分析及投資戰(zhàn)略研究報告
- 2025-2030年中國重晶石市場運行狀況及前景趨勢分析報告
- 2025-2030年中國連接器制造市場發(fā)展趨勢與十三五規(guī)劃研究報告
- 2025-2030年中國超級活性炭行業(yè)市場運行動態(tài)及前景規(guī)模分析報告
- 2025-2030年中國臍橙行業(yè)運行狀況及發(fā)展趨勢預(yù)測報告
- 2025-2030年中國羊藿苷提取物行業(yè)發(fā)展?fàn)顩r規(guī)劃研究報告
- 2025上海市建筑安全員《A證》考試題庫及答案
- 2025-2030年中國電網(wǎng)企業(yè)信息化市場運營現(xiàn)狀及發(fā)展規(guī)劃分析報告
- 恩施職業(yè)技術(shù)學(xué)院《行政案例研習(xí)》2023-2024學(xué)年第二學(xué)期期末試卷
- 長沙文創(chuàng)藝術(shù)職業(yè)學(xué)院《地球物理學(xué)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 妊娠和精神疾病課件
- 全新人教精通版六年級英語下冊教案(全冊 )
- (新版教材)粵教粵科版六年級下冊科學(xué)全冊教案(教學(xué)設(shè)計)
- 精品污水處理廠工程重難點分析及應(yīng)對措施
- (完整版)泄洪渠施工方案
- 幼兒園廚房人員培訓(xùn)計劃
- 博士、博士后簡歷模板
- 《房屋面積測算技術(shù)規(guī)程》DGJ32TJ131-2022
- 鞍鋼鲅魚圈鋼鐵項目38m生產(chǎn)線工程設(shè)計思想
- 《藥劑學(xué)》-阿昔洛韋軟膏的制備
- 畢業(yè)設(shè)計-膽囊結(jié)石患者的護(hù)理計劃
評論
0/150
提交評論