闫 祺,李文甲,王稼晨,马 凌,赵 军
天津大学中低温热能高效利用教育部重点实验室,天津 300350
轧钢加热炉是钢铁热轧工序中的重要生产设备,也是钢铁行业中的耗能大户,其能耗约占钢铁生产总能耗的10%~20%[1-2]. 降低加热炉能耗对于钢铁企业具有重要意义. 加热炉是钢坯热轧前的加热设备,为连铸-热轧环节起到缓冲作用. 由于连铸机、加热炉、热轧机之间生产能力,生产周期存在不协调不匹配的情况,且一个轧制计划中的钢坯规格、质量、入炉温度等参数往往存在差异,如果调度计划制定的不合理,必然会影响上下游工序的匹配衔接. 因此优化加热炉生产调度计划对提高生产效率,降低成本具有重要作用.
近年来,针对加热炉优化调度问题,一些学者提出了行之有效的方法. Tang等[3]以最小化实际在炉时间同理想在炉时间的偏差为目标,采用分散搜索算法求解. 杨业建等[4]以极小化板坯温降时间和同炉离散度为目标,采用改进型遗传算法进行求解. 屠乃威等[5]以最小化加热炉内冷热板坯混装程度,板坯在炉时间为目标,采用改进蚁群算法求解. 李铁克等[6]以最大完工时间和炉内停留时间为优化目标,采用3阶段启发式算法求解.Ilmer等[7]提出一种考虑不同类型加热炉协同生产的调度方法,以最小化钢坯出炉时间和轧机等待时间为目标求解. 通过文献分析可以看出,目前对加热炉调度的优化目标大多为缩短某段时间差.实际上,加热炉的生产能耗与入炉钢坯的温度、在炉时间和加热炉产量等诸多因素有关[8],且各因素彼此存在非线性耦合的特征. 因此,等待时间总和最小或总完工时间最短这类目标难以完整反映加热炉生产能耗特征,以此目标优化出的调度方案也不一定是能耗最低的生产方案. 若推导出对加热炉生产调度方案进行能耗评价的函数表达式,并以此作为优化目标,则其优化出的生产方案在能耗方面定会优于现有方法.
鉴于以上分析,本文通过热力学第一定律推导出加热炉调度方案的能耗评价函数,并以此作为优化目标汇同生产约束建立调度数学模型,通过多个算例的计算分别测试算法和能耗目标的效果. 同时本文考虑到,钢坯入炉前的缓冲等待时间和炉内的保温等待时间是造成能耗高的主要原因,因此提出两个衡量这两类时间相对大小的评价参数,并讨论二者对能耗的影响机制.
轧钢加热炉的生产流程如图1所示,从连铸机至热轧机之间,有4种不同的连接方式:连铸坯直接轧制工艺(HDR),连铸坯直接热装工艺(DHCR),连铸坯热装工艺(HCR)和传统的冷装工艺(CCR).其中HDR对生产设备和管理水平要求较高,目前国内应用程度较低,其他3种都需要经过加热炉的加热最后送至热轧机. 由于上游钢坯来源不同,导致钢坯之间的温度差异性较大,给编排计划的制定带来很大的困难.
图1 加热炉生产流程Fig.1 Reheat furnace production process
加热炉的调度通常是在轧制单元计划,连铸出坯计划已定的条件下,确定待加热的板坯在多台加热炉上的生产顺序,其决策的内容包括计划内所有板坯的入炉号,入炉时间,出炉时间和入炉顺序. 在实际生产中,加热炉区的调度计划编排应符合多种约束:钢坯的入炉时间不得早于到达时间;钢坯的出炉顺序遵循轧制计划的顺序;同一加热炉内先轧制的板坯先入炉;每台加热炉有炉容量的限制,任何时间可同时加热的最大钢坯数量是一定的.
钢铁企业通常根据生产数据的分析总结出不同种类、不同出炉温度、入炉温度的钢坯所需的加热时间,记为标准加热时间. 每块钢坯在炉内的加热时间应不小于标准加热时间;同时,钢坯的在炉时间也不应过大,以避免迟滞生产节奏和加剧钢坯表面的氧化烧损,因此钢坯总的加热时间应低于最大住炉时间;钢坯在加热完成后在等待轧制的过程中需待在加热炉内保温;完整的加热炉区钢坯调度计划应如图2所示.
图2 加热炉区钢坯调度甘特图[3]Fig.2 Billet scheduling Gantt chart in reheat furnace area[3]
加热炉生产调度问题属于组合优化难题,由于决策变量维数高,目标函数和约束具有非线性特征,传统的运筹学方法难以快速解决此类问题[9],因此本文选择智能优化算法求解此问题.
加热炉内部结构及各能量交换如图3所示,根据热力学第一定律,建立能量守恒方程式(1)[10-11].其中,Q1到Q5为各项热收入,含义依次为燃料化学热、燃料物理热、空气物理热、钢坯氧化反应热及钢坯带入物理热,为各项热支出,含义依次为钢坯带出物理热、烟气带出物理热、化学不完全燃烧热损失、机械不完全燃烧热损失、炉壁散热、炉门开启辐射热、炉门开启逸气热及冷却系统带出热.
图3 加热炉能量流模型Fig.3 Energy flow model of reheat furnace
图3中流入加热炉各项能量Q1到Q5由式(2)~(6)计算
式中:B为单位燃料消耗量,m3·h-1;Qne为燃料的低位发热量,kJ·m-3;cfu为燃料平均体积热容,kJ·m-3·℃-1;tfu为燃料的温度,℃;n0为空气消耗系数;L0为单位燃料理论所需空气量,m3;cai为空气平均体积热容,kJ·m-3·℃-1;tai为空气温度,℃;G为加热炉产量,kg·h-1;a为烧损率;cme为入炉钢坯的比热容,kJ·kg-1·℃-1;tme表示入炉钢坯的平均温度,℃.
由于钢坯在等候装炉时不断向环境散热,其最终入炉温度通常小于其初始温度,因此通过式(15)[12]计算钢坯的最终入炉温度.
式中:Ts0为初始时刻钢坯的平均温度,℃;θ为钢坯的表面积,m2;V为钢坯的体积,m3;τ0为钢坯在空气中的停留时间,s;Ta0为空气温度,℃.
选择总燃料消耗量Ctf(m3)作为衡量加热炉能耗高低的指标. 为便于叙述,下文简称为“燃耗”.其计算式为(16):
式中:Δτ为加热炉运行总时间,h. 综合(1~16)各式得出加热炉燃耗的计算式(17)
为便于计算和分析,考虑加热炉生产调度计划制定的特点和决策对象的特征,化简(17)式可得:
式中,A1、A2、A3及A4为化简后的常数,其表达式为(19)~(22).
假设在轧制计划已知的条件下,选择DHCR和CCR两种加热炉生产调度模式进行研究. 考虑到加热炉上游工序繁多,为便于计算,在保证模型的通用性前提下做出适当简化,说明如下:
(1)调度计划中各钢坯到达加热炉前缓冲区的时刻,温度已知.
(2)每块钢坯的标准加热时间已知,该值由企业根据以往生产数据总结而成[13],钢种,目标出炉温度等已知.
(3)忽略加热炉故障导致的停产等突发情况,认为炉体始终保持稳定生产状态.
(4)加热炉装钢,出钢操作时间为定值.
为便于描述,定义以下符号和参数
(1)索引与集合.S为加热炉生产调度计划中的钢坯集合,S={1, 2 , ···,i, · ··,n},其中n表示钢坯数.L表示加热炉集合,L={1, 2 , ···,k, ···,l},其中l表示加热炉数量.
(2)问题参数.mi表示钢坯i的质量. phi表示钢坯i在加热炉中标准加热时间.Zi表示钢坯i到达加热炉前缓冲区时刻. pdi表示钢坯i在加热炉中的最大住炉时间. pri表示钢坯i在热轧机上的轧制时间.T1i表示钢坯i从等候区域输送至加热炉的传输时间.T2i表示钢坯i从加热炉输送至热轧机的传输时间.pk表示第一块进入加热炉k的钢坯序号.qk表示最后一块离开加热炉k的钢坯序号. tbi表示钢坯i入炉时温度.Ii表示在同一加热炉中,排在钢坯i后第C块(C为加热炉炉容)入炉加热的钢坯号.ε表示热轧机最大空转等待时间.δmin表示同一加热炉加热的相邻钢坯的最小入炉时间间隔.Y表示一个足够大正数. Δt0表示加热炉装钢,出钢的操作时间.
(3)决策变量.γik为二元变量,如果钢坯i在加热炉k中加热该值记为1,其他情形为0.bi表示钢坯i的入炉时间.di表示钢坯i的出炉时间.Oijk为三元变量,如果钢坯j紧随钢坯i装入加热炉k中加热该值为1,其他情形为0.
基于上述参数,变量的定义,构建加热炉调度的整体数学模型:
目标函数(23)表示多台加热炉总燃料消耗量最小. 约束(24)表示每块钢坯只能分配给一台加热炉加热. 约束(25)表示每块钢坯在加热炉内的加热时间应不低于标准加热时间且不高于最大住炉时间. 约束(26)表示板坯在热轧机组空闲前需一直在炉内停留且热轧机组停机等待板坯的时间不能过长. 约束(27)表示在同一加热炉加热的钢坯按照轧制顺序出炉. 约束(28)表示在同一加热炉加热的钢坯按轧制顺序入炉. 约束(29)表示每台加热炉同时加热的钢坯数不得超过其炉容量.约束(30)和约束(31)表示决策变量γik和Oijk的取值范围.
分析每块钢坯在加热炉区停留的时间可知,由于加热炉的出钢顺序受轧制计划的约束,因此每块钢坯从出炉至输送到热轧机上的时间间隔较固定;但另外两部分时间(入炉前等待时间,炉内加热时间)由于受到上游连铸出坯时间、加热炉炉容量、轧制计划等制约,往往波动性较大. 因此有必要探究这两部分时间的变化同加热炉燃料消耗量的关系. 殷瑞钰[14]提出用“连续化程度”这一物流指标来衡量各工序匹配程度,本文考虑加热炉调度实际,引入加热匹配系数μ1和等待匹配系数μ2两个评价参数,分别衡量一个调度计划内所有钢坯炉内加热时间和炉前等待时间同理想生产时间的差距,并分析二者对燃料消耗量的影响规律,μ1和μ2计算公式分别为式(32)和(32).
差分进化算法(Differential evolution algorithm)是一种随机的启发式搜索算法,凭借其编程简便,收敛速度快,寻优能力强[15]等优势,已连续多年在进化计算大会(CEC)竞赛中跻身前3名[16],并且在模式识别[17]、工业控制[18-19]、函数优化[20-21]等诸多领域获得广泛应用. 特别是在钢铁生产领域,差分进化算法已被成功用于解决企业订单重调度[22]、钢卷配载规划[23]、加热炉操作优化[24]等实际问题.
为避免差分进化算法的种群在迭代过程中易出现的早熟现象,减轻算法参数调试的工作量,Ghosh等[25]在差分进化算法(DE)的基础上开发了FiADE(Fitness-adaptive DE)算法,它可根据每代种群个体的适应度函数值变化,对DE算法的缩放因子、交叉概率动态调整,平衡算法的开发和探索能力[26]. 本文以FiADE算法作为主体求解算法,同时为提高算法寻优效率,对种群中表现较优的个体进一步执行禁忌搜索. 算法整体流程如图4所示. 其主要步骤如下:
图4 差分进化算法框架Fig.4 Differential evolutionary algorithm framework
(1)初始化种群.
种群采用实数编码,随机产生NP个D维解向量D为决策变量个数,NP为种群数. 各决策变量分布在其上边界和下边 界构成的解空间中,计算公式如(34)所示:
rand(0, 1)指[0, 1]之间服从均匀分布的随机数,xi,0j中的0指此时种群处于初始代.
(2)变异操作.
对种群中的每个目标向量Xi,E(E表示算法运行至第E代)执行差分变异操作(35),生成的变异向量记为
式中,下标r1i,r2i,r3i,r4i,r5i为随机抽取的位于 [1,NP]之间的不同于i的个体序号,Fi为个体i所对应的缩放因子,其计算流程如下
Step1:计算F1,对于每个个体Xi,
式中,Δfi=|f(Xi)-f(Xbest)|,Xbest为当前种群中适应度最低的个体,λcon= 0.1·Δfi+ 10-14,Fmax为给定的参数.
(3)交叉操作.
将目标向量Xi,E和其对应的变异向量Vi,E执行交叉策略,新生成的个体记为,个体i中第j个点计算公式为
式中,CRi为个体i所对应的交叉概率,其计算流程如下:
比较变异向量Vi和原始向量Xbest的适应度函数值,如果f(Vi) <f(Xbest),执行(40)式,否则执行(41)式.
式中,CRconst,CRmin,CRmax为设定的参数.
(4)选择操作.
比较原始个体Xi,E和经变异,交叉操作后所得新个体Ui,E的适应度函数值,以(42)式进行选择,优者进入下一轮循环,弱者淘汰出局.
(5)禁忌搜索.
选择操作结束后,对新生成的子代个体,按照适应度函数值由小到大进行排序,并选择前10%的优良个体执行禁忌搜索. 具体步骤如下:
步骤1:设定算法运行的各输入参数,即候选解个数、禁忌表长度、迭代次数、初始解等,初始禁忌表为空,同时将初始解设为历史最优解.
步骤2:对当前解进行局部搜索生成候选解,并计算每个候选解的适应度函数值.
步骤3:判断每个候选解是否属于禁忌且选出适应度函数值最优的候选解.
步骤4:比较最优候选解与历史最优解的适应值大小,若优于历史最优解则执行步骤5,否则执行步骤6.
步骤5:忽略最优候选解的禁忌状态,将其作为新的历史最优解和当前解,加入禁忌表中,并更新禁忌表的状态,执行步骤7.
步骤6:在候选解中选择非禁忌的最优适应度函数值的解,将其作为当前解并加入禁忌表中,更新禁忌表的状态,执行步骤7.
步骤7:判断是否达到最大迭代次数,若达到执行步骤8,否则迭代次数加一并返回步骤2.
步骤8:输出历史最优解.
为验证本文所提方法在降低加热炉生产能耗方面的效果,以国内某热轧厂生产线实际数据建立数学模型,该模型包含3台并行布置且容量相同的加热炉,下游配置1台热轧机,上游钢坯来源为连铸机和板坯库. 选取9组轧制作业计划中的钢坯数据作为计算案例,其中前5个算例采用DHCR调度方式,后四个算例为DHCR与CCR耦合的调度方式.
选取国内某加热炉热平衡测试时的数据,其燃料低位发热量为33812 kJ·m-3,理论空气需要量8.39 m3,空气消耗系数为1.5,单位燃料废气量为11.03 m3,机械不完全燃烧损失系数为0.01,烟气中CO体积分数为1%,烧损率为0.03,冷却水流量250 t·h-1. 为便于计算,各处温度取加热一批钢坯时间内的平均值,燃料温度307 ℃,空气温度355 ℃,出炉烟气温度833 ℃,炉门开启逸出炉气温度为787 ℃.
算法参数设置方面,设本文差分进化算法的种群个体数为100,迭代次数为200,Fmax为0.8,CRconst为 0.9,CRmin为 0.1,CRmax为 0.8;禁忌搜索算法的候选解长度50,禁忌列表长度20,迭代次数20.
选择 LENOVO510S(Intel Core i5-7200U CPU@2.50GHZ,4 GB RAM)作为测试设备. 为测试本文改进DE算法的效果,选择DE/rand/1,DE/best/1,DE/current-to-best/1 3种典型差分算法[27]作为对比算法,3种算法的种群数,迭代次数与本文算法一致,缩放因子F和交叉概率CR通过4水平全因子设计实验[28]获得,它们的参数分别设置为:DE/rand/1:F=0.4、CR=0.7;DE/best/1:F=0.7、CR=0.4;DE/current-to-best/1:F=0.6、CR=0.9. 当算法运行停止返回出最终的调度方案后,依据式(16)计算各方案对应的加热炉燃耗. 每种算法均运行10次取平均值,计算结果见表1. 由表1可以看出,在所有测试算例中,本文所提改进差分进化算法均获得最低燃耗的生产方案,这验证了本算法的有效性.
表1 本文算法与其他算法燃耗对比结果Table 1 Fuel consumption comparison between the proposed algorithm and other algorithms
同时,考虑到优化目标对于调度模型的重要性,为验证文中所提燃耗目标的有效性,以总住炉等待时间[29],总完工时间[30],总热轧机[3]等待时间作为对比目标,3种目标的数学表达式为式(43)~(45),为便于表述,三种目标依次记为目标1,目标2,目标3. 采用本文提出的改进差分进化算法作为求解算法,对每组算例用燃耗目标和3种对比目标分别进行求解,每种调度目标计算时均按上文所设参数连续运行10次,取10次燃耗结果的最小值,计算结果见表2.
表2 本文目标与其他调度目标燃耗对比结果Table 2 Fuel consumption comparison between the proposed objective and other objectives
由表2可以看出,在所有测试算例中,依据本文所提目标求得的调度方案,其加热炉燃料消耗量最低. 根据所有算例测试结果的平均值表明,若依本文所提优化目标进行生产调度,则理论上加热炉能耗将比调度目标1降低约20%,比目标2降低约17.6%,比目标3降低约8.7%,可见本文提出的调度目标在降低加热炉能耗方面具有一定优势.
现通过算例1中的钢坯数据,探究加热炉燃耗对工序匹配评价参数μ1和μ2的敏感性,由于μ1和μ2并非完全独立,故同时考虑二者对能耗的影响. 设计新的优化目标(46),其中C1和C2分别为μ1和μ2的惩罚因子,C1表示优化目标中μ1的重要程度,C2表示优化目标中μ2的重要程度.C1和C2取值区间均设为[0,1],间隔为0.1,共考虑100种不同的惩罚因子组合. 设计优化目标(46)的目的是通过算法寻优,使得调度计划对应的μ1和μ2不断下降,并观察对应的燃耗变化情况以分析两参数同燃耗的敏感性;当C1大于C2时,最终两参数的优化程度通常为μ1>μ2,因此通过不同的C1和C2组合,获得μ1和μ2下降幅度不同的调度方案,可进一步观察二者对燃耗的影响程度. 算法参数保持上文中的设置不变.
由于加热炉区的生产调度会受到连铸工序的钢坯到达节奏和下游热轧机生产节奏的影响,因此本文考虑划分连铸坯到达节奏大于,等于和小于热轧机出坯节奏3种情形讨论,将一块连铸坯经辊道运输至加热炉的平均时间定义为连铸坯到达节奏β1min,设定热轧机出坯节奏记为β2min[31],定义连铸坯到达节奏与轧制节奏之比ζ=β1/β2. 将轧机节奏设为1 min,改变β1以构建3种不同ζ的情形,讨论当ζ为0.5、1、2时加热炉燃耗对μ1和μ2的敏感性. 其计算结果分别如图5~7所示. 对比图5(a),图6(a),图7(a)可知,当ζ从 0.5 逐渐增至2时,加热炉生产燃耗的波动区间呈逐渐减小的趋势,燃耗对μ1和μ2的敏感性逐渐减弱.
图5 ζ=0.5 时不同惩罚因子组合下燃料消耗量变化. (a)三维图;(b)C1和 C2平面投影图Fig.5 Fuel consumption under the different punishment factor combinations when ζ= 0.5: (a) three-dimensional figure; (b) C1 and C2 plane projection
图6 ζ=1 时不同惩罚因子组合下燃料消耗量变化. (a)三维图;(b)C1 和 C2 平面投影图Fig.6 Fuel consumption under the different punishment factor combinations when ζ= 1: (a) three-dimensional figure; (b) C1 and C2 plane projection
图7 ζ=2 时不同惩罚因子组合下燃料消耗量变化. (a)三维图;(b)C1 和 C2 平面投影图Fig.7 Fuel consumption under the different punishment factor combinations when ζ= 2: (a) three-dimensional figure; (b) C1 and C2 plane projection
由图5(b)及图6(b)可知,当上游连铸坯到达加热炉节奏快于或等于轧机的生产节奏时,往往当C2大于C1时,对应燃耗更低. 相反,当C2小于C1时,燃耗往往偏高. 这表明,若仅考虑获得能耗最低的生产调度方案,降低μ2比降低μ1更重要,即降低钢坯在入炉前的等待时间,提高入炉温度,相对于减少钢坯在炉内的加工时间“收益”更大.
由图7(b)可知,当ζ=2时,无论怎么改变C1和C2的搭配,能耗变化非常小. 这主要是由于当ζ>1时,连铸坯到达节奏慢于轧机生产节奏,使得连铸工序物质流通量低于下游热轧工序物质流通量. 此工况下钢坯在加热炉区的停留时间接近其标准加热时间,加热炉充当“缓冲活套”的作用被削弱. 从生产实际角度分析,当上游物质流通量低于下游物质流通量时,可能会造成轧机空转等待,影响热轧机的正常运行. 为保证连铸至热轧区间的稳定生产,应避免出现这种工况.
通过敏感性分析可知,当ζ≤1 时,能耗对μ1、μ2的变化敏感. 然而两参数对能耗的具体影响规律需进一步讨论,因此本文以算例1的钢坯信息为例,并设定ζ=1. 选择本文目标优化出的调度方案作为初始点(initial point),该方案对应燃料消耗量 32374 m3,μ1为 1.51,μ2为 0.036. 依次以最大化μ1(记为优化方向1)和最小化μ1(记为优化方向2)为优化目标进行寻优计算,并保存算法每代最优解,算法迭代次数设为2000. 之后计算每代最优解对应的μ1、μ2,燃耗;汇总并绘制出燃耗随μ1、μ2变化的曲线如图8所示.
综合分析图8可以看出,当调度方案对应μ1<1.51 或μ2>0.036 时,加热炉燃耗随着μ1的减小而增大,随着μ2的减小而减小,这表明在此情形下,由工序间节奏不匹配引起的钢坯入炉前的等待时间,成为了加热炉能耗高的主要矛盾,应设法降低所有钢坯的炉前等待时间提升钢坯的平均入炉温度. 反之,当μ1>1.51 或μ2<0.036 时,加热炉燃耗随着μ1的增大先增大后趋于稳定,随着μ2的增大而减小,这表明在此情形下,钢坯在炉内的停留时间过长成了主要矛盾,应设法加快钢坯在加热炉区间的生产节奏.
(1)以加热炉燃料消耗量最小为优化目标,建立了加热炉区生产调度数学模型,选用自适应差分进化算法搭配禁忌搜索算法对问题进行求解.为了探究加热炉燃料消耗量的影响因素,提出了两个衡量钢坯炉前等待和炉内生产两部分时间同理想生产时间匹配程度的评价参数μ1和μ2.
(2)九组算例的模拟结果表明:本文提出的改进自适应差分进化算法的性能优于经典差分进化算法;以燃料消耗量最小为目标进行优化调度理论上可比其他目标降低能耗8.7%至20%.
(3)μ1和μ2同能耗的敏感性分析表明,当连铸坯到达节奏与热轧出坯节奏之比ζ由0.5增至2时,燃料消耗量对两参数的敏感性由强变弱. 且当ζ≤1时,降低μ2比降低μ1更能有效降低加热炉能耗.
(4)通过对本文算例1的模拟计算发现,当ζ=1时,其最优调度方案所需燃料消耗量为32374 m3,此时μ1为 1.51,μ2为0.036. 对于其他调度方案,当其μ1<1.51 或μ2>0.036 时,燃料消耗量随μ1的减小而增大,随μ2的减小而减小. 反之,燃料消耗量随着μ1的增大先增大后趋于稳定,随着μ2的增大而减小.