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

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

中文摘要

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

关键字:遗传算法,流水车间调度方法,实数编码,基因链码,群体,适应度。

外文摘要

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 目标函数 (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]。

我们要解决的问题有如下几点:

一、对一般的车间作业排序问题进行系统的研究

二、简要介绍遗传算法的产生和发展、基本思想和基本操作。

三、利用所给数据,对问题进行分析,结合优化理论,设计了一种基于遗传算法的流水车

间调度方法,说明算法操作步骤,并得到了最优解决方案。用遗传算法进行作业排序。

最近的几十年间,人们不断探求新的方法求解流水车间的调度问题,它有很高的理论价值和实际应用背景,正需要一种高效的求解方法,结合了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)和工件的价值(V AL,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的可重复随机数列x,)(i x代表权重,权重第i个工件的越小,

越先加工。若权重序列为[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],其中)3()2(x x =,)8()4(x x =,)10()6(x x =,根据权重确定解码的加工序列为[9 2 3 5 6 10 1 7 4 8]。

4.2.2 初始群体生成

随机产生n 个初始串结构数据,每个串结构数据称为一个个体。n 个个体,构成了一个群体。GA 以这个串结构数据作为初始点开始迭代。这个参数n 需要根据问题的规模而确定。本文通过实数编码产生初始群体,根据个体数量确定初始群体的大小,每个个体有各自的基因排列,这些基因是随机的,于是把这个群体的基因作为算法的初始群体。 一般来讲,初始群体的生成有如下策略:

1.根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,在此分布范围内设定初始群体。

2.先随机生成一定数目的个体,然后从中挑出最好的个体加入初始群体中。这一过程不断重复,直到初始群体中个体数达到了预定的规模。

群体规模一般不随迭代而变化,但也不绝对。

4.2.3 适应度计算

适应度计算即计算交换产生的新个体的适应度。适应度是用来度量种群中个体优劣(符合条件的程度)的指标值,这个判据的选取是GA 的关键所在。

本文考虑到车间排序问题,在工件依次经过机器加工,机器加工时,待加工的工件就要等待,所以工件的排序除了要安排工件的加工顺序外,还要使工件等待加工的时间尽可能短,从而达到总时间最短。针对问题,适应度函数为加工工件时间最短,设定适应度计

算函数x)func_cost( fval =(程序见附录代码),这里主要考虑到的是工件加工时间和工

件的重要性即权重两大因素

关于适应度算法设计可以分成以下几个过程:

1.输入一组工件c 的加工时间矩阵tA 作为测试样本,其中有第i 个工件在第j 台机器加工的时间和同一工件在不同机器加工的时间,即j)c(i,;也可以输入工件加工的权重,先生成一个行向量x ,使第i 到k 列数赋值为0,)(i x 代表第i 个工件的权重,权重越小,越

先加工,然后利用MATLAB 的sort 函数防止出现无效的排序;

2.提出指定顺序的时间矩阵:)tA(s,st =,1:-1:12s =;

3.时间矩阵st 为m 行n 列,表示n 个工件在m 台机器上加工时间,矩阵的初始值为0;

4.先计算c 的第一行,然后计算c 的第一列的除第1个元素外其它元素;

5.利用for 循环,m ,...,2,3k ,n ,...,3,2i ==。

第1-i 个工件在第k 台机器的加工时间和第i 个工件在第1-k 台机器的加工时间,取1))-k c(i,k),1,-max(c(i ,与时间矩阵st 对应的第i 个工件在第k 台机器的加工时间相加,得出第i 个工件在第k 台机器的加工时间,即k)c(i,;

6.最后显示工件加工完成需要的时间,即c(end)fval =,显示最后一个元素是否最短时间,即是否符合终止条件。若满足,显示最终结果,算法结束;否则,1k k ,1i i +=+=,返回第3。

下面把算法用流程图表示:

图2 4.2.4 选择

选择的目的是为了从交换后的群体中选出优良的个体,使它们有机会作为父代为下一代繁殖子孙。遗传算法通过选择过程体现这一思想,进行选择的原则是使得适应度高的个体被选的次数比较高,所保留的个体数量和原种群的数量一致。选择实现了达尔文的适者生存原则。

选择通常有正态几何分布选择法、轮盘选择法、随机遍历抽样、局部选择法、截断选择法、锦标赛选择法。采用何种选择方法对结果影响并不大,本文主要采用类似轮盘赌方法。

轮盘选择的原理如下:

图4中指针固定不动,圆盘被分成不等的扇形,假设分为10个扇形,而扇形面积的大小表示群体的适应度。当转动圆盘后停止,指针指定的位置便是被选中的个体。从统计意义讲,适应度大的个体,对应扇形面积大,被选中的可能性大;反之,适应度小的个体被选中的可能性小,但有时也会被“破格”选中。

图4

此方法在GOAT 工具箱的Selection function域中选择Roulette即可(若选取其它选择参数操作类似)。

4.2.5 交叉

遗传算法的交叉操作,是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。交叉操作是遗传算法中最主要的遗传操作。两个父代通过将相异的部分基因进行交换(如果交换全部相异的就变成了对方而没什么意义),从而产生新的个体,新个体组合了其父辈个体的特性。交换体现了信息交换的思想。通常交换产生新个体的数量和原种群的个体数量一样,并作为下一次迭代的基础。

在作交叉的操作时仍需要重新解释得到的子代,防止出现无效的排列(即有重复基因的)。单点交叉与多点交叉比较简单,易于实现。另外还有启发式交叉,返回的子辈位于包含父辈的直线上,离父辈不远的距离上有较好的适应度;在同一方向上远离父辈,则有较差的适应度。

对于所求问题的个体进行交叉操作,我们主要采用的是单点交叉和多点交叉。在GOAT 工具箱[3]的Crossover function域中选择Single Point、Scattered或是Heuristic。

4.2.6 变异

遗传算法中的变异运算,是指将个体染色体编码串中的某些基因座上的基因值用该基因座上的其它等位基因来替换,从而形成以给新的个体。

变异首先在群体中随机选择一定数量个体,对于选中的个体以一定的概率(成为变异概率)随机地改变串结构数据中某个基因的值。同生物界一样,GA中变异发生的概率很低,通常取值在0.001~0.01之间。变异为新个体的产生提供了机会。

如果获取输入参数个数小于8,变异概率为0.05,这样是不太可能产生变异。

进行变异,初始状态子个体的基因排列与父个体的一致,子个体中因子变异概率是相同的,基因被取代是随机的。

在群体中选取一定的个体的基因进行变异操作,变异在个体间是随机的,在基因间也是随机的,这种概率比较小。下面是把基因串进行变异。

图5

本文采用的是比简单的传统变异更有效的均匀变异,即对需要变异的基因用一平均分布在1到n的随机整数替换,这种变异方法可以更好地保持种群中的基因的多样性。

图6

变异一般有以下两种。

1.高斯函数变异(Gaussian),把一高斯分布、具有均值0的随机数加到父向量的每一项.此分布的变化由参数“Scale”和“Shrink”决定. Scale参数确定第一代的方差, Shrink控制方差怎样随着迭代数增大而收缩。

2.均匀变异(Uniform).它有两个过程,第一步,算法选择个体变量的一部分进行变异,这里每一项有一变异概率(Mutation Rate),第二步是算法用均匀选择在项目范围中选择一随机数替换每个选中的项目。

本文采用均匀变异,在GOAT 工具箱的Mutation function域中选择Uniform。利用与基因等长的随机数的随机产生,确定需要变异基因的位置即可完成变异,这样可以更好地保持种群中的基因的多样性。

4.2.7 终止

当算法达到终止条件,停止操作。终止的情况有一下三种。

(1) 给定一个最大的遗传代数MAXGEN(人为事先确定),算法迭代在达MAXGEN时停止。

(2) 给定问题一个下界的计算方法,当进化中达到要求的偏差 时,算法终止。

(3) 当监控得到的算法再进化已无法改进解的性能,即解的适应度无法再提高,此时停止计算。

5. 研究成果

5.1 算法求解与分析

为了验证本文设计的算法对J.Carlier 提出的Car01-08和C.R.Reeves 提出的Rec11, Rec13和Rec15共11个典型的算例[7]进行测试。由于遗传算法是一个随机搜索算法,每次运行的到的结果都可能不一样,计算的次数较少时可能得不到满意的结果,达不到想要的结果就不能分析出其问题,不能做出正确判断,为了更清楚看出问题结论,运行次数为20次。

以上测试数据用遗传算法求解,具体步骤如下:

1.令0=k ,随机产生N 个初始个体构成初始群。

2.评价各个体的适配值。

3.判断算法收敛准则是否满足。若满足则输出搜索结果;否则执行以下步骤。

4.令0=m 。

5.根据适应度大小以一定方式执行复制操作来选取两个个体。

6.以一定的交叉概率对选中个体执行交叉操作来产生两个临时个体或者也可以将所选中父代作为临时个体。

7.按变异概率对临时个体执行变异操作产生新个体,并令1+=m m 。

8.若N m <,则返回第5,否则令1+=k k ,并返回第2。

因Matlab7.0己包含遗传算法(GOAT)工具箱,故只需根据适应度函数,并选择相应的各参数(种群规模、选择、交叉、变异等),即可求出最优解。

min F 为用遗传算法所求解,cb 为算例最优解,Fminr 为最优相对误差,100 * (ci)cb(ci))/cb -(Fmin Fminr =。

我们选择几个比较简单的算例和几个比较复杂的算例在同等遗传操作步骤下进行对照组试验(在选择操作上用何种方法对求解结果不影响,下面忽略选择参数的对比,迭代次数设为20次):

表1

基于遗传算法的车间调度算法

得分:_______ 南京林业大学 研究生课程论文 2011~2012学年第一学期 课程号:73327 课程名称:Matlab语言 论文题目:基于遗传算法的车间调度算法 学科专业:交通运输工程 学号:8113102 姓名:闫盖 任课教师:王一雄 二○一一年十二月

基于遗传算法的车间调度算法 【摘要】车间调度问题具有建模复杂性、计算复杂性、动态多约束、多目标性等特点。近几年,各种演化计算方法逐渐被引入到生产调度中,特别是遗传算法的应用。本文主要介绍了企业车间调度问题的遗传算法实现,通过Matlab 实现对遗传算法的编程,其仿真调度结果验证了遗传算法用于求解车间调度问题的可行性和有效性。 【关键词】遗传算法 车间调度 Matlab Flow-Shop scheduling based on genetic algorithm Abstract :The Flow-Shop scheduling problem has the property of modeling complexity, computational complexity, dynamic multi-constraint and multi-targeted. In recent years a variety of evolutionary computation methods, in particular, the application of genetic algorithms has been gradually introduced into the production scheduling problem. This paper puts forward a method to design Flow-Shop by using genetic algorithm. Program about genetic algorithm designs by using Matlab, Simulation results of our experiment show the feasibility and effectiveness of genetic algorithm for solving Flow-Shop scheduling. Key words :Genetic algorithm Flow-Shop scheduling Matlab 引言 生产调度对企业的生产作业过程具有重要的作用。有效的调度方法和优化技术是实现先进制造和提高生产效益的基础和关键。研究和解决好调度问题,能极大提高企业的生产效率,从而提高这些企业的竞争力。自从1954年Johnson 发表第一篇关于流水车间调度问题的文章以来,流水车间调度问题引起了许多学者的关注,提出了许多解决的方法。其中,以遗传算法、模拟退火、禁忌搜索以及人工神经网络为代表的智能化优化技术迅速发展,用来解决流水车间调度问题,受到人们的普遍关注。遗传算法以其优良的计算性能和显著的应用效果而特别引人注目,很多启发式混合方法都是在此基础上发展起来的。本文采用遗传算法进行求解。 1车间调度问题描述 车间调度是指根据产品制造的合理需求分配加工车间顺序,从而达到合理利用产品制造资源,提高企业经济效益的目的。车间调度问题从数学上可以描述为有n 个代加工的零件在m 台机器上加工,车间调度的数学模型如下: (1) 机器集},,{21m m m m M ,?=,j m 表示第j 台机器,j=1,2,…,m 。 (2) 零件集},,{21n p p p P ,?=,i p 表示第i 个零件,i=1,2,…,n 。 (3) 工序序列集},,{21n op op op OP ,?=,},,{21ik i i i op op op op ,?=表示零件i p 加工工序序列。 (4) 可选机器集},,{21ik i i op op op OPM ,?=,},,{21ijk ij ij ij op op op op ,?=表示零件 i p 加工工序j 可以选择的加工机器。

流水车间调度问题的研究-周杭超

流水车间调度问题的研究 机械工程学院 2111302120 周杭超 如今,为了满足客户多样化与个性化的需求,多品种、小批量生产己经为一种重要的生产方式。与过去大批量、单一的生产方式相比,多品种、小批量生产可以快速响应市场,满足不同客户的不同需求,因此,受到越来越多的企业管理者的重视。特别是以流水线生产为主要作业方式的企业,企业管理者致力于研究如何使得生产均衡化,以实现生产批次的最小化,这样可以在不同批次生产不同品种的产品。在这种环境下,对于不同批次的产品生产进行合理调度排序就显得十分重要。 在传统的生产方式中,企业生产者总是力求通过增加批量来减小设备的转换次数,因此在生产不同种类的产品时,以产品的顺序逐次生产或用多条生产线同时生产。这样,必然会一次大批量生产同一产品,很容易造成库存的积压。在实际生产中如果需要生产A, B, C, D 四种产品各100件,各种产品的节拍都是1分钟,如果按照传统的做法,先生产出100件A产品,其次是B,然后是C,最后生产产品D。在这种情况下,这四种产品的总循环时间是400分钟。然而,假设客户要求的循环时间为200分钟(四种产品的需求量为50件),那么在200分钟的时间内就只能生产出产品A和产品B,因而不能满足客户需求,同时还会过量生产产品A和B,造成库存积压的浪费。这种生产就是非均衡的,如图1所示。 比较均衡的生产方式(图2 )是:在一条流水线上同时将四种产品

混在一起生产,并且确定每种品种一次生产的批量。当然,如果在混合生产时不需要对设备进行转换,那么单件流的生产方式是最好的。然而,在实际生产A, B, C , D 四种不同产品时,往往需要对流水线上的某些设备进行工装转换。单件流的生产方式在此难以实现,需要根据换装时间来确定每种产品一次生产的批量。同时,由于现实生产中不同产品在流水线上各台机器的加工时间很难相同,因此,流水线的瓶颈会随着产品组合的不同而发生变化。当同一流水线加工多产品,并且每种产品在各道工序(各台机器)的加工时间差异较大时,瓶颈就会在各道工序中发生变化,如何对各种产品的投产顺序进行优化以协调这些变化的瓶颈是生产管理中一个很重要的问题。 图1 图2 因而对流水线调度问题的研究正是迎合这种多品种、小批量生产方式的需要,我们要讨论得是如何对流水线上生产的不同产品的调度顺序进行优要化。 流水车间调度问题一般可以描述为n 个工件要在 m 台机器上加工,每个工件需要经过 m 道工序,每道工序要求不同的机器,n 个工件在 m 台机器上的加工顺序相同。工件在机器上的加工时间是给定的,设为(1,,;1,,)ij t i n j m ==L L 。问题的目标是确定个工件在每台机器上的最优加工顺序,使最大流程时间达到最小。

流水线车间生产调度的遗传算法MATLAB源代码

流水线车间生产调度的遗传算法MATLAB源代码 n个任务在流水线上进行m个阶段的加工,每一阶段至少有一台机器且至少有一个阶段存在多台机器,并且同一阶段上各机器的处理性能相同,在每一阶段各任务均要完成一道工序,各任务的每道工序可以在相应阶段上的任意一台机器上加工,已知任务各道工序的处理时间,要求确定所有任务的排序以及每一阶段上机器的分配情况,使得调度指标(一般求Makespan)最小。 function [Zp,Y1p,Y2p,Y3p,Xp,LC1,LC2]=JSPGA(M,N,Pm,T,P) %-------------------------------------------------------------------------- % % 流水线型车间作业调度遗传算法 % GreenSim团队——专业级算法设计&代写程序 % 欢迎访问GreenSim团队主页→输入参数列表 % M 遗传进化迭代次数 % N 种群规模(取偶数) % Pm 变异概率 % T m×n的矩阵,存储m个工件n个工序的加工时间 % P 1×n的向量,n个工序中,每一个工序所具有的机床数目 % 输出参数列表 % Zp 最优的Makespan值 % Y1p 最优方案中,各工件各工序的开始时刻,可根据它绘出甘特图 % Y2p 最优方案中,各工件各工序的结束时刻,可根据它绘出甘特图 % Y3p 最优方案中,各工件各工序使用的机器编号 % Xp 最优决策变量的值,决策变量是一个实数编码的m×n矩阵 % LC1 收敛曲线1,各代最优个体适应值的记录 % LC2 收敛曲线2,各代群体平均适应值的记录 % 最后,程序还将绘出三副图片:两条收敛曲线图和甘特图(各工件的调度时序图) %第一步:变量初始化 [m,n]=size(T);%m是总工件数,n是总工序数 Xp=zeros(m,n);%最优决策变量 LC1=zeros(1,M);%收敛曲线1 LC2=zeros(1,N);%收敛曲线2 %第二步:随机产生初始种群 farm=cell(1,N);%采用细胞结构存储种群 for k=1:N X=zeros(m,n); for j=1:n for i=1:m X(i,j)=1+(P(j)-eps)*rand; end end

置换流水车间调度问题的MATLAB求解

物流运筹实务课程设计 题目:置换流水车间调度问题的MATLAB求解置换流水车间调度问题的MATLAB求解

目录 一、前言 (5) 二、问题描述 (6) 三、算法设计 (7) 四、实验结果 (15)

摘要 自从Johnson 1954年发表第一篇关于流水车间调度问题的文章以来.流水车间调度问题引起了许多学者的关注。安排合理有效的生产调度是生产活动能井然有序开展,生产资源得到最佳配置,运作过程简明流畅的有力保证。流水车间调度问题是许多实际流水线生产调度问题的简化模型。它无论是在离散制造工业还是在流程工业中都具有广泛的应用。因此,对进行研究具有重要的理论意义和工程价值。流水线调度问题中一个非常典型的问题,而置换流水线调度问题作为FSP问题的子问题,是一个著名的组合优化问题。该问题是一个典型的NP难问题,也是生产管理的核心内容。随着生产规模的扩大,流水线调度问题的优化对提高资源利用率的作用越来越大,因此对其研究具有重要的

理论和现实意义。 关键字:流水车间,单件小批量生产,jsp模型,Matlab 前言 企业资源的合理配置和优化利用很大程度上体现在车间一层的生产活动中,所以加强车间层的生产计划与控制一直在企业生产经营活动中占有十分重要的地位。车间生产计划与控制的核心理论是调度理论。车间调度问题是一类重要的组合优化问题。为适应订货式、多品种、小批量生产的需要,引进了置换流水车间调度概念。在置换流水车间调度优化后,可以避免或大大减少流程工作时间、提高生产效率。因此,研究成组技术下车间调度问题是很有必要的。生产调度,即对生产过程进行作业计划,是整个个先进生产制造系统实现管理技术、优化技术、白动化与计算机技术发展的核心。置换流水车间调度问题是许多实际生产调度问题的简化模型。生产计划与调度直接关系着企业的产出效率和生产成本,有效的计划与调度算法能最大限度地提高企业的效益。调度问题是组合优化问题,属于NP问题,难以用常规力一法求解。随着制造业的快速发展,大规模定制生产、全球化制造等思想的提出,使车间调度问题呈现出以下的新特点:约束条件多,时间复杂度高,空问复杂度高。这将导致在许多情况下,求解所建立的数学模型的快速性无法满

常规混合流水车间调度问题的等价变换

第37卷?第9期?2015-09(下)? 【45】 常规混合流水车间调度问题的等价变换 Equivalent transformation of standard hybrid flow shop scheduling problem 苏志雄,伊俊敏 SU Zhi-xiong, YI Jun-min (厦门理工学院 管理学院,厦门 361024) 摘 要:常规混合流水车间调度问题具有多阶段、同速平行机、总完工时间最小化等特征,它是研究混 合流水车间调度问题最为自然的起点。对于此类NP难问题的基本性质的研究还不够充分,其算法设计缺乏系统的理论知识指导。因此,针对常规混合流水车间调度问题的性质展开研究, 探讨了调度问题的可逆性特征,并在此基础上分析了基于逆序变换进行问题求解的可行性,为算法设计提供了理论依据。 关键词:生产调度;混合流水车间;逆序变换;等价性中图分类号:TP278 文献标识码:A 文章编号:1009-0134(2015)09(下)-0045-04Doi:10.3969/j.issn.1009-0134.2015.09(下).13 收稿日期:2015-06-03 基金项目:国家自然科学基金面上项目(71371162);福建省自然科学基金(2014J01271);厦门理工学院高层次人才 项目(YSK10009R ) 作者简介:苏志雄(1980 -),男,福建龙海人,博士,研究方向为生产计划与调度、运输调度和软计算方法。 0 引言 混合流水车间(Hybrid Flow Shop, HFS )调度问题是在流水车间(Flow Shop, FS )调度问题的基础上发展起来的,其特点是所有阶段或部分阶段上存在并行设备。常规HFS 调度问题可以描述为n 个工件要在s 个阶段的流水车间上加工,其中阶段k 具有M (k)个同速平行机、且至少有一个阶段存在两台以上的平行机,在满足一系列基本假设和约束条件的基础上去寻找一个调度解使得最大完工时间(makespan )最小。虽然不同的HFS 问题不能完全满足常规问题的所有假设和约束,但是也只是在设备加工环境、加工约束和特征、优化准则等方面存在较小的差异。常规HFS 问题作为HFS 调度问题的“模板”,其研究成果可以为更加复杂的实际调度问题研究提供基础,受到了学术界和产业界的广泛关注。 由于常规HFS 调度问题的NP 难特性[1],精确算法[2,3] 只能求解很小规模的问题。对于近似求解方法来说,启发式算法 [4,5] 求解快速,然而其求解质量还有较大的改 进空间;元启发式算法[6~10] 求解质量较高,通常需要更 多的计算资源,难以应用于大规模或者实时性要求高的问题。从已有研究来看,现有的调度算法在求解质量、求解效率方面仍存在一定的不足,其主要原因在于算法设计的理论基础不够完善,现有的调度算法尚未很好地融入领域知识(domain knowledge )。此外,文献[7]试图通过反例来说明常规HFS 问题不具备加工可逆性:对于一个给定的工件排列次序(初始阶段),采用正序、逆序调度方法可以获得不同的makespan 值;然而在给定工件排列次序的情况下,可以生成不同的工件设备指派 方案,进而可以得到一系列不同的调度解,该结论并不严谨。因此,本文进一步对常规HFS 调度问题的本质特征展开研究,首先通过逆序变换定义了常规HFS 调度问题的逆序问题,然后从数学角度证明了两者之间的等价关系,最后给出了一种基于逆序变换进行问题求解的方法,旨在为后续的研究提供理论依据。 1 数学模型 1.1 符号定义 为了叙述方便,引入下列符号: J 为待加工的工件集合,{1,,}J n = ;j 为工件编号,j J ∈;k 为阶段编号,{1,,}k s ∈ ;m 为设备编号; M (k)为阶段k 上的平行机数;(j,k)为工件j 在第k 个阶段的操作;p jk 为工件j 在阶段k 的加工时间; t jk ,c jk 为工件j 在阶段k 的开工时间、完工时间;N km 为阶段k 上的设备m 所加工的操作集合;k ?为阶段k 上的工件设备指派方案集合,集合的元 素() 1,(,,)k k k k M N N ω= 满足以下两个条件:1)'km km N N =? ,,'()m m m =??≠∈(){1,2,,}k M ;2)() 1{(,)|}k M m km N j k j ==? ; ?为 12s ?=?×?××? 为可行的工件设备指派方案集合,其元素记为ω; km π为 k 上的 设备m ); π为表示工件的加工顺序方案,其

流水车间调度问题的研究-周杭超

流水车间调度问题的研究-周杭超

流水车间调度问题的研究 机械工程学院 2111302120 周杭超 如今,为了满足客户多样化与个性化的需求,多品种、小批量生产己经为一种重要的生产方式。与过去大批量、单一的生产方式相比,多品种、小批量生产可以快速响应市场,满足不同客户的不同需求,因此,受到越来越多的企业管理者的重视。特别是以流水线生产为主要作业方式的企业,企业管理者致力于研究如何使得生产均衡化,以实现生产批次的最小化,这样可以在不同批次生产不同品种的产品。在这种环境下,对于不同批次的产品生产进行合理调度排序就显得十分重要。 在传统的生产方式中,企业生产者总是力求通过增加批量来减小设备的转换次数,因此在生产不同种类的产品时,以产品的顺序逐次生产或用多条生产线同时生产。这样,必然会一次大批量生产同一产品,很容易造成库存的积压。在实际生产中如果需要生产A, B, C, D 四种产品各100件,各种产品的节拍都是1分钟,如果按照传统的做法,先生产出100件A产品,其次是B,然后是C,最后生产产品D。在这种情况下,这四种产品的总循环时间是400分钟。然而,假设客户要求的循环时间为200分钟(四种产品的需求量为50件),那么在200分钟的时间内就只能生产出产品A和产品B,因而不能满足客户需求,同时还会过量生产产品A和B,造成库存积压的浪费。这种生产就是非均衡的,如图1所示。 比较均衡的生产方式(图2 )是:在一条流水线上同时将四种产品

混在一起生产,并且确定每种品种一次生产的批量。当然,如果在混合生产时不需要对设备进行转换,那么单件流的生产方式是最好的。然而,在实际生产A, B, C , D 四种不同产品时,往往需要对流水线上的某些设备进行工装转换。单件流的生产方式在此难以实现,需要根据换装时间来确定每种产品一次生产的批量。同时,由于现实生产中不同产品在流水线上各台机器的加工时间很难相同,因此,流水线的瓶颈会随着产品组合的不同而发生变化。当同一流水线加工多产品,并且每种产品在各道工序(各台机器)的加工时间差异较大时,瓶颈就会在各道工序中发生变化,如何对各种产品的投产顺序进行优化以协调这些变化的瓶颈是生产管理中一个很重要的问题。 图1 图2 因而对流水线调度问题的研究正是迎合这种多品种、小批量生产方式的需要,我们要讨论得是如何对流水线上生产的不同产品的调度顺序进行优要化。 流水车间调度问题一般可以描述为n 个工件要在 m 台机器上加工,每个工件需要经过 m 道工序,每道工序要求不同的机器,n 个工件在 m 台机器上的加工顺序相同。工件在机器上的加工时间是给定的,设为(1,,;1,,)ij t i n j m ==。问题的目标是确定个工件在每台机器上的最优加工顺序,使最大流程时间达到最小。

流水车间调度问题的研究周杭超

流水车间调度问题的研究 机械工程学院2111302120 周杭超 如今,为了满足客户多样化与个性化的需求,多品种、小批量生产己经为一种重要的生产方式。与过去大批量、单一的生产方式相比,多品种、小批量生产可以快速响应市场,满足不同客户的不同需求,因此,受到越来越多的企业管理者的重视。特别是以流水线生产为主要作业方式的企业,企业管理者致力于研究如何使得生产均衡化,以实现生产批次的最小化,这样可以在不同批次生产不同品种的产品。在这种环境下,对于不同批次的产品生产进行合理调度排序就显得十分重要。 在传统的生产方式中,企业生产者总是力求通过增加批量来减小设备的转换次数,因此在生产不同种类的产品时,以产品的顺序逐次生产或用多条生产线同时生产。这样,必然会一次大批量生产同一产品,很容易造成库存的积压。在实际生产中如果需要生产A, B, C, D 四种产品各100件,各种产品的节拍都是1分钟,如果按照传统的做法,先生产出100件A产品,其次是B,然后是C,最后生产产品D。在这种情况下,这四种产品的总循环时间是400分钟。然而,假设客户要求的循环时间为200分钟(四种产品的需求量为50件),那么在200分钟的时间就只能生产出产品A和产品B,因而不能满足客户需求,同时还会过量生产产品A和B,造成库存积压的浪费。这种生产就是非均衡的,如图1所示。 比较均衡的生产方式(图2 )是:在一条流水线上同时将四种产品

混在一起生产,并且确定每种品种一次生产的批量。当然,如果在混合生产时不需要对设备进行转换,那么单件流的生产方式是最好的。然而,在实际生产A, B, C , D 四种不同产品时,往往需要对流水线上的某些设备进行工装转换。单件流的生产方式在此难以实现,需要根据换装时间来确定每种产品一次生产的批量。同时,由于现实生产中不同产品在流水线上各台机器的加工时间很难相同,因此,流水线的瓶颈会随着产品组合的不同而发生变化。当同一流水线加工多产品,并且每种产品在各道工序(各台机器)的加工时间差异较大时,瓶颈就会在各道工序中发生变化,如何对各种产品的投产顺序进行优化以协调这些变化的瓶颈是生产管理中一个很重要的问题。 图1 图2 因而对流水线调度问题的研究正是迎合这种多品种、小批量生产方式的需要,我们要讨论得是如何对流水线上生产的不同产品的调度顺序进行优要化。 流水车间调度问题一般可以描述为n 个工件要在 m 台机器上加工,每个工件需要经过 m 道工序,每道工序要求不同的机器,n 个工件在 m 台机器上的加工顺序相同。工件在机器上的加工时间是给定的,设为(1,,;1,,)ij t i n j m ==。问题的目标是确定个工件在每台机器上的最优加工顺序,使最大流程时间达到最小。

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

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

外文摘要 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.

02流水线车间生产调度的遗传算法MATLAB源代码

流水线车间生产调度的遗传算法MATLAB源代码n个任务在流水线上进行m个阶段的加工,每一阶段至少有一台机器且至少有一个阶段存在多台机器,并且同一阶段上各机器的处理性能相同,在每一阶段各任务均要完成一道工序,各任务的每道工序可以在相应阶段上的任意一台机器上加工,已知任务各道工序的处理时间,要求确定所有任务的排序以及每一阶段上机器的分配情况,使得调度指标(一般求Makespan)最小。 function [Zp,Y1p,Y2p,Y3p,Xp,LC1,LC2]=JSPGA(M,N,Pm,T,P) %-------------------------------------------------------------------------- % JSPGA、m % 流水线型车间作业调度遗传算法 % GreenSim团队——专业级算法设计&代写程序 % 欢迎访问GreenSim团队主页→ %-------------------------------------------------------------------------- % 输入参数列表 % M 遗传进化迭代次数 % N 种群规模(取偶数) % Pm 变异概率 % T m×n的矩阵,存储m个工件n个工序的加工时间 % P 1×n的向量,n个工序中,每一个工序所具有的机床数目 % 输出参数列表 % Zp 最优的Makespan值 % Y1p 最优方案中,各工件各工序的开始时刻,可根据它绘出甘特图 % Y2p 最优方案中,各工件各工序的结束时刻,可根据它绘出甘特图 % Y3p 最优方案中,各工件各工序使用的机器编号 % Xp 最优决策变量的值,决策变量就是一个实数编码的m×n矩阵 % LC1 收敛曲线1,各代最优个体适应值的记录 % LC2 收敛曲线2,各代群体平均适应值的记录 % 最后,程序还将绘出三副图片:两条收敛曲线图与甘特图(各工件的调度时序图) %第一步:变量初始化 [m,n]=size(T);%m就是总工件数,n就是总工序数 Xp=zeros(m,n);%最优决策变量 LC1=zeros(1,M);%收敛曲线1 LC2=zeros(1,N);%收敛曲线2 %第二步:随机产生初始种群 farm=cell(1,N);%采用细胞结构存储种群 for k=1:N

流水车间

基于遗传算法的流水车间调度方法 2.1引言流水车间(聊ow Shop)调度问题是许多实际流水线生产调度问题的简化模型,无论在离散制造工业还是在流程工业中都具有广泛的应用。研究和解决好调度问题,能极大提高企业的生产效率,从而提高企业的竞争力。自从Jolln∞n 1954年发表第一篇关于流水车间调度问题的文章以来,流水车间调度问题引起了许多学者的关注,提出了许多解决的方法。整数规划和分枝定界法是寻求最优解的常用方法,但是对于一些大规模甚至中等规模的问题,整数规划和分枝定界方法仍然不是很有效。另一方面,流水车间调度问题属NP完全问题,因此一些启发式算法被相继提出,以遗传算法、模拟退火、禁忌搜索以及人工神经网络为代表的智能化优化技术迅速发展来解决流水车间调度问题,受到人们的普遍关注。其中遗传算法以其优良的计算性能和显着的应用效果而特别引人注目,很多启发式混合方法都是在此基础上发展起来的。 遗传算法(G蛐ctic~90rithm GA)是一种模拟生物进化过程的随机搜索算法,它借用了达尔文的进化论及孟德尔的生物遗传学的思想,通过在种群内进行自然选择、遗传、变异等进化机制,实现个体适应度的提高。这体现了自然界中“物竞天择、适者生存’’的进化过程。其自组织、自适应、自学习和种群进化能力使其适合于大规模复杂优化问题,应用于全局搜索等参数优化计算领域,也适用于车间调度问题,是应用最广泛的一种演化计算方法。它作为一种非确定性的拟生态随机优化算法,在过去20年中得到了广泛的应用。由于其具有不依赖于问题模型的特性、全局最优性、随机转移性而非确定性、隐含并行性等特点,因此遗传算法更适合复杂问题的优化,比与其它优化技术相比存在显著的优势。随着计算机技术的发展,遗传算法越来越受到人们的重视,并在机器学习、模式识别、神经网络、优化控制、组合优化等领域得到了成功的应用乜¨。调度问题成为遗传算法领域里的一个热门话题,原因是该问题表现出约束组合优化问题的所有特征,并且成为测试新算法思想的范例。 2.2遗传算法(Genetic~gorithm简称G∞14浙江工业大学硕士学位论文 2.2.1遗传算法的生物学背景遗传算法是一种新兴的、发展速度非常快的、高效的随机搜索与优化的方法。遗传算法基于生物进化理论,是对生物进化的一种数抽象模拟,将达尔文进化论中的自然遗传、自然选择的机制引入到数学理论中,形成了一种具有鲜明特色的优化方法。该法作为一种搜索和自适应优化方法,主要用于求解组合优化问题以及存在不可微的复杂系统的优化问题。地球上的生物,都是经过长期进化而形成的。根据达尔文的自然选择学说,地球上的生物具有很强的繁殖能力。在繁殖过程中,大多数生物通过遗传保持相似的后代;部分生物由于变异,后代具有明显差别,甚至形成新物种。正是由于生物的不断繁殖后代,生物数目大量增加,而自然界中生物赖以生存的资源却是有限的,因此,为了生存,生物就需要竞争。生物在生存竞争中,根据对环境的适应能力,适者生存、不适者消亡,自然界中的生物,就是根据这种“优胜劣汰”的原则,不断地进行进化。遗传算法就是借用生物进化的规律,通过繁殖一竞争一再繁殖一再竞争,实现优胜劣汰,一步一步地逼近问题的最优解。遗传算法是基于自然选择和基因遗传学原理的搜索算法。它将“适者生存”这一基本的达尔文进化理论引入串结构,并且在串与串之间进行有组织但又随机的信息交换。伴随着算法的运行,优良的品质被逐步保留并加以组合,从而不断产生更佳的个体。这一过程就如生物进化一样,好的特征被不断继承下来,坏的特征被逐渐地淘汰。新一代个体中包含着上一代个体的大量信息,新一代个体不断地在总体特征上胜过旧的一代,从而使整个群体向前进化发展。遗传算法的中心问题是鲁棒性(R0bustness),所谓鲁棒性是指能在多变的环境中通过效率及功能之间的协调平衡以求生存的能力。人工系统很难达到如生物系统那样的鲁棒性。遗传算法吸取了自然生物系统“适

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

遗传算法在生产调度方面的应用 合肥工业大学吴磊(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.生产调度 生产调度就是组织执行生产进度计划的工作,是实现生产进度计划的主要手段。生产调度以生产进度计划为依据,生产进度计划要通过生产调度来实现。 在生产调度的事业上,生产调度有管理和工作之分,也就是生产调度管理和生产调度工作,是两个互为联系有有区别的概念。生产调度的作用是职能作用,生产调度工作的作用是职责作用。具体来说,生产调度管理,是指生产调度的计划、实施、检查、总结的期量循环活动的管理,是指生产调度的计划理论、方法、法规等方面的管理。生产调度工作,则有狭义和广义之分,从狭义上说,生产调度工作是指生产调度的业务工作,也就是生产经营管理方面的技术性工作,其内容是生产调度对生产经营动态的了解、掌握、预防、处理,对关键岗位如主机岗位实行控制,对跨车间和跨部门的电、水、风,产、供、销、运等进行协调平衡,对产量、质量、安全、效益等重点环节实行衔接一致的保证;从广义上说,生产调度部门的行政管理方面的具体事项,如业务上,科技上的研讨活动,在岗人员道德和专业知识的教育,业务能量的具体发挥等,可见广义的生产调度工作,其具体活动事项要比生产调度管理大得多,将生产调度管理等同生产调度工作是不准确的。可以概括的说,生产调度工作是生产调度管理的具体表现,生产调度工作的完成是生产调度管理在实际上完成的具体表现。生产调度的重要意义在于:现代工业企业,生产环节多,协作关系复杂,生产连续性强,情

置换流水车间调度问题的两阶段分布估计算法

Computer Engineering and Applications 计算机工程与应用 2017,53(2)置换流水车间调度问题的两阶段分布估计算法 孙良旭1,曲殿利2,刘国莉3 SUN Liangxu 1,QU Dianli 2,LIU Guoli 3 1.辽宁科技大学软件学院,辽宁鞍山114051 2.辽宁科技大学高温材料与镁资源学院,辽宁鞍山114051 3.辽宁科技大学理学院,辽宁鞍山114051 1.School of Software,University of Science and Technology Liaoning,Anshan,Liaoning 114051,China 2.School of High-Temperature Materials and Magnesium Resources,University of Science and Technology Liaoning,Anshan,Liaoning 114051,China 3.School of Science,University of Science and Technology Liaoning,Anshan,Liaoning 114051,China SUN Liangxu,QU Dianli,LIU Guoli.Two-stage estimation distribution algorithm for permutation flowshop scheduling https://www.360docs.net/doc/6717109141.html,puter Engineering and Applications,2017,53(2):64-71. Abstract :Aiming to solve the permutation flow shop scheduling problem,minimizing the total flow time as the objective function,it proposes a novel two-stage estimation of distribution algorithm.In the first stage,it firstly uses NEH (Nawaz-Enscore-Ham,NEH )heuristic to construct a relatively optimal initial individual,and then generates initial popu-lation randomly.To keep the diversities of the population,it puts forward a preferred mechanism to select individuals and establish the probability model,and at the same time,uses elite mechanism to keep the optimal individual in the contem-porary populations.Finally it uses probability model to sample and generate the next generation of population.In the second stage,it uses the insert and interchange operator to do neighborhood search around the optimal individual which is got in the first stage in order to improve the global search ability of estimation of distribution algorithm and prevent it from entrapping the local optimal.Through sufficient experiments,contrast and analysis for outcome of the examples,it proves the feasibility and effectiveness of the proposed algorithm. Key words :estimation of distribution algorithm;permutation flowshop scheduling problem;NEH heuristics;preferred mechanism;neighborhood search 摘要:针对置换流水车间调度问题,以最小化总流水时间为目标,提出了一种新颖的两阶段分布估计算法。第一阶段先利用NEH (Nawaz-Enscore-Ham ,NEH )启发式构造一个较优的初始个体,然后随机生成初始种群,为保留种群的多样性,提出一种择优机制来选择个体并建立概率模型,同时在当代种群中利用精英机制保留当代种群中的最优解,最后利用概率模型采样并生成下一代种群。第二阶段采用插入、互换操作算子对第一阶段得到的最优解进行邻域搜索,来提高分布估计算法的全局搜索能力,阻止其陷入局部最优解。通过对算例进行实验、对比和分析,证明该算法的可行性和有效性。 关键词:分布估计算法;置换流水车间调度问题;NEH 启发式;择优机制;邻域搜索 文献标志码:A 中图分类号:TP301doi :10.3778/j.issn.1002-8331.1604-0262 基金项目:国家青年基金资助项目(No.71301066);国家科技支撑计划项目(No.20141BAB02B03);辽宁省科学事业公益研究基金 项目(No.2014003021)。 作者简介:孙良旭(1979—),男,博士,讲师,主要研究方向为钢铁冶金、计算机算法,E-mail :sunliangxumail@https://www.360docs.net/doc/6717109141.html, ;曲殿利 (1955—),男,博士,教授,主要研究方向为钢铁冶金;刘国莉(1979—),女,博士,副教授,主要研究方向为智能优化算法与组合优化。 收稿日期:2016-04-19修回日期:2016-06-23文章编号:1002-8331(2017)02-0064-08 CNKI 网络优先出版:2016-09-28,https://www.360docs.net/doc/6717109141.html,/kcms/detail/11.2127.TP.20160928.1625.072.html 64万方数据

基于机制设计的柔性流水车间调度问题的研究与分析

目录 摘要.............................................................. I Abstract ......................................................... I II 第一章绪论 .. (1) 1.1研究背景与意义 (1) 1.2国内外研究现状 (3) 1.3本文研究内容 (5) 1.4本文组织结构 (7) 第二章流水车间调度问题及经典算法介绍 (8) 2.1调度问题模型及分类 (8) 2.2经典调度算法 (9) 本章小结 (12) 第三章混合搜索机制粒子群算法 (13) 3.1问题描述 (13) 3.2混合搜索机制粒子群算法 (14) 3.3实验仿真及算法分析 (22) 本章小结 (29) 第四章双目标零等待柔性流水车间调度问题算法 (30) 4.1问题描述 (30) 4.2产生初始种群的五种启发式算法 (31) 4.3精英粒子群算法 (32) 4.4联姻帝国竞争算法 (38) 4.5实验仿真及算法分析 (44) 4.5.1数据生成 (44) 4.5.2算法性能指标 (44) 4.5.3算法参数 (45) 4.5.4仿真实验 (48) 本章小结 (55)

第五章基于算法机制设计的柔性流水车间调度问题算法 (56) 5.1机制设计问题描述 (56) 5.2基于算法机制设计的柔性流水车间调度问题模型 (57) 5.3柔性流水车间调度问题的诚实机制设计 (59) 本章小结 (62) 第六章总结与展望 (63) 致谢 (65) 参考文献 (66) 附录 (69) 图版 (70)

相关文档
最新文档