网站大量收购独家精品文档,联系QQ:2885784924

第二章 GT算法解决问题.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
旅行商问题演化算法在NOW 的并行算法设计 李永锋 李元香 (武汉大学软件工程国家重点实验室 湖北 武汉 430072) E-mail:llyyff78@ 摘 要 本文首先介绍了当前求解TSP问题最好的演化算法之一:GT算法。文中重点设计了在 NOW上求解旅行商问题GT算法的并行算法,详细描述了设计思路,设计策略。还给出了相当详 细的并行算法描述。文中设计的并行算法已经在NOW上的PVM平台上实现。 关键词 NOW ,演化计算,旅行商问题,并行计算 1 引言 旅行商问题,即TSP(Traveling Salesman Problem),是NP-难(NP-hard)问题。与VLSL 制造,输油管道铺设,电路布线等重大规模应用相关。旅行商问题是一个研究很广泛的NP难度 问题。这个问题的定义是相当简单,但它是一个最具有挑战性的搜索问题。 GT算法是目前解决旅行商问题最快的演化算法之一。但是受制于单台计算机的计算能力, 求解问题的规模和速度十分有限。比如说,计算一次10000个城市的问题需要两天多。并行计算 是其根本出路。在当前,工作站机群NOW(Network of Workstations)是实现并行计算的一种主 流技术。我们算法的设计是基于NOW这种并行机系统的。 2 .GT顺序算法的详细描述如下: (其中rand()产生[0,1)的浮点随机数,eval(S)是S的路经长,eval(S)eval(Si)如果S 好于Si时取真值,否则取假值。) 随机初始化群体P while(不满足结束条件)do { 每一个个体Si∈P do { S=Si 从S中随机选择一个城市c repeat { if(rand()p) 从S剩下的城市中随机选择一个城市c else { 从P中随机选择一个个体 作者简介:李永锋,硕士研究生,主要研究方向为并行计算,演化计算。李元香,博士生导师, 主要研究方向为并行计算,演化计算。 1 将c赋值为被选择的个体中城市c的下一个城市 } if (在个体S中城市c的前一个或者后一个城市是c) 离开repeat循环 倒置个体S中从城市c的下一个城市到城市c的部分 c=c } if(eval(S)eval(Si)) Si=S } } 3 .并行方案的选择 为了并行化,问题的分解可以有两种形式。一种是域分解,即将这个问题区域分解为若干个 较小的问题区域,然后对其并行求解;一种是功能分解,即将问题分解为若干个子问题,然后 对其并行求解。 在这个问题上,域分解可以这样设计:让每个处理器独立地运行于个体的一个隔离子种群上, 通过迁移与其他处理器周期地共享它的那些最好个体。功能分解可以这样设计:让每个处理器 在一个公共的种群上完成算法中的每一步的一部分选择,交叉和突变。 域分解也能有效的并行化算法,但它对于加速整个计算几乎不起什么作用!与将种群信息 分布到所有处理器所需时间加上通信交换所需时间相比,整个计算时间主要依赖于计算各种演 化操作的相对时间。因此整个过程的加速比将所实际通信的限制。 基于这些考虑,我们选择域分解的并行方案为宜。 4 .程序模式的设计 一般情况下,相应于域分解和功能分解两种形式,编程模式对应于 SPMD(单程序多数据流) 和 MPMD(多程序多数据流)两种。 SPMD 形式的程序的两种方式:主机/节点 (Host/Node )式和无主机 (Hostless )式。虽然在 这个算法中,如果有一个主机程序是有用的:申请和释放处理器,加载节点

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档