基于改进的遗传算法的任务调度.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于改进的遗传算法的任务调度.doc

基于改进的遗传算法 任务分配与调度是分布式系统中的关键问题,应用遗传算法来解决这一问题是近年来出现的新思路。文章介绍了一种改进的遗传算法,该算法在扩大选择范围的同时,将适应度引入到对父代之间的交叉操作中,克服了标准遗传算法(SGA)交叉操作中较大的自目性。 1引言 分布式系统提供了巨大的处理能力,然而,为了实现和充分利用这种能力,需要优良的任务分配和调度方案。快速有效的任务分配和调度是分布式系统中一个关键的问题,其实质是将任务合理和透明地在处理机之间进行分配,并重新排列任务的执行顺序,以符合任务依赖关系的要求,使整个系统的任务能在最短的时间内完成,从而达到系统的综合性能最优。分布式系统的任务分配与调度是一个NP完全问题,传统算法都是一些启发式算法。自80 年代以来,出现了遗传算法GA( Genetic Algorithm)这一具有实用价值的算法,为这一问题的解决提供了新的思路。 遗传算法是美国学者J.H.Holland等人根据生物进化论而提出的一种全局随机优化算法,具有在复杂空间求解问题近似最优解的能力。但是应用表明,传统的遗传算法也存在着一些缺陷,如搜索后期效率低、遗传操作中存在的局限性等。为适应任务调度与分配问题的求解,提高收敛速度,本文设计出合适的遗传算子,并利用改进的遗传算法对分布式系统的任务分配与调度问题进行求解。 2问题定义 假定分布式系统由n个处理机护{P1,P2,....Pn}组成,分布式程序可划分为m0个子任务模块,通常,nm,各个子任务间的调度约束关系通过任务优先图来表示。任务优先图是一个有向无环图DAG,如图1(a)所示,可以被定义为一个四元组G=( T, E, r,C),其中T是m个顶点的集合,顶点Ti, Tz, ..., Tm表示m个模块,每个顶点表示一个子任务;E是一个有向边集合,边eij=( Ti,Tj)表示两个任务模块的相互联系,在子任务Ti没有完成之前,任务Tj不能执行,这时称为Ti为Tj的一个前驱,Tj为Ti的一个后继。每个任务模块Ti可以分配给任何一个处理机Pj.定义r(u, i)为模块u在处理机上Pi上的执行时间。对任意边(Ti, Tj) , C( Ti, Tj)表示任务模块Ti和Tj之间的数据传输延时。 任务分配与调度的目标是,在满足DAG的前驱限制的条件下寻找一个分配与调度策略,将m个任务分配到n个处理机上并合理调度各任务的执行顺序,使任务尽可能地并行执行以使系统完成所有任务的时间最短。图1(b)为图1(a)中7个子任务分配到两台处理机上的一种分配情况。 3遗传算法简介 遗传算法的基本思想就是模拟生物界自然进化和遗传过程。通过一定的编码技术将问题的解进行编码,再利用选择、杂交、变异三种基本操作模拟由这些串组成群体的进化过程。由Holland提出的遗传算法被称为标准遗传算法((SGA),如图2所示。 4改进的遗传算法 SGA提供了一个遗传算法的基本框架,同时也解决了一些简单的函数优化问题,但对于复杂的系统优化问题,SGA在使用时出现了一些困难和问题,例如存在搜索后期效率低等问题。为适应任务调度与分配问题的求解,提高收敛速度,保持解的多样性,本文对遗传算子进行改进,在扩大选择范围的同时,将适应度引入到对父代之间的交叉操作中,克服了SGA交叉操作中较大的盲目性。 4.1算法框架 多任务分配与调度的遗传算法基本框架如下: ①读入任务关系图(DAG),根据一定的构造方法,生成初始解群S(t), t=0 ( t为子种群的编号)。 ②计算解群中每个解的适应值。 ③如果满足终比条件,则转步骤6,否则执行步骤4。 ④执行选择、交叉和迁移操作,生成新一代解群。 ⑤计算新一代解群中每个解的适应值,选出最优解,转步骤30 ⑥输出满足条件的最优解,算法终n o 本文对DAG的一个分配调度用S表示,S=(L1,L2,.....Lm),Li=(Ti1,Ti2,....Tik)分别表示分配到处理机Pi上的k个子任务的序列。排列的先后顺序即任务执行的先后顺序,同时也满足任务之间的约束关系,即H(Ti1)=H(Ti2)=....=H(Tik),其中H (Ti)为任务Ti的高度值,并称符合该条件的解为问题的合法解。H(Ti)的定义如下:当pred(Ti)=空时,H(Ti)=0,否则=1+max{H(Tj)},否则应用遗传算法进行任务分配和调度需要随机产生一个任务分配调度的初始种群,初始种群的生成有很多方法。 适应度函数被用来评价搜索结点并控制遗传操作,解群中每个解的适应值用来评价解的优劣。这里采用分配与调度策略的完成时间作为评价标准。FT(S)表示一个调度S的完成时间即任务图2中所有任务执行完成所用的时间。因为我们所要求的是将

文档评论(0)

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

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

1亿VIP精品文档

相关文档