关于并行蚁群算法解决QAP问题研究.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文档。上传文档
查看更多
关于并行蚁群算法解决QAP问题研究

关于并行蚁群算法解决QAP问题研究   【摘要】二次分配问题作为一类NP难组合优化的问题,被广泛的应用于数据分析、图像合成等不同的领域。本文主要是介绍了一种新的并行蚁群系统模型,利用并行蚁群算法和TS的局部搜索,有效地解决了二次分配问题。   【关键词】二次分配问题(QAP);蚁群算法;局部搜索;并行蚁群模型   1.引言   自Koopmans和Beckmann于1957年首次把布置问题模型化为二次分派问题,并提出QAP(二次分配问题)为一个组合优化问题;Sahni等人于1976年证明QAP是一个NP-HARD完全问题。Dorigo等人就提出了用蚁群算法可以解决部分QAP问题,如无规则的、结构化的二次分配问题。到法国利托拉尔大学E.—G.Talbi及0.Roux等人将并行蚁群算法和基于Tabu搜索(Tabu search,TS)的局部搜索相结合,提出了一种并行蚁群系统模型,可以有效的用于解决QAP问题。许多新的算法、理论和思想都陆续被应用到QAP上来解决问题,使QAP不仅本身成为了研究的热点,还成为了优化算法间接比较的标准。   2.二次分配问题的概述   二次分配问题就是设一个n个对象的集合0={O1,O2,…On},n个位置的集合L={L1,L2,…LN},一个流矩阵C,每个元素Cij表示对象Oi和Oj间的流花费,一个距离矩阵D,每个元素dkl表示位置Lk和Ll间的距离,要找到—个对象—位置的双射M:O→L,使对象函数f最小。   QAP代表一类NP难组合优化的重要问题,此类问题在不同领域有许多应用,例如设备放冒、数据分析、任务调度、图像合成等。   应用蚁群算法解决QAP问题是以蚂蚁系统和局部搜索方法相结合为基础的,每只蚂蚁与1个整数排列结合,每个组合根据信息素踪迹而更改。再运用局部搜索方法优化目前蚂蚁找到的解决方法,信息素踪迹的更新会模拟挥发过程并考虑在搜索策略中产生的解决方法。在某些方面,信息素矩阵可以看作一个共享的存储器,保存有所发现的最优解决方法的分配[1]。   3.QAP的蚁群算法步骤   3.1 初始化   这里使用了基于n个整数排列的表示法:   s=(l1,l2,…,ln)   其中li表示对象0j的位置。每只蚂蚁的初始解决方法是随机初始化的。信息素矩阵的初始化需要3个步骤。首先,对m个初始???决方法进行局部搜索优化。然后,识别出种群的最佳解决方法。最后,信息素矩阵F的初始化如下:   i,j[1,…,n]   3.2 构建解决方法   每只蚂蚁的当前解决方法是信息素矩阵的变换函数。使用一对交换步骤作为局部的变换,在此步骤中交换一个排列中的两个对象On/3(n是问题规模)的交换是如下进行的:随机选择第一个元素r,按照0.9的概率选择第二个元素s,使最大。在其他情况下,选择元素的概率是a,它与相关的信息素成比例:   3.3 局部搜索   设计基于Tabu搜索方法的局部搜索步骤是为了达到把TS应用到QAP上的目的。首先要先定义短期的存储器,来避免出现循环过程。这时,不能使用长期存储器,因为他是由蚂蚁系统来进行操作的。在Tabu搜索中,Tabu列表里包含了无法交换的对象的(i,j)对,而整个算法的效率是由Tabu列表尺寸的选择来决定的。实验表明选择n/2到(3n)/2之间的尺寸来进行,会产生很好的结果[2]。每个TS任务初始化时.Tabu列表尺寸在n/2到(3n)/2之间随机产生。如果一个Tabu步骤能产生比当前最优解决方法更好的方法,那么允许按Tabu步骤执行。在具体的实现中,限制TS进行有限次迭代,以避免早熟收敛。   3.4 信息轰矩阵的更新   首先,为了模拟挥发过程更新信息素矩阵,按照如下公式减小矩阵值F。   i,j[1,…,n]   其次是解决方法的信息素增强功能。它与HAS-QAP算法不同的是,为了让信息素更新,设计一种新的策略,只考虑最优的解决方法。就是让每只蚂蚁都添加一份与它的贡献成反比的信息量。这份贡献可以通过和最优与最差解决方法间的差异相除来削弱[2]。   第二阶段是解决方法的信息素增强功能。这里不是像HAS—QAP算法那样,为了信息素的更新仅考虑最优解决方法,而是设计—种新策略,所采用的更新公式是:   i[1,…,n]   3.5 多样化   如果在n/2次迭代中,最优解决方法都没有提高,那么要启动多样化操作。多样化方案迫使蚂蚁使用新的结构,从全新的解决方法开始。HAS—QAP系统中的多样化包括重新初始化信息素短阵和随机产生新的解决方法。这种方法,主要是建立个叫做频率矩阵的长期存储器。这个短阵保存所有以前分配的频率,并在多样化阶段开始时使用。在此阶段中,使用以往最少选择的模式,集中注意未勘查过的区域以便生成新的解。  

文档评论(0)

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

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

1亿VIP精品文档

相关文档