下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include#include#include#include#definecitynumber5#defineQ100#definep0.5#defineNM21000#defineA1#defineB5intccdi=-l;全局变量,用在myrand()中floatmyrand()产生0-1随机数,100个,每调用一次,结果不同srand(time(0);floatmy100;ccdi+;if(ccdi=100)ccdi=0;for(intmi=0;mi100;mi+)floatfav=rand()%10000;mymi=fav/10000;returnmyccdi;ncitynumbe
2、rcitynumber,intdoublefpkij(doubleTcitynumbercitynumber,doubletabucitynumbercitynumber,intk,ints,inti,intj)定义函数用于计算Pij/doubleA=0.5,B=0.5;doublesumup,pkij,sumdown;sumdown=0;for(intaTi=0;aTicitynumber;aTi+)for(intaTj=0;aTjcitynumber;aTj+)aTaTiaTj=pow(TaTiaTj,A);for(intbni=0;bnicitynumber;bni+)for(intbn
3、j=0;bnjcitynumber;bnj+)bnbnibnj=pow(nbnibnj,B);for(intcan=0;canvcitynumber;can+)判断,除掉已经走过的城市if(can=tabukci)aTican=0;bnican=0;sumup=aTij*bnij;for(inttj=0;tjcitynumber;tj+)sumdown=aTitj*bnitj+sumdown;pkij=sumup/sumdown;returnpkij;voidmain()doublecitycitynumber2=0,1,0,2,2,2,2,4,1,3/*,3,4,4,7,2,8,3,9,1,
4、10,1,0,2,1,3,0,4,9,5,2,6,2,7,1,8,6,9,0,10,3*/;/*城市坐标*/doubledcitynumbercitynumber;Ljk是城市jtok距离for(intj=0;jcitynumber;j+)djk=sqrt(cityj0-cityk0)*(cityj0-cityk0)+(cityj1-cityk1)*(cityj1-cityk1);/coutdjk;/coutn;/*计算距离,从j城市到k城市*/*for(intcj=0;cj10;cj+)floatc=myrand();coutvvcvvvvn;*/输出随机数doublencitynumber
5、citynumber;for(intni=0;nicitynumber;ni+)for(intj=0;jcitynumber;j+)/coutn;/*初始化visibilitynij*/doubleLcitynumber;intshortestcitynumber;doubleTcitynumbercitynumber;for(intti=0;ticitynumber;ti+)for(intj=0;jcitynumber;j+)/coutTtij;/coutn;/*初始化t*/doublechangTcitynumbercitynumber;/step2:for(intNC=0;NCNM2;N
6、C+)for(intcti=0;cticitynumber;cti+)for(intj=0;jcitynumber;j+)changTctij=0;/coutchangTctij;/coutn;/*初始化changT*/inttabucitynumbercitynumber;/tabuks表示第k只蚂蚁,第s次循环所在的城市for(inti=0;icitynumber;i+)tabutaii=0;for(inttabui1=0;tabui1citynumber;tabui1+)tabutabui10=tabui1;/*for(tai=0;taicitynumber;tai+)for(inti=
7、0;icitynumber;i+)couttabutaii;coutn;*/初始化tabufor(intkk=0;kkcitynumber;kk+)Lkk=0;/第三步开始for(ints=0;scitynumber-1;s+)for(intk=0;kcitynumber;)intci,can;floatsumpk=0;floatpkij;hq2:can+;if(can=citynumber)can=0;for(ci=0;ci=s;ci+)if(can=tabukci)gotohq2;pkij=fpkij(T,n,tabu,k,s,tabuks,can);sumpk=sumpk+pkij;el
8、segotohq2;tabuks+1=can;k+;/第三步完成/*for(tai=0;taicitynumber;tai+)for(inti=0;icitynumber;i+)*/输出一个循环后的tabu/第四步开始for(intk4=0;k4citynumber;k4+)s44=s4+1;if(s44=citynumber)s44=0;Lk4+=dtabuk4s4tabuk4s44;/coutLk4;/计算Lkfloatshortestl=0;intshort2=0;最短距离for(ii=1;shorticitber;shi+)shortestl=L0;if(Lshorti=shortes
9、tl)shortestl=Lshorti;short2=shorti;/coutLsort2n;coutshort2n;for(intshoi=0;shoictynumber;shoi+)shortestshoi=tabushort2shoi;/coutshestshoi;/coutn;for(intk41=0;k41citynumber;k41+)for(ints41=0,ss=0;s41citynumber;s41+)ss=s41+1;if(ss=citynumber)ss=0;changTtabuk41s41tabuk41ss+=Q/Lk41;changTtabuk41sstabuk41s41=changTtabuk41s41tabuk41ss;/*for(intcti4=0;cti4citynumber;cti4+)for(intj=0;jcitynumber;j+)coutchangTcti4j;coutn;*/第四步完/第五步开始for(in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临沂大学《中国地理A》2021-2022学年第一学期期末试卷
- 个人门面分租合同模板
- 临沂大学《沂蒙文化与沂蒙精神》2021-2022学年第一学期期末试卷
- 合伙经营学校合同模板
- 临沂大学《信号分析与处理》2021-2022学年第一学期期末试卷
- 公司外包合同模板
- 公会邀约合同范例
- 大蒜冷库储存合同范例
- 第六单元《写作:发挥联想和想象》学案 统编版语文七年级上册
- 部编版小学语文一年级上册9 ai ei ui 教学设计
- 职工宿舍安全培训
- 工程项目承揽建设股权合作协议(居间协议)
- 2024年四川省绵阳市中考数学试题(无答案)
- 滤波器出厂试验报告
- 1.1公有制为主体+多种所有制经济共同发展课件-高中政治统编版必修二经济与社会
- 2024年中国空气净化节能灯市场调查研究报告
- 2023-2024学年北京市通州区九年级(上)期中物理试卷
- (高清版)JGJ 145-2013 混凝土结构后锚固技术规程
- 新教材人教版五年级上册《用字母表示数》(课堂PPT)
- (医学课件)术中电生理监测在面肌痉挛微血管减压术中的应用.pptx
- 非财务人员的基本财务知识培训.ppt
评论
0/150
提交评论