版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
投影尋蹤蛙跳程序(c++)(Projectionpursuitleapfrogprocedure(c++))包括Vstdio.h>包括《時間?!卑ā洞翱凇!卑?lt;<數(shù)學(xué)?!卑?lt;<程序。"定義1/**/試驗次數(shù)ttdefineG100/*混合迭代次數(shù)*/定義P100/**/個體總數(shù)定義m10/**/族群數(shù)定義我10/**/10因此,一個族群中的個體數(shù)是定義V10/**/個體維數(shù)定義N10/**/族群內(nèi)更新次數(shù)#定義最大1#定義通用12#定義GNV//雙DMAX=10;/*蛙跳的最大值*///雙drain=0.4;/*蛙跳的最大值*/intII、12、13、14,II,III,IA,16,17,國旗;int偉志[P];//分組時起始位置;intbanj=l;〃鄰域半徑;doublenongchangtgm][gn]={209.99,7264769,52.054525,3793349,905658,11799682,227.94,3757344,34595.786,1166437,18.59,1441043,16.75009,536807,85190,3938662,23.79,180016,77517.106,156845,21.41,1592999,11.232336,396336,19779,3997471,16.40,193343,74404.437,186566,49.39,1623252,27.720342,564935,42154,2885713,29.48,400505,32866.005,276422,125.23,1344442,45.918827,690033,74544,969431,44.55,587015,10735.782,177721,102.89,1425515,39.685307,619805,81930,587346,29.88,324571,13854.748,106836,51.63,767347,39.581571,285020,33270,426575,20.80,283468,14862.425,81257,49.63,600216,44.138443,429643,70154,309739,16,12,269275,12093.814,78590,36.42,626843,48.930274,415354,78681,195783,26.90,263852,17211.505,85776,34.51,585226,36.474114,434168,39537,473480,14.68,198431,16958.157,65928,46.57,224369,48.286974,161042,33019,105294,11.60,126341,4817.8871,58150,54.77,251990,56.305806,234607,2400,20767,16.43,107011,4600.8764,39027};//doublenongchang[gm][gn]={0.156,0.133,0.146,//0.157,0.123,0.123,//0.159,0,163,0.033};雙TYZLGM]={0,0,0};雙市泰澤=0;doubleyueshul=10;雙nongchanggy[通用][腎炎];雙nongchangmax[GN];雙nongchangmin[GN];在E=0;〃電荷;intb=0;〃電荷:doubleD=MAX/10;/*蛙跳的最大值*/doubleC5=0.0;〃隨機分組intEl=0;〃是否自適應(yīng)求慣性及自學(xué)習(xí)因子doubleC3=0.0;〃慣性學(xué)習(xí)參數(shù)doubleC4=0.0;〃自學(xué)習(xí)參數(shù)doublePrecision=5;〃達(dá)優(yōu)精度intE2=0;〃是否輪轉(zhuǎn)1轉(zhuǎn)0不轉(zhuǎn)intlzcs=3;〃輪轉(zhuǎn)層次;雙C1—2.05;雙C2=1;〃基本算法參數(shù)doubleXM;雙XD;國際try_number=0;〃最差例子自學(xué)習(xí)次數(shù)//雙C=1;〃加速因子國際trymax=5;doublehelih=0.0;雙stepmax=最大/16;雙步;doublestepmin=0.002;#定義R((雙)(rand()%randmax)/randmax)//1/randmax0T之間的隨機數(shù),精度為//#定義RIrandO%100/100靜態(tài)int;雙n=3.14159265358979;雙公差=00000000000000001//收斂精度;雙C3=0.03;〃擾動幅度雙£=2.718281828459;〃自然對數(shù)底數(shù)int=5;intbz=O;〃擾動因子標(biāo)志雙AW[V];intfztop[M];〃統(tǒng)計極值來自分組的情況國際randpop[M][我];〃隨機流行typedefstruct{雙D[V];雙適應(yīng);int型;}個人;typedefstruct{雙H[V];}合力;typedefstruct{intTF;在CS;愉;dydayouLS];每個PW[M];/**/族群中個體最差位置每個鉛[M];/**/族群中個體最好位置Individalpx;/*全體中歷史最好位置*/個人全體中最好位置PX1;/**/個人全體中最壞位置PW0;/**/每個個體[P];/**/全部個體Individalindividualrz[P];/*個體歷史最優(yōu)值*/個人單獨[P];/**/鄰域歷史最優(yōu)值每個流行[M][我];/**/排序后的群組個人臨時[P];每個寺廟[P];個人臨時性[M].;Individaltempi[I];單個的TEM;個人把;個體、X-[的];/**/計算標(biāo)準(zhǔn)差合力FW;/**/合力/*歸一化處理*/無效guiyi()(intpmax,pmin,i,j;對于(j=0;j<GN;j++){Pmax=0;Pmin=0;對于(i=1;i<;GM;++)i如果(nongchang[Pmax][J]<nongchang[我][J])Pmax=我;if(nongchangLpmin][j]>nongchangLi][j])pmin=i;)nongchangmax[J]nongchangPmax=[][J];nongchangmin[J]nongchangPmin=[][J];)對于(i=0;i<;GM;++)對于(j=0;j<GN;j++)如果(j=0)nongchanggy[我][J]=(nongchangmax[J]-nongchang[我][J])/(nongchangmax[J]-nongchangmin[J]);其他的nongchanggy[我][J]=(nongchang[我][J]-nongchangmin[J])/(nongchangmax[J]-nongchangmin[J]);/*(i=0;i〈通用;++)對于(j=0;j<GN;j++)printf("虬4F,nongchanggy[我][J]);printf("\n");)getchar();*/)選擇測試函數(shù)為球/**/雙適應(yīng)(雙[口])Iinti,j,堤;雙和=0;雙語=0;雙S1=0,Hl=1,H2=0;雙XI[V+1];doublerij;雙酪氨酸;對于(i=0;i<v;++){[我];)為(i=0;i〈通用;i++)TYZ[我]=0;對于(i=0;i<;GM;++)I對于(j=0;jv;j+)TYZ[我]=TYZ[我]+XI[J]*nongchanggy[我][J];)對于(i=0;i<;GM;++)金額=金額+TYZ[我];市泰澤=金額/總經(jīng)理;//printf("%。4f**\n",getchar()總和);//printf(u%o4f**\n",市泰澤TYZ[0]);getchar();//printf("%.4f**,%.4f**,%.4f**\n",tyze,tyz[O],tyz[l])jgetchar0;對于(i=0;i<;GM;++)語=語+戰(zhàn)俘((TYZ[我]-市泰澤),2);tysz=SQRT(戰(zhàn)俘(suml,2)/(GM-1));Tyr=0.1*tysz;sum=0.0;suml=0.0;對于(i=0;i<;GM;++)I總和=0;對于(j=0;j;(rij=fabs(tyz[i]-tyz[j]);if((tyr-rij)<0)堤=0;其他的堤二1;sum=sum+(tyr-rij)*tyi;)語語+筆=;)//printf(u%o4f**\n",getchar()語);returntysz*suml;//(i—0;i;〃求和;//printf(X3f\n%.3f\n%.3f\n%.3f\n%.3faaaaaaaaaaaaaaaaaa",xl[0],xl[1],xl⑵,xl[3],xl[4],sum);getchar();/返回總和;)對每一個個體初始化/**/無效()int,j;doublesum4=0.0;srand((unsigned)時間(空));對于(i=0;i<p;++)(對于(j=0;jv;j+){個人的[我],[J]=R*(MAX-MIN)+min;}sum4=0;對于(j=0;jv;j+)sum4=sum4+個人[我],[J]*個人[我]和[J];sum4=SQRT(sum4);對于(j=0;jv;j個人的[我],[J]=個人[我],[J]/sum4;個體[我];個人[我]RZ=我;temp[i],rz=i;寺廟[我]RZ=我;//printf(//%.8f%.8f%.8f%.8f\n”,individual[i].d[0],individual[i].d[l],individual[i].d[2],individual[i].fitness);getchar();)為(i=0;i<P;i++)individualrz[我]=個人[我];個人=0;pxl=individual[0];PWO=個人[1];//******//******按照適應(yīng)度降序?qū)θ總€體進(jìn)行排序和族群劃分/**/無效randswap()int,j;偉志[0]=(int)(RM);對于(i=1;i;m;i+)(偉志[我]=(int)(RM);對于(j=0;j〈i;j++)if(weizhi[i]==weizhi[j])(偉志[我]=(int)(RM);J=l;對于(i=0;i<p;++)//printf("%d",偉志[我]);〃如果((i+1)%10==0)printf("\n");)//getchar();}voidsort()iint,j,k;對于(i=1;i<p;++)Ifor(j=0;j<P-i;j++)如果(個體)j(Do個體=j;單個[j+1];個體[J=1];}))k=0;/*按照規(guī)則分組*///printf(“%d”,威志);對于(i=0;i<i;++)(if(C5==l)randswap();對于(j=0;j;m;j++)if(C5==l)popLweizhi[j]]Li]=individual[k];其他流行音樂[個人];鉀+;))如果(健身〈個人[0]o健身)個人=0;PX1=個人[0];對于(i=0;i;m;i+)iPB[POP][我]0;PW[我]=流行[我][?];))隨機交換若干分組同一級別的青蛙/**/對某個群組中的個體進(jìn)行重新排序/**/無效sortpop(b)int,j;對于(i=l;i<i;++)[對于(j=0;j<我;J++)(如果(流行音樂),健身〈流行音樂[J+1]{波普;流行[流行音樂]=流行音樂[J+1];流行音樂[J+1]=透射電鏡;群組內(nèi)更新/**/無效update(){int,j,k,1,n;雙A;雙B;doublesum4=0.0;XM-C1+C1;XD=2/晶圓廠(2-xm-sqrt(戰(zhàn)俘(XM,2)-4XXm));如果(El=l)IC3=0.4+(0.9-0.4)*((雙)(g)-(雙)(12))/(雙)(G);C4=0.4+(0.9-0.4)*((double)(G)-(double)(i2))/(double)(G);對于(n=0;n<n;n++)對于(i=0;i;m;i+)a=0;b=0;對于(j=0;jv;j+)(temp[pw[i].rz].d[j]=B*aw[j]+C3*R*tempi[pw[i].rz].d[j]+C2*R*(pb[i].d[j]-pw[i].d[j])+C4*R*(individuallyLi].d[j]-pw[i].d[j]);)對于(j=0;jv;j+)【PW模板[我]。制],[J]=溫度[密碼[我]。制]D[J];對于(j=0;jv;j+)!臨時[密碼[我]。制],[J]+=PW[我]和[J];if(temp[pwLi],rz].d[j]<0)tempLpw[i].rz].d[j]==0;sum4=0.0;對于(j=0;jv;j+)sum4=sum4+溫度[密碼[我]。RZ]D[J]*溫度[密碼[我制]D[J];sum4=SQRT(sum4);對于(j=0;jv;j+)臨時[密碼[我]。制],[J]=溫度[密碼[我]。制],[J]/sum4;//printf("%。If%oIf%oIf%oIF",溫度[密碼[我]。制],[0],[我][私服溫度。制],[1],[我][私服溫度。制],[2],臨時[密碼[我]。制]和[3]);//printf("%.If”,temp[pw[i].rz].D[4]);getchar();//printfC%.3fandtemp[pw[i].rz].dL0]*temp[pw[i].rz].dL0]+tempLpw[i].rz].d[1]*temp[pw[i].rz].d[l]+tempLpw[i].rz].d[2]*temp[pw[i].rz].d[2]+temp[pw[i].rz].d[3]*temp[pw[i].rz].d[3]+temp[pw[i].rz].d[4]*temp[pw[i].rz].d[4]);(getchar);A=fitness(tempLpw[i].rz].d);//printf("a%.3f",a);(getchar);TempEpwLi].rz].fitness=a;If(a>pw[i].fitness)IPop[i]Ll-1]=temp[pw[i].rz];SortPop(I);Pb[i]=pop[i][0];Pw[i]=pop[i][1-1];)Else//logoIFor(k=0;k<V;k++)Temp[pw[i].rz].d[k]=B*aw[k]+C3*R*templ[pw[i].rz].d[k]+C2*R*(pxl.d[k]-pw[i].d[k])+C4*R*(individually[i].d[k]-pw[i].d[k]);Printf("%.If%.If%.If"%.If"temp[pw[i].rz].d[0],tempEpwLi].rz].d[1],temp[pw[i].rz].d[2],tempLpw[i].rz].d[3]);//printf(%.If,temp[pw[i].rz].d[4]);(getchar);//printfC%.3fandffff\n”,temp[pw[i].rz].d[O]*temp[pw[i].rz].d[O]+temp[pw[i].rz].d[1]*temp[pw[i].rz].d[l]+temp[pw[i].rz].d⑵*temp[pw[i].rz].d[2]+temp[pw[i].rz].d[3]*temp[pw[i].rz].d[3]+temp[pw[i].rz].d[41*tempLpw[i].rz].d[4]);(getchar);For(j=0;j<V;j++)Tempi[pw[i].rz].d[j]=temp[pw[i].rz].d[j];For(j=0;j<V;j++)(Temp[pw[i].rz].d[j]+=pw[i].d[j];If(temp[pw[i].rz].d[j]<0)temp[pw[i].rz].d[j]=O;Sum4=0.0;For(j=0;j<V;j++)Sum4=sum4+temp[pw[i].rz].d[j]*temp[pw[i].rz].d[j];Sum4=sqrt(sum4);For(j=0;j<V;j++)Temp[pw[i].rz].d[j]-temp[pw[i].rz].d[j]/sum4;A=fitness(temp[pw[i].rz].d);Temp[pw[i].rz].fitness=a;If(a>pw[i].fitness){Pop[i][I-l]=temp[pw[i].rz];SortPop(I);Pb[i]=pop[i][0];Pw[i]=pop[i][1-1];)Else{//////Flag-0;
If(flag==O)For(1=0;1<V;1++)[Pop[i][I-l].d[l]=R*(MAX-MIN)+MIN;)Sum4=0.0;For(1=0;1<V;1++)Sum4=sum4+pop[i][1-1].d[l]*pop[i][1-1].d[l];Sum4=sqrt(sum4);對于(1=0;1v;1+)流行的[我][?]。D[1]=流行[我][?],[我]/sum4;〃如果(岳叔(臨時[密碼][我]。RZoD)<yueshul){//yueshul=月舒(臨時[密碼][我]。R。D);流行的[我]健身=健身(流行[我]oD);sortpop(我);PB[POP][我]0;PW[我]=流行[我][?];))}//////})三=0;對于(ii=0;;ii;m;ii++)I如果(PB)。三=II;如果(健身)PX=PB[iii];fztop[III]=fztop[III]+1;}如果(PXlo健身〈鉛[HI]。健身)[PX1=鉛[皿;/*將流行[M][我]復(fù)制到個人*/無效copy()[inti,j,JI,K;我=0;對于(j=0;j;m;j++)對于(k=0;k<i;k++)個人[POP];++;)}//獲得個體歷史極值;對于(i=0;i<p;++)對于(j=0;jP;j++)如果(個人[我RZ==individualrz[J]。RZ)如果(個人[我健身<individualrz[J]。健身)(individualrz[j]=individual[i];個別[個別];//獲得個體鄰域極值;為(i=1;i<P-1;i++)為(J=i-banj;J〈我+銀行+1;j++)(if(individually[i].fitness<individualrz[(j+P)%P].fitness);單獨的[我]=individualrz[J].;))無效report()Iint,j;雙2=0;*文件f=fopen(“結(jié)果(綜合SFLA).txt"、"W”);printf("試驗最好值為%.3f\n\n",px.fitness);fprintf(f,"試驗最好值為%.3f\n”,px.fitness);fprintf(F,“投影向量是\n");為(i=0;iprintf(“%3f\n”,px.d[i]);fprintf(F,“%。6樓”,PX。D[我]);}(i=0;i<v;++)//2=2+PX。D[我]*PX。D[我];fprintf(F,uaaaaaaa\n");//printf("和是%。3f\n\n”,PX。健身);//printf("和是%。3f\n",2);為(i=0;i〈通用;i++)TYZ[我]=0;對于(i=0;i<;GM;++)I對于(j=0;jv;j+)TYZ[我]=TYZ[我]+PXoD[J]*nongchanggy[我][J];printf("第%d個是機3f\n”,我+1,TYZ[我]);fprintf(F,“%。6樓",TYZ[我]);雙sigma()IntJ;雙f=O;doublefitness_avg=O.0;對于(j=0;jS;j++)I//printf("極值e為%16f\n”,temx[j].fitness);fitness_avg=fitness_avg+temx[j].fitness;}fitness_avg=fitness_avg/s;printf("平均值為%.16f\n”,fitness_avg);//printfC%d極值e為%.16f\n”,j,temx[j].fitness);for(j=0,j<s;j++)f-f+fabs(temx[j].fitness-fitness_avg)*fabs(temx[j].fitness-fitness_avg);//printf("極值e為%.16f\n",(f);f=sqrt(f/(s-1));returnf;)voidmain(){clock_tstartthan;doubletj[s+1][g+1];doubletj2[s+1];doubleave,avel,sigmax;intdymin,dymax,dycount=0,dysum=0,dyes=0;for(i=0;0<s;i++){dayou[il].tf=0;dayou[il].cs=0;}file*f=fopen("result(綜合sfla).txt","w");ave=0.0;start=clock();guiyi();for(i=0;0<s;il++)(practice();tj2[i1]=px.fitness;//for(i7=0;i7<s;i7++)avel=avel+px.fitness;//fprintf(f,"迭代0次試驗30次平均極值為%.16f\n",avel/s);for(i2=0;p<g;i2++)iblack();update();copy();if(px.fitness<precision){dayou[i1].tf=1;dayou[il].cs=i2;//break;tj[i1][i2]=px.fitness;}report();temx[i1]=px;ave=ave+px.fitness;)ave=ave/s;than=clock();//固定次數(shù)printf("**************************[[)sigmax=sigma();//printf("平均極值為\n%.16f\ncompleted!,z,ave);printf("30次試驗標(biāo)準(zhǔn)差為%.16e\n”,sigmax);printf(“30次試驗平均運行時間=%.2fseconds\n”(double)(start)/(s*(double)clocks_per_sec));printf("30次試驗的平均極值為的16e\n",ave);for(ia=0;ia<m;ia++)printf("%d"n",fztop[ia]);getchar();// fprintf (f, "30次試驗平均極值為%.6e\n",ave);// fprintf (f, “30次試驗標(biāo)準(zhǔn)差為%.6e\n",sigmax);// fprintf (f, “30次試驗平均運行時間=%.2
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年新教材高中化學(xué)專題8有機化合物的獲得與應(yīng)用第2單元第5課時蛋白質(zhì)和氨基酸教案蘇教版必修2
- 戰(zhàn)斗地形分析報告范文
- 2025路基施工合同公司版
- 2025年廣州貨運從業(yè)資格證摸擬考試試題答案解析
- 2025保管合同書范文
- 2025年佛山道路客貨運輸從業(yè)資格證b2考試題庫
- 2025年昌吉道路運輸從業(yè)資格考試系統(tǒng)
- 2025年綿陽b2貨運資格證模擬考試
- 2025年內(nèi)蒙古貨運資格證題庫在線練習(xí)
- 無線通訊發(fā)射天線行業(yè)深度研究報告
- 江蘇省鹽城市大豐區(qū)部分學(xué)校2024-2025學(xué)年九年級上學(xué)期12月調(diào)研考試化學(xué)試題(含答案)
- 《上課用的小動物過冬》課件
- 2024版建筑工程設(shè)計居間協(xié)議3篇
- 醫(yī)學(xué)教程 梅毒
- 貴州省銅仁市2023-2024學(xué)年高二上學(xué)期期末質(zhì)量監(jiān)測試題 地理 含答案
- 人教版(2024新版)七年級上冊數(shù)學(xué)全冊重點知識點講義
- 維修電工題庫(300道)
- 地球歷史及其生命的奧秘學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 創(chuàng)意攝影智慧樹知到期末考試答案章節(jié)答案2024年哈爾濱師范大學(xué)
- 大學(xué)體育理論(山東聯(lián)盟)智慧樹知到期末考試答案章節(jié)答案2024年泰山學(xué)院
- 2023~2024學(xué)年二年級下冊語文期末??荚嚲怼?chuàng)意情境 統(tǒng)編版
評論
0/150
提交評論