基于约束离散粒子群算法求解大规模指派问题.docVIP

基于约束离散粒子群算法求解大规模指派问题.doc

  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文档。上传文档
查看更多
基于约束离散粒子群算法求解大规模指派问题

基于约束离散粒子群算法求解大规模指派问题   [摘 要] 针对现有进化算法在求解传统指派问题时因取整而影响优化效果的问题,采用了一种基于AllDifferent约束的置换离散粒子群优化算法,该算法针对指派问题中各变量不能重复取值的特点,改进了算法的迭代方式,并引入了模拟退火的差解接受准则以提高优化效果,仿真算例表明改进后的算法在质量上和时间上更具有效性。   [关键词] 指派问题;粒子群优化算法;混合算法;大规模   doi : 10 . 3969 / j . issn . 1673 - 0194 . 2009 . 21 . 032   [中图分类号]F270.7[文献标识码]A[文章编号]1673 - 0194(2009)21 - 0102 - 03      1引言      指派问题(Assignment Problem,AP)是一类经典的组合优化问题,旨在将资源(人员、机器等)按某种方式分配到各项工作中,以使其效果达到最优。根据任务与人员的数目比对,指派问题可分为一对一、一对多及多对多几种类型。本文研究一对一型,即被分配的任务数和人数相等,每个人仅承担一项任务。指派问题属于NP问题,精确算法(如动态规划、分支定界法[1]等)虽然可以得到准确解,但时间复杂性与任务数成指数关系,而近年来出现的模拟退火算法[2]、遗传算法[3]等则多采用小规模算例对算法进行验证,无法说明算法求解大规模指派问题的有效性,文献[4]对大规模的一对一指派问题进行了优化求解,但其采用实数域方法进行取整运算,对问题的依赖性较强[5]。   粒子群优化(Particle Swarm Optimization,PSO)算法[6]是一种基于群智能原理的进化算法,源于对自然界中鸟类等生物群体觅食过程的仿真研究,具有概念简单、控制参数少、容易实现等优点,但最初针对的是连续优化问题。为使该算法能够处理离散问题,Clerc于2000年对算法进行了改进,提出了离散粒子群优化(Discrete Particle Swarm Optimization,DPSO)算法[7],并成功应用在求解旅行商问题等组合优化问题上。   本文采用了一种基于AllDifferent约束的置换DPSO算法对指派问题求解,同时为了提高优化性能,嵌入了模拟退火算法的差解接受准则,并对大规模的指派问题进行试算,经过大量的数据试验,取得了较满意的结果。      2问题描述      指派问题可简述为:假设有n项任务需要分配给n个人去完成,每个任务只能分配给一个人处理,且每个人只能承担一项任务,不同分配方案花费不同的代价,问题的目标旨在找到一种分配方案使得总的花费代价最小。设定Cij表示第i个人完成第j项任务的费用,则可构成费用矩阵Cn × n,另有决策变量   Xij = 1, 如果将第i项任务分配给第j个人;0, 否则。   则指派问题的数学模型[P]:   [P]minCij xij (1)   s. t. Xij = 1,i = 1,2,…,n (2)    Xij = 1,j = 1,2,…,n (3)   目标函数(1)使得完成所有任务的总费用最小,约束(2)要求任务i能且仅能由一个人承担,约束(3)表示人员j能且仅能承担一项任务。      3算法求解      经典的PSO算法求解连续函数优化问题的基本原理可用以下的迭代公式来表示:   vit + 1 = c1Rand1()(pit - xit) + c2Rand2()(pgt - xit) (4)   xit + 1 = xit + vit + 1 (5)   粒子i在t + 1时刻的新位置是由其t时刻的位置xit、该粒子经过的最优位置pit 、当前全局粒子的最优位置ρgt 以及各项系数来共同决定的,其中c1和c2是加速系数(或称学习因子),分别调节向个体最好粒子和全局最好粒子方向飞行的最大步长,Rand()为(0,1) 之间均匀分布的随机数。   PSO算法是针对连续域问题的,因此在求解组合优化问题时,具有几个弊端:(1)算法的编码结构无法保证迭代进化后解的可行性;(2)粒子位置矢量的更新方法如何选择;(3)算法容易因取整过程而遗漏最优解,导致最终影响优化过程[8]。针对这一情况,本文分3步对算法进行改进:离散域上的重构、基于AllDifferent约束的置换和嵌入模拟退火算法的差解接受准则。   3.1离散域上的算法重构――问题解的表示   PSO算法的编码设计,即建立位置矢量与指派方案之间的映射关系是设计PSO算法的首要问题。本文采用Hu X等[9]提出的离散方式构造粒子,其编码规则与遗传算法的顺序编码相同,可简单描述为:若有n项任务待指派,粒子维度亦取n,将待

文档评论(0)

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

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

1亿VIP精品文档

相关文档