- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法解决TSP问题,C版(带注释)
//遗传算法解决简单TSP问题,(VC6.0)//一、定义头文件(defines.h)#ifndef DEFINES_H #define DEFINES_H///////////////////////////////// DEFINES /////////////////////////////////////////窗口定义大小#define WINDOW_WIDTH500#define WINDOW_HEIGHT500//城市数量及城市在窗口显示的大小#define NUM_CITIES20#define CITY_SIZE 5//变异概率,交叉概率及种群数量#defineMUTATION_RATE0.2#defineCROSSOVER_RATE0.75#definePOP_SIZE 40//倍数#define NUM_BEST_TO_ADD2//最小容许误差#define EPSILON0.000001#endif//二、一些用得到的小函数(utils.h)// utils.h: interface for the Cutils class.//头文件名//////////////////////////////////////////////////////////////////////#ifndef UTILS_H #define UTILS_H#include stdlib.h#include math.h#include sstream#include string#include iostreamusing namespace std;//--------定义一些随机函数--------//----定义随机整数,随机[x,y]之间的整数---inline int RandInt(int x, int y){return rand()%(y-x+1)+x;}//--------------随机产生0到1之间的小数----------inline float RandFloat(){return rand()/(RAND_MAX + 1.0);}//-----------------随机产生0和1-------------inline bool RandBool(){if (RandInt(0,1))return true;elsereturn false;}//-----定义一些方便的小功能包括:整形转字符型,浮点型转字符型---string itos(int arg);//converts an float to a std::stringstring ftos (float arg);//限制大小void Clamp(double arg, double min, double max);void Clamp(int arg, int min, int max);#endif //三、地图头文件(CmapTSP)#ifndef CMAPTSP_H#define CMAPTSP_H//如果没有定义那么就定义////////////////////////////////////////////////////类名:CmapTSP.h////描述:封装地图数据、城市坐标以及适应度计算。/////////////////////////////////////////////////#include vector#include utils.h#include defines.husing namespace std;const double pi=3.1415926535897;//------CoOrd结构体,保存每个城市的坐标--------struct CoOrd//没有括号{float x, y;CoOrd(){}CoOrd(float a,float b):x(a),y(b){}};//------CmapTSP类,封装地图数据,城市坐标,以及适应度计算----class CmapTSP {private://城市数目int m_NumCities;//地图长度和宽度int m_MapWidth;int m_MapHeight;//可能最好路径double m_dBestPossibleRoute;//把所有城市组成一个环形void CreateCitiesCircular();//用勾股定理计算两个城市A和B之间的距离double CalculateA_to_B(const CoOrd city1, const CoOrd city2);//该函数计算出排列成环形后的最佳路径,答案是显而易见的(环形多边形周长)void CalculateBestPossibleRoute();public://
您可能关注的文档
- 基于FilterLab的滤波器的设计.doc
- 数字语音滤波器的设计.doc
- 最佳路径教学设计(表格版).doc
- 气溶胶灭火密度计算.doc
- 论文基于MATLAB的高阶带通滤波器的设计与仿真》.doc
- arcgis之栅格7公路修建最佳路径规划.doc
- fragstats景观格局指数归纳.doc
- matlab滤波技术.docx
- 北交大数字信号处理3.doc
- 基于高斯滤波器的人脸识别方法.doc
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
最近下载
- 2.1 走进化学实验室(第1课时)(课件)八年级化学全一册(沪科版五四学制2024).pptx VIP
- 部编版二年级上册语文第二单元教案.pdf VIP
- 2024广西高质量共建“一带一路”谱写人类命运共同体新篇章公需课答案.docx VIP
- 公务员考试-2019公考核心政策解读1.doc VIP
- 部编版二年级上册语文第二单元教案.docx VIP
- 贵州省2023-2024学年高一上学期期末英语试题(含答案).pdf VIP
- DND法术列表分析和总结.pdf VIP
- 安利索ACVF门机变频器调试说明书(中文版).doc
- 高中数学 导数的概念及其几何意义讲义 新人教版选修2-2.doc VIP
- 电机拖动与电气控制 第6章 电气控制电路的基本控制环节.pptx VIP
文档评论(0)