粒子群算法解决TSP问题.docxVIP

  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问题 姓 名 学 号 专业班级 计科合13 指导教师 2015年 1月2日 目录 TOC \o 1-5 \h \z \o Current Document 课程设计内容 2 (一) 课程设计题目 2 (二) 课程设计目的 2 (三) 课程设计要求 2 \o Current Document 算法相关知识 2 \o Current Document (一) 粒子群算法简介 2 (二) 人工生命简介 3 \o Current Document (三) 粒子群算法的流程图及伪代码: 4 \o Current Document 三?算法的JAVA实现 5 \o Current Document 课程设计的总结体会 14 \o Current Document 参考文献 14 一.课程设计内容 (一)课程设计题目 应用粒子群算法(Particle Swarm Optimization)求解 旅行商问题(TSP); 旅行商问题: 即TSP问题(Travelling Salesman Problem) 乂译为旅行推销员问题、 货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个 城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而 且最后要回到原来出发的城市。路径的选择口标是要求得的路径路程为所有 路径之屮的最小值 (-)课程设计目的 1?训练应用算法求解实际问题; 2训练应用Java语言实现具体问题的求解算法; 3.到达理解java语言的应用特点以及熟练应用java语言的目标。 (三)课程设计要求 读懂算法,理解算法计算过程屮每一步操作是如何实现的; 设计函数优化的编码格式; 3?采用java语言编程实现算法的求解过程; 4?掌握粒了群算法的基木原理,了解在JAVA环境中实现粒了群算法的过 程。 二.算法相关知识 (一)粒子群算法简介 粒子群算法简称PSO,它的基木思想是模拟鸟群的捕食行为。设想这样一个 场景:一群鸟在随机搜索食物。在这个区域里只有一块食物。所有的鸟都不知道 食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策 略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 PS0从这种模型屮得到启示并用于解决优化问题。PSO屮,每个优化问题的解都是 搜索空间中的一只鸟。我们称Z为“粒了” O所有的粒了都有一个由被优化的函 数决定的适应值(fitness value),每个粒子述有-一个速度决定他们飞翔的方向和 距离。然后粒了们就追随当前的最优粒了在解空间中搜索。 PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代 中,粒了通过跟踪两个〃极值〃来更新口己。第一个就是粒了本身所找到的最优解, 这个解叫做个体极值pBesto另一个极值是整个种群目前找到的最优解,这个极 值是全局极值gBesto另外也可以不用整个种群而只是用其中一部分作为粒了的 邻居,那么在所有邻居中的极值就是局部极值。 粒子公式:在找到这两个最优值时,粒子根据如下的公式來更新自己的速度和新 的位置: v[i]二 w * v[i] + cl * rand() * (pbest[i] - present[i]) + c2 * rand() * (gbest - present [i]) present[i] = present[i] + v[i] 其中v[订代表第i个粒子的速度,w代表惯性权值,cl和c2表示学习参数,randO表示在 0-1之间的随机数,pbest[i]代表第i个粒子搜索到的最优值,gbest代表整个集群搜索到的 最优值,present [i]代表第i个粒了的当前位置。 (-)人工生命简介 〃人工生命〃是來研究具有某些生命基本特征的人工系统。 两方面内容 研究如何利用计算技术研究生物现象 研究如何利用生物技术研究计算问题 我们现在关注的是第二部分的内容。现在己经有很多源于生物现象的计算技巧. 例如,人工神经网络是简化的大脑模型。遗传算法是模拟基因进化过程的. 社会系统。 现在我们讨论另一种生物系统-社会系统。更确切的是,在由简单个体组成的群 落与环境以及个体之间的互动行为。也可称做〃群智能〃(swarm intelligence). 这些模拟系统利用局部信息从而可能产生不可预测的郡体行为 例如floys和birds他们都用来模拟血群和鸟群的运动规律,主要用于计算机 视觉和计算机辅助设计。 在计算智能(computational intelligence)领域有两种基于群智能的算法.蚁群

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档