




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí) 驗(yàn) 一專心-專注-專業(yè)遼寧科技大學(xué) 理 學(xué)院(系) 2010 年 月 日課名:遺傳算法題目:隨機(jī)函數(shù)與函數(shù)調(diào)用班級:姓名:學(xué)號:機(jī)臺號:同組人: 任課教師:熊 焱實(shí)驗(yàn)?zāi)康模?. 掌握隨機(jī)數(shù)的生成函數(shù)2. 熟悉函數(shù)調(diào)用的基本操作實(shí)驗(yàn)內(nèi)容及步驟:內(nèi)容:利用隨機(jī)函數(shù)生成 1,10 和 0,1 內(nèi)隨機(jī)數(shù)各個; 編寫數(shù)組作為參量的函數(shù)調(diào)用程序條件:調(diào)用函數(shù)關(guān)系自己選定(如: ),數(shù)組取為實(shí)型 要求:生成隨機(jī)數(shù)之后屏幕顯示出來;數(shù)組、函數(shù)關(guān)系、函數(shù)值顯示在屏幕上。程序:#include <stdio.h>#include<stdlib.h>void m
2、ain() float e5;int d5; int j,x;float y,z;for(j=0;j<5;j+)dj=1+(int)(10.0*rand()/(RAND_MAX+1.0);printf(" %d ",dj);printf("n");for(j=0;j<5;j+)ej=rand()/(RAND_MAX+1.0);printf(" %.2f ",ej); printf("n"); for(j=0;j<5;j+)x=dj;y=ej; z=x*x+y*y*y+x*y;printf(&quo
3、t; %.2f ",z); printf("n"); printf("x*x+y*y*y+x*yn");實(shí) 驗(yàn)二遼寧科技大學(xué) 理 學(xué)院(系) 2010 年 月 日課名:遺傳算法題目:編碼、解碼班級:姓名:學(xué)號:機(jī)臺號:同組人: 任課教師:熊 焱實(shí)驗(yàn)?zāi)康模?. 掌握二進(jìn)制數(shù)與十進(jìn)制數(shù)的相互轉(zhuǎn)化2. 熟悉不同劃分長度下的二進(jìn)制與十進(jìn)制的轉(zhuǎn)化操作實(shí)驗(yàn)內(nèi)容及步驟:內(nèi)容:將十進(jìn)制數(shù)轉(zhuǎn)化為指定長度下的二進(jìn)制數(shù) 將二進(jìn)制數(shù)轉(zhuǎn)化為指定長度下的十進(jìn)制數(shù)條件:利用函數(shù)調(diào)用的方法編寫程序,長度設(shè)為輸入量(可調(diào)節(jié)),十進(jìn)制數(shù)為單變量實(shí)型、二進(jìn)制數(shù)存為數(shù)組(每個數(shù)組單元
4、存儲一位);要求:轉(zhuǎn)換結(jié)果屏幕輸出。#include <stdio.h>#include <math.h>void sje(int n,int m) int x=0,a100=0; while(n) ax+=n%2;n/=2; while(m>0) m-; printf("%d",am); void ejs(int *a,int x) int sum=0;while(x>0)x-;sum+=ax*pow(2.0,x);printf("%dn",sum);void main()int m,n,x,a100;int i;p
5、rintf("請輸入轉(zhuǎn)換的數(shù):n"); scanf("%d",&n);printf("請輸入要轉(zhuǎn)化在長度:n");scanf("%d",&m);sje(n,m);printf("n");printf("請輸入轉(zhuǎn)換的二進(jìn)制數(shù)長度:n");scanf("%d",&x);printf("請輸入轉(zhuǎn)換的二進(jìn)制數(shù):n");for(i=x-1;i>=0;i-)scanf("%d",&ai);e
6、js(a,x);實(shí) 驗(yàn) 三遼寧鞍山科技大學(xué) 理 學(xué)院(系) 2010 年 月 日課名:遺傳算法題目:初始種群班級:姓名:學(xué)號:機(jī)臺號:同組人: 任課教師:熊 焱實(shí)驗(yàn)?zāi)康模赫莆粘跏既后w的生成過程實(shí)驗(yàn)內(nèi)容及步驟:內(nèi)容:生成二進(jìn)制編碼下的初始種群。條件:個體范圍給定,種群規(guī)模設(shè)為變量(可調(diào)節(jié))。要求:屏幕顯示所生成的初始群體#include <stdio.h>#include<conio.h>#include<stdlib.h>int random()return rand()%100;void sje(int n,int m) int x=0,a100=0; w
7、hile(n) ax+=n%2;n/=2; while(m>0) m-; printf("%d",am); void main()int x,y=0;printf("種群規(guī)模:n");scanf("%d",&x);while(y<x)sje(random(),8);printf("n");y+;實(shí) 驗(yàn) 四鞍山科技大學(xué) 理 學(xué)院(系) 2010 年 月 日課名:遺傳算法題目:選擇算子班級:姓名:學(xué)號:機(jī)臺號:同組人:任課教師:熊 焱實(shí)驗(yàn)?zāi)康模赫莆蛰啽P賭選擇算子實(shí)驗(yàn)內(nèi)容及步驟:內(nèi)容:編寫二進(jìn)制編碼下
8、的輪盤賭選擇算子程序。條件:延用前次實(shí)驗(yàn)所生成的初始種群和群體規(guī)模。要求:屏幕顯示選擇算子操作后的結(jié)果。#include<iostream>#include<stdlib.h>#include<time.h>using namespace std;int Rand_a(int n)return rand()%n+1;int main()int N;cout<<"請輸入種群大小:"<<endl;cin>>N;int *syd=new intN;int *lsyd=new intN;int i;int n;
9、int p=0;int *a=new intN;cout<<"請輸入適應(yīng)度:"<<endl;for(i=0;i<N;i+)cin>>sydi;lsyd0=syd0;for(i=1;i<10;i+)lsydi=lsydi-1+sydi;cout<<"其適應(yīng)度和累積適應(yīng)度如下:"<<endl;for(i=0;i<N;i+)cout<<i+1<<"t"cout<<endl;for(i=0;i<N;i+)cout<&l
10、t;sydi<<"t"cout<<endl;for(i=0;i<N;i+)cout<<lsydi<<"t"cout<<endl;srand(unsigned int)time(NULL);for(i=0;i<N;i+)ai=Rand_a(lsydN-1);cout<<"隨機(jī)數(shù)如下:"<<endl;for(i=0;i<N;i+)cout<<ai<<"t"cout<<endl;cou
11、t<<"被選中的個體號如下:"<<endl;while(p<N)for(i=0;i<N;i+)if(lsydi>ap)cout<<i+1<<"t"break;p+;cout<<endl;return 0;實(shí) 驗(yàn) 五遼寧鞍山科技大學(xué) 理 學(xué)院(系) 2010 年 月 日課名:遺傳算法題目:單點(diǎn)交叉算子班級:姓名:學(xué)號:機(jī)臺號:同組人: 任課教師:熊 焱實(shí)驗(yàn)?zāi)康模赫莆諉吸c(diǎn)交叉算子實(shí)驗(yàn)內(nèi)容及步驟:內(nèi)容:編寫二進(jìn)制編碼下的單點(diǎn)交叉算子程序。條件:延用前次實(shí)驗(yàn)所生成的種群和群體規(guī)模。要求
12、:屏幕顯示交叉算子操作后的結(jié)果。 #include<iostream>#include<stdlib.h>#include<time.h>using namespace std;void fun(int *a,int n)int i=0;while(n!=0)ai=n%2;n=n/2;i+;void f(int model,int *num)int num1,num2,shu=0,k=0;while(k!=model)num1=rand()%(model+1);if(k=0&&num1!=0)numk+=num1;elsefor(int i=
13、0;i<k;i+)if(num1=numi|num1=0)shu=num1;if(shu!=num1)numk+=num1;elsecontinue;num2=rand()%(model+1);for(int j=0;j<k;j+)if(num2=numj|num2=0)k-;break;if(k%2=0|num1=0)continue;numk+=num2;void JC(int *a,int *b,double *c,int N,double p)for(int i=0;i<N;i=i+2)int p1,p2;p1=bi-1,p2=bi+1-1;if(ci<p|ci
14、+1<p)int n=rand()%7+1;cout<<"("<<p1+1<<","<<p2+1<<")"<<"在"cout<<" "<<n<<" 交叉"<<endl;for(int i=0;i<n;i+)int t;t=ap1i;ap1i=ap2i;ap2i=t;int main()int N;int n;double p=0.6;int i,
15、j;cout<<"請輸入種群規(guī)模:"<<endl;cin>>N;int *a=new int8;for(i=0;i<8;i+)ai=0;int *b;b=new int*N;for(i=0;i<N;i+)bi=new int8;double *c=new doubleN;int *d=new intN;srand(unsigned int)time(NULL);for(i=0;i<N;i+)n=rand()%100+1;fun(a,n);for(j=0;j<8;j+)bij=aj;aj=0;cout<<
16、endl<<"初始種群如下:"<<endl;for(i=0;i<N;i+)for(j=7;j>=0;j-)cout<<bij;cout<<endl;cout<<endl;int *as=new intN;f(N,as);cout<<"配對結(jié)果如下"<<endl;for(i=0;i<N;i=i+2)cout<<"("<<asi<<","<<asi+1<<&q
17、uot;)"<<endl;cout<<endl;for(i=0;i<N;i+)ci=rand()%1000*1.0/1000;cout<<"隨機(jī)數(shù)如下:"<<endl;for(i=0;i<N;i+)cout<<ci<<endl;JC(b,as,c,N,p);cout<<"交叉結(jié)果如下:"<<endl;for(i=0;i<N;i+)for(j=7;j>=0;j-)cout<<bij;cout<<endl;
18、return 0; 實(shí) 驗(yàn) 六遼寧鞍山科技大學(xué) 理 學(xué)院(系) 2010 年 月 日課名:遺傳算法題目:單點(diǎn)變異算子班級:姓名:學(xué)號:機(jī)臺號:同組人: 任課教師:熊 焱實(shí)驗(yàn)?zāi)康模赫莆諉吸c(diǎn)變異算子實(shí)驗(yàn)內(nèi)容及步驟:內(nèi)容:編寫二進(jìn)制編碼下的單點(diǎn)變異算子程序。條件:延用前次實(shí)驗(yàn)所生成的種群和群體規(guī)模。要求:屏幕顯示變異算子操作后的結(jié)果。#include<iostream>#include<stdlib.h>#include<time.h>using namespace std;void fun(int *a,int n)int i=0;while(n!=0)ai=n
19、%2;n=n/2;i+;int main()int N;int n;double p=0.5;int i,j;cout<<"請輸入種群規(guī)模:"<<endl;cin>>N;int *a=new int8;for(i=0;i<8;i+)ai=0;int *b;b=new int*N;for(i=0;i<N;i+)bi=new int8;double *c;c=new double*N;for(i=0;i<N;i+)ci=new double8;srand(unsigned int)time(NULL);for(i=0;i&l
20、t;N;i+)n=rand()%100+1;fun(a,n);for(j=0;j<8;j+)bij=aj;aj=0;cout<<"初始種群如下:"<<endl;for(i=0;i<N;i+)for(j=7;j>=0;j-)cout<<bij;cout<<endl;cout<<endl;for(i=0;i<N;i+)for(j=7;j>=0;j-)cij=rand()%1000*1.0/1000;cout<<"隨機(jī)數(shù)是:"<<endl;for(
21、i=0;i<N;i+)for(j=7;j>=0;j-)cout<<cij<<" "cout<<endl;cout<<endl;for(i=0;i<N;i+)for(j=7;j>=0;j-)if(cij<p)bij=(bij=0?1:0);cout<<"變異結(jié)果如下:"<<endl;for(i=0;i<N;i+)for(j=7;j>=0;j-)cout<<bij;cout<<endl;return 0;實(shí) 驗(yàn) 七遼寧鞍山
22、科技大學(xué) 理 學(xué)院(系) 2010 年 月 日課名:遺傳算法題目:綜合試驗(yàn)班級:姓名:學(xué)號:機(jī)臺號:同組人: 任課教師:熊 焱實(shí)驗(yàn)?zāi)康模?. 掌握基本遺傳算法操作;2. 針對實(shí)際問題學(xué)會利用遺傳算法、選用適合的遺傳參數(shù)求解。實(shí)驗(yàn)內(nèi)容及步驟:內(nèi)容:編寫二進(jìn)制編碼下的基本遺傳算法解決實(shí)際問題。條件:實(shí)際求解問題可以選為實(shí)數(shù)變量的最優(yōu)化問題,也可以選為10個城市的TSP(旅行商)問題,遺傳參數(shù)自選。要求:屏幕顯示相關(guān)運(yùn)行結(jié)果。#include<iostream>#include<stdlib.h>#include<time.h>using namespace st
23、d;const int N=1000; /最大代數(shù)const double Pc=0.9; /交叉概率const double Pm=0.1; /變異概率int CityToCity1010=0,118,1272,2567,1653,2097,1425,1177,3947,1574,118,0,1253,2511,1633,2077,1369,1157,3961,1518,1272,1253,0,1462,380,1490,821,856,3660,385,2567,2511,1462,0,922,2335,1562,2165,3995,933,1653,1633,380,922,0,1700
24、,1041,1135,3870,456,2097,2077,1490,2335,1700,0,2311,920,2170,1920,1425,1369,821,1562,1041,2311,0,1420,4290,626,1177,1157,856,2165,1135,920,1420,0,2870,1290,3947,3961,3660,3995,3870,2170,4290,2870,0,4090,1574,1518,385,993,456,1920,626,1290,4090,0;int Max(int *f,int *k)int max=f0;for(int i=1;i<100;
25、i+)if(max<fi)max=fi;*k=i;return max;int Min(int *f,int *k)int min=f0;for(int i=1;i<100;i+)if(min>fi)min=fi;*k=i;return min;void convert(int pos1,int pos2,int *so,int *dest) /交叉 int temp10;int ii = 0;int jj = 0;int kk = 0;for(ii=0;ii<10;ii+)tempii = so(ii+pos2+1)%10;for(ii=0;ii<10;ii+)
26、for(jj=pos1;jj<=pos2;jj+)if(tempii=destjj)tempii=100;break;jj = 0;ii = 0;while(jj<10)if(tempjj != 100)tempii = tempjj;ii+;jj+;for(kk=0; kk<(10-(pos2-pos1)-1); kk+)dest(kk+pos2+1)%10 = tempkk;void Rand_Pair(int num,int *result) /隨機(jī)配對int r1,r2,shu=0,k=0;while(k!=num)r1=rand()%(num+1);if(k=0&a
27、mp;&r1!=0)resultk+=r1;elsefor(int i=0;i<k;i+)if(r1=resulti|r1=0)shu=r1;if(shu!=r1)resultk+=r1;elsecontinue;r2=rand()%(num+1);for(int j=0;j<k;j+)if(r2=resultj|r2=0)k-;break;if(k%2=0|r1=0)continue;resultk+=r2;void Variation(int *a,int p) /變異int trasfs;int ii=0;int jj=0;int kk=0;for(kk=1;kk&l
28、t;=2;kk+) ii=rand()%10;jj=rand()%10;while(ii=jj) jj=rand()%10;trasfs=ajj;ajj=aii;aii=trasfs;void Primary_gen(int city10)int *a=new int10;for(int i=0;i<10;i+)ai=i;for(int j=99;j>=0;j-) /生成初代種群for(int i=9;i>=0;i-)int n = rand()%(i+1); int trsf=ai;ai=an;an=trsf;cityji=ai;cityj0=a0;int main()in
29、t recardmin10,recardmax10;int *r1,*r2;int temp=10;r1=&temp;r2=&temp;int g,i,j,k;int city10010;int gen = 0;int tt=,dai;int distance100=0; /種群中個體總距離double fitness100; /適應(yīng)度double Sum_fitness100=0.0; /累計適應(yīng)度double CrossP; /隨機(jī)產(chǎn)生的交叉概率int rand_pair100; /存放隨機(jī)配對的結(jié)果double rand_pm; /隨機(jī)產(chǎn)生的變異概率srand(unsig
30、ned int)time(NULL);Primary_gen(city);while(gen<N)for(i=0;i<100;i+)distancei=0;/選擇算子for(i=99;i>=0;i-)for(j=9;j>=1;j-)distancei+=CityToCitycityijcityij-1;distancei+=CityToCitycityi0cityi9;fitnessi=1.0/distancei;Sum_fitness99=fitness99;for(i=98;i>=0;i-)Sum_fitnessi=Sum_fitnessi+1+fitness
31、i;int mind,maxd;mind=Min(distance,r1);maxd=Max(distance,r2);for(g=9;g>=0;g-)recardming=city*r1g;recardmaxg=city*r2g;if(tt>mind)tt=mind;dai=gen+1;for(g=9;g>=0;g-)city*r2g=recardming;cout<<"第 "<<gen+1<<" 代"<<" 最短的路徑 min= "<<mind<<" max= "<<maxd<<endl;cout<<"最短路徑為:"for(g=9;g>=0;g-)cout<<recardming<<"
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院藥劑輔助人員藥品研發(fā)與知識產(chǎn)權(quán)運(yùn)營合同
- 商業(yè)廣場廣告資源與城市旅游推廣合作協(xié)議
- 虛擬現(xiàn)實(shí)技術(shù)背景下的網(wǎng)絡(luò)營銷推廣方案定制合同
- 影視配音演員全權(quán)委托及收益分成協(xié)議
- 護(hù)理教學(xué)中的人文關(guān)懷實(shí)踐
- 責(zé)任心培養(yǎng)與提升員工培訓(xùn)
- 探訪紫禁城600年
- CNAS實(shí)驗(yàn)室臺賬管理體系構(gòu)建
- 2024-2025學(xué)年高中地理每日一題周末培優(yōu)1含解析新人教版必修3
- 2024年高考?xì)v史母題題源系列專題10近現(xiàn)代中國的思想文化含解析
- GB/T 4744-2013紡織品防水性能的檢測和評價靜水壓法
- GB/T 23703.2-2010知識管理第2部分:術(shù)語
- 電網(wǎng)變電站一鍵順控改造技術(shù)規(guī)范
- 中小學(xué)學(xué)習(xí)《民法典》主題班會精品模板ppt
- 【地理】2011年高考真題-文綜地理福建卷解析版
- 企業(yè)環(huán)境保護(hù)管理制度匯編
- 暖通空調(diào)設(shè)備安裝施工重難點(diǎn)分析及解決方案
- 地鐵盾構(gòu)管片常見質(zhì)量問題分析
- 南瓜種植PPT演示課件(PPT 46頁)
- 消防維護(hù)與保養(yǎng)(通用)ppt課件
- 浙江理工大學(xué)研究生培養(yǎng)方案專家論證意見表
評論
0/150
提交評論