改进蝙蝠算法解决FFSP问题及其应用研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019,55(9)1引言生产车间调度问题一直是工业生产中提高生产效率的重中之重,一直以来被公认为是一种NP-Hard 的组合问题[1];前有学者在关于流水车间调度和作业车间调度问题上做了大量的研究[2-5];在工业4.0与中国智能制造2025等出现后,生产车间柔性生产越来越受到重视,解决柔性作业车间调度问题(FJSP )和柔性流水车间调度问题(FFSP )已成为生产调度问题研究的新方向,对提高工厂生产效率和智能制造水平具有重要的意义。
在算法领域中,近来元启发式算法尤其是集群优化算法成为解决许多复杂优化问题的中坚力量[6-10]。
集群类算法的灵感大都来之自然界中的生物集群现象,核心算法也是模拟生物系统的行为,例如,鱼群算法、布谷鸟、蚁群等,此类算法在解决问题上的优势是不需要特殊的问题特征,对优化的问题具备一定的通用性,易于实现。
改进蝙蝠算法解决FFSP 问题及其应用研究
尹建津1,张贝克1,高东1,许欣2
1.北京化工大学信息科学与技术学院,北京100029
2.北京德普罗尔科技有限公司,北京100029
摘要:针对连续蝙蝠算法不适合解决柔性流水车间调度问题(FFSP ),提出了一种改进的连续蝙蝠算法。
该算法改进了编码方式,同时在位置更新函数中加入自适应的调节因子,改善靠近最优解收敛速度下降的问题;通过仿真对比实验,结果表明了算法的优越性和可行性。
最后根据某工厂图章的实际生产线,在3D 仿真软件平台上搭建了生产流水线,完成了算法的应用,生产结果显示算法有较高的应用价值。
关键词:连续蝙蝠算法;柔性流水车间调度;编码方式;生产应用
文献标志码:A 中图分类号:TP391doi :10.3778/j.issn.1002-8331.1801-0080
尹建津,张贝克,高东,等.改进蝙蝠算法解决FFSP 问题及其应用研究.计算机工程与应用,2019,55(9):243-247.YIN Jianjin,ZHANG Beike,GAO Dong,et al.Improved bat algorithm for solving flexible flow shop scheduling problem and its puter Engineering and Applications,2019,55(9):243-247.
Improved Bat Algorithm for Solving Flexible Flow Shop Scheduling Problem and Its Application YIN Jianjin 1,ZHANG Beike 1,GAO Dong 1,XU Xin 2
1.College of Information Science and Technology,Beijing University of Chemical Technology,Beijing 100029,China
2.Beijing Digital Process Technology Co.Ltd.,Beijing 100029,China
Abstract :In order to solve the problem that continuous bat algorithm is not suitable to solve Flexible Flow Scheduling Problem (FFSP ),an improved continuous bat algorithm is proposed.The algorithm improves the coding method.Adap-tive updating factor is set in position updating function to improve the convergence speed near the optimal solution.Simu-lation results prove the superiority and feasibility of the algorithm.Finally,according to the actual production of stamps,a production line is built in 3D simulation software platform.The production experiment of the algorithm is completed and the application value of the algorithm is verified.
Key words :continuous bat algorithm;Flexible Flow Scheduling Problem (FFSP );coding method;production verification 基金项目:国家自然科学基金(No.61703026)。
作者简介:尹建津(1993—),男,硕士,研究领域为智能排产调度,智能制造与系统信息化;张贝克(1976—),男,博士,副教授,研
究领域为智能算法与智能制造,工业仿真技术,工业自动化;高东(1982—),通讯作者,男,博士,讲师,研究领域为过程工业建模仿真,调度优化,故障诊断,E-mail :gaodong@ ;许欣(1981—),男,博士,研究领域为化工过程仿真建模。
收稿日期:2018-01-08修回日期:2018-03-16文章编号:1002-8331(2019)09-0243-05
CNKI 网络出版:2018-10-19,/kcms/detail/11.2127.TP.20181017.1659.008.html
Computer Engineering and Applications 计算机工程与应用
243
Computer Engineering and Applications 计算机工程与应用
2019,55(9)本文应用的蝙蝠算法(Bat Algorithm ,BA )亦是如此,BA [11]是Yang 在2010年基于蝙蝠回声定位的行为提出的一种新型启发式集群算法,具备收敛速度快,并行处理且易于实现的优点,使其解决车间生产中调度问题的研究热点,国内对于BA 的研究还处于初级阶段,有学者也将其应用在流水车间调度中[12-13],然而大都是利用离散化的蝙蝠算法,对于将连续蝙蝠算法应用在柔性车间调度问题上的研究很少,本文在连续蝙蝠算法的基础上,改进了编码方式和位置更新函数,使得连续蝙蝠算法可解决车间调度问题,对算法的研究提供了一种新的思路。
最后文章通过仿真实验对算法进行验证分析,并
将算法应用于由3D 仿真软件根据实际生产线搭建出的生产模型,进行了生产应用,验证了算法的实用价值,对算法的实际应用研究提供了新的思路,对推动算法在生产中的应用发展有积极的意义。
2柔性流水车间调度问题的描述柔性流水车间模型的基本描述是:在能源充足的条件下,n 个待加工工件在m 台加工机器上进行加工,每个加工件的加工工序相同且固定,每道工序上至少存在一台加工机器,流水车间的调度就是在此背景下进行加工路径的优化。
为更好地描述问题,本文是在以下符号参数的基础上进行问题的分析,如下:
n 为被加工的工件数量;m 为加工设备数量;l 为加工总工序数;A ijk 为在设备k 上工件i 的第j 道工序;S ijk 为加工活动A ijk 的开始时间;
S i 1k 为在设备k 上工件i 的首道工序;
S iek 为在设备k 上工件i 的最后一道工序;
t ijk 为加工活动A ijk 所需要的时间;
ES i 为工件i 的最早的开始加工时间;
LE i 为工件i 的最晚提交货运部门的时间;
其中i ,j 是与k 有关联的。
在车间生产中,在某一时刻,一台机器只能加工一个工件,即不能同时加工超过一个以上的元件,具体的公式描述如下:S pqk -S ijk +G (1-Y ipk )-t ijk ≥0(1)且S ijk -S pqk +G ⋅Y ipk -t pqk ≥0(2)在上式中:Y ipk =ìíî1,S ijk ≺S pqk
0,S pqk ≥S ijk (3)其中G 是足够大的正整数。
对于工件的加工工艺同样有着要求,对于同一个工件在不同机器上的加工顺序是有优先次序的,即在加工顺序上要满足以下公式:
S ijk -S ij -1h -t ij -1h ≥0(4)即工件i 在机器k 上进行工序j 时必须先完成在机器h 上的工序j -1。
在满足了以上约束条件的基础上,本文的调度优化目标是生产时间最小化,即目标函数:
min Z =max(S iek +t iek )(5)其中,i =1,2,…,n 。
这里假设了工件i 是在机器k 上进行的最后一道工序。
3连续蝙蝠算法应用于FFSP
蝙蝠算法在2010年被Yang 提出后,被大量的学者学习研究,但是对象大都是连续过程,对于离散域的蝙蝠算法的研究的还不是很多,而本文针对FFSP 进行蝙
蝠算法的改进,得到一个对离散域可方便求解的改进连续蝙蝠算法(ICBA )。
3.1针对FFSP 的编码方案
蝙蝠算法自被提出以后大都应用在连续领域,而对于车间调度此类离散对象,需要对问题空间和解空间进行特殊的编码解码,为完成对目标问题的求解优化,本文采用工序固定,机器编码的一维编码策略,同时依然采用连续值用以表示机器号,具体的编码方式如表1说明。
表1中M i 代表机器号,O ij 代表加工的第i 个工件的第j 道工序,所以在工序编码上采用定序规则且工件1到n 的工序顺序排序,而机器号的编码依然采用连续值,采用的规则是“四舍五入”,例如,“0.5”代表“1号机器”,“3.3”代表“3号机器”。
对于此编码做范围限制,例如,M i 的最小值为“0.5”,M i 最大值为“最大机器号”+
“0.49”。
此编码方式简单易于实现,同时很好地适应了BA 算法,使得蝙蝠个体只需锁定一个的范围即可捕捉到猎物,提高了寻优效率。
基于以上的编码方式,FFSP 问题就可以用一个m ×l 时间矩阵T 来简单的描述,l 为所有工件的工序数和。
矩阵T 的行代表机器号,例如第二行的值代表
各工件的工序在2号机器上进行加工所对应的的时间;列代表工序且从第一列到最后一列顺序表示工件1的第一道工序到工件m 的最后一道工序,举例表示3个工件且1、3工件有两道工序,2号工件有三道工序,共有5
台机器进行加工的案例,T 如下:
表1工序编码序列
M i O ij 0.5O 11 1.6O 12 3.3O 21…… 2.6O 31 1.0
O 32
244
2019,55(9)T =ìíîïïïïüý
þï
ïï
ï31462894
213476316579
464349332244324矩阵中加粗的“5”此位置在第3行,第4列,则表示2号工件的第2道工序在3号机器上的加工时间为5个单位。
3.2自适应因子对位置更新算法的改进针对本文的编码方式,同时为了更好地提高基本蝙蝠算法的寻优效率,本文在基本的蝙蝠算法的基础上,依然采用蝙蝠算法的计算机制,提出位置更新的自适应因子,改进位置更新算法。
具体位置和速度矢量更新公式如下:
F i =F min +(F max -F min )β
(6)v i (t +1)=v i (t )+(x i (t )-G best )F i (7)x i (t +1)=x i (t )+χ⋅v i (t +1)(8)x new =x old +εA t (9)其中,F i 表示第i 只蝙蝠在当前时刻搜索声波的脉冲频率;[F min ,F max ]是搜索脉冲频率范围;β∈[01]是服从均匀分布的随机因子;G best 表示当前全局最优解;χ
是自适应因子,公式如下:χ=(x i (t )-G best )/N gen
(10)N gen 为总的迭代次数。
自适应因子使得算法在一个的浮动范围内进行寻优,越靠近最优解位置变化越小,从而提高了局部搜索的速度和效率;x old 表示之前的最优解;ε∈[−11]是随机数;A t 表示当前蝙蝠群体响度的平均值。
3.3脉冲频率与脉冲响度的更新算法根据蝙蝠的回声定位原理,随着靠近目标,蝙蝠会降低脉冲响度A (i ),提高脉冲发射速率R (i )。
其更新公式如下:A t +1(i )=αA t (i )(11)R t +1(i )=R 0×[1-exp(-γt )](12)其中,γ>0,0<α<1。
蝙蝠算法的基本算法求解流程如下:步骤1种群初始化,按照解码策略计算出种群第i 个个体的适应度值fitness (i )。
步骤2计算适应度值fitness best 和G best 。
步骤3进行第t 次迭代。
步骤4通过公式(6)~(8)更新速度和位置产生新解x new 。
步骤5如果满足Rand >R (i ),由公式(9)产生新解x new 。
步骤6由x new 求出适应度值fitness new 。
步骤7如果满足fitness new <fitness (i )且Rand <A (i ),则接受新解,并利用式(11)、(
12)更新R (i )和A (i )。
步骤8如果满足种群i <POP ,转步骤4,否则转步骤9。
步骤9如果当前迭代次数t <T max 成立,转步骤2,否则转步骤10。
步骤10输出最优解、最优适应度值G best 和fitness best 。
4算法的仿真验证分析
为了验证改进的蝙蝠算法的可行性和有效性,本文以3个基本案例进行仿真实验,结合前人的一些经验,对蝙蝠算法的一些具体参数进行了设定,具体的说明如表2。
算法运行的环境是MATLAB ,处理器为core i-3
2.1GHz ,内存为4GB 的PC 机。
独立计算20次,将得到
的最优结果与文献中的算法结果进行比较。
实例1数据源自文献[14]。
文献[14]采用遗传算法,最优解为29,文献[15]采用粒子群算法PSO ,最优解为26,ICBA 对实例1进行求解,得到最优解为26,最优解甘特图如图1所示。
实例2数据来源自文献[16]。
文献[16]采用遗传模拟退火算法GSAA ,最优解是28,利用ICBA 得到的最优解是25,最优解甘特图如图2所示。
实例3数据来源自文献[17]。
文献[17]采用的是遗传算法GA ,最优解为347。
ICBA 求得的最优解为328,
最优解的甘特图如图3所示。
改进的蝙蝠算法与3组测试实例中的算法进行比
参数名称POP N gen αγF min F max 设定值
20
1000
0.9
0.9
2
表2算法基本参数设置值
M9M8M7
M6M5M4M3M2M1M a
c
h i
n
e
N
o
.0510152025Time/s
O8-3O1-3
O9-3O4-3O3-3O5-3
O6-3O7-3O12-3O10-3O11-3O2-3
O4-2O5-2O3-2O8-2O12-2
O9-2O7-2O1-2O2-2
O11-2O10-2O6-2O6-1O7-1O12-1
O4-1O3-1O11-1O2-1
O10-1O9-1O5-1O8-1O1-1
图1实例测试1最优解甘特图
尹建津,等:改进蝙蝠算法解决FFSP 问题及其应用研究
245
Computer Engineering and Applications 计算机工程与应用
2019,55(9)较,具体结果在表3,可以看出本文的ICBA 在求解FFSP 问题上有理想的解,计算速度较快,收敛速度得到了提升,ICBA 在FFSP 问题上具备有效性。
蝙蝠算法是一种全局求优的新型群体智能的启发式算法,它吸取了其他优秀的群体算法的特点,通过最优个体导向和自身频率与响度的调整来寻找最优解,本文设计的特殊编码方式以及位置更新函数中的自适应因子使得原始蝙蝠算法适用于FFSP ,改善了算法的搜索能力和收敛速度,进一步提高了解的质量,较于其他算法体现了一定的优势。
5算法的生产应用本文在前面章节将ICBA 与其他算法进行了对比实验,结果也证实了ICBA 的优越性;然而经过大量文献的
查阅得知,对于算法的研究大都处于案例的仿真阶段,算法实际应用的研究案例很少。
本文为了算法的进一步研究与验证算法的实际应用价值,将算法应用于某工厂的图章实际生产线,同时出于不妨碍实际生产与安全考虑,利用3D 仿真软件平台搭建了一套图章的生产流水线,用来模拟实际生产过程。
此生产线是一套定制图章的加工工艺,具体的工艺流程如图4所示。
图章加工一共分为4道主工序,(1)推出合适的物料,RFID 读写器读写物料信息,经过抓取装
置推送到下一站。
(2)接下来物料经过高度检测,如果高
度不合格直接推送到废料回收通道;如果高度检测为合
格,则进行刀具选取进行雕刻加工,待加工完成后经推送装置将物料送到下一站。
(3)机器臂将物料抓取到工作台,然后选取对应的图章盖,通过装配台的旋转电机将盖安装在图章主体,并将成品推到下一站;(4)RFID
读取器与二维码读取器读取成品信息并根据库存情况,利用皮带与步进电机进行入库操作。
在实际的生产线中一共有8台机器,机器具体分配如图5所示。
在图5中同一工序的机器对应的同一加工工件的加工时间不同,各工序的加工时间不同。
机器1、2对应第一道工序,机器3~5对应工序2,机器6、7对应工序3,机器8对应工序4。
在3D 仿真平台中的具体设备如图6所示,图中可以
M9M8M7M6M5M4M3M2M1M a c h i n e
N o .0510152025Time/s O9-3O6-3O1-3O2-3O4-3O7-3O10-3O3-3O11-3O12-3O8-3O5-3O4-2O8-2O1-2O12-2O9-2O7-2O5-2O3-2O2-2O10-2O6-2O11-2O4-1O7-1O10-1O3-1O12-1O6-1O11-1O9-1O1-1O8-1O2-1O5-1图2实例测试2最优解甘特图M10M9M8M7M6M5M4M3M2M1M a c h i
n e
N o
.
0100150200250300350
Time/s
O9-4O6-4O10-4O11-4O7-4O3-4O1-4O8-4O5-4O4-4O2-4O12-4
O9-3O8-3O5-3O11-3O2-3O7-3
O1-3O6-3O10-3O4-3O3-3O12-3
O1-2O8-2O4-2
O2-2
O6-2O5-2O11-2O12-2
O9-2O10-2O7-2O3-2
O9-1O10-1O11-1O3-1
O8-1O4-1O7-1O2-1
O1-1O6-1O5-1O12-1
50图3实例测试3最优解甘特图
代料筒B (白)供料筒A (黑)色标传感器34三联气缸转站码头56RFID 三联气缸RFID RFID 转站
码头高度检测加工动作RFID 加工平台转站位置主体滑道
978接近开关废料移出挡板供料站检测加工站配件送料皮带位置?自动装配站物流仓储站
RFID 17普能二维码读写器装配平台RFID
色标传感器配件滑道
机械
臂121011质量检测(机械结构)成品出站挡板
滑道成品库
三联
气缸成品库15
16
RFID MV4401314
RFID
图43D 模拟的生产工艺流程
实例实例1实例2实例3工件数/机器数12/912/912/10可选机
器数3/2/43/3/33/3/2/2文献结果29/2628347本文结果2625328本文20次平均结果2727331本文平均求解时间/s 8.78.611.2表3
算法比较结果图5生产系统机器结构
246
2019,55(9)看出分为了4个站,这4个站对应4套工序,可以并行运行多个3D 仿真系统完成对图4、5中工艺以及设备的模拟。
在3D 仿真生产过程中,机器运行稳定有序,且机器使用率较高,在ICBA 的调度下,机器的利用情况如图7所示,横轴代表机器号,纵轴代表时间刻度,0代表空闲,1代表忙碌。
从图7中可以看出,各机器的使用率较高,且在生产过程中并未出现机器长时间等待的现象,说明算法的求解速度可以满足实际的生产需求,最终的生产结果也验证了ICBA 在生产活动中的可行性和实用价值,为算法的进一步实际应用研究提供了基础和经验,对算法的应用改进提供了新的方式。
6结语本文在连续蝙蝠算法的基础上,提出一种解决FF-SP 问题的改进蝙蝠算法。
(1)编码方式:改进了算法的编码方式,采用定序一维解的结构与“四舍五入”的规则,使得连续蝙蝠算法适用于解决FFSP 。
(2)位置更新函数:为了使得连续蝙蝠算法在以上编码机制的基础上更快搜索最优解,本文在位置更新机制中加入了自适应因子χ,用于改善算法的收敛速度。
(3)仿真实验结果表明ICBA 在解决FFSP 问题上的有效性和可行性,相比较其他算法具备较优的结果。
(4)为了更好地说明ICBA 在应用价值,本文根据实际图章生产线在3D 仿真平台上搭建了一套模拟图章生产的流水线,3D 仿真生产过程以及生产结果可以表明ICBA 的实用价值,也为算法的实际生产应用提供了基础和经验。
在此基础上,算法的进一步改进,多目标FFSP 调度的研究和新型应用案例的研究将是进一步研究方向。
参考文献:[1]Rock H.The three-machine no-wait flowshop problrm is
NP-complete[J].Association for Computing Machinery ,1984,31(2):336-345.
[2]王大志,刘士新,郭希旺.求解总拖期时间最小化流水车
间调度问题的多智能体进化算法[J].自动化学报,2014,40(3):548-555.
[3]王圣尧,王凌,许烨,等.求解混合流水车间调度问题的分
布估计算法[J].自动化学报,2012,38(3):437-443.
[4]Ji Wei ,Wang Lihui.Big data analytics based fault prediction
for shop floor scheduling[J].Journal of Manufacturing
Systems ,2017.[5]张超勇,董星,王晓娟,等.基于改进非支配排序遗传算法的多目标柔性作业车间调度[J].机械工程学报,2010,46(11):156-164.[6]Deep K ,Bansal J C.Mean particle swarm optimisation for function optimization[J].International Journal of Com-putational Intelligence Studies ,2009,1(1):72-92.[7]Zhang Zeqiang ,Wang Kaipu ,Zhu Lixia ,et al.A Pareto improved artificial fish swarm algorithm for solving a multi-objective fuzzy disassembly line balancing problem[J].
Expert Systems With Applications ,2017,86.
[8]Seyedhosseini S M ,Esfahani M J ,Ghaffari M.A novel hybrid algorithm based on a harmony search and artificial
bee colony for solving a portfolio optimization problem using a mean-semi variance approach[J].Journal of Cen-
tral South University ,2016,23(1):181-188.[9]Mahi M ,Baykan ÖK ,Kodaz H.A new hybrid method
based on particle swarm optimization ,ant colony optimi-zation and 3-Opt algorithms for traveling salesman problem[J].Applied Soft Computing Journal ,2015,30:
484-490.
[10]姚远远,叶春明.作业车间调度问题的布谷鸟搜索算法求
解[J].计算机工程与应用,2015,51(5):255-260.
[11]Yang X S.A new metaheuristic bat-inspired algorithm[M]//
Nature inspired cooperative strategies for optimization.Berlin :Springer ,2010:65-74.[12]张文鹏,王兴.改进型蝙蝠算法在作业车间调度问题中的应用[J].计算机工程与应用,2017,53(8):137-140.[13]徐华,张庭.新型离散蝙蝠算法求解柔性流水车间调度问题[J].计算机工程与应用,2016,52(2):262-265.[14]王万良,姚明海,吴云高.基于遗传算法的混合Flow-shop 调度方法[J].系统仿真学报,2002,14(7):863-869.[15]周辉仁,唐万生,魏颖辉.基于微粒群算法的柔性流水车间调度优化[J].中国机械工程,2010,21(9):1053-1056.[16]Min D ,Dunbing T ,Adriana G ,et al.Energy-efficient
scheduling for a flexible flow shop using an improved
genetic-simulated annealing algorithm[J].Robotics and Computer-Integrated Manufacturing ,2013,29(5):418-429.
[17]崔建双,李铁克,张文新.混合流水车间调度模型及其遗传算法[J].北京科技大学学报,2005,27(5):
623-626.图63D 单套生产系统总界面M8M7M6M5M4M3M2M1Machine No.M a
c
h
i n
e
W o r
k i
n
g
T i m e
/
s
O 空闲忙碌图73D 仿真生产-机器占用情况尹建津,等:改进蝙蝠算法解决FFSP 问题及其应用研究
247。