蟻群算法C語言程序已運行_第1頁
蟻群算法C語言程序已運行_第2頁
蟻群算法C語言程序已運行_第3頁
蟻群算法C語言程序已運行_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、/Basic Aiit Colony Algoritlun for TSP#include <iostreaiii.h>#include <fstieam.h>#include <matli.h>#include <time.h>#include <conio.h>#include <stdlib.h>#include <iomanip.h>define N 31 /city sizedefine M 31 /aiit numberdouble iiiittao=l;double taoNN;double de

2、tataoNN;double distanceNN;double yitaNN;mt tabuMN;mt routeMN;double solutionM;mt BestRoutefN;double BestSolution= 10000000000;double alfabetajoiLQ;mt NcMax;void uiitparameter(void); / initialize tlie parameters of basic ACAdouble EvalueSolution(int *a); / evaluate the solution of TSP. and calculate

3、tlie lengtli of path void InCityXY( double x, double y, chai *infile ); / input the nodes* coordmates of TSPvoid mitparameter(void) alfa=l; beta=5; rou=0.9; Q=100:NcMax=200; void main(void) mt NC=0:uutparameter();double xNJ;double yN;IiiCitvXY( x, y, Mcity31.tspH);fbi(mt i=0;i<N;i-H-)fbr(mt 尸 i+

4、1J <NJ+) distanceji=sqrt(xi 卜xj)*(xi 卜xtHWyM-yLiDTyli 卜yj); distanc eij =distance ji; calculate the heuiistic paiameteisfbr(i=O;i<N;i-H-)fbr(mt j=O;j<Nj +)taoij=inittao;yitaij=1 OO/distancei j;fbr(mt k=O;k<M;k+)fbr(i=O;i<N;i-H-)routeki=-l;srand(tune(NULL);fbr(k=O ;k<M ;k+)routek0=k

5、%N;tabu k route k 0 =1;/each ant try to find the optiamal pathdo iiit s=l;double partsum;double pper;double diand;/ant choose one whole pathwliile(s<N)fbr(k=O ;k<M ;k+)mt jrand=rand()%3000;drandjiand/3001partsum=0;ppwO;fbr(mt j=O;j<Nj +)if(tabukj=O)pailsuin+=pow(taoroutek s-1 j ,alfa)*pow(y

6、itaroutek s-lj,beta); for(j=0;j<N;j-H-) if(tabukj=O) pper+=pow(taorouteks-1 j,alfa)*pow(yitarouteks-1 j,beta)/partsum; if(pper>diaiid)break;tabukj=l;routek s=j;S+;H the pheromone is updatedfbr(i=O;i<N;i-H-)fbr(mt j=O;j<Nj +)detataoij=0;fbr(k=O ;k<M ;k+)solutionk=EvalueSolution(routek)

7、;if(solutionk<BestSolution)BestSolution=solutionk;fdi(s=O;s<NT;s+)BestRoute =iou2k;fbr(k=O ;k<M ;k+)fbr(s=O;s<N 1 ;s+)detataorouteks route k s+1 +=Q/solutionk;detatao routek N-1 route k 0+=Q/solutionk;fbr(i=O;i<N;i-H-)fbr(mt j=O;j<Nj +)tao i j =rou * tao i j +detataoi j ;if(taoij&l

8、t;0.00001)taoij=0.00001;if(taoi|j>20)taoij=20;fbr(k=O ;k<M ;k+)for(mtj=l;j<Nj+)tabu k route kj=O;routekj=-l;NC+; while(NC<NcMax);/output the calculating resultsfstream result;result.open(HoptiniaLresults.log, ios:app);if(!result)cout«Hcan*t open tlie <optiniaLresultsog> file!i

9、r;exit(O);result«H*M«endl;result«Mthe initialized paiameters of AC A are as follows:n«endl;result«,lalfa=,«alfa«i, beta=ii«beta«, rou=H«rou«, Q=H«Q«endl;result«Mthe niaxmium iteration number of ACA is:H«NcMax«endl;result

10、«Mthe shortest length of the path is:H«BestSolution«endl;result«Hthe best route is:H«endl;fbr(i=O;i<N;i-H-)result«BestRoutei«H H;result«endl;result«H*M«endl«endl;result.closeQ;cout«Hthe shortest length of the path is:M«BestSolution«endl;double EvalueSolution(int *a)double dist=O;fbi(mt i=0;i<N-l;i+)dist+=distanceai ai+1 ;dist+=distanceai a0;return dist;void InCityXY( double x, double y, chai *infile )fstream iiixyfile( mfile, ios:m | ios:nocreate );if( ?iiixyfile)c

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論