人机协同的柔性作业车间炼钢—连铸重调度方法
2018-11-12庞新富姜迎春俞胜平李海波车震海
庞新富,姜迎春,俞胜平,李海波,高 亮,车震海
(1.沈阳工程学院 自动化学院,辽宁 沈阳 110136; 2.华中科技大学 数字制造装备与技术国家重点实验室,湖北 武汉 430074; 3.沈阳农业大学 工程学院,辽宁 沈阳 110866; 4.东北大学 流程工业综合自动化国家重点实验室,辽宁 沈阳 110819)
0 引言
炼钢—连铸是钢铁生产中的核心环节,涉及炼钢、精炼、连铸3大工序。钢水温度、钢水成份、加工时间和运输时间是系统运行的关键参数。炼钢—连铸生产过程伴随着不确定扰动事件,譬如:炉次在设备上因延时不能按时开工;某一设备发生故障;紧急炉次计划排入;加工或运输过程中出现质量不合格,包括温度或成份不满足工艺要求。这些扰动事件的发生,导致原调度计划不可行,需要对原调度计划进行调整。因此,研究快速响应扰动事件的调度方法具有实际重要意义。
针对炼钢—连铸生产静态调度问题已经进行了大量研究[1-10]。随着相关企业实施综合自动化和智能制造提升工程,炼钢—连铸生产重调度问题引起了学者们的关注[11-19]。
(1)针对因延时不能按时开工的重调度问题的研究[11-13]庞新富等[11]针对柔性作业车间(Flexible jobshop, FJS)型的炼钢重调度问题,考虑保持调度计划的一致性、稳定性和浇铸时间的可变性,提出正在加工炉次(工件)的各阶段已指派加工设备不变的重调度方法;俞胜平等[12-13]针对FJS型的炼钢重调度问题,考虑加工时间的可变性,提出开工时间延迟下可重入生产模式的启发式重调度方法。
(2)针对设备故障下重调度问题的研究[14-15]王柏琳等[14]针对混合流水车间(Hybrid Flowshop, HFS)型的炼钢重调度问题,提出基于约束满足算法的重调度方法;庞新富等[15]针对FJS型的炼钢重调度问题,提出由“未加工”炉次设备指派、“未加工”炉次的开工时间优化和浇铸时间调整3部分组成的某一转炉或精炼炉故障下的重调度方法。
(3)针对新计划插入的炼钢重调度问题 侯东亮等[16]提出动态约束满足的局部修复算法;Mao等[17]针对时间或设备故障下的FJS型炼钢重调度问题,提出拉格朗日精确求解的重调度方法;Tang等[18]针对HFS型炼钢重调度问题,提出基于差分进化的重调度方法;Li等[19]针对HFS型炼钢重调度问题,提出基于果蝇算法的重调度方法。上述研究成果为解决各种重调度问题提供了参考,但对于某一炉次钢水温度过低需要增加精炼工序、紧急炉次计划插入扰动的FJS型炼钢—连铸重调度问题收效甚微;时间大延迟扰动下,调度人员有时习惯选择人机协同的调整方式,但目前缺少人机协同的重调度工具。
针对某一炉次增加精炼工序(因钢水温度过低需要进行升温)、紧急炉次计划插入、时间大延迟扰动下的炼钢-连铸生产重调度问题,提出由基于人机协同的炉次加工设备调整、基于线性规划的炉次开工和完工时间调整两部分组成的人机协同重调度策略,并给出了各部分的调度算法,开发了相应的重调度系统,应用于宝钢二炼钢厂炼钢—连铸生产过程,提高了调度系统应对扰动的响应速度和生产效率。
1 问题描述
炼钢—连铸依次进行冶炼、精炼和连铸3个阶段的加工,如图1所示。冶炼阶段有多台转炉,有单联冶炼或双联冶炼两种方式;精炼阶段有多台、多种精炼炉,并且有多种不同的精炼组合方式,有一重或多重精炼;连铸阶段有多台连铸机。转炉将加工好的钢水注入一个钢包(称为一个炉次),被运输到精炼炉进行加工,精炼后再使用同一钢包将钢水运输到中间包(装载钢水的容器)并注入其中,钢水经中间包流入连铸机浇铸成板坯(连续在一台连铸机上浇铸的炉次集合称为一个浇次)。
炼钢—连铸过程中转炉、精炼和连铸机都是固定不动的,炉次在空间位置的转移通过天车、台车和钢包设备作业得以实现,该生产调度过程是生产批调度和运输设备调度相协同的二维时空优化问题。在制定生产设备调度计划时,假设运输设备(天车、台车和钢包设备)能力充足,用人工估计的运输时间作为标准时间参数。因此,生产过程难以完全按照调度计划安排的加工设备和作业时间进行,需要调度人员随时根据生产运行状态进行调整。炼钢—连铸生产过程伴随的扰动事件如下:①炉次在设备上因延时不能按时开工,细分为小扰动、中等程度扰动和大扰动;②某一设备发生故障;③紧急炉次计划排入;④加工或运输过程中,出现质量不合格,包括温度或成份不满足工艺要求。其中温度扰动可细分为小扰动、中等程度扰动和大扰动。
文献[11-13,15]分别为解决时间扰动、设备扰动下的重调度问题提供了有效的重调度方法,并在上海宝钢进行应用。但对于温度过低需要增加精炼工序、紧急炉次计划插入、时间大延迟(调度人员可以选择人机协同或自动重调度)扰动下的FJS型炼钢—连铸生产问题,需要调度人员依靠经验干预调整过程,目前缺少有效的、快速的人机协同优化重调度方法。
2 基于人机协同的炉次加工设备调整
(1)索引
i为浇次序号。
j为炉次序号。
k为炉次Lij的第k个操作,k∈[1,…,εij]。
mijk为炉次Lij的第k个操作的加工设备。
Ωi为第i个浇次中在连铸工序未开工的炉次集合,即重调度的对象;Ω1为正在加工,但连铸工序未开工的炉次集合;Ω2为未开工炉次集合;Ω=Ω1∪Ω2。
(2)参数
εij为炉次Lij的总操作数;
Tmi,j,k-1,mijk为设备间运输时间;
βijk为炉次Lij第k个操作的加工状态,炉次Lij第k个操作未开工时βijk=0,正在加工时βijk=1,已完工时βijk=2;
tr为重调度时刻;
xijk,yijk为重调度前炉次Lij第k个操作的开工和完工时间;
2.1 问题模型
(1)已知条件
基于人机协同的炉次加工设备调整时,已知信息为原调度计划表中的炉次相关信息,描述如下:①设备类型,以及每种类型的设备个数;②浇次个数、加工浇次的连铸机;③每个浇次内包含的炉次个数、浇次内各炉次的加工顺序;④炉次的生产工艺路径,包括每个炉次经过的工序数、每个工序的加工设备类型;⑤炉次的加工设备,包括每个工序的加工设备、每台设备上加工的炉次以及炉次在该设备上的先后加工顺序;⑥炉次在加工设备上的开工时间、完工时间;⑦设备的标准加工时间、最小加工时间和最大加工时间;⑧两台设备间的运输时间;⑨炉次的加工状态,有已完工、正在加工和未开工3种加工状态;⑩重调度时刻。
(2)性能指标
相邻加工设备之间的等待会导致钢水温度下降,因此运输过程中的等待时间要尽量小。
(1)
(3)约束条件
1)同一浇次内炉次的浇铸顺序必须满足原调度计划中浇次内的炉次浇铸顺序
在进行人机交互时,不能改变原调度计划中同一浇次内炉次在连铸机上的浇铸顺序:
(2)
2)炉次在连铸工序的加工设备约束
连铸工序的加工设备由生产计划模块给出,不允许修改炉次的连铸加工设备:
(3)
3)炉次的每个工序的加工设备类型约束
每个工序必须在指定的加工设备类型中某一台设备上加工:
(4)
(5)
4)按照生产工艺路径规定的先后顺序加工炉次
k=2,…,εij。
(6)
5)正在加工、已完工工序的加工设备约束
重调度时,不允许调整正在加工、已完工工序的加工设备:
(7)
6)炉次在设备上的加工时间约束
(8)
7)正在加工、已完工工序的开工时间约束
重调度时,不能再进行改变正在加工、已完工工序的开工时间:
k=1,…,εij,βijk=1,2。
(9)
8)已完工工序的完工时间约束
重调度时,不能再进行改变已完工工序的完工时间:
k=1,…,εij,βijk=2。
(10)
9)决策变量取值约束
(11)
k=1,…,εij,βijk=0,1。
(12)
(13)
(4)决策变量
根据上述已知信息,调度人员依靠其经验,采用基于甘特图编辑和启发式的约束联动算法,可以实现炉次计划的调整。选取决策变量如下:
2.2 调度算法
甘特图可以实现如下功能:移动计划(一条或多条或整体),修改工序加工设备,修改同设备上的炉次加工顺序,修改加工时间和运输时间,保存时甘特图自动启动调度算法。
基于人机协同的炉次加工设备调整包括以下几种方式:①调整炉次在非连铸工序的加工设备;②调整炉次在非连铸设备上的加工顺序;③调整炉次在设备上的加工时间。基于人机交互的炉次加工设备调整步骤主要分为两步:首先,通过甘特图编辑实现对某一炉次操作的加工设备调整;然后,采用启发式算法对操作所属炉次的其他操作的开工和完工时间进行调整,以满足炉次加工的各个工序“按照生产工艺路径规定的先后顺序加工”的约束。
(1)基于甘特图编辑和启发式的炉次加工设备人机交互调整算法
调整炉次在非连铸工序的加工设备,即将炉次的某一操作更换到其他设备上进行加工,以追求炉次加工等待时间最小。需要满足以下约束:在人机交互调整计划时,不允许调整炉次连铸工序的连铸机;根据炉次的生产工艺路径,每一个工序必须被安排在指定设备类型中的某一设备上加工;根据炉次的加工状态,不允许调整正在加工工序和已完工工序的原有加工设备。
调整某一操作从原加工设备更换到其他加工设备后,因设备间的运输时间不同,会导致操作在调整后加工设备上的开工和完工时间发生变化。为了满足“按照生产工艺路径规定的先后顺序加工炉次”的约束,需要在调整操作的加工设备之后,调整操作的开工和完工时间。根据炉次分批的不同,属于正在加工批次Ω1中的炉次,在调整某一操作的加工设备后,需对属于同一个炉次的该操作之前的操作更新开工和完工时间;属于未开工批次Ω2中的炉次,在调整操作加工设备后,需对属于同一个炉次的该操作之后的操作更新开工和完工时间。调整约束联动算法的步骤如下:
步骤1获取需要进行加工设备调整的操作oijk。
步骤3若操作oijk为连铸机上的操作,即k=εij,则不允许对oijk更换加工设备,以满足式(3)的约束,转步骤9;否则继续下一步。
步骤4若操作oijk正在加工或已完工,即βijk≠0,则不允许对oijk更换加工设备,以满足式(7)的约束,转步骤9;否则继续下一步。
步骤5将操作oijk移动至设备m1。
步骤7计算操作oijk在设备m1的开工和完工时间:
步骤8更新与操作oijk属于同一个炉次的其他操作的开工和完工时间:
步骤9算法结束。
(2)基于甘特图编辑和启发式的炉次加工顺序人机交互调整算法
调整炉次在非连铸设备上的加工顺序,即改变炉次的某一操作在设备上的加工顺序,以使炉次加工等待时间最小,需要满足以下约束:不能改变原调度计划中同一浇次内炉次在连铸机上的浇铸顺序。
改变炉次的某一操作在设备上的加工顺序后,会导致操作在调整后的开工和完工时间变化。为了满足“按照生产工艺路径规定的先后顺序加工炉次”的约束,需要在非连铸设备上的调整加工顺序之后,调整操作的开工和完工时间。根据炉次分批的不同,属于正在加工批次Ω1中的炉次,调整操作在设备上的加工顺序后,需对属于同一个炉次的该操作之前的操作更新开工和完工时间;属于未开工批次Ω2中的炉次,调整操作在设备上的加工顺序后,需对属于同一个炉次的该操作之后的操作更新开工和完工时间。
步骤3若操作oijk为连铸机上的操作,即k=εij,则不允许对oijk更换加工顺序,以满足式(2)的约束,转步骤8;否则继续下一步。
步骤4若操作oijk正在加工或已完工,即βijk≠0,则不允许对oijk更换加工顺序,转步骤8;否则继续下一步。
步骤6计算操作oijk在设备m的开工和完工时间:
步骤7更新与操作oijk属于同一个炉次的其他操作的开工和完工时间:
步骤8算法结束。
(3)基于甘特图编辑和启发式的炉次处理时间人机交互调整算法
调整炉次在设备上的加工时间,即延长或缩短炉次某一操作的加工时间,以使炉次的加工等待时间最小。需要满足以下约束:炉次在设备上的加工时间必须在其允许的加工时间范围内;当炉次在设备上已完工时,不能再改变其开工和完工时间。
将炉次在设备上的加工时间进行调整后,会导致操作在调整后的开工和完工时间变化。为了满足“按照生产工艺路径规定的先后顺序加工炉次”的约束,需要在调整炉次在设备上的加工时间之后,对操作的开工和完工时间进行调整。根据炉次分批的不同,属于正在加工批次Ω1中的炉次,调整操作加工时间后,需对属于同一个炉次的该操作之前的操作更新开工和完工时间;属于未开工批次Ω2中的炉次,调整操作加工时间后,需对属于同一个炉次的该操作之后的操作更新开工和完工时间。调整约束联动算法如下:
步骤2获取需要进行处理时间调整的操作oijk。
步骤3若操作oijk已完工,即βijk=2,则不允许对oijk调整处理时间,以满足式(9)和式(10)的约束,转至步骤8;否则继续下一步。
步骤6计算操作oijk在设备m的开工和完工时间:
步骤7更新与操作oijk属于同一个炉次的其他操作的开工和完工时间:
步骤8算法结束。
3 基于线性规划的炉次开工和完工时间调整
经过基于人机协同的炉次加工设备调整后,炉次在同一台设备上加工可能存在作业时间的冲突,因此设计了基于线性规划的炉次开工和完工时间调整方法。
(1)已知条件
1)同一浇次中相邻炉次在连铸机上连续浇铸约束。
2)同一台设备上加工的相邻炉次之间不能出现作业时间冲突。
3)每个浇次所在的连铸机必须满足调度计划中浇次所在的连铸机。
4)同一浇次内炉次的浇铸顺序必须满足调度计划中浇次内的炉次浇铸顺序。
5)炉次的各工序必须按照生产工艺路径规定的先后顺序依次进行加工。
6)炉次的每个工序必须按照规定设备类中某一台设备上进行加工。
7)炉次加工时间按人机交互调整后的加工时间或标准时间,需要进行模式选择。
8)炉次在设备上的加工时间在限定范围内。
9)炉次在已完工或者正在加工工序的加工设备不变。
10)炉次在已完工或者正在加工工序的开工时间不变。
11)炉次在已完工工序的完工时间不变。
12)炉次在未开工工序的开工时间和完工时间大于重调度时刻。
13)炉次在正在加工工序的完工时间大于重调度时刻。
(2)性能指标
所有炉次工序间总等待时间要尽量的小,如式(1)。
(3)约束条件
1)同一浇次中相邻炉次在连铸机上必须连续浇铸
(14)
2)按照生产工艺路径规定的先后顺序加工炉次
k=2,…,εij。
(15)
3)炉次在同一台设备上加工的作业时间不能冲突
(16)
4)炉次在设备上的处理时间约束
Lij∈Ω,k=1,…,εij;
(17)
Lij∈Ω,k=1,…,εij。
(18)
5)炉次在已经加工结束的工序上的开工和完工时间约束
在设备上已完工炉次的开工和完工时间不变,等于调度计划中的开工和完工时间:
k=1,…,εij-2,βij=2;
(19)
k=1,…,εij-2,βij=2。
(20)
6)炉次在正在加工的工序上的开工时间约束
每个炉次正在加工的工序上的开工时间在重调度过程中不能改变,即
k=1,…,εij-2,βij=1。
(21)
7)决策变量取值约束
(22)
(23)
(4)决策变量
(5)基于线性规划的炉次开工和完工时间调整模型
建立如下炉次开工和完工时间模型(记为M1):
minJ,其中J表达式如式(1)。
s.t.
式(14)~式(23)。
3 工业应用
炼钢—连铸生产动态调度软件系统是以宝钢股份公司二炼钢分厂为实际应用背景,该炼钢厂调度主体设备包括3台260 t转炉(4LD,5LD,6LD)、6台精炼设备(5RH-1,5RH-2,3RH,LF-1,LF-2,IR_UT)、3台连铸设备(4CC,5CC,6CC)和3个重包位(4L1,4L2,4L3),辅助设备有天车、台车、钢包扒渣、倾转台、钢包烘烤位等;其精炼方式包括一重精炼、二重精炼、三重精炼。
宝钢形成了4级计算机网络,其中L3为车间管理系统(包括炼钢—连铸调度系统)。炼钢—连铸生产重调度软件系统功能结构如图2所示,客户端
使用的是Windows XP,数据库采用Oracle 10 g,开发工具包括VC++6.0、Visual Prolog 5.2和PL-SQL。
(1)已知条件
炉次在非连铸机设备上的标准加工时间、加工时间区间如表1所示,设备间的运输时间如表2所示。
表1 设备处理时间
表2 设备间运输时间
计算炉次在连铸机上的加工时间,相关参数包括炉次的钢水总重量、炉次在连铸机上浇铸成的板坯平均厚度、炉次在连铸机上加工时的奇流板坯、偶流板坯的平均左右宽度、连铸机加工的拉速。
当炉次Lij为浇次的第一炉时,浇铸时间(单位:min)为
(24)
当炉次Lij不是浇次的第一炉时,浇铸时间为
pi,j,εij=
(25)
炉次在连铸机上浇铸时的拉速包括允许最小拉速、标准拉速、允许最大拉速,与其相对应的为允许最大加工时间、标准加工时间和最小加工时间。
(2)时间大延迟程度下重调度
调度计划信息为:4CC上浇次Ω1={L11,L12,L13,L14,L15,L16,L17};浇次2在5CC上浇铸,Ω2={L21,L22,L23,L24,L25,L26,L27,L28};浇次3在6CC上浇铸,Ω3={L31,L32,L33,L34,L35,L36}。其中炉次在连铸机设备上的加工时间如表3所示。
表3 炉次在连铸机上的处理时间 min
图3所示为调度计划进行到时刻t2的情况,炉次L24在转炉5LD上的操作的加工开始时间延迟了20 min,导致如下问题:①在转炉5LD上,操作o241与o251产生了5 min的作业冲突时间;②炉次L24的操作o242和o243按照原来调度计划的加工时间已经不可行;③若炉次L24的操作o242和o243根据操作o241延迟后的时间后移,则会导致操作o243与o233出现连铸断浇,并且操作o243与o253会出现作业冲突。从上述分析可知,炉次L24的操作o241的加工开始时间延迟了20 min之后,对炉次L24本身的其他操作o242和o243,以及对其他炉次(如炉次L25)均产生了影响,因此需要进行重调度,以快速、有效地对原调度计划进行调整,从而得到满意的可行调度计划。
采用基于人机协同的炉次加工设备调整后的结果如图4所示,采用基于线性规划的炉次开工和完工时间调整后的结果如图5所示。从图4的整个调度计划可以看出,调整之后的整个调度计划在设备上没有出现作业冲突,在连铸机上没有出现断浇,但是人工对整个计划的调整时间比较长,本例用了约5 min。调整之后整个调度计划的等待时间性能指标为0 min,处理时间性能指标为40 min(所有炉次加工时间与其标准加工时间差的累积和)。图5中转炉、精炼炉上的加工时间设置为标准加工时间,优化后的重调度结果的等待时间性能指标为0 min,处理时间性能指标为30 min。
(3)某一炉次温度过低增加精炼工序进行升温处理
炉次36的精炼1工序加工结束后温度过低,通过温度扰动下人机协同调整界面添加精炼工序LF-1,加工时间为10 min,如图6所示。采用基于人机协同的炉次加工设备调整后的结果如图7所示,图中两炉次之间的3 min间隔为采集信号的间隔,时间上为连续浇铸。采用基于线性规划的炉次开工和完工时间调整后的结果如图8所示,等待时间性能指标为30 min,处理时间性能指标为30 min。
(4)紧急炉次计划插入下重调度
由于生产订单需要插入紧急炉次45,首先根据炉次的精炼区分和甘特图中生产设备占用情况,人工选择路径5LD→5RH-2→4CC,兑铁水开始时间人工设定为20:46,如图9所示;然后,根据生产时间、运输时间参数,由甘特图软件系统自动计算出炉次45计划的每个工位的开始和完成时间,在某些设备上可能与原生产调度计划中的炉次存在加工时间冲突或在连铸机上断浇;最后,采用基于线性规划的炉次开工和完工时间调整后的结果如图10所示,插入新炉次45,整个炉次生产计划在转炉和精炼设备上加工无冲突,可在连铸机上连续机加工(两炉次间的3 min间隔为信号差,实际上连铸机连续浇注)。
将研发的重调度软件应用于具有3台转炉、6台精炼炉、3台连铸机、多重精炼方式的大型钢铁集团的炼钢—连铸生产线,运行结果表明重调度操作灵活方便,显著提高了重调度效果:①重调度算法使得炉次加工日平均等待时间从234 min降低至166min,日平均设备负荷率从50.44%上升到55.16%,从而进一步使30天的加工炉次数量由原来的平均1 980个增加到平均2 040个,大大提高了生产效率;②重调度时间从原来的1 min以上缩短至10 s以内,提高了重调度效率。
4 结束语
针对炼钢—连铸生产过程中会出现某一炉次温度过低,需要增加精炼工序进行升温处理、紧急炉次计划插入等扰动的炼钢—连铸生产重调度问题,为了使调度人员可以凭借经验干预优化过程,提出由基于人机协同的炉次加工设备调整、基于线性规划的炉次开工和完工时间调整两部分组成的人机协同重调度策略,并给出了各部分的调度算法。采用所提方法设计、开发了相应重调度子系统并应用于实际生产调度过程。通过工业应用案例表明,所提出的调度算法能够配合调度员快速有效地对调度方案进行优化,并获得更好的调度解,降低了炉次在各工序设备间的等待时间,提高了生产效率。未来需进一步探讨在可接受时间范围内得到高质量解的人机协同近似优化方法;研究钢水质量扰动下的炼钢-连铸生产重调度人机协同优化方法。