2013课设.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
河南理工大学 计算机科学与技术学院 课程设计报告 2014— 2015学年第一学期课程名称 Java语言程序设计设计题目 利用粒子群算法解决TSP问题 姓 名 崔雯钰学 号 0401专业班级 计算机13-4指导教师 刘志中2016年 1月10日 目录 一.课程设计内容 2 (一)课程设计题目 2 (二)课程设计目的 2 (三)课程设计要求 2 二.算法相关知识 2 (一) 粒子群算法简介 2 (二) 旅行商问题(TSP)简介 3 (三) 粒子群算法的运算流程 3 三.算法的JAVA实现 4 (一)程序设计思想 4 1.种群初始化 5 2.个体评价(适应度评价) 5 3.更新速度和位置 5 4.终止条件判断 6 (二)程序实现 6 1.伪代码 7 2.运行结果 7 四. 课程设计的总结体会 7 五.参考文献 7 六.附录(完整程序代码) 8一.课程设计内容 (一)课程设计题目 基于粒子群算法,求解TSP问题。 (二)课程设计目的 1.训练应用算法求解实际问题; 2.训练应用Java语言实现具体问题的求解算法; 3.到达理解java语言的应用特点以及熟练应用java语言的目标。 (三)课程设计要求 1.理解TSP问题; 2.测试数据(N个城市及城市之间的距离); 3.查找代码,读懂代码; 4.理解PSO算法; 5.理解Java编程的步骤和思想,掌握此程序。 二.算法相关知识 (一) 粒子群算法简介 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由Eberhart 博士和kennedy 博士提出,源于对鸟群捕食的行为研究 。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。 粒子群算法,也称粒子群优化算法(Particle Swarm Optimization),缩写为 PSO, 是近年来发展起来的一种新的进化算法(Evolutionary Algorithm - EA)。PSO 算法属于进化算法的一种,它从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover) 和“变异”(Mutation) 操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。粒子群算法是一种并行算法。 (二) 旅行商问题(TSP)简介 旅行商问题,即TSP问题(Travelling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。 TSP问题是一个组合优化问题。该问题可以被证明具有NP计算复杂性。因此,任何能使该问题的求解得以简化的方法,都将受到高度的评价和关注。 旅行推销员问题是数图论中最著名的问题之一,即“已给一个n个点的完全图,每条边都有一个长度,求总长度最短的经过每个顶点正好一次的封闭回路”。Edmonds,Cook和Karp等人发现,这批难题有一个值得注意的性质,对其中一个问题存在有效算法时,每个问题都会有有效算法。 迄今为止,这类问题中没有一个找到有效算法。倾向于接受NP完全问题(NP-Complete或NPC)和NP难题(NP-Hard或NPH)不存在有效算法这一猜想,认为这类问题的大型实例不能用精确算法求解,必须寻求这类问题的有效的近似算法。 (三) 粒子群算法的运算流程 1.初始化   初始搜索点的位置 X0i 及其速度 V0i 通常是在允许的范围内随机产生的, 每个粒子的pbest 坐标设置为其当前位置, 且计算出其相应的个体极值 (即个体极值点的适应度值) , 而全局极值 (即全局极值点的适应度值) 就是个体极值中最好的, 记录该最好值的粒子序号, 并将 gbest设置为该最好粒子的当前位置。 2.评价每一个粒子   计算粒子的适应度值, 如果好于该粒子当前的个体极值, 则将 pbest设置为该粒子的位置 , 且更新个体极值。如果所有粒子的个体极值中最好的好于当前的全局极值 , 则将gbest 设置为该粒子的位置 , 记录该粒子的序号 , 且更新全局极值。 3.粒子的更新   用式 (1) 和式 (2) 对每一个粒子的速度和位置进行更新。 (1).v[i] = w *

文档评论(0)

JFuOrhvGoo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档