基于改进遗传算法的网格资源调度策略算法研究

基于改进遗传算法的网格资源调度策略算法研究
基于改进遗传算法的网格资源调度策略算法研究

一种改进的遗传算法

第17卷第3期 辽阳石油化工高等专科学校学报Vol.17No.3 2001年9月 Journal of Liaoyang Petrochemical College September2001 一种改进的遗传算法 王亮申 王文友 吴克勤 江远鹏 谢 荣 (辽阳石油化工高等专科学校机械系,辽阳111003) 摘 要 给出的适应值标定公式能够解决对个体选择压力和标定后适应值非负问题. 对多极值函数的遗传算法所提出的改进措施可以增加群体的多样性,避免算法“早熟”,过早 陷入局部最优. 关键词 遗传算法;适应值标定;早熟 中图分类号 O224 由美国密执安(Michrgan)大学的Holland教授等人在1975年创立的遗传算法(G enetic Algo2 rithms简称G A),是建立在达尔文(Darwin)的生物进化论和孟德尔(Mendel)的遗传学说基础上的算法.经过后人的不断改进使得遗传算法更加完善.由于遗传算法求解复杂优化问题的巨大潜力及其在各个领域(如布局优化问题、交通问题、图像处理与识别、结构设计、电力系统设计、可靠性计算等)的成功应用,这种算法越来越被人们所接受. 遗传算法是一种基于生物进化原理构想出来的搜索最优解的仿生算法,它模拟基因重组与进化的自然过程,把待解决问题的参数编成二进制码或十进制码(也可编成其它进制码)即基因(gene),若干基因组成一个染色体(个体),许多染色体进行类似于自然选择、配对交叉和变异运算,经过多次重复迭代(即世代遗传)直至得到最后的优化结果.习惯上,适应度值越大,表示解的质量越好.对于求解最小值问题可通过变换转为求解最大值问题.遗传算法是一种高度并行、随机、自适应搜索算法. 尽管遗传算法有许多优点,也有许多专家学者对遗传算法进行不断研究,但目前存在的问题依然很多.如(1)适应值标定方式多种多样,没有一个简洁、通用方法,不利于对遗传算法的使用; (2)遗传算法的“早熟”现象即很快收敛到局部最 收稿日期:2001-06-27优解而不是全局最优解是迄今为止最难处理的关键问题;(3)快要接近最优解时在最优解附近左右摆动,收敛较慢. 1 改进方法 1.1 适应值标定 初始种群中可能存在特殊个体的适应值超常(如很大).为了防止其统治整个群体并误导群体的发展方向而使算法收敛于局部最优解需限制其繁殖;在计算临近结束,遗传算法逐渐收敛,由于群体中个体适应值比较接近,继续优化选择困难,造成在最优解附近左右摇摆,此时应将个体适应值适当加以放大,以提高选择能力,这就是适应值的标定.文献[1]提出的标定方法有两个计算公式,不利于使用;文献[2]的标定方式虽然限制了适应值范围但将最大最小值颠倒.此外象幂律标定、对数标定等亦有应用.本文针对适应值标定问题提出以下计算公式. f’= 1 f max-f min+δ (f+|f min|) f′—为标定后的适应值;f—为原适应值;δ—为在(0,1)内的一个正实数,目的是防止分母为零和增加遗传算法的随机性;|f min|—是为了保证定标后的适应值不出现负值。

云计算环境下基于改进遗传算法的任务调度算法

收稿日期:2010-07-15;修回日期:2010-09-06。 基金项目:四川省科技支撑计划项目(06K J T 013;2009GZ0153)。 作者简介:李建锋(1987-),男,河南项城人,硕士研究生,主要研究方向:网格计算、云计算; 彭舰(1970-),男,四川成都人,教授,博士, 主要研究方向:分布式系统、移动计算。 文章编号:1001-9081(2011)01-0184-03 do:i 10.3724/SP .J .1087.2011.00184 云计算环境下基于改进遗传算法的任务调度算法 李建锋,彭 舰 (四川大学计算机学院,成都610065) (ji anpeng @sc https://www.360docs.net/doc/9313969950.html, .cn ) 摘 要:在云计算中面对的用户群是庞大的,要处理的任务量与数据量也是十分巨大的。如何对任务进行高效 的调度成为云计算中所要解决的重要问题。针对云计算的编程模型框架,提出了一种具有双适应度的遗传算法(DFGA ),通过此算法不但能找到总任务完成时间较短的调度结果,而且此调度结果的任务平均完成时间也较短。通过仿真实验将此算法与自适应遗传算法(AGA )进行比较,实验结果表明,此算法优于自适应遗传算法,是一种云计算环境下有效的任务调度算法。 关键词:云计算;遗传算法;双适应度;任务调度 中图分类号:T P393 文献标志码:A Task scheduli ng al gorith m based on improved genetic algorith m i n cloud co mputi ng environ m ent LI Jian feng ,PE NG Jian (C olle ge of Co mpu te r S cie nce ,S ichuan Un i versit y,Chengd u S ic huan 610065,Ch i na ) Abstract :T he number of users i s huge in c l oud computi ng ,and t he nu mber o f tasks and t he a m ount of da ta are also huge.H ow to schedule tasks efficiently i s an i m portant i ssue to be reso l ved i n c l oud computi ng env iron m ent .A Doub l e F itness G enetic A lgor i th m (DFGA )w as brought up for t he prog ramm i ng fram e w ork o f c l oud computi ng.T hrough th i s a l gor ith m,the be tter task scheduli ng no t only sho rtens to tal task comp l e ti on ti m e and a lso has shorter average co m pletion ti m e .T he re i s a contrast bet ween DFGA and Adapti ve G ene tic A l gor it hm (AGA )t hrough si m u lati on exper i m ent ,and the resu lt i s :t he DFGA i s be tter ,it is an effi c i ent task schedu li ng a l go rith m i n c l oud co m puti ng env iron m ent . K ey words :cloud co m puti ng ;G ene ti c A l go rith m (GA );doub le fitness ;task schedu li ng 0 引言 近几年云计算[1-2]成为了人们讨论的热点。目前IB M 、G oog l e 、Am azon 、M icroso ft 等纷纷涉足云计算,提供了众多基于云计算的服务,如Gm a il 、Goog le E arth 、G oog l e Ana l y ti cs 、G oog l e 搜索、G oog l e 文档[3];Am azon 的弹性云计算(EC2)服务和存储服务(S3);M i crosoft 的W i ndow s L ive W eb 应用套件及H ot m ail 等[4]。 云计算是并行计算、网格计算[5-6]的发展,是分布式计算的一种,其最基本的思想是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统,经搜寻、计算分析之后将处理结果回传给用户,提供这些资源的网络被称为 云 。云计算所提供的服务面向的用户群是庞大的,因此 云 中的任务数量是巨大的,系统每时每刻都要处理海量的任务,所以任务调度[7]是云计算中的重点与难点。本文对如何充分利用 云 中的资源使其中的任务进行高效合理的调度进行了研究,提出了一种基于双适应度遗传算法(D oub l e F itness G enetic A l go rith m,DFGA )的任务调度算法,并通过了仿真实验,验证了其良好的性能。 1 云计算中的编程模型 目前的云计算环境中大部分采用G oog le 提出的M ap /R educe 的编程模式[8],大部分信息技术厂商提出的 云 计划 中采用的编程模型,都是采用基于M ap /R educe 的思想开发的编程工具,它特别适用于产生和处理大规模的数据集。其执行过程如图1所示。 图1 M ap /R educe 的具体执行过程 从图1可以看出,M ap /R educe 有6个过程,可分为两个主要阶段。 M ap 阶段 把一个较大的任务通过M ap/R educe 函数分割为M 个较小的子任务,然后配给多个w orker(被分配为执行M ap 操作的wo rker)并行执行,输出处理后的中间文件; 第31卷第1期 2011年1月 计算机应用 Journal o f Computer A pp licati ons V o.l 31N o .1 Jan .2011

遗传算法基本原理及改进

遗传算法基本原理及改进 编码方法: 1、二进制编码方法 2、格雷码编码方法 3、浮点数编码方法。个体长度等于决策变量长度 4、多参数级联编码。一般常见的优化问题中往往含有多个决策变量,对这种还有多个变量的个体进行编码的方法就成为多参数编码方法。多参数编码的一种最常用和最基本的方法是:将各个参数分别以某种方式进行编码,然后再将它们的编码按照一定顺序连接在一起就组成了标识全部参数的个体编码。 5、多参数交叉编码:思想是将各个参数中起主要作用的码位集中在一起,这样他们就不易于被遗传算子破坏掉。在进行多参数交叉编码时,可先对各个参数进行编码;然后去各个参数编码串的最高位连接在一起,以他们作为个体编码串前N位编码,同上依次排列之。

改进遗传算法的方法: (1)改进遗传算法的组成成分或实用技术,如选用优化控制参数、适合问题的编码技术等。 (2)采用动态自适应技术,在进化过程中调整算法控制参数和编码精度。 (3)采用混合遗传算法 (4)采用并行算法 (5)采用非标准的遗传操作算子 改进的遗传算法: (1)分层遗传算法 (2)CHC算法 (3)messy遗传算法; (4)自实用遗传算法(Adaptive Genetic Algorithm) (5)基于小生境技术的遗传算法(Niched Genetic Algorithm,简称NGA)。 (6)并行遗传算法(Parallel Genetic Algorithm) (7)混合遗传算法:遗传算法与最速下降法相结合的混合遗传算法;遗传算法与模拟退火算法相结合的混合遗传算法。 解决标准遗传算法早熟收敛和后期搜索迟钝的方案 (1)变异和交叉算子的改进和协调采用 将进化过程划分为渐进和突变两个不同阶段 采用动态变异 运用正交设计或均匀设计方法设计新的交叉和变异算子 (2)采用局部搜索算法解决局部搜索能力差的问题 (3)采用有条件的替代父代的方法,解决单一的群体更新方式难以兼顾多样性和收敛性的问题 (4)收敛速度慢的解决方法; 产生好的初始群体 利用小生境技术 使用移民技术 采用自适应算子 采用与局部搜索算法相结合的混合遗传算法 对算法的参数编码采用动态模糊控制 进行未成熟收敛判断

遗传算法在生产调度方面的应用

遗传算法在生产调度方面的应用 合肥工业大学吴磊(20080313)陈超峰(20080321)方振中(20080322)周超(20080332)王伦良(20080340) 摘要:生产调度问题是企业生产甚至国际合作的关键问题,但生产调度问题难以精确求解。遗传算法可以很好的解决这一问题,在生产调度、生产规划、任务分配等方面发挥着极其重要的作用。 关键词:生产调度生产调度方式遗传算法 1.遗传算法 遗传算法是模拟生物在自然环境中的进化过程而形成的一种自适应全局优化概率的搜索算法。它使用群体搜索技术,通过对当前群体施加选择交叉变异等一系列遗传操作,从而产生新一代的群体,并按优胜劣汰的机制逐步使群体进化到包含或接近最优解的状态。 1.1遗传算法的基本运算过程 选择:从当前种群中选出优良的个体作为父代个体。 对各染色体v k计算适合度eval(v k);k=1,2,3,…,m 计算选择概率: 对各染色体v k , P=eval(v k)/∑eval(v k) 交叉:对群体中的个体进行两两随即配对 对每一对相互配对的个体,随机设置某一基因之后的位置为交叉点 对每一对相互配对的个体,依设定的交叉概率在其交叉点处相互交换两个个体的染色体,从而产生出两个新的个体。 变异:遗传算法中的所谓变异运算,是将个体染色体编码串中的某些位置上的基因值用其他等位基因替换,从而形成一个新的个体。 2.生产调度 生产调度就是组织执行生产进度计划的工作,是实现生产进度计划的主要手段。生产调度以生产进度计划为依据,生产进度计划要通过生产调度来实现。 在生产调度的事业上,生产调度有管理和工作之分,也就是生产调度管理和生产调度工作,是两个互为联系有有区别的概念。生产调度的作用是职能作用,生产调度工作的作用是职责作用。具体来说,生产调度管理,是指生产调度的计划、实施、检查、总结的期量循环活动的管理,是指生产调度的计划理论、方法、法规等方面的管理。生产调度工作,则有狭义和广义之分,从狭义上说,生产调度工作是指生产调度的业务工作,也就是生产经营管理方面的技术性工作,其内容是生产调度对生产经营动态的了解、掌握、预防、处理,对关键岗位如主机岗位实行控制,对跨车间和跨部门的电、水、风,产、供、销、运等进行协调平衡,对产量、质量、安全、效益等重点环节实行衔接一致的保证;从广义上说,生产调度部门的行政管理方面的具体事项,如业务上,科技上的研讨活动,在岗人员道德和专业知识的教育,业务能量的具体发挥等,可见广义的生产调度工作,其具体活动事项要比生产调度管理大得多,将生产调度管理等同生产调度工作是不准确的。可以概括的说,生产调度工作是生产调度管理的具体表现,生产调度工作的完成是生产调度管理在实际上完成的具体表现。生产调度的重要意义在于:现代工业企业,生产环节多,协作关系复杂,生产连续性强,情

基于遗传算法的任务调度研究

华中师范大学计算机科学系实验报告书 实验题目:基于遗传算法的多任务调度研究课程名称:智能计算 主讲教师:沈显君 辅导教师: 课程编号: 班级: 2011级 实验时间: 2011年11月

基于遗传算法的多任务调度研究 摘要: 本文主要讨论了遗传算法在工程项目中多任务执行优化中的应用,重点对多任务调度 (Resource —constrained project scheduling problem ,RCPSP)问题进行了研究。讨论了资源受限的多任务调度问题,提出了改进的遗传算法优化多任务调度问题的方法,主要从优化算法模型的建立,优化算法设计,算法的实现以及结果分析等几个方面进行了详细论述,并与其它启发式方法进行了对比分析。 关键字:效益最优化;遗传算法;多任务 1.简介 任务调度优化在工程项目管理中是非常重要的,它决定了工程项目利润的高低。遗传算法是一种并行的全局搜索的高效求解问题的方法,本质上就是处理离散优化搜索问题的,它不要求问题空间的连续性,不需要梯度信息,其鲁棒性(Robust)已经得到了证实,在处理大型复杂优化问题上己经取得了显著的成绩,所以在解决多任务调度优化问题时,具有其它方法无法比拟的优势。 2.多任务调度模型的建立 假设存在若干并行任务和一个共享的资源库,包含有若干种可更新资源(renewable resources),并且所有资源都只有有限的供给量。任务之间除了共享资源外互相独立。为方便对问题进行描述,建立如下的数学模型:多任务调度问题有P 个相互独立的任务,第k 个任务包含n k+1个工作,其中第n k+ 1个任务为任务虚拟的终止工作,不占用资源和时间。这P 个任务共享M 种可更新资源,其中第m 种资源的总量为R m 。用W i 表示第i 个任务的工作集,W ij 表示第i 个任务中的第j 个工作,其工期为d ij ,对第m 种资源的需求量为r ijm ,任务的开始时间标记为S ij ,它的所有紧前任务形成的集合记为P ij 。在时间t 时正在进行的所有任务的集合标记为I t 。考虑到不同任务的重要程度不同,用a k 表示第k 个任务的权重。综合上述假设和采用的符号,资源约束下的多任务调度问题可以描述为公式(1)-(6): ∑=+? P k n k k k S 1 1,) (*min (1) j i P h d S S t s ij h i h i j i ,,,. .,,,?∈?+≥ (2) .,, ,∑∈?≤t j i I w m ijm t m R r (3)

改进的混沌遗传算法

改进的混沌遗传算法 李辉 (计算机学院2004级研究生 04720746) 摘要:混沌遗传算法(chaos genetic algorithm, CGA)是基于混沌优化的遗传操作,将使子代个体均匀地分布于定义空间,从而可避免早熟,以较大的概率实现全局最优搜索.与传统的遗传算法相比较, CGA 的在线和离线性能都有较大的改进。而遗传算法作为一种智能算法,是解决非线性复杂优化问题的有利工具,但它在搜索过程中易陷入局部最优,收敛速度慢的缺陷又限制了它的寻优效能。混沌遗传算法具有两者的优点,大大提高了优化的效率。 关键词:遗传算法混沌混沌优化 Abstract:Chaos genetic algorithm (CGA)is a genetic operation,which based on chaos optimization,makes the individuals of subgeneration distribute uniformly in the defined space and avoids the premature of subgeneration.To compare the performances of the CGA with those of the traditional GA,The results demonstrated that the CGA’s on-line and off–line performance was all superior to that of the traditional GA.As an inteliengence algorithm,GA is a effectual toos to resolve the problem of the liner-optimization,but the slower convergence and the premature restrict its efficiency.And CGA which has the two strongpoint has promoted is efficiency in optimization. Key words: genetic algorithm chaos chaos optimization 1 引言: 遗传算法(GA)最早由美国Michigan大学的John Holland教授提出,通过模拟自然界中的生命进化过程,有指导地而不是盲目地进行随机搜索,适用于在人工系统中解决复杂特定目标的非线性反演问题。De Jong首先将遗传算法应用于函数优化问题的研究,他的工作表明在求解数学规划时,GA是一种有效的方法。但对于大型复杂系统,尤其是非线性系统优化问题的求解,GA仍有许多缺陷,如无法保证收敛到全局最优解,群体中最好的染色体的丢失,进化过程的过早收敛等。 混沌是自然界中一种较为普遍的现象,具有“随机性”、“遍历性”及“规律性”等特点,在一定范围内能按其自身的“规律”不重复地遍历所有状态的。在搜索空间小时混沌优化方法效果显著,但搜索空间大时几乎无能为力。 混沌遗传算法(CGA)的基本思想是将混沌状态引入到优化变量中,并把混沌运动的遍历范围“放大”到优化变量的取值范围,然后把得到的混沌变量进行编码,进行遗传算子操作。再给混沌变量附加—混沌小扰动,通过一代代地不断进化,最后收敛到一个最适合环境的个体上,求得问题的最优解。 2 传统遗传算法 传统遗传算法: population old_pop,new_pop;/*current and next population*/ int pop_size,generation; float p_cross,p_mutation; /*prob. Of crossover & mutation*/ 1 old_pop=initial random population={ind1,ind2,….indpopsize} 2 while(generation

相关文档
最新文档