- 1、本文档共7页,可阅读全部内容。
- 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))
这次的⽂章是以⼀份报告的形式贴上来,代只是简单实现,难免有漏洞,⽐如循环输⼊的控制条件,说是要求输⼊1,只要输⼊⾮0就⾏。希望会帮到以
后的同学(*^-^*)
⼀、问题描述
旅⾏商问题(Traveling-SalesmanProblem,TSP)。设有n个互相可直达的城市,某推销商准备从其中的A城出发,周游各城市⼀遍,最后⼜回到A城。要求
为该旅⾏商规划⼀条最短的旅⾏路线。
⼆、⽬的
为了解决旅⾏商问题,⽤了遗传算法,模拟染⾊体的遗传过程,进⾏求解。
为了直观的更有⽐较性的观察到程序的运⾏效果,我这⾥程序⾥给定了10个城市的坐标,并计算出其任意两个的欧⽒距离,10个点的位置排布见图1。程
序的理想最优距离为20.485281,即绕三⾓形⼀圈,⽽且路程起点不固定,因为只要满⾜点围着三⾓形⼀圈即为最短距离,最优解。所以问题转换为,求
图中10个点的不重复点的闭环序列的距离最⼩值。
图1
三、原理
1、内部变量介绍
程序总体围绕了遗传算法的三个主要步骤:选择--复制,交叉,变异。给定了10个种群,即10条染⾊体,每条染⾊体都是除⾸位外不重复的点组成,⾸尾
相同保证路线是闭合的,所以⼀条染⾊体包含11个点。
种群由⼀个结构体group表⽰,内含城市的序列inciy[11]、种群的适应度doublefi、该种群适应度占总群体适应度的⽐例doublep,和为了应⽤赌轮选择
机制的积累概率doublejlleigailv。
程序还包括⼀个始终记录所有种群中的最优解的城市序列数组groupbes[11],记录最优解的适应度,即最⼤适应度的变量doublegroupbesfi。
种群的最⼤繁衍代数设置为1000,⽤户能够输⼊繁衍代数,但必须在1000以内。10个点的不同排列序列有10!种,即3628800中排列可能,其中各代之
间可能产⽣重复,不同种群间也会出现重复,学⽣觉得1000左右应该能验证程序的性能了,就定为1000。
2、运⾏思想介绍
(a)采⽤整数编的⽅式,标记0到9号城市。
(b)选择--复制:
利⽤赌轮选择机制,分10次从10个种群中挑选出10个染⾊体进⾏复制。
每次随机⽣成⼀个0到1之内的⼩数,因为适应度越⾼的染⾊体的积累概率区间越⼤,所以适应度越⾼的染⾊体被选择的次数会越多,满⾜了优胜劣汰的原
则。
选择--复制完后,要重新计算每个种群的适应度等信息,与已经保存的最优染⾊体进⾏⽐较,如果⽐已经存在的适应度还要⾼就进⾏最优染⾊体的更新。
如果最优染⾊体没有更新,则说明新成的最⼤适应度种群不如以前的好,则在新⽣成的种群中找到适应度最低的,⽤最优染⾊体提换掉。
(c)交叉:
每⼀代的繁衍都让10个种群中相邻的两个种群进⾏染⾊体交叉,交叉率为1,即0号种群和1号种群交叉,2号种群和3号种群交叉,以此类推。交叉段是
由2个随机数决定,采⽤部分映射交叉,直接交换由随机数产⽣的染⾊体⽚段。
交叉完后因为要满⾜点的不重复,所以要进⾏消除重复的操作。原理是⽤⼀个数组保留交叉过来的染⾊体⽚段,删除染⾊体上已经交换的⽚段,在剩下的
点中消除与新交换⽚段中重复的点,然后将原染⾊体剩下的点都向前移集中在头部,再将保存在数组中的新交换过来的染⾊体插⼊到头部之后,在以上过
程中⽤⼀个数组记录已经存在的点。接下来将没有⽤的点顺序插到染⾊体尾部,到此已经⽣成了新的染⾊体。
交叉完后要重新计算每个种群的适应度等信息,与已经保存的最优染⾊体进⾏⽐较,如果⽐已经存在的适应度还要⾼就进⾏最优染⾊体的更新。如果最优
染⾊体没有更新,则说明新成的最⼤适应度种群不如以前的好,则在新⽣成的种群中找到适应度最低的,⽤最优染⾊体提换掉。
(d)变异:
因为变异在⾃然界并不是每次都会发⽣,所有每次要尽⾏变异前都⽣成⼀个0到9内的随机整数,如果⼤于3就进⾏变异,否则不变异,总体变异率为0.6。
因为这个染⾊体和⾃然中的每⼀段都对应⼀个功能的染⾊体不⼀样,染⾊体越是按数的相邻⼤⼩排列,距离会越短,所以变异就起了很⼤作⽤,起到调整
点的顺序的作⽤,所以变异率要⼤⼀点。
如果要变异,则变异3次。每次⽣成2个随机数,决定要在哪个种群变异哪⼀个位置。⽐如挑选了第⼆条染⾊体,变异第3个位置,则将染⾊体的3号位和6
号位互换,即互换位置和为9。
(e)输出:
输出⽤户程序得到的最优解的城市序列、路程距离、
您可能关注的文档
- 院前急救知识考核试题及答案.docx
- 院内发生急性卒中的应急预案和处理流程.docx
- 防火巡查、防火检查制度.doc
- 防水漏点表完整版本.xls
- 门诊静脉采血技术操作流程.doc
- 门店卫生检查表.xls
- 长租公寓委托管理合同.docx
- 长护险安全保密管理制度.docx
- 销售业务的风险控制.docx
- 银行大润发活动方案策划书3篇.doc
- 某某单位2024年党建工作总结及2025年工作计划.doc
- 某某市发改委关于2024年度落实党风廉政建设工作责任制情况的报告.doc
- 某某局2024年全面从严治党和党风廉政建设工作总结.doc
- 某某区财政局2024年法治政府建设总结及2025年工作谋划.doc
- 2024年党管武装工作述职报告2篇.doc
- 2024年度国企党委书记抓基层党建工作述职报告3篇.doc
- 公司党委书记2024年述职述廉报告.docx
- 2024年度乡镇党委领导班子民主生活会(四个带头)对照检查材料.doc
- 市医疗保障局关于2024年法治政府建设工作情况的报告.docx
- 市民政局党组2024年巡察整改工作情况报告.docx
文档评论(0)