![gatbx遺傳算法工具箱之gaSVMcgForClass詳細例子講解_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/acb168ab-4b4b-4812-92b7-ff69edac5edd/acb168ab-4b4b-4812-92b7-ff69edac5edd1.gif)
![gatbx遺傳算法工具箱之gaSVMcgForClass詳細例子講解_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/acb168ab-4b4b-4812-92b7-ff69edac5edd/acb168ab-4b4b-4812-92b7-ff69edac5edd2.gif)
![gatbx遺傳算法工具箱之gaSVMcgForClass詳細例子講解_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/acb168ab-4b4b-4812-92b7-ff69edac5edd/acb168ab-4b4b-4812-92b7-ff69edac5edd3.gif)
![gatbx遺傳算法工具箱之gaSVMcgForClass詳細例子講解_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/acb168ab-4b4b-4812-92b7-ff69edac5edd/acb168ab-4b4b-4812-92b7-ff69edac5edd4.gif)
![gatbx遺傳算法工具箱之gaSVMcgForClass詳細例子講解_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/acb168ab-4b4b-4812-92b7-ff69edac5edd/acb168ab-4b4b-4812-92b7-ff69edac5edd5.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、遺傳算法1.遺傳算法的簡單原理遺傳算法(Genetic Algorithm, GA)是一種基于自然群體遺傳演化機制的高效 探索算法,它摒棄了傳統(tǒng)的搜索方式,模擬自然界生物進化過程,采用人工進 化的方式對目標(biāo)空間進行隨機化搜索。它將問題域中的可能解看作是群體的一 個個體或染色體,并將每一個體編碼成符號用形式,模擬達爾文的遺傳選擇和 自然淘汰的生物進化過程,對群體反復(fù)進行基于遺傳學(xué)的操作(遺傳,交叉和 變異),根據(jù)預(yù)定的目標(biāo)適應(yīng)度函數(shù)對每個個體進行評價,依據(jù)適者生存,優(yōu) 勝劣汰的進化規(guī)則,不斷得到更優(yōu)的群體,同時以全局并行搜索方式來搜索優(yōu) 化群體中的最優(yōu)個體,求得滿足要求的最優(yōu)解。我們先通過一個例
2、子來了解遺傳算法的原理:假定我們要求函數(shù)f(x) = x2的極大值,其中x為自然數(shù),0 Ex E31?,F(xiàn)在,我們將每一個數(shù)看成一個生命體, 通過進化,我們看誰能最后生存下來,誰就是我們所尋找的數(shù)。.編碼:我們將每一個數(shù)作為一個生命體,那么必須給其賦予一定的基因,這 個過程叫做編碼。我們可以把變量x編碼成5位長的二進制無符號整數(shù)表示形式, 比如x =13可表示為01101的形式,也就是說,數(shù)13的基因為01101。.初始群體的生成:由于遺傳的需要,我們必須設(shè)定一些初始的生物群體, 讓 其作為生物繁殖的第一代,需要說明的是,初始群體的每個個體都是通過隨機方 法產(chǎn)生的,這樣便可以保證生物的多樣性和競
3、爭的公平性。.適應(yīng)度評估檢測:生物的進化服從適者生存,優(yōu)勝劣汰的進化規(guī)則,因此, 我們必須規(guī)定什么樣的基因是 優(yōu)”的,什么樣的基因是 劣”的,在這里,我們稱 為適應(yīng)度。顯然,由于我們要求的最大值,因此,能使函數(shù)值較大的基因是優(yōu)的, 使函數(shù)值較小的基因是劣的,因此,我們可以將原函數(shù)f(x) = x2定義為適應(yīng)度函數(shù),用來衡量某一生物體的適應(yīng)程度。.選擇:接下來,我們便可以進行優(yōu)勝劣汰的過程,這個過程在遺傳算法里叫 做選擇。注意,選擇應(yīng)該是一個隨機的過程,基因差的生物體不一定會被淘汰, 只是其被淘汰概率比較大罷了,這與自然界中的規(guī)律是相同的。 因此,我們可以 采取賭輪的方式來進行選擇。.交叉操作:
4、接下來進行交叉繁殖,隨機選出兩個生物體,讓其交換一部分基 因,這樣便形成了兩個新的生物體,為第二代。.變異:生物界中不但存在著遺傳,同時還存在著變異,在這里我們也引入變 異,使生物體的基因中的某一位以一定的概率發(fā)生變化,這樣引入適當(dāng)?shù)臄_動, 能避免局部極值的問題。以上的算法便是最簡單的遺傳算法,通過以上步驟不斷地進化,生物體的基因便 逐漸地趨向最優(yōu),最后便能得到我們想要的結(jié)果。2 .遺傳算法的步驟從上面的例子中,我們便能得到遺傳算法的一般步驟,如下圖所示:3 .遺傳算法的應(yīng)用遺傳算法主要是用來尋優(yōu),它具有很多優(yōu)點:它能有效地避免局部最優(yōu)現(xiàn)象,有及其頑強的魯棒性,并且在尋優(yōu)過程中,基本不需要任何
5、搜 索空間的知識和其他輔助信息等等。為了介紹遺傳算法的應(yīng)用,我們將前面 的例子進行完,整個過程如下:初始群體x的值適應(yīng)度f (x)選擇概率選擇上的計數(shù)(來自賭輪)01101 11000 01000 100111324819169 576643610.14 0.490.06 0.311201交叉處0110|11100|011|00010|011下一代群體01100110011101110000x的值12252716適應(yīng)度144625729256求解過程:將自變量在給定的范圍內(nèi)進行編碼,得到種群編碼,按照所選擇的 適應(yīng)度函數(shù)并通過選擇復(fù)制,交叉重組與變異對個體進行篩選與進化,使適應(yīng) 度值大的個體被
6、保留,適應(yīng)度小的個體被淘汰,新的群體繼承了上一代的信息 同時又優(yōu)于上一代,這樣反復(fù)循環(huán),直到滿足條件,最后留下來的個體集中分 布在最優(yōu)解周圍,篩選出其中的個體作為問題的解。4 .遺傳算法的程序設(shè)計(1)謝爾菲德遺傳算法工具箱-英國謝爾菲德大學(xué)開發(fā)1 特點:1)使用MATLAB級語言編寫;2 )對問題使用Mfc件編寫,可以看見源代碼;3 )為用戶提供了廣泛多樣的實用函數(shù)。安裝:1)解壓謝爾菲德遺傳算法工具箱,得到謝爾菲德遺傳算法工具 箱文件夾,內(nèi)含DO文件夾與gatbx文件夾;4 )將謝爾菲德遺傳算法工具箱文件夾拷貝到MATLABbin目錄下;5 )為謝爾菲德遺傳算法工具箱文件設(shè)置工作路徑:雙擊
7、MATLA B運行MATLAB在MATLAB 口中選擇路徑設(shè)置窗口 :Set path ;6 ) 在 Set path 中選擇 Add folder 項;7 )設(shè)置如下:謝爾菲德遺傳算法工具箱文件;謝爾菲德遺傳算法工具箱文件DOC謝爾菲彳惠遺傳算法工具箱文件gatbx ;謝爾菲彳惠遺傳算法工具箱文件gatbxtest_fns 。點擊SAV睬存,再點擊CLOSE閉Set path窗口。8 )將文件夾的所有字母改為小寫字母。9 )測試:在 Command Window 口 鍵入:help crtbp 。謝爾菲德遺傳算法工具箱中主要函數(shù)函數(shù)分類函數(shù)功能創(chuàng)建 種群crtbase創(chuàng)建基向量crtbp創(chuàng)建
8、離散的隨機種群crtrp創(chuàng)建實數(shù)隨機種群適應(yīng)度計算ranking基于排序的適應(yīng)度分配scaling比率適應(yīng)度計算3選擇函數(shù)reinsT隨機和基于適應(yīng)度的重插入rws輪盤選擇select高級選擇例程sus隨即便利采樣父叉算子recdis高級重組recint中間重組recline線性重組recmut具有變異特征的線性重組recombin局級重組算子xovdp兩點交叉算子xovdprs減少代理的兩點交叉xovmp通常多點交叉xovsh洗牌交叉xovshrs減少代理的洗牌交叉xovsp單點交叉xovsprs減少代理的單點交叉變異算子mut離散艾異mutate高級變異函數(shù)mutbga實值及異子種群的支持
9、migrate在子種群間交換個體實用函數(shù)bs2rv二進制用到實值的轉(zhuǎn)換rep矩陣的復(fù)制常用函數(shù)1 .創(chuàng)建離散的隨機種群Chrom, Lind,BaseV=crtbp(Nind,Lind)Chrom, Lind,BaseV=crtbp(Nind,Base)Chrom, Lind,BaseV=crtbp(Nind,Lind,Base)(注意:Base的列數(shù)就是Lind,即染色體的長度)Chrom, Lind,BaseV=crtbp(5 , 10)Chrom, Lind,BaseV=crtbp(5 , 2 3 4 5 6 7 8 9)2 .適應(yīng)度計算函數(shù)FitnV=ranking(ObjV)3 .選
10、擇算子select4 .交叉算子recombin5 .變異算子mut6 .重插入函數(shù)reins7 .實用函數(shù)bs2rvPhen=bs2rv(Chrom,FieldD),其中FieldD=len;lb;ub;code;scale;lbin;ubin8 .實用函數(shù)rep謝爾菲德遺傳算法工具箱應(yīng)用舉例例1.用遺傳算法求f(x)=sin(10"x), xw1,2的最小值 x遺傳算法參數(shù)設(shè)置種群規(guī)模最大遺傳代數(shù)個體長度代溝父叉概率變異概率4020200.950.70.01程序清單如下:clcclear allclose all%畫出函數(shù)圖figure(1);hold on;lb=1;ub=2;
11、 %函數(shù)自變量范圍1,2ezplot('sin(10*pi*X)/X',lb,ub); %畫出函數(shù)曲線xlabel('自變量/X')ylabel('函數(shù)值 /Y')%定義遺傳算法參數(shù)NIND=40; %個體數(shù)目MAXGEN=20; % 最大遺傳代數(shù)PRECI=20; %變量的二進制位數(shù)GGAP=0.95; % 代溝px=0.7; %交叉概率pm=0.01; %變異概率trace=zeros(2,MAXGEN); %尋優(yōu)結(jié)果的初始值FieldD=PRECI;lb;ub;1;0;1;1; % 區(qū)域描述器Chrom=crtbp(NIND,PRECI);
12、 % 產(chǎn)生初始種群%優(yōu)化gen=0; %代計數(shù)器X=bs2rv(Chrom,FieldD); %計算初始種群的十進制轉(zhuǎn)換ObjV=sin(10*pi*X)./X; % 計算目標(biāo)函數(shù)值while gen<MAXGENFitnV=ranking(ObjV); % 分配適應(yīng)度值SelCh=select('sus',Chrom,FitnV,GGAP); % 選擇SelCh=recombin('xovsp',SelCh,px); % 重組SelCh=mut(SelCh,pm); % 變異X=bs2rv(SelCh,FieldD); %子代個體的十進制轉(zhuǎn)換ObjVSe
13、l=sin(10*pi*X)./X; % 計算子代的目標(biāo)函數(shù)值Chrom,ObjV=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); %重插入子代到父代, 得到新種群X=bs2rv(Chrom,FieldD);gen=gen+1; %代計數(shù)器增加%獲取每代的最優(yōu)解及其序號,丫為最優(yōu)解,I為個體的序號Y,I=min(ObjV);trace(1,gen)=X(I); %記下每代的最優(yōu)值trace(2,gen)=Y; %記下每代的最優(yōu)值endplot(trace(1,:),trace(2,:),'bo'); % 畫出每代的最優(yōu)點grid on;plot(X,O
14、bjV,'b*'); %畫出最后一代的種群hold off%畫進化圖figure(2);plot(1:MAXGEN,trace(2,:);grid onxlabel('遺傳代數(shù)')ylabel('解的變化')title('進化過程')bestY=trace(2,end);bestX=trace(1,end);fprintf('最優(yōu)解:nX=',num2str(bestX),'nY=',num2str(bestY),'n')例2.用遺傳算法求 f (x, y) =xcos(2n y)+
15、ysin(2nx), x,yw-2,2的最大值。遺傳算法參數(shù)設(shè)置種群規(guī)模最大遺傳代數(shù)個體長度代溝父叉概率變異概率405040 (2個,每個長20)0.950.70.01程序清單如下:clcclear allclose all%畫出函數(shù)圖figure(1);lbx=-2;ubx=2; %函數(shù)自變量x范圍-2,2lby=-2;uby=2; %函數(shù)自變量y范圍-2,2ezmesh('y*sin(2*pi*x)+x*cos(2*pi*y)',lbx,ubx,lby,uby,50); %畫出函數(shù)曲線hold on;%定義遺傳算法參數(shù)NIND=40; %個體數(shù)目MAXGEN=50; % 最
16、大遺傳代數(shù)PRECI=20; %變量的二進制位數(shù)GGAP=0.95; % 代溝px=0.7; %交叉概率pm=0.01; %變異概率trace=zeros(3,MAXGEN); %尋優(yōu)結(jié)果的初始值FieldD=PRECI PRECI;lbx lby;ubx uby;1 1;0 0;1 1;1 1; %區(qū)域描述器Chrom=crtbp(NIND,PRECI*2); % 初始種群%優(yōu)化gen=0; %代計數(shù)器XY=bs2rv(Chrom,FieldD); %計算初始種群的十進制轉(zhuǎn)換X=XY(:,1);Y=XY(:,2);ObjV=Y.*sin(2*pi*X)+X.*cos(2*pi*Y); %計算
17、目標(biāo)函數(shù)值while gen<MAXGENFitnV=ranking(-ObjV); % 分配適應(yīng)度值SelCh=select('sus',Chrom,FitnV,GGAP); % 選擇SelCh=recombin('xovsp',SelCh,px); % 重組SelCh=mut(SelCh,pm); % 變異XY=bs2rv(SelCh,FieldD); %子代個體的十進制轉(zhuǎn)換X=XY(:,1);Y=XY(:,2);ObjVSel=Y.*sin(2*pi*X)+X.*cos(2*pi*Y); %計算子代的目標(biāo)函數(shù)值Chrom,ObjV=reins(Chr
18、om,SelCh,1,1,ObjV,ObjVSel); %重插入子代到父代,得到新種群XY=bs2rv(Chrom,FieldD);gen=gen+1; %代計數(shù)器增加%獲取每代的最優(yōu)解及其序號,丫為最優(yōu)解,1為個體的序號Y,I=max(ObjV);trace(1:2,gen)=XY(I,:); %記下每代的最優(yōu)值trace(3,gen)=Y; %記下每代的最優(yōu)值endplot3(trace(1,:),trace(2,:),trace(3,:),'bo'); % 畫出每代的最優(yōu)點grid on;plot3(XY(:,1),XY(:,2),ObjV,'bo');
19、% 畫出最后一代的種群hold off%畫進化圖figure(2);plot(1:MAXGEN,trace(3,:);grid onxlabel('遺傳代數(shù)')ylabel('解的變化')title('進化過程')bestZ=trace(3,end);bestX=trace(1,end);bestY=trace(2,end);fprintf('最優(yōu)解:nX=',num2str(bestX),'nY=',num2str(bestY),'nZ=',num2str(bestZ),'n')作
20、業(yè):用遺傳算法求函數(shù)x; x2、,cos2二斗 cos2二 x2、f (x) = -20exp(-022 ) -exp() 20 2.71289的最小值。clcclear allclose all%畫出函數(shù)圖figure(1);lbx1=-2;ubx1=2; % 函數(shù)自變量x1范圍卜2,2lbx2=-2;ubx2=2; % 函數(shù)自變量x2范圍卜2,2ezmesh('-20*exp(-0.2*sqrt(x1A2+x2A2)/2)-exp(cos(2*pi*x1)+cos(2*pi*x2)/2)+20+2.71289',lbx1,ubx1,lbx2,ubx2,50); % 畫出函數(shù)
21、曲線hold on;%定義遺傳算法參數(shù)NIND=40; %個體數(shù)目MAXGEN=50; % 最大遺傳代數(shù)PRECI=20; %變量的二進制位數(shù)GGAP=0.95; % 代溝px=0.7; %交叉概率pm=0.01; %變異概率trace=zeros(3,MAXGEN); %尋優(yōu)結(jié)果的初始值FieldD=PRECI PRECI;lbx lby;ubx uby;1 1;0 0;1 1;1 1; %區(qū)域描述器Chrom=crtbp(NIND,PRECI*2); % 初始種群%優(yōu)化gen=0; %代計數(shù)器XY=bs2rv(Chrom,FieldD); %計算初始種群的十進制轉(zhuǎn)換X=XY(:,1);Y=XY(:,2);ObjV=Y.*sin(2*pi*X)+X.*cos(2*pi*Y); %計算目標(biāo)函數(shù)值while gen<MAXGENFitnV=ranking(-ObjV); % 分配適應(yīng)度值SelCh=select('sus',Chrom,FitnV,GGAP); % 選擇SelCh=recombin('xovsp',SelCh,px); % 重組SelCh=mut(SelCh,pm);
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 果園戰(zhàn)略合作協(xié)議模板
- 2025年鋼材:一級鋼合作協(xié)議書
- 永州職業(yè)技術(shù)學(xué)院《變電工程設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 柳州鐵道職業(yè)技術(shù)學(xué)院《多高層建筑結(jié)構(gòu)設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 華北科技學(xué)院《市政工程計量與計價課程設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 福州軟件職業(yè)技術(shù)學(xué)院《可編程控制技術(shù)(PC)》2023-2024學(xué)年第二學(xué)期期末試卷
- AI賦能消費創(chuàng)新的市場實施框架
- 水庫建設(shè)項目目標(biāo)與任務(wù)
- 中國美術(shù)學(xué)院《臨床藥物評價》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東海事職業(yè)學(xué)院《漢語方言與文化》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津在津居住情況承諾書
- PHOTOSHOP教案 學(xué)習(xí)資料
- 初中數(shù)學(xué)教學(xué)“教-學(xué)-評”一體化研究
- 2012年安徽高考理綜試卷及答案-文檔
- 《游戲界面設(shè)計專題實踐》課件-知識點5:圖標(biāo)繪制準(zhǔn)備與繪制步驟
- 自動扶梯安裝過程記錄
- MOOC 材料科學(xué)基礎(chǔ)-西安交通大學(xué) 中國大學(xué)慕課答案
- 智慧供熱管理系統(tǒng)方案可行性研究報告
- 帕金森病的言語康復(fù)治療
- 中國城市居民的健康意識和生活方式調(diào)研分析報告
- 上海星巴克員工手冊
評論
0/150
提交評論