首页 基于遗传算法的流水车间调度问题

基于遗传算法的流水车间调度问题

举报
开通vip

基于遗传算法的流水车间调度问题中文摘要 流水车间调度问题是研究多个工件在若干个机器上的加工次序的问题,有效的调度算法对企业提高生产效率有着重要作用。本文使用遗传算法求解流水车间调度问题,把一个染色体编码成若干个自然数,表示相应工件的排序权值;通过简单交换两个父代的若干相同位置的基因,产生能够继承父代优良特性的子代;并且采用均匀变异,更好地保持种群中的基因的多样性。实验表明,该方法能取得较好的效果。 关键字:遗传算法,流水车间调度方法,实数编码,基因链码,群体,适应度。 外文摘要 Abstract: Flow-shop scheduling p...

基于遗传算法的流水车间调度问题
中文摘要 流水车间调度问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 是研究多个工件在若干个机器上的加工次序的问题,有效的调度算法对企业提高生产效率有着重要作用。本文使用遗传算法求解流水车间调度问题,把一个染色体编码成若干个自然数,表示相应工件的排序权值;通过简单交换两个父代的若干相同位置的基因,产生能够继承父代优良特性的子代;并且采用均匀变异,更好地保持种群中的基因的多样性。实验表明,该方法能取得较好的效果。 关键字:遗传算法,流水车间调度方法,实数编码,基因链码,群体,适应度。 外文摘要 Abstract: Flow-shop scheduling problem study the problem the processing sequence of A plurality of workpieces on some working machine,and it makes good effects on proving production efficiency to the industries with effective methods.In the case,we deal with flow-shop scheduling problem using a algorithm,the Genetic Algorithm.There is a chromosome we've just coded into some natural numbers to represent the weight order of these workpieces; exchanging simply two fathers' places of some gene to produce new children that carried good feature on two fathers;we also use the Uniform Mutation,and it keeps its diversity of gene on the population.This experiment show this method can achieve good results. Key Words: Genetic Algorithm, Flow-shop scheduling problem,natural number coding,genic bar code,group,fitness. 目录 中文摘要    1 外文摘要    2 目录    3 1 引言    4 1.1 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 的发展背景及重要性    4 1.1.1 时代背景    4 1.1.2 论文研究的重要性    4 1.2 论文的研究问题及解决方法    4 2 FSP问题描述    5 2.1 排序问题的基本概念    5 2.1.1 名词术语    5 2.1.2 条件假设    5 2.2车间作业排序问题的特点    6 2.3 车间作业排序问题    6 2.3.1 目标 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载     6 2.3.2 车间调度问题的分类    7 3 遗传算法理论    7 3.1 遗传算法的产生和发展    7 3.2 遗传算法的基本思想    8 3.2.1 基本概念    8 3.2.2 遗传算法的基本思想    9 4 基于遗传算法的流水车间调度方法    11 4.1 问题的提出    11 4.2 遗传算法基本步骤    11 4.2.1 编码    11 4.2.2 初始群体生成    12 4.2.3 适应度计算    12 4.2.4 选择    14 4.2.5 交叉    15 4.2.6 变异    17 4.2.7 终止    19 5. 研究成果    20 5.1 算法求解与分析    20 5.2 实验结果    21 参考文献    22 附录    23 1 引言 1.1 论文的发展背景及重要性 1.1.1 时代背景 从第一次工业革命起,由于科技的进步人类社会就开始了一个经济腾飞的大时代。特别是信息技术的快速发展,各行各业蓬勃发展,呈现一片的繁荣。在企业的加工制造业,人们在不断的追求更高的质量和效率,他们寻求企业管理和车间生产管理的优化方法,追求企业利润的最大化。如何缩短工期,如何保质保量,如何在有限的时间完成生产任务,这些问题一直是企业管理者的重点。 在如今物质不断增长、丰富的时代,人们的需求还远达不到满足,这已经成为当今社会的一对矛盾体。生产管理者希望寻得一种更高效的管理生产方式,这就带来人们在优化算法[1]中的不断探索。 1.1.2 论文研究的重要性 当今社会企业的竞争愈加激烈,为提高自身的竞争力,企业的管理人员就应该考虑得更加周全,不仅要考虑质量(Quality),成本(Cost),还有时间、服务等重要影响因素。要想提高运行管理的质量,作业 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 排序是最具伸缩性的因素之一。随着运筹学及各种最优化理论发展逐渐完善,排序方法本质上作为一种优化方法必然随之精益求精。 在专业领域中通过应用来丰富完善并检验优化算法和理论,对于它自身的发展,以及能把它更好的应用到其他领域,比如加工制造业,同样具有重要的理论意义。 1.2 论文的研究问题及解决方法 本篇论文的研究主要帮助解决的问题是目前制造企业中制造系统组织管理模式普遍滞后、实际生产过程中作业计划排序工作粗放管理的现状,而遗传算法(GA)[2]具有自组织、自适应、并行性搜索、通用性强等特点,恰好可以弥补这种情况,我们在这里提出了基于遗传算法的流水车间排序算法[3]。 我们要解决的问题有如下几点: 一、对一般的车间作业排序问题进行系统的研究 二、简要介绍遗传算法的产生和发展、基本思想和基本操作。 三、利用所给数据,对问题进行分析,结合优化理论, 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 了一种基于遗传算法的流水车间调度方法,说明算法操作步骤,并得到了最优解决方案。用遗传算法进行作业排序。 最近的几十年间,人们不断探求新的方法求解流水车间的调度问题,它有很高的理论价值和实际应用背景,正需要一种高效的求解方法,结合了MATLAB数学软件[4]或C语言现代的遗传算法经过不断的改进[5]与各种领域的探索[6,7,8]。 通过对遗传算法的分析研究[9],并与实际问题相结合,本文采用实数编码和一种简便的解码,经过遗传算法的主要步骤,罗盘选择和多点交叉及变异运算重新生成新的个体,利用适应度函数本文即是总时间最短来计算新个体的适应度。对于用来实验的11个经典算例,对于规模较小较简单的问题都可以求出其最优解,一些比较复杂的算例虽然得出的最优解处在误差,也只在我们可接受的范围。这次实验证明用遗传算法的求解方法对于FSP问题是高效的。 2 FSP问题描述 2.1 排序问题的基本概念 2.1.1 名词术语 在生产管理中,常用的名词有“编制作业计划”(Scheduling)、“排序”(Sequencing)、“派工”(Dispatching)、“控制”(Controlling)和“赶工”(Expediting)。 一般来说,编制作业计划不等同于排序。排序只是确定工件在机器上的加工顺序。而编制作业计划,则不仅包括确定工件的加工顺序,而且还包括确定机器加工每个工件的开始时间和完成时间。因此,作业计划才能指导每个工人的生产活动。另外,“派工”是按作业计划的要求,将具体生产任务安排到具体的机床上加工,属于“调度”范围;“赶工”是在实际进度已落后于计划进度时采取的行动,也属于“调度”范围;“调度”是实行控制所采取的行动。 描述排序问题的名词术语来自加工制造行业。它还有术语,如“机器”“工件”“工序”和“加工时间”,它们的意义已不限于本来的含义。这里的“机器” ,可以是工厂里的各种机床,也可以是维修工人;可以是轮船要停靠的码头,也可以是电子计算机中央处理单元、存储器、和输出、输入单元。它们都表示“服务者” ;工件则表示“服务对象”。工件可以是单个零件,也可以是一批相同的零件。 2.1.2 条件假设 为了便于分析研究,建立数学模型[10],下面对排序问题提出一些假设条件。 1. 一个工件不能同时在几台机器上加工。 2.工件的加工过程中采取平行移动方式,即当上一道工序完成后,立即送下道工序加工。 3.不允许中断。当一件工件一旦开始加工,必须一直进行到完工,不得中途停止插入其他工件。 4.每道工序只在一台机器上完成。 5.工件数、机器数和加工时间已知,加工时间与加工顺序无关。 6.每台机器一次只能加工一件工件。 2.2车间作业排序问题的特点 在实际的工业环境中,现代车间作业排序问题[11,12]往往是Job-shop型的,且是动态的。实际的车间作业排序问题有以下的特点: 1.复杂性 由于生产车间中工件、机器、缓存及搬运系统之间相互影响、相互作用、每个作业又要考虑它的加工时间、操作顺序、交货期等,因而相当复杂。由于排序问题是在等式或不等式约束下求性能指标的优化,在计算量上往往是NP完全问题,即随着问题规模的增大,对于求解最优化的计算量呈指数增长,使得一些常规的最优化方法往往无能为力。 2.动态随机性 在实际的生产排序系统中存在很多随机的和不确定的因素,比如作业到达时间的不确定性、作业的加工时间也有一定的随机性,而且生产系统中常出现一些实发偶然事件,如设备的损坏、修复、作业交货期的改变、加入紧急定单等。 3.多目标 实际的计划排序往往是多目标的,并且这些目标间可能发生冲突。Oraves曾将排序目标分为基于排序费用和排序性能的指标两大类,Kiran等人将排序目标分三类:基于作业交货期的目标、基于作业完成时间的目标、基于生产成本的目标。这种多目标性导致排序的复杂性和计算量急剧增加。 2.3 车间作业排序问题 2.3.1 目标函数 车间作业排序涉及到了产品的交货期、总价值、成本等诸多因素,是一个多目标的决策函数。 1966年Melior提出了27个排序目标,总结一下可分为基于时间和价值的目标。 基于时间的目标包括几类。基于时间的目标体现在对需求的快速反应和最大程度地满足客户对交货期的要求,这类目标又分为两种:给予交货期的目标和基于完成时间的目标;基于交货期的目标着眼于最大程度的满足交货期的要求,太早或太晚完成产品制造都是不经济的;基于总加工时间的目标,包括完成时间、流动时间和等待时间等。基于价值的目标即在不考虑加工成本,在现有机器设备及规定的时间内完工,如何安排选择加工工件的各类以及加工的次序,使得整个选择加工的工件价值最大 这两大类目标不是彼此孤立的,其中的许多目标是互相联系的,互相促进的。本文把时间作为目标函数,即要求完成时间最短。 2.3.2 车间调度问题的分类 车间调度主要是在生产计划作业的基础上确定生产任务的加工顺序以及各种制造资源的实时动态调度。确定生产任务的加工顺序为作业排序问题,它有不同的分类方法。最常用的分类方法是按机器、工件和目标函数的特征分类。对于多台机器的排序问题,按工件加工路线不同,可以分为单件作业(Job-shop)排序问题和流水作业(Flow-shop)排序问题。工件的加工路线不同,是单件作业排序问题的基本特征;而所有工件的加工路线完全相同,则是流水作业排序问题的基本特征。 按工件到达车间的情况不同,可以分为静态的排序问题和动态的排序问题。当进行排序时所有的工件都已到达,可以一次对它们排序,这是静态的排序问题。若工件是陆续到达,要随时安排它们的加工顺序,这是动态的排序问题。 按目标函数的性质不同,也可划不同的排序问题。譬如,同是单台机器的排序,目标是使平均流程时间最短和目标是使误期完工工件数最少,实质上是两种不同的排序问题。按目标函数的情况,还可以划分为单目标排序问题与多目标排序问题。以往研究的排序问题,大都属于单目标排序问题,而多目标排序问题则很少研究。另外按参数的性质,可以划分为确定型排序问题和随机型排序问题。所谓确定型排序问题,指加工时间和其它有关参数是已知确定的量;而随机型排序问题的加工时间和有关参数为随机变量。这两种排序问题的解法本质上不同。 流水作业排序问题的基本特征是每个工件的加工路线都一致。一般来说,对于这个问题,工件在不同机器上的加工顺序不尽一致,但本文要讨论的是一种特殊情况,即所有工件在各台机器上的加工顺序都相同的情况,本文可以证明排列排序问题下的最优解一定是相应流水作业排序问题的最优解。 3 遗传算法理论 3.1 遗传算法的产生和发展 遗传算法(Genetic Algorithm, GA)根据自然界这个“物竞天择,适者生存”现象而提出来的是近几年发展起来的一种崭新的全局优化算法。早在本世纪40 年代,就有学者开始研究如何利用计算机进行生物模拟的技术。1962年霍兰德(Holland)教授首次提出了GA算法的思想,它借用了仿真生物遗传学和自然选择机理,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性的提高。从某种程度上说遗传算法是对生物进化过程进行的数学方式仿真。 进入八十年代,遗传算法迎来了兴盛发展时期,无论是理论研究还是应用研究都成了十分热门的课题。目前,关于遗传算法研究的热潮仍在持续,越来越多的从事不同领域的研究人员已经或正在置身于有关遗传算法的研究或应用之中。 遗传算法已用于求解带有应用前景的一些问题,例如遗传程序设计、函数优化、排序问题、人工神经网络、分类系统、计算机图像处理和机器人运动规划等。 3.2 遗传算法的基本思想 3.2.1 基本概念 由于遗传算法是由进化论和遗传学机理而产生的搜索算法,所以在这个算法中会用到很多生物遗传学知识,下面是一些名词术语的基本概念: 1. 染色体:生物细胞中含有的一种微小的丝状化合物。遗传物质的主要载体,由多个遗传因子——基因组成。 2. DNA:脱氧核糖核酸,是组成染色体的物质。 3. 组成染色体的基本遗传单位。 4. 表现型:由染色体决定形状的外部表现。 5. 个体:指染色体带有特征的实体。 6. 种群:染色体带有特征的个体的集合。该集合内个体数称为群体的大小。 7. 适应度:用来度量某个物种对于生存环境的适应程度的一个指标。对生存环境适应度较高的物种将获得更多的繁殖机会。 8. 选择:指决定以一定的概率从种群中选择若干个体的操作。选择的过程是一种基于适应度的优胜劣汰的过程。 9. 复制:细胞在分裂时,遗传物质通过复制而转移到新产生的细胞中,新细胞就继承了旧细胞的基因。 10. 交叉:也称基因重组,俗称“杂交”。 11. 变异:细胞进行复制时可能以很小的概率产生某些复制差错,从而使DNA发生某种变异,产生出新的染色体,这些新染色体表现出新的形状。 3.2.2 遗传算法的基本思想 遗传算法是从代表问题可能潜在解集的一个种群开始的,而一个种群则由经过基因编码的一定数目的个体组成。因此,一开始先要实现从表现型到基因型的映射即编码工作。通常采用二进制编码。 初始种群产生后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解。在每一代,根据问题域中个体的适应度大小挑选个体,并借助于自然遗传学的遗传因子进行组合交叉和变异,产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应环境,末代种群中的最优个体经过解码,可以作为问题的近似最优解。 3.3 遗传算法的基本操作 1.对待解决问题进行编码,我们将问题结构变换为位串形式编码表示的过程叫编码;而相反将位串形式编码表示变换为原问题结构的过程叫译码。 2.随机初始化群体,个体数目一定,每个个体表示为染色体的基因编码; 3.计算群体上每个个体的适应度值(Fitness) ; 4.评估适应度,对当前群体中每个个体计算其适应度,适应度表示了该个体的性能好坏 ; 5.按由个体适应度值所决定的某个规则应用选择算子产生中间代; 6. 按照一定的交叉概率和交叉方法,生成新的个体; 7. 按照一定的变异概率和变异方法,生成新的个体; 8.没有满足某种停止条件,则转第3步,否则进入9 ; 9.输出种群中适应度值最优的个体 ; 遗传算法的一般流程如图1所示。 图1 4 基于遗传算法的流水车间调度方法 4.1 问题的提出 本文对一个流水车间调度问题进行遗传算法求解,问题如下: 流水车间调度问题研究n个工件在m台机器上有序的加工问题,每个工件都有完工的日期(DD,Due date),加工的时间(PT,Processing time)和工件的价值(VAL,Value if job is selected).车间作业计划研究一个工厂生产工序的计划和安排,需要计划与合理安排各个工件在这些机器上加工的先后次序,即拟订加工工序,通过各个工件在各种机器上加工次序的合理安排,使得完成这批工件加工任务所需的总时间最省。 4.2 遗传算法基本步骤 4.2.1 编码 把所需要选择的特征进行编号,每一个特征就是一个基因,一个解就是一串基因的组合。编码和适应度计算时的解码操作以及交叉和变异算子的设计是需要同时考虑的。编码是最重要的步骤。 实数编码:即一个解就是一个实数,没有基因。 二进制编码:  即每个个体都采用0,1的编码表示。 二进制遗传算法模式理论中把交叉点的选取看作是相互独立的和忽视交叉对染色体生成的作用,本文采用十进制编码。我们日常一般使用十进制数据,在编码方面省去了将十进制数转化为其他进制的数。 首先数列的产生是将1到n的数进行排列,随机产生一个加工序列n=10的随机数列,假定产生的加工序列为[6 8 9 1 3 4 5 7 2 10],那么我们可以根据时间长度来对这组工件加工进行排序,就可以得出加工顺序[4 9 5 6 7 1 8 2 3 10]。 然而这种编码方法较难实现交叉和变异方案。如果把两个父个体简单交换若干基因,则会有重复基因导致不合法的编码;如果要避免产生不合法编码,则交叉方案会比较复杂,而且子个体很可能会变得和父个体很不一样,难以很好的反映父个体的优良特性。为了两个父个体交叉时可以简单交换若干基因,而且能够产生和父个体类似的子个体,继承良好的特性,本文需要对上面的编码方式进行改进。 我们可以随机产生1到n的可重复随机数列 , 代表权重,权重第 个工件的越小,越先加工。若权重序列为[6 8 9 1 3 4 5 7 2 10],根据权重越小越先加工,它的加工序列为[4 9 5 6 7 1 8 2 3 10];若序列出现重复,如[5 2 2 7 3 4 6 7 1 4],其中 , , ,根据权重确定解码的加工序列为[9 2 3 5 6 10 1 7 4 8]。 4.2.2 初始群体生成 随机产生 个初始串结构数据,每个串结构数据称为一个个体。 个个体,构成了一个群体。GA以这个串结构数据作为初始点开始迭代。这个参数 需要根据问题的规模而确定。本文通过实数编码产生初始群体,根据个体数量确定初始群体的大小,每个个体有各自的基因排列,这些基因是随机的,于是把这个群体的基因作为算法的初始群体。 一般来讲,初始群体的生成有如下策略: 1.根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,在此分布范围内设定初始群体。 2.先随机生成一定数目的个体,然后从中挑出最好的个体加入初始群体中。这一过程不断重复,直到初始群体中个体数达到了预定的规模。 群体规模一般不随迭代而变化,但也不绝对。 4.2.3 适应度计算 适应度计算即计算交换产生的新个体的适应度。适应度是用来度量种群中个体优劣(符合条件的程度)的指标值,这个判据的选取是GA的关键所在。 本文考虑到车间排序问题,在工件依次经过机器加工,机器加工时,待加工的工件就要等待,所以工件的排序除了要安排工件的加工顺序外,还要使工件等待加工的时间尽可能短,从而达到总时间最短。针对问题,适应度函数为加工工件时间最短,设定适应度计算函数 (程序见附录代码),这里主要考虑到的是工件加工时间和工件的重要性即权重两大因素
本文档为【基于遗传算法的流水车间调度问题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_633423
暂无简介~
格式:doc
大小:47KB
软件:Word
页数:16
分类:互联网
上传时间:2019-04-18
浏览量:83