Psycho-Clonal algorithm based approach to solve continuous flow
shop scheduling problem
原文放到附件下,只把翻译的文档写这里,外带讲此文章的PPT,也放到附件中。
心理克隆算法解决连续生产调度问题
摘要
此文章提出了一种新的解决
m
台机器无等待的流水调度方法。连续生产调度上全局时间已经作为了一个准则。本文延伸了人工免疫系统(
AIS
),提出了一个新的方法称为心理克隆算法。此算法具有
AIS
的特点,且满足
Maslow
所需要的层次理论演变元启发式。用多数和少数的作业流的数据模拟体现了错误的发生率。所得到的结果与其他已经存在的方法进行比较。数据模拟显示,用所提算法的结果要优于其他。
1、
引言
一个
m
台机器的生产调度,有
n
个工作,每个工作有
m
个操作,每个操作要求在不同的机器上,并且所有的工作以相同的顺序进行。有些研究者解决生产高度问题的时候总是基于这样一个假设:机器之间有中间存储器(
Johnson ,1954;Reddi&Ramamoorhty,1972
)。虽然这种假设对于一些应用来说是真实存在的,但是仍然存在不成熟的多种多样的环境。比如,金属,塑料,化学和食物工厂。一个非常经典的事例就是钢铁滚动,这个过程是连续的且没有中间存储器的。
Reddi
和
Ramamoorthy(1972)
提出这个特殊的生产调度为无中间存储器的生产调度。一些作者已经证明了这种无等待的流水调度问题
(Aldowiasan,2000).
无等待的流水调度问题发生在当工作的操作要求从开始到终止整个过程要连续,不能停止或间断,包括不能在两台机子上运行同一个工作。
Hall
和
Sriskandarajah (1996)
总结了
FSNIS
的平均完成时间,即使是对于两台机器来说,也是
NP
问题。
Adiri
和
Pohoryles (1982) Rajendran
和
Chaudhari (1990); Van Der Veen
和
Van Dal (1991),
和
Chen et al. (1996)
已经实现了尽量减小总额和平均完成时间。
Aldowiasan
和
Allhverdi (1998); Aldowiasan (2000),
和
Allhverdi
和
Aldowiasan (2000)
提出了采用分隔时间片的想法解决无等待流水线问题。
Rajendran
和
Chaudhari (1990)
提出了两种探索方法来解决无等待流水线问题,而且表现了优于其他方法的优越性。
Chen et al. (1996)
提出了基于启发式的
GA
,并且拿它与
Rajendran
和
Chaudhari (1990)
所提出的算法相比较。
从文献资料上可以发现,启发式方法绝大部分要基于规则和实验经验。这样,当环境改变的时候结果就很难估计。没有任何合适的方法来解决连续生产调度问题促使研究者们去寻找一系列新的技术。一个可能的方法就是
GA
,即遗传算法
(Holland,1975)
。近几年来,
GA
作为一种智能概率搜索算法吸引了众多研究者的眼光
(Chen et al., 1996; Reeves, 1995)
。但是人们已经发现,要达到接近最优解,
GA
需要产生大量的后代。
在这篇文章中,我们用总的流水线时间作为约束条件来解决
FSNIS
。现在最感兴趣的问题是及时的生产以防止延迟。在限期后完成的工作会由于延迟付款,快递甚至是滞销引起各种误工费用。签于此,作者介绍了延迟所带来的后果和最小化目标参数。而且,对于无等待流水线工作而言,
其中一个最佳的性能是不应该有空闲时间的时间表。如果这是一个带有空闲的时间表,在真正实行时间的时候肯定会被删除。所以我们介绍了一种过程,在最后一台机器上消除所有的空闲时间。
心理克隆算法的提出就是为了解决无等待流水线问题。此算法的思想主要来源于
Maslow
的需要层次化理论
(Maslow, 1954)
和人工免疫系统
(De Castero & Von Zuben, 2002)
。不管是对谁来说,动机促发了有意图的行为。此文章提出了抗体如何在获得不同水平的需要后开始变化。按层次的不同,可有不同水平的需求即生理需求,安全需求,成长需求,被尊敬需求和自我实现需求。克隆选择说明了当非自我的抗原入侵时被抗体所识别的一系列人工免疫系统的反应。人工免疫系统的最典型特征是免疫记忆,高频变异,受体编辑。在工程学上,非自我抗原是约束条件,抗体是侯选解。在算法中,不同层次的需求有助于保持解的可行性,即免疫记忆保存解以备下一次操作使用。高频变异导致了局部最优,受体编辑帮助避免局部最优。这个过程一直到自我实现即最优解产生之后停止。与其他已经存在的算法比较证明了所提算法的有效性。
文章的剩余部分的组织结果如下:第二章简单陈述问题,第三章描述了
Maslow
的需求理论和人工免疫系统的背景,第四章介绍了所提出的算法,第五章中用所提算法解决
FSNIS
问题,最后在第七章总结了未来的此领域的发展方向。
2
、问题函数化
FSNIS
问题可以建立为以最小化完工时间的
TSP
问题作为模型
(Reddi & Ramamoorthy, 1972)
。基于
FSNIS
问题要求时间上无等待,可以确定的是两个连续作业的开始时间之间的最小差异是与其他作业的顺序无关的。
为了要定义此问题的目标,我们假设一个流水作业一共有
n
个作业,
3
以机器分别是
m,m2,m3
。图
1
描述了无等待时间的两个作业以相同顺序进行的甘特图。设
δ为两个作业开始时间的最小差异。对于两个连续的作业但是在顺序上不考虑他们的位置,δ的值是不会改变的,因为对于作业来说是无等待的。用这种方法,任何两个连续作业的δ值都是可以得到的。这样,完工时间μ,序列
{p(1), p(2),p(3),.,p(n) }
可以被定义为:
其中:
Tp(n)
:序列中最后一个作业的总的处理时间。
两个虚参数作业
0
和作业
n+1
,把
FSNIS
问题作为
TSP
问题来考虑。最先开始的两个作业的
δ值定义,假设一个序列总是从作业0开始,到作业n+1结束,最近回到作业0。
基于这些定义,
FSNIS
问题完工时间的目标函数可定义如下:
在这篇文章中,源自于完工时间的说明,我们已经解决了
FSNIS
以总完工时间为标准的问题。算术上,完工时间可以被描述为如下:
在我们总完工时间的目标之上,我们提出了最小化延迟时间的约束。尽量减少延迟时间属于工作指标的类型。延迟时间‘
ζ
q
’定义如下:
其中:
cq
是作业
q
的完工时间
dq
到期日
这样,最小化延迟时间可以被定义为:
其中:
论点:
p(q)
的一个最优属性是在无等待流水时间表中不应该有空闲时间。
证明:假设结论不成立,也就是时间表
p(q)
是有空闲时间的。假设两台机器上只有两个作业。在等式
(1)
中的
Tp(n)
由于机器之间存在空闲时间将会增加。所以肯定会有另外一个最优的时间表使得完工时间为最小,与我们所提出的我们的目标函数是最优相违悖。而且,按照先前规定的,在无等待流水问题中,两个不考虑位置的连续作业,它们的
δ值是不会改变的。
这样,我们最初的假设与前提相违悖。加之,在时间表中没有空闲时间已经是确定了的事情。
总而言之,对于最优时间表,我们可以肯定的是没有时间表,即使是存在的,也是应该被消除的。消除空闲时间,我们在第五章的消除空闲时间(
EIT
)中提出了消除过程。
3
.心理克隆算法的背景
3.1
人工免疫系统
大自然中,尤其是生物系统由于其复杂性,适应性吸引了众多的人类专家。神经系统来源于人工神经系统(
ANN
),同样的,免疫系统也来源于人工免疫系统(
AIS
)的刺激。正如
De Castero
和
Von Zuben (2002)
所说的,用相对论的观点,
AIS
可以被定义为一种抽象或者变质的计算机系统,也是免疫学的组成部分。
为了理解
AIS
,需要描述一些基本述语。
3.1.1
免疫细胞
B
细胞和
T
细胞是两种主要的免疫细胞。这些细胞有助于识别几乎是无限的各种抗原模式。
3.1.2
抗原
这些是导致疾病的因素。有两种搞原:自我和非自我。非自我抗原是疾病因素,而自我的抗原对人身体是无害的。
3.1.3
.
抗体
由
B
细胞产生的分子,由抗原刺激产生,产生的抗体可以与抗原结合,消灭抗原。
3.1.4
.
克隆选择理论
当
B
细胞遇上了亲和力
阈值合适的
非自我抗原模式时,它迅速增殖,并且分别用来作为记忆细胞和效应细胞,此种过程被定义为是克隆选择
(Ada & Nossal, 1987).
。抗原刺激
B
细胞迅速增殖,并且迅速成长成为最终抗体。这些细胞分裂形成克隆。克隆经过高频变异过程使
B
细胞和与所选择的抗原表现出高亲和力。克隆选择过程的原理如图
2
所示。
除了增殖和分化成浆细胞外,
B
细胞可以分化出用于长久保存的记忆细胞。在免疫系统演化过程中,一个实体要多次重复的消灭抗体,这样,长久保存的记忆细胞在未来的响应中将会起到作用。第一次免疫响应所产生的记忆细胞增强了免疫的第二次响应。这将加快免疫响应的速度和精确性,使得免疫响应持续性的增强。
高频变异和受体编辑是免疫系统中两个非常引人注目的特性。他们帮助后代成熟起来,记忆细胞中的抗体必须是比最初的响应亲和力高的。
高频变异非常类似于遗传算法中的变异算子,二者都是随机变化是产生多样性的搜索解决方案。不同之处在于编辑的速度,高频变异依赖于与抗原的亲和力。通常情况下,低亲和力的抗体有较高的变异率,高亲和力有较低的变异率。这种现象被称为受体编辑,影响变异率。高频变异的主要任务是引导进入局部最优,而受体编辑帮助避免局部最优。
在详细的介绍了克隆选择的理论后,作者意识到它已经有能力制造出高质量的解决方案,只是缺少合适的激励机制。这样,我们在克隆选择理论中引入
Maslow
的需求层次理论,来进化一个更健壮的算法。
3.2 Maslow
的需求层次理论
马斯洛的理论有合理的支持假设,即人类需要有一些层次顺序。该理论是基于人类持续的需求之下的。他的所有需求是永远不会满足的;它的优越性会减少并且被取代。这样,最后留下的那些需求是不能满足的,而且让人为此不懈奋斗。理论假定所有人都有五个层次的需求,如图
3
所示。根据此理论,如果孤独的人能得到部分或者全部满足的话,每个人都可以在层次上不断上升。
3.2.1
生理需求层次
对空气、水、食物以及睡眠等需求都是人生存的最基本的生理需求。在优化理论中,这些需求促进了产生基于问题环境的可能序列。
3.2.3
安全需求层次
这主要是指来自于外界的身体上和心理上的安全感。从工程角度讲,约束即威胁是固有特征。这个层次的需求,候选解的解决办法是保护自己不受外界约束的限制。这就是评估候选解的解决方法。
3.2.3
社会需求层次
下一个层次的便是社会需求。这里所说的社会是指各个候选解之间的关系。从工程角度来看,是指候选解的选择。
3.2.4
成长需求层次
每个实体都有生殖自己同类的需求。这里指候选解多样化搜索空间的动机。
3.2.5
.
自我实现需求层次
这个层次,每个个体的动力来源于它的潜在能力的最大化。这个层次的需求包含个人成长,个人潜能的发挥,能力的实现。自我实现是独一无二的且是永远不能满足的。这个对于许多优化问题来讲是正好相符合的。不得不专注于寻找接近最优解。根据此理论,越多的自我实现需求被满足,它们就会变得越强壮。这就是为什么要反复的决定哪个是最佳方案的理由。
4
、所提算法
在优化中,抗体为候选解,抗原为所提出问题的约束条件,并且抗原的亲和力是目标函数的值。克隆选择理论有助于防御入侵者,即制约因素,而
Maslow
的需求层次理论将有助于候选解的动机从而达到最优解。附录四说明了该算法中的记号,图
4
表示了所提算法的流程图。为了简单起见,以下简单介绍了依赖于需求层次的算法。
4.1
生理需求层次
任何优化算法的先决条件都是定义问题,具体化目标函数。一旦目标函数一确定,抗体的初始化种群就依赖于问题环境了。
4.2
安全需求层次
在这个需求层次,初使种群是为了阻碍抗原而产生的。一个抗原
Agj
是从抗原集
Agm
中随机选择的,并且对于所有的抗体来说是可见的。
4.3
社会需求层次
为了标识抗体之间的交互作用,抗体集里
n
个与抗原
Ag
j
亲和力最高的抗体被选出来,形成新的集合
Ab
k,n
。这
n
个抗体根据它们与抗原的亲和力的大小进行克隆,产生
C
k
个保留其全部性能的克隆体。克隆的个数是由与抗原的亲和力决定的,亲和力越高的抗体克隆的个数就越多。
4.4.
成长需求层次
这里的高频变异是在集合
Ck
上进行的。高频变异与亲和力的高低是成反比例的,这就意味着亲和力越高,变异率越小。这些高频变异过的克隆体产生集合
C
k
*
.
经过成长需求层次的满足,不只是要求而是必然会进入核实安全需求层次。对于这些实体来说,又是社会的新成员。
4.5
成熟的安全需求层次
成熟克隆集
C
k
*
的亲和力
f
k
*
的测定是在这一需求层次上进行的。
现在,被选择的抗体形成记忆集。
4.6.
自我实现需求层次
最近,低亲和力的抗体被取代且亲和力最高的抗体满足了这一需求层次。和上面讨论的一样,这个层次的抗体经过多次的增殖后已经变得越来越强。这个过程会一直进行,直到产生最大数量的抗体。
N=N
max.
5
、心理克隆算法解决
FSNIS
调度问题的执行过程
5.1
模式表示和初始化原始种群
结构的表示影响受体的应用。一个普通的未成熟调度问题的结构是单一序列的作业。基于这个事实,候选解,即抗体,应该邮两个字符串组成,
J
i
和
S
j.
J
i
表示作业的序列,而
S
j
表示解决方案。“
*
”用来表示两台机器之间的不同。图
5
表示了一个典型的抗体表示。
初始化原始种群可以有多种方法,最常见的方法是随机产生。初始化种群越多样,搜索范围也就越大。当表示抗体的时候
,
象前面介绍过的生理需求必须得到保证。在这个阶段,如果空闲时间真的存在,为了保证调度的可能性,我们不得不在最后一台机器上消除空闲时间。
5.1.1
.
消除空闲时间过程标记
Ji
序列为
1,2,3,4,…n
Sim=
在机器
m
上作业
i
的开始时间
Cim=
在机器
m
上作业
i
的结束时间
Pim=
在机器
m
上作业
i
的处理时间
步骤
1 i=n
步骤
2
ε
=Sim-Ci -1m
步骤
3 if
ε>0
YES -> for x=1 to i-1
Sxm=Sxm+
ε
Cxm=Sxm+Pxm
IF i=1 STOP else
i=i-1 and goto
步骤2.
NO->IF i=1 STOP else
i=i-1 and goto
步骤2.
在步骤1,序列中的最后一个作业被选择。步骤2中确认作业之间是不是有空闲。步骤3中为了保证调度的可能性,消除作业间的空闲时间。
5.2
评估
序列中与抗原的亲和力是根据等式(6)给出的目标函数计算的。然而,在真正的车间,还是有约束条件的,不可能达到0损耗的程度。因此,在目标函数里提出了延缓损耗。当搜索最优解的时候,目标函里科学的包含了不可实行的序列。
5.3
增殖和亲和力成熟
从可用抗体集中选出
50%
用来增殖。这个代表着社会需求层次,此时,抗体会与其它的进行比较,选择比较优秀的。之后,进入抗体的成长需求阶段,此阶段抗体依据亲和力成熟起来。所提算法已经确定了高频变异的机率,如下:
高频变异和普通的变异一样,提供随机变换。不同之处在于修改的程度。受体编辑(类似于最优抗体的程序)支配着高频变异,并且可以帮助容易限入局部最优的抗体跳出局部最优。从等式(
10
)中可以很明显的看出低亲和力的抗体变异率要高于高亲和力的抗体。交换如图书所示。
基于这些规则和公理,我们可以得到高频变异抗体。图
7
所示原始抗体,而图
8
表示高频变异后的抗体。这样会组成一个高频变异过后的集合,它们的亲和力值由等式(
6
)计算。由于这些抗体对于社会来说是新生命,他们会进行层次
2
需求的评估,即社会需求层次。
之后,一些特殊的抗体会被储存起来作为记忆细胞,将低亲和力的记忆细胞丢弃,便于更好的产生下一代。如此一说,最后的自我实现需求层次就会在以后的几代中得到满足。
6
、数值模拟
为了验证所提的心理
-
克隆算法的有效性,我们进行了大范围的作业和机器的模拟。所提算法用
C++
语言进行编码实现,并且程序是在
IBM PC
机上运行,
CPU
为
Pentium 4,2.1GH.
实验分两组来进行。小数量作业流如
7
,
8
,
9
,
10
,
11
和数量较大的作业流,如
50
,
100
,
200
,
300
,
400
。机器数量较小的如
5,10,15,20,25
和两组中都要进行的
30
台机器。对于结果,我们都进行了与最优解的比较。
对于作业流数量较小的而言,基于目标函数值的获得,我们计算了错误的平均发生率,且获得最优解的次数也同时获得。错误率可以用下面的等式得到:
Aldowiasan
和
Allhverdi (2004)
提出了六种探索方法
, PH, PH1 (p), PH3, PH3 (p), PH4,
和
PH4 (p)
并且都显示了比起
GA
的优越性
(Chen et al., 1996)
。还有
Rajendran
和
Chaudhari
探索
1
和
2 (Reddi & Ramamoorthy, 1972).
在这篇文章当,我们进行了与
GA(Chen et al., 1996)
的结果比较。
Rajendran
和
Chaudhari
探索
1
和
2 (Reddi & Ramamoorthy, 1972)
,
Aldowiasan and Allhverdi (2004)
所提出的六种探索方法。
表
1
表现了心理克隆算法比
GA
算法所表现的优越性
(Chen et al., 1996),
以及优于
Rajendran
和
Chaudhari
探索
1
和
2 (Reddi & Ramamoorthy, 1972)
。这个比较是基于平均错误的。此外,表
2
总结了
Aldowiasan
和
Allhverdi (2004)
所提出的六种方法和所提算法在相同错误率下的比较结果。从表
1
和表
2
中可以看出,心理克隆算法在所有的方法当中保证了低错误率且性能较好。
表
3
和表
4
表示了最优解时所需要用的次数,分别用心理克隆算法,
GA(Chen et al.,1996),
Rajendran
和
Chaudhari (Reddi &Ramamoorthy, 1972)
的探索
1
和
2
,
Aldowiasan and Allhverdi (2004).
的探索方法。表
3
和表
4
评价了所提算法优于其他探索方法的性能。
对于作业流数量大的而言,作者基于错误率和达到最优解的次数上,将所提算法与其他算法相比较,体现了其性能。错误率由下面公式可以获得:
表
5
对算法得出的出错率进行了比较,分别用心理克隆算法,
GA(Chen et al.,1996),
Rajendran
和
Chaudhari (Reddi &Ramamoorthy, 1972)
的探索
1
和
2
。表
6
也一样,进行了与
Aldowiasan and Allhverdi (2004).
的探索方法的比较。表
7
和
8
说明了达到最优解的次数。从表
5-8
可以看出,从平均错误率和达到最优解的次数上来看,大数量作业流包含大量的作业流和机器上,心理克隆算法在所有的算法当中表现的最好。
可以看出,当机器数量增加的时候,发生的平均错误率会减少,而得到最优解的次数却是上升的。这个可以认为是适应性在增强。选择越多,对于一个作业流来说就更容易分配。
心理克隆算法能够加快抗体之间的数据交换,以便消除不适应的解。这个结果是在较短的时间内有较高的接近最优解决方案。所提算法的优越性可以描述为如下:
各种各样的层次水平需求和加快多个局部搜索的高频变异。
收敛的确定性是因为有免疫忘记。因为,新的适应性抗体总是不断的产生,使得可以产生更广阔的搜索区域,并且可以保证同一类型的抗体的饱和性。
还有,受体编辑帮助脱离局部最优。
7
、总结
调度由于其搜索空间大且最优解很不容易预先估计的,所以一般来说是比经典的搜索算法要难。已经存在的大多数方法都有其限制条件。在这篇文章中,无等待的流水线调度问题已经用一种新的进化算法
---
心理克隆算法所解决。
所提的心理克隆算法通过体细胞变异,受体编辑,平衡最佳解决方案的开发和搜索区域的探索这些过程来执行的。所提算法最诱人的就是它的
3
个关键功能,适应性,记忆和需求层次。得到的结果表明所提算法在以相同的基准进行比较下,要优于其他已经存大的方法。所讨论的方法可以方便的用来解决其他的流水调度问题和其它的调度问题。虽然结果是比较鼓舞人心的,我们依然相信经过精确的微调,能加强它的优越性。
附录
A
:
j
从
1
到
m
的计数器。
k
从
1
到
n
的计算器。
Ab
可用的抗体集
Ab k,n
抗体集中亲和力最高的抗体
Abd
新的抗体集,它们会代替抗体集中低亲和力的抗体。
Agm
抗体集
M
的抗体
fk
目标函数的值,与抗原
Agj
的所有抗体的亲和力,
Ck
从
Abj,n
抗体集中克隆的
Nc
个克隆体的种群。
Ck*
高频变异后的种群
fk*
成熟克隆体与抗原的亲和力的值
Nc
每个抗体所产生的克隆体的总数量。
β
放大倍数
(
这里
=1)
N
抗体的总数量
R(.)
编辑器,产生最接近整数的方法。
参考文献
1 Ada , G. L., & Nossal, G. J. V. (1987). The clonal selection theory. Scientific American, 257(2), 50�C57.
2 Adiri, I. , & Pohoryles, D. (1982). Flowshop/no-idle or no-wait scheduling to minimize the sum of completion times. Naval Research Logistics Quarterly, 29, 495�C504.
3 Aldowiasan, T. (2000). A new heuristic and dominance relations for no-wait flowshops with set-ups. Computers and Operations Research, 28, 563�C584.
4 Aldowiasan, T., & Allhverdi, A. (1998). Total flow time in no-wait flowshops with separated set-up times. Computers and Operations Research, 25, 757�C765.
5 Aldowiasan, T., & Allhverdi, A. (2004). New heuristics for m-machine no-wait flowshop to minimize total completion time. The International Journal of Management Science, Omega, 32, 345�C352.
6 Allhverdi, A., & Aldowiasan, T. (2000). No-wait and separate set-up threemachine flowshop with total completion time criterion. Operations Research, 7, 245�C264.
7 Chen, C. L., Neppali, R. V., & Aljaber, N. (1996). Genetic algorithms applied to the continuous flow shop problem. Computers and Industrial Engineering, 30, 919�C929.
8 De Castero, L. N., & Von Zuben, F. J. (2002). Learning and optimization using the clonal selection principle. IEEE Transactions on Evolutionary Computation, 6(3), 239�C251 (Special issue on artificial immune system).
9 Hall, N. G., & Sriskandarajah, C. (1996). A survey of machine scheduling problems with blocking and no-wait in process. Operations Research, 44, 510�C525.
10 Holland , J. H. (1975). Adaptation in nature and artificial systems. Michigan : University of Michigan Press.
11 Johnson, S. M. (1954). Optimal two-and-three-state production schedules with set-up times included. Naval Research Logistics Quarterly, 1, 61�C68.
12 Maslow, A. H. (1954). Motivation and personality. New York : Harper & Bros.
13 Rajendran, C., & Chaudhari, D. (1990). Heuristic algorithms for continuous flowshop problem. Naval Research Logistics, 37, 695�C705.
14 Reddi, S. S., & Ramamoorthy, C. V. (1972). On the flow-shop sequencing problem with no-wait in process. Operational Research Quarterly, 23, 323�C331.
15 Reeves, C. R. (1995). A genetic algorithm for flow shop sequencing. Computers and Operations Research, 22(1), 5�C13.
16 Van Der Veen, J. A. A., & Van Dal, R. (1991). Solvable cases of the no-wait flowshop scheduling problem. Journal of Operational Research Society, 42, 971�C980.