- 13
- 0
- 约7.54千字
- 约 17页
- 2023-05-19 发布于广东
- 举报
本文格式为Word版,下载可任意编辑
— PAGE \* Arabic 1 —
蚁群算法c代码
可以运行,有详细步骤说明 #include stdio.h #include cmath #include iostream #include fstream #include time.h #include cstdlib using namespace std; //下面的程序使用std const int iAntCount=34;//蚂蚁数量,一般取值原则为:城市数量 / 蚂蚁数量 = 1.5左右 const int iCityCount=51;//城市数量 const int iItCount=2000;// 迭代次数,就是探寻次数 const double Q=100; //总的信息素 const double alpha=1; //信息素重要程度 const double beta=5; //这个数越大,则蚂蚁往信息素大的地方走的概率就越大 const double rou=0.5; //环境信息素挥发速度 int besttour[iCityCount];// 最正确路径列表 double rnd(int low,double uper)// 返回指定范围内的一个随机数 { double p=(rand()/(double)RAND_MAX)*((uper)-(low))+(low); return (p); }; int rnd(int uper) //返回指定上限范围内的一个随机数 { return (rand()%uper); }; class GInfo//tsp地图信息,包含了信息素,城市距离,和信息素变化矩阵 { public: double m_dDeltTrial[iCityCount][iCityCount]; //临时保存信息素,更新环境信息素的时候使用,每只蚂蚁周游完各个城市后开始计算 double m_dTrial[iCityCount][iCityCount]; //当前环境信息素的增加 double distance[iCityCount][iCityCount]; //城市间距离 }; GInfo Map; //环境信息对象 全局变量Map class ant//定义蚂蚁类 { private: int ChooseNextCity();//选择下一个城市 double prob[iCityCount]; //未走的城市选择概率,临时变量数组,选择下一个城市的时候,保存各个城市被选中的概率值 int m_iCityCount; //记录蚂蚁已经走过的城市数目 可以运行,有详细步骤说明 int AllowedCity[iCityCount]; //城市是否选择 1=未走 0=已走 public: void addcity(int city); //添加城市号 int tabu[iCityCount]; //蚂蚁已走的城市号 void Clear();//重新初始化 void UpdateResult();//更新数据 double m_dLength; //单个蚂蚁走过的路径长度 double m_dShortest; //蚂蚁走过的最短路径长度 void move();//移动到下一个城市 ant();//蚂蚁类的构造函数 void move2last(); }; void ant::move2last()//只剩下一个城市没走过时才调用,直接移动到最终一个城市 { int i; for(i=0;iiCityCount;i++) if (AllowedCity[i]==1) //1=未走 0=已走 { addcity(i); break; } } void ant::Clear()//清空数据,蚂蚁周游完各个城市后,要重新开始周游各个城市时调用。 { m_dLength=0; int i; for(i=0; iiCityCount;i++) { prob[i]=0; AllowedCity[i]=1; i=tabu[iCityCount-1]; //用最终一个城市作为出发城市
您可能关注的文档
- 玉石翡翠的鉴赏.docx
- 新郎致答谢词.docx
- 企业年会计划方案.docx
- 13运动快慢的描述速度 上课用 .docx
- 金和OA C6产品功能清单 模块列表 .docx
- 李白唐诗中原泪.docx
- 万圣节的邀请函合集七篇.docx
- 坐观垂钓者的下一句诗句.docx
- 微博营销基本策略方法 .docx
- 一朵小花小班语言教案.docx
- 2026北京人保财险分公司校园招聘笔试考试备考试题及答案解析.docx
- 2026北京急救中心第一批招聘笔试考试备考试题及答案解析.docx
- 2026四川巴中市公安局招聘警务辅助人员47人笔试考试备考题库及答案解析.docx
- 成都实外新都五龙山学校小学部教师招聘笔试考试参考试题及答案解析.docx
- 2026北京第二外国语学院第一批非事业编制人员招聘5人笔试考试参考题库及答案解析.docx
- 2026北京海淀区清华大学生命科学学院王继纵课题组博士后招聘笔试考试参考题库及答案解析.docx
- 2026北京海淀区清华大学生命科学学院王继纵课题组博士后招聘笔试考试备考试题及答案解析.docx
- 2026北京丰台区航天科技集团低空经济总体部社会招聘笔试考试参考题库及答案解析.docx
- 2026山东事业单位统考淄博经济开发区事业单位面向大学生退役士兵综合类(专项)岗位公开招聘工作人员笔试考试参考试题及答案解析.docx
- 2026北京怀柔区琉璃庙镇等2家单位招聘事业单位人员12人笔试考试备考试题及答案解析.docx
原创力文档

文档评论(0)