版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯第第頁(yè)對(duì)于遺傳算法實(shí)驗(yàn)報(bào)告關(guān)于遺傳算法得試驗(yàn)報(bào)告一、試驗(yàn)?zāi)康茫?/p>
在,能功本基得法算傳遺現(xiàn)實(shí)言語(yǔ)得長(zhǎng)擅己自門一用能,義意及用應(yīng)得法算傳遺握掌與解理?此基礎(chǔ)上進(jìn)一步理解與鞏固對(duì)遺傳算法得重要,以便在今后得學(xué)習(xí)與工作中能有效得運(yùn)用與借鑒!需要指出得就是遺傳算法并不就是能保證所得到得就就是最佳得答案但通過(guò)肯定得方法可以將誤差掌握在肯定得范圍內(nèi)!二、試驗(yàn)原理與題目:1、遺傳算法就是一種基于空間搜尋得算法,它通過(guò)自然選擇、遺傳、變異等操作以及達(dá)爾文得適者生存得理論,模擬自然進(jìn)化過(guò)程來(lái)查找所求問(wèn)題得答案。其求解過(guò)程就是個(gè)最優(yōu)化得過(guò)程。一般遺傳算法得主要步驟如下:(1)隨機(jī)產(chǎn)生一個(gè)確定長(zhǎng)度得特征字符串組成得初始種群。
(2)對(duì)該字符串種群迭代地執(zhí)行下面得步驟a與步驟b,直到滿意停止準(zhǔn)則為止:
a計(jì)算種群中每個(gè)個(gè)體字符串得適應(yīng)值;
b應(yīng)用復(fù)制、交叉與變異等遺傳算子產(chǎn)生下一代種群。
(3)把在后代中表現(xiàn)得最好得個(gè)體字符串指定為遺傳算法得執(zhí)行結(jié)果,即為問(wèn)題得一個(gè)解。
2、通過(guò)編碼、設(shè)置種群、設(shè)置適應(yīng)度函數(shù)、遺傳操作、解碼產(chǎn)生需要得解。
f(x)=x*sin(x)+1,x[0,2],求解f(x)得最大值與最小值。
三、試驗(yàn)條件
硬件:微型計(jì)算機(jī)。
。言語(yǔ)++C為得用選驗(yàn)實(shí)本:言語(yǔ)?四、試驗(yàn)內(nèi)容:
建筑針對(duì)f(x)得遺傳算法程序,然后進(jìn)行運(yùn)行求解。
五、試驗(yàn)步驟:
、1。解求得值小最與值大最得)x(f現(xiàn)實(shí)是就驗(yàn)實(shí)本:能功本基定確?2、對(duì)f(x)進(jìn)行編碼:用一個(gè)二進(jìn)制矢量表示一個(gè)染色體,由染色體來(lái)代表變量x得實(shí)數(shù)值,這里精度取小數(shù)點(diǎn)后6位數(shù),變量x得域長(zhǎng)為2,整個(gè)區(qū)間被分為2*1000000個(gè)等長(zhǎng)得區(qū)間。由于2*1000000在23位二進(jìn)制數(shù)得表示范圍呢,所以,編碼長(zhǎng)度為23位。
3、設(shè)計(jì)適應(yīng)度函數(shù):由于要求f(x)得最值,所以適應(yīng)度函數(shù)可依據(jù)f(x)做適當(dāng)?shù)棉D(zhuǎn)變。最大值:f(x)=x*sin(x)+5;最小值:f(x)=1/(x*sin(x)+5);
4、針對(duì)f(x)得設(shè)計(jì)并且實(shí)現(xiàn)遺傳算法程序:遺傳操作主要包括復(fù)制、交叉與變異。復(fù)制就是直接將父代遺傳給子代,即依據(jù)個(gè)體得適應(yīng)度函數(shù)值所度量得優(yōu)劣程度打算它在下一代就是被淘汰還就是被遺傳。交叉從能進(jìn)入下一代得個(gè)體中選出兩個(gè),將兩者得部分碼值進(jìn)行交換。變異就是依據(jù)變異概率選出一個(gè)個(gè)體,隨機(jī)對(duì)其某位編碼進(jìn)行轉(zhuǎn)變。復(fù)制由voidSelection_operation(boolflag);實(shí)現(xiàn);交叉由voidCrossover_operation();實(shí)現(xiàn);變異由voidMution-operation();實(shí)現(xiàn)。
5、
設(shè)計(jì)初始種群:默認(rèn)設(shè)置為50個(gè)隨機(jī)產(chǎn)生得23位字節(jié)得染色體。
、6改得率概得異變與叉交隨果結(jié),內(nèi)圍范率概異變與叉交得用常在:率概異變與叉交試調(diào)?變而轉(zhuǎn)變,之間差異相對(duì)來(lái)說(shuō)不太明顯
7、
試驗(yàn)參數(shù):試驗(yàn)中主要得參數(shù)有遺傳代數(shù)、群體規(guī)模、交叉概率、變異概率。
試驗(yàn)結(jié)果:求最大值:
求最小值:
程序主要代碼如下(后臺(tái)代碼):classGA{
vectorstring>Pop;
vectorstring>SubPop;
;cPelbuod?
;mPelbuod?
;noitaretI_muNtni?
;noitalupoP_muNtni?doubleOptimal_Max_X_Solution;
doubleOptimal_Min_X_Solution;
;eualV_noitcnuF_xaM_lamitpOelbuod?
;eulaV_noitcnuF_niM_lamitpOelbuod?
;laudividnI(lǐng)_lamitpOgnirts?vectordoubleLunPan;//
;ssentiftaolf?public:
GA(){
Pc=0、25;
Pm=0、01;
?
;05=noitalupoP_muN??Num_Iteration=100;
}?
;)(tinI_AGdiov?
;)(noitarepO_revossorCdiov?
;)(noitarepO_tceleSdiov?
;)(noitarepO_noitatuMdiov?voidEvaluation(bool);
;)loob(noitarepO_naPnuLdiov?doubleFunction(double);
voidExtreme_Value(bool);
;)tni,loob(yalpsiDdiov?
;)(M_yalpsiDdiov?};//FindthemaxandminvaluevoidGA::Extreme_Value(boolflag){
if(flag)
Optimal_Max_Function_Vlaue=-100;
else
Optimal_Min_Function_Value=100;
)reti++;)(dne、poP=!reti;)(nigeb、poP=retirotareti::gnirtsrotcev(rof?{
?
doublet=0、5;
;0=1muNceDelbuod?
?/*stringp=*iter;*/
{)i--;0=i;1-)(htgnel、)reti*(=itni(rof?
t=t*2;
?;t*)84-]i[)reti*((=+1muNceD?
}
?DecNum1=DecNum1*((2*PI)/ValueOfString);
//
;
"<1muNceD<tuoc?
值數(shù)函求//;)1muNceD(noitcnuF=pmeTelbuod?//?
;ldnepmeT<tuoc??if(flag){//findthemaximum
{)eualV_noitcnuF_xaM_lamitpO>pmeT(fi?
Optimal_Max_Function_Vlaue=Temp;
??
;1muNceD=noituloS_X_xaM_lamitpO??
?Optimal_Individual=*iter;
?//?
;5+pmeT=ssentif??
}
}
?else{//findtheminimum
?
{)eulaV_noitcnuF_niM_lamitpOpmeT(fi?
?Optimal_Min_Function_Value=Temp;
???
;1muNceD=noituloS_X_niM_lamitpO?
?Optimal_Individual=*iter;
//??
;5+pmeT=ssentif?}??
}
}??}//InitializethePopulationsvoidGA::GA_Init(){
for(intixx=0;ixxNum_Population;++ixx){
stringSTRing;
?
{)++i;32i;0=itni(rof?
;2%)(dnar=dnrtni?
?STRing、push_back(rnd+48);
}?
Pop、push_back(STRing);
;)(raelc、gniRTS?}//eti++;)(dne、poP=!reti;)(nigeb、poP=retirotareti::gnirtsrotcev(rof?r){
?//
;ldne<<reti*tuoc?//}}//SelectOperation
voidGA::Select_Operation(){//
體個(gè)擇選機(jī)隨?
;)00001%)(dnar(*1000、0=dnrelbuod?for(vectordouble::iteratoriter=LunPan、begin();iter!=LunPan、end();++iter){
?
{)reti*=dnr(fi?
;))))(nigeb、naPnuL-reti(+)(nigeb、poP(*(kcab_h(yuǎn)sup、poPbuS?//?
;ldne)))(nigeb、naPnuL-reti(+)(nigeb、poP(*<tuoc?
?break;
}
}}//CrossoverOperationvoidGA::Crossover_Operation(){//
作操叉交行進(jìn)體個(gè)個(gè)兩擇選機(jī)隨?
;)00001%)(dnar(*1000、0=dnrelbuod?、naPnuL=!reti;)(nigeb、naPnuL=retirotareti::elbuod<rotcev(rof?end();++iter){
?if(rnd=*iter){
??
;)))(nigeb、naPnuL-reti(+)(nigeb、poP(*=gniRTSgnirts?
?doublernd1=0、0001*(rand()%10000);
for(vectordouble::iterat(yī)oriter1=LunPan、begin();iter1!=LunPan、end();++iter1){
?
?if(rnd1=*iter1){
??
;)))(nigeb、naPnuL-1reti(+)(nigeb、poP(*=1gniRTSgnirts?
??intrnd2=rand()%23;
???
;pmeTrahc?????
{)i++;)(htgnel、gniRTSi;2dnr=itni(rof??
???
;]i[gniRTS=pmeT????
?
;]i[1gniRTS=]i[gniRTS?
?
??
;pmeT=]i[1gniRTS??
?
}
??
;)gniRTS(kcab_hsup、poPbuS??
??
;)1gniRTS(kcab_hsup、poPbuS?
??
;kaerb?
?}
}???
?
;kaerb??}
}}//Mutat(yī)ionOperationvoidGA::Mutat(yī)ion_Operat(yī)ion(){//
作操變突行進(jìn)體個(gè)擇選?
doublernd=0、0001*(rand()%10000);
++;)(dne、naPnuL=!reti;)(nigeb、naPnuL=retirotareti::elbuodrotcev(rof?iter){
?
{)reti*=dnr(fi?
;)))(nigeb、naPnuL-reti(+)(nigeb、poP(*=gniRTSgnirts???
;32%)(dnar=1dnrtni?
?if(STRing[rnd1]=="0"){
???
;'1'=]1dnr[gniRTS?
}
?
{esle?
;"0"=]1dnr[gniRTS?
?}
?SubPop、push_back(STRing);
break;
}??}?//
;ldne"noitatuM<tuoc?}//EvaluationOperationvoidGA::Evaluat(yī)ion(boolflag){
;))LLUN(emit(dnars?
;)(raelc、poP?
;)(tinI(lǐng)_AG?
;)galf(eulaV_emertxE?
;)0,galf(yalpsiD?*/
/*;))LLUN(emit(dnars?for(inti=1;i=Num_Iteration;++i){
;)galf(noitarepO_naPnuL??//for(vectordouble::iteratoriter=LunPan、begin();iter!=LunPan、end();++iter){
//
;ldne<reti*tuoc??//}
for(intj=0;jNum_Population;j++){
?
/*srand(time(NULL));*/
??
;)00001%)(dnar(*1000、0=dnrelbuod?//?
;ldnednr<tuoc?
?
{)mP<dnr(fi????Mutat(yī)ion_Operat(yī)ion();
//??
;ldne<noitatuM"tuoc?}???
else{
??
{))mP+cP(dnr(fi?
?
?++j;
?
?
;)(noitarepO_revossorC?
?
?//
;ldne<revossorC"<tuoc?
?}
?
{esle??
?
;)(noitarepO_tceleS????//
;ldne<<"noitceleS"tuoc?
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《知識(shí)產(chǎn)權(quán)前沿問(wèn)題》課件
- 《支氣管哮喘防治》課件
- 地理(河南)-【八省聯(lián)考】河南、山西、陜西、內(nèi)蒙古、四川、云南、寧夏、青海八省2025年高考綜合改革適應(yīng)性演練
- 《對(duì)標(biāo)管理咨詢》課件
- 人教版八年級(jí)上冊(cè)地理第2章《中國(guó)的自然環(huán)境》教案
- 小學(xué)數(shù)學(xué)二年級(jí)數(shù)學(xué)加減法練習(xí)題
- 一模閱卷語(yǔ)知作文評(píng)分說(shuō)明南京市一模閱卷語(yǔ)知閱讀評(píng)分細(xì)則
- 上杭一中屆模擬試卷語(yǔ)文試題
- 寵物用品設(shè)計(jì)師職位概述
- 促進(jìn)學(xué)生學(xué)業(yè)成績(jī)提高的班級(jí)計(jì)劃
- 車間現(xiàn)場(chǎng)安全培訓(xùn)內(nèi)容課件參考
- 油藏工程-油藏物質(zhì)平衡方法-1課件
- 三上書法《撇》教學(xué)課件
- 河北省廊坊市藥品零售藥店企業(yè)藥房名單目錄
- 超星爾雅學(xué)習(xí)通《三國(guó)志導(dǎo)讀》章節(jié)測(cè)試(含答案)
- 簡(jiǎn)單的個(gè)人原因辭職報(bào)告(通用17篇)
- 交響曲欣賞-完整版PPT
- 公司軟件銷售管理制度
- micro810可編程控制器用戶手冊(cè)
- CVC導(dǎo)管維護(hù)技術(shù)評(píng)分標(biāo)準(zhǔn)
- 東風(fēng)7C型(DF7C)內(nèi)燃機(jī)車
評(píng)論
0/150
提交評(píng)論