基于改进灰狼算法求解柔性车间调度问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收稿日期:2018-07-10
基金项目:特殊环境机器人技术四川省重点实验室开放基金(13zxtk06)
作者简介:吴继浩(1992 -),男,四川人,硕士研究生,研究方向为智能调度算法、自动化集成管理系统设计等。

基于改进灰狼算法求解柔性车间调度问题
Improved grey wolf optimization algorithm for flexible shop scheduling problem
吴继浩,杨 涛WU Ji-hao, YANG Tao
(西南科技大学 信息工程学院,绵阳 621010)
摘 要:柔性车间作业调度问题是一个复杂的NP问题,灰狼优化算法(GWO) 是目前一种比较新颖的
群智能优化算法,多用于解决连续函数优化问题。

针对柔性车间作业调度问题(FJSP),结合FJSP问题特点,提出改进灰狼算法(GSGWO)。

采用新的种群生成机制,提高了狼群的多样性;结合模拟退火算法和遗传算法提出一种哨兵狼机制,解决灰狼优化算法在求解离散FJSP问题收敛速度慢,后期容易陷入局部收敛的现象。

通过5个小规模Kacem实例和2个大规模的BRdata实例测试集的仿真结果表明,相对于标准的GWO和改进HGWO算法,GSGWO算法的优化性能有了很大的改善。

GSGWO相对于GA,GASA也表现出了更好的优化性能,验证了所提算法的有效性。

关键词:柔性车间作业调度问题;灰狼算法;遗传算法;模拟退火算法;最大完工时间中图分类号:TH165 文献标识码:A 文章编号:1009-0134(2019)04-0101-05
0 引言
柔性车间作业调度(Flexible Jobshop Scheduling Problem ,简称FJSP ),属于一个典型的NP 难问题。

解决作业车间调度问题的方法主要有以下四类:1)运筹学方法,包括整数规划,分支定界方法等;2)启发式规则;3)神经网络方法;4)元启发式算法。

有很多知名的智能优化算法都已经成功应用FJSP 领域,如蚁群算法、遗传算法、模拟退火算法和粒子群算法等。

由NFL [1]定理可知,这个定理在逻辑上证明了没有哪种元启发式最适合解决所有的优化问题。

这个领域每年都会提出新的元启发式算法。

针对连续函数优化问题,Mirjalili 等[2]在2014年模仿了一群狼的生活和捕食方式的行为提出了一种新的启发式算法,即灰狼算法(GWO )。

GWO 是一种基于群体的元启发式算法,它设定每个狼群都有层次结构,狼群中的每只狼都有特定的角色。

Mirjalili 在文献[2]中,通过对29个连续函数优化问题的测试,结果表明GWO 在求解精度和稳定性上要明显优于PSO 、DE 和GSA 等算法。

GWO 中所有候选狼(解决方案)都被最好的三只狼所吸引,从而更快地聚集到这些好狼位置周围。

但是这样也很容易造成GWO 算法容易陷入局部收敛。

由于上述原因,GWO 的收敛性能有待提高。

Zhang 等[3]
提出了基于Powell 局部优化方法的PGWO 算法,用于解决集群问题。

龙文等[4]
提出
一种改进灰狼优化(IGWO )算法用于求解约束优化 问题。

灰狼算法多用于解决连续函数问题的研究,在FJSP 这类非常复杂的离散组合优化问题应用还比较少,本文针对经典的FJSP 的特点,通过优化初始种群,采用新的解码机制,在迭代后期结合遗传算法的交叉变异和模拟退火的Metropolis 准则提出一种新的“哨兵”机制,随机的向各个新的位置随机探索,有效的防止了GWO 的局部收敛。

经过实验对比,证实所提出的算法有效提高了GWO 求解FJSP 问题的能力。

1 问题建模及约束
对柔性车间(FJSP )问题[5]描述如下:车间中有M 类设备,将一批订单分解为在一段时间内要求加工N 个工件。

每个工件由一系列工序组成,允许在一组可用的机器中加工它们。

所有的作业和机器都在0时刻可用,而机器只能在给定的时间执行一个工序。

不允许机器抢占加工。

在本文中的FJSP 问题设置机器的运行时间和运行时间之间的运输时间忽略不计。

以最大完工时间最小为目标函数。

具体的建模和约束如文献[5]中Model M2,文献[5]中约束(2.1)定义了最大完工时间,约束(2.2)定义了工件的完工时间。

如果没有O ij 分配到机器M ,约束(2.3)将M 的起始和完成时间设置为零。

约束(2.4)保证机器加工过程不能被打断且加工同一个操作时间相等。

约束(2.7)保
证了每道工序必须按照工艺顺序依次在指定的设备上加工,且必须在前一道工序i (如果存在)加工完成后才开始后工序j 加工。

约束(2.8)保证机器只能加工一个 工件。

2 基本灰狼优化算法
Mirjalili 在文献[2]中指出,GWO 算法模拟了灰狼在自然界中的领导层次和狩猎机制。

四种类型的灰狼,如alpha ,beta ,delta 和omega ,用于模拟领导层次结构。

此外,还实施了狩猎、寻找猎物、环绕猎物和攻击猎物这三个主要步骤。

算法进化过程中,alpha 、beta 和delta 负责定位猎物的位置,并引导omega 个体完成靠近、包围和攻击等行为,最终达到捕食猎物的目的。

具体的过程及建模可以参阅文献[2]。

3 改进灰狼优化算法
3.1 编码及解码
对于GWO 算法而言,如何将一个可行的工件加工序列转换为一个灰狼个体的位置向量是一个最为关键的问题。

标准的GWO 算法是主要是用于求解连续变量优化问题而提出的,FJSP 是一个离散优化问题,如何设计有效的编码规则是问题解决的关键。

文献[6]利用基于随机键编码的LOV 规则,文献[7]采用了ROV 规则。

经笔者实际的多次实验仿真,得知LOV 规则的编码更适用于灰狼算法解决FJSP 问题。

根据LOV 规则设计如图1基于结构体的数据结构:
:ROI6WUXFW
SRVLWLRQ
GLP DOS
EWD VHT PDUFKLQH
图1 灰狼个体数据结构
假设有两个工件,每个工件的工序数和可使用的机器如图2所示。

图2 工序图
编码时,首先随机生成WolStruct.poisition=[0.6,0.5,0.9,0.2],根据LOV 规则,对WolStruct.poisition 变量做降序排列得到中间序列WolStruct.alp=[2,3,
1,4],然后按照公式πi,φi,k =k (k=1,…,n )获得加工顺序序列WolStruct.bta=[3,1,2,4],其中φi 为上述中间序列WolStruct.alp 。

最终得到加工序列WolStruct.seq=[1,2,1,2]。

经上述编码算法生成工序序列:C=[1,2,1,2]表示工件加工的顺序,第一个1表示工件1的第一道工序,第二个2表示工件1的第二道工序,转换成如T=[101,201,102,202]中间序列,解码安排机器,按照如下所示的步骤安排:
Step1:读入WolStruct.alp 序列,解码得到T 中间 序列。

Step2:识别机器最早的停止时间T e 及最后加工的工序O i,j 。

Step3:识别能够加工工序O i,j+1:P(O i,j+1)的所有可用机器。

Step4:计算每台机器的等待时间M k ∈P(O i,j+1):如果M k 在时间t 没有加工任何工序,则等于O i,j+1在机器M k 上的加工时间。

如果M k 在t 时刻正在处理工序O z,y ,则等待时间等于机器M k 等待操作的总处理时间+(O z,y 在M k 上剩余的加工时间)+O i,j+1在M k 上加工时间。

Step5:选择等待时间最短的机器来处理O i,j+1。

如果M k 在时间t 没有加工任何工序,则直接处理O i,j+1,否则将O i,j+1加入M k 的等待加工工序名单。

Step6:从Step2中得到T e 及O i,j ,接着安排O i,j+1到一个合适的机器。

如果有很多等待名单,按照Cmax 最小为规则选择一个加工序列。

3.2 种群初始化
初始狼群的好坏直接将决定后期狩猎过程的优劣,好的狼群将提高算法的运行效率。

狼群G ,个体S 的位置可以表示如下:
(1)
其中个体S 的位置分量g i s (1<i<n ),由如下公式生成:
(2)
其中ub=100,lb=-100,W 为群体G 的灰狼总个数,n 为工件工序的总个数,即灰狼的位置维度,这样每个位置分量取值范围在[-100,100]。

为了有效解决初始解的质量,保证初始化种群的多样性,提高初始解的质量。

根据它们的处理工序差异性来定义两个位置之间的聚集性。

随机生成g i s 后,经过
LOV 规则转换成加工序列WolStruct.bta 。

灰狼个体位置的聚集性由如下公式计算:
(3)
Chm1,Chm2是两个经过LOV规则转换后的工序加工序列Wol St ru c t.b ta。

Op t1(i),Opt2(i)和n代表WolStruct.bta的位置i上的值。

当两个工序i位置上值相同
0,如果不相等,则返回1。

S的值被称为汉明距离,当S值非常小时,表示种群中两个灰狼的位置距离很近。

定义聚集率:P=S/n。

生成种群个体时,保证每个灰狼的位置P
S
>P cmax=0.5,可以有效保证生成狼群个体的多样性以提高解的质量。

3.3 个体位置更新方法
由于灰狼算法的设计原理,在GWO算法进化后期,群体中所有灰狼个体均向最好的三个灰狼个体区域靠近,从而导致了种群丧失了群体多样性,GWO容易出现早熟现象。

文献[8]针对不同的应用领域都做出了一定有优化,有效地降低了GWO出现早熟现象和陷入局部最优的概率。

本文提出“哨兵”机制。

在种群中通过对最优灰狼个体进行GA算法的遗传变异操作,然后引入模拟退火算法Metropolis接收准则,生成种群的哨兵灰狼,在alpha,beta狼周围,不断的巡逻,降低狼群陷入局部最优解的概率。

初始化种群后,通过编码、解码操作,根据最大化完工时间得出每个灰狼的适应度,从小到大排序,最优的GN个灰狼个体保存为新的种群,并且确定alpha,beta,delta的值。

根据alpha,beta,delta结构体的seq序列,采用文献[9,10]的交叉、变异操作,得到3个哨兵灰狼。

通过哨兵和alpha狼汉明距离来赋予其狼群等级,以确保哨兵狼的权限。

根据3.2节定义的聚集率P,按照如下公式确定哨
兵狼的合理性。

当生成的哨兵狼聚集率P
S ∈{P
cmin
,P
C
}
就合格,否则一直重新交叉、变异直至合格。

(4)
式中:M为狼群最大迭代次数,m为当前迭代次
数,P
C 为自适应聚集率,P
cmax
为最大可接受聚集率,
P cmin为最小可接受聚集率。

本文P cmax=0.5,P cmin=0.2。

采用Metropolis准则接收哨兵狼,在迭代后期替换种群中最差的3个灰狼个体。

其中关键参数由如下公式确定:
初始温度:
(5)
Metropolis准则:
(6)
退温函数:
1
k k
t tω
+
=(7)
式中f
max
和f
min
分别为种群中最优和最差个体的适应度值。

k为降温的次数,ω是一个常数。

其中df为新产生个体适应度和要替换个体适应度的差,pr取值范围是(0,1)。

具体操作如下:
Step1:LOOPNew>=LOOP*0.63时进入;
S t e p2:生成哨兵狼,计算适应度函数,如果d f>f m a x或d f<f m i n就替换旧个体,否则按

rand是介于0和1之间的随机数)概率接收新个体。

Step3:最差的第三个个体已经替换完毕,即保存当前种群进入下一次迭代。

本文将改进后的灰狼算法简称为GSGWO算法,流程图如图3
所示。

图3 算法流程图
4 仿真及实验
选择7个比较经典的测试集来验证提出的GSGWO 算法,包括5个小规模Kacem实例[11]和2个大型的BRdata 实例[12]。

实例m×n,其中m是作业数,n是机器数。

实验仿真环境为Windows10、处理器 Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz、内存8.00G,MATLABR2016a实现算法编程。

为了验证改进GSGWO算法的寻优性能,与文献[6]中GWO+邻域局部搜索(HGWO),文献[8]中改进
GA 算法(GA ),文献[9]中遗传算法+模拟退火算法(GASA ),文献[2]中GWO ,分别对上述7个实例进行求解,求解结果如表1,表2所示。

GWO ,HGWO ,GA ,GASA 种群大小均取60,迭代次数均为5000次,其中GA ,GASA 交叉概率和变异概率为0.8、0.2,运行60次。

表1结果表明,在5个小规模Kacem 实例问题,对于机器数较少的简单问题如4×5,8×8,GSGWO 均可以给出比较满意的解,GWO ,HGWO ,GA ,GASA ,GSGWO 均能找到最优解,对应8×8实例文中五种算法最优解甘特图如图4所示。

当调度复杂度提高时,GWO 寻找最优解的能力明显低于GA 。

表1中数据∆avg 和m *的值可以看出,GWO 算法虽然可以快速接最优解的周围,但是容易被头狼带到局部最优。

GSGWO 虽然从∆avg 这个参数来对比,没有对GWO 形成绝对优势,但是GSGWO 由于有哨兵狼这个小分队,在后期接近最优解的范围,能够有一定的概率捕捉到最优解的位置。

通过表2结果表明,B R d a t a 数据集中M K 09为20×10,MK10为20×15。

问题规模明显大于表1。

对应20×15实例文中五种算法最优解甘特图如图5所示。

GWO ,HGWO 算法都难以找到问题的最优解,寻优率都为0,但从∆avg 这个参数可以得出,HGWO 算法明显要优于GWO ,更靠近最优解,HGWO 加入的邻域搜索对
算法陷入局部最优解有一定的抑制作用。

标准GA 算法的对FJSP 问题的求解能力要优于标准GWO ,GASA 算法对FJSP 问题的求解效率要高于GA 算法,本文提出的GSGWO 更容易找出最优值,虽然寻优率并不高,但是相对于标准的GWO 和HGWO 算法,GSGWO 算法的优化性能已经有了很大的改善。

GSGWO 相对于GA ,GASA 表现出了对于解决FJSP 问题的优势。

表1 Kacem 实例的结果
问题实例
m *
GWO
HGWO GA GASA GSGWO ∆avg 寻优成功率
/%
∆avg 寻优成功率
/%
∆avg 寻优成功率
/%
∆avg
寻优成功率
/%
∆avg 寻优成功率
/%
4×5111110011.398.311
100100111008×81415.2251458.31466.71578.31583.310×71113.413.315.4551336.71176.61283.310×1071411.71316.71413.310.658.8142015×10
11
18.43
17.45
5
15
1.6
13 6.7
11
13.3
注:寻优成功率,同实例下,5种算法寻找到最小的Cmax 定义为本文中最优解m *,寻优成功率为60次迭代,找到最优解m *的概率。

∆avg 为60次运行值的平均值。

表2 BRdata 的结果
问题实例
m *
GWO
HGWO GA
GASA GSGWO ∆avg 寻优成功率
/%
∆avg 寻优成功率
/%
∆avg 寻优成功率
/%
∆avg 寻优成功率
/%
∆avg 寻优成功率
/%
MK09310450.50430.20342.2 1.634016.732640MK10
217
532.4
374.3
1.6
230
225
3.3
223
11.7
图4 8×8实例最优解的甘特图
5 结束语
本文针对的是单目标优化,FJSP问题大多都是多目标优化,工件优先级也未成考虑,滚动插单这些约束都未考虑,下一步研究工作方向,向着多目标,优先级,动态插单方向研究灰狼算法的有效性。

车间调度问题还有很多分支,如流水车间、作业车间和开放式车间等。

这些领域的灰狼优化算法的研究也是下一步的研究方向。

参考文献:
[1] Wolpert, D, & Macready, W. No free lunch theorems for
optimization. Evolutionary Computation[J].IEEE Transactions on, 1997.1(1), 67-82.[2] Mirjalili S, Mirjalili S M, Lewis A. Grey wolf optimizer[J].
Advances in engineering software, 2014,69:46-61.
[3] Zhang S, Zhou Y. Grey wolf optimizer based on Powell local
optimization method for clustering analysis[J].Discrete Dynamics in Nature and Society,2015,2015.17.
[4] 龙文,赵东泉,徐松金.求解约束优化问题的改进灰狼优化算法
[J].计算机应用,2015,35(09):2590-2595.
[5] Özgüven C, Özbakır L, Yavuz Y. Mathematical models for
job shop scheduling problems with routing and process plan flexibility[J].Applied Mathematical Modelling, 2010,34(6): 1539-1548.
[6] 吕新桥,廖天龙.基于灰狼优化算法的置换流水线车间调度[J].
武汉理工大学学报,2015,37(5):111-116.
[7] 姜天华.混合灰狼优化算法求解柔性作业车间调度问题[J].控制
与决策,2018,33(3):503-508.
[8] 王敏, 唐明珠.一种新型非线性收敛因子的灰狼优化算法[J].计
算机应用研究,2016,33(12):3648-3653.
[9] 张国辉,高亮,李培根,等.改进遗传算法求解柔性作业车间调度
问题[J].机械工程学报,2009,45(7):145-151.
[10] 周鑫,马跃,胡毅.求解车间作业调度问题的混合遗传模拟退火
算法[J].小型微型计算机系统,2015,36(02):370-374.
[11] Kacem I, Hammadi S, Borne P. Pareto-optimality approach
for flexible job-shop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic[J]. Mathematics and computers in simulation, 2002, 60(3-5): 245-276.
[12] Brandimarte P. Routing and scheduling in a flexible job shop
by tabu search[J].Annals of Operations research,1993,41(3):
157-183.图5 20×15实例最优解的甘特图
[4] Huang X, Goodman A, Gerada C,et al.Design of a five-phase
brushless DC motor for a safety critical aerospace application[J].
IEEE transactions on industrial electronics, 2012, 59(9): 3532-3541.
[5] Electromagnetic Compatibility (EMC), Part 3-2:Limits-limits for
harmonic current emissions ( equipment current≤16 A per phase) [S].International Standard IEC 61000-3-2,2009.
[6] 曹太强,李清,王军,等.无桥Dual-Sepic PFC变换器分析与设计
[J].电机与控制学报,2015,19(2):39-44.
[7] C. Jingqua, D. Masimovic, ad R.W. Erickson.Analysis and design
of a low-stress buck-boost converter in universal-input PFC applications[J].IEEE Trans. Power Electron.,21,(2), 2006. [8] Ozturk S B, Yang O,Toliyat H A. Power factor correction of
direct torque controlled brushless DC motor drive[A].Industry Applications Conference[C].2007.42nd IAS Annual Meeting.
Conference Record of the 2007 IEEE.IEEE, 2007:297-304.
[9] Gopalarathnam T, Toliyat H A. A new topology for unipolar
brushless DC motor drive with high power factor[J].IEEE Transactions on Power Electronics,2003,18(6):1397-1404. [10] Singh S, Singh B. A voltage-controlled PFC Cuk converter-based
PMBLDCM drive for air-conditioners[J].IEEE transactions on industry applications,2012,48(2):832-838.
[11] 李冠林,邱金燕,牟宪民,等.一种应用于无桥式SEPIC-PFC电路
的单周期控制方法:CN 104638900 A[P].2015.
【上接第95页】。

相关文档
最新文档