基于生产扰动分类的二阶段遗传算法求解动态重调度问题
4.1引言
电炉炼钢-连铸生产对整个生产的节奏要求较高,各个工序各个工位间配合要比较紧密,但实际的生产过程中总会存在许多不可避免的扰动因素,必须根据实时现场的监控数据来进行动态调度以调整原调度计划,当钢种冶炼质量不合格超过指定加工时间时,要调整其后炉次的开工时间以适应;当钢种的温度达不到浇铸条件时, 要进行钢种回炉补温;当设备发生故障时,要调够相应设备上原先分配的炉次,当设备重新启用时,又要给其分配调度任务。对于实际生产,非常关心生产的有序进行,当出现异常扰动时,如何快速识别扰动态调整生产调度,产生新的调度方案,减少异常扰动对生产的影响。
常见的动态重调度策略有周期性重调度旳、事件驱动式的重调度的以及周期性混合事件驱动的的重调度.但是由于周期性重调度的周期参数很能确定无法有效的快退应对扰动因素;而事件驱动式重调度在应对生产过程中的扰动因素,过于频繁的启动重调度,降低了系统的鲁棒性;混合的重调度不但没能解决这些问题,反而増加了重调度频率。本章提出的基于实时现场监控的事件驱动式重调度,根据不同的生产扰动提出重调度策略,并结合上-章的改进的遗传算法,既利用了事件驱动式重调度的针对性强的特点,又实时反馈监控数据减少了重调度频率,提高了系统的稳定性。
4.2电炉炼钢-连铸的生产扰动分类
对生产过程中发生的异常扰动很多,对其进行相似特征的分类,有助于找到分类扰动问题的-体化解决方法。根据总结与归纳,电炉炼钢-连铸的生产扰动分类如下:
⑴计划任务扰动:因计划任务临时变更或错误产生的扰动,会更改当前正在进行的炉次和浇次计划,见表4-1。
⑷时间因素扰动:由于生产流程的不标准导致的不能按照标准作业时间生产, 出现拖期或者提前的情况。
4.3基于生产扰动分类的二阶段遗传算法的动态重调度方法及过程
4. 3.1基于生产扰动分类的二阶段遗传算法的描述
电炉炼钢连铸的动态重调度的难点就在于生产扰动总是出现在调度方案正在执行的过程中,由于要维护调度方案执行的连续性,木文提出个两阶段遗传算法
第一阶段当产生生产扰动进入重调度时,通过扰动分类相对应的调度策略对正在生产炉次进行调度安排,汽出现计划扰动时,插入紧急的炉次到未生产的炉次中; 当岀现设备扰动时,优先保证连浇,在无法保证连浇的情况下重新对炉次浇次拜序; 当出现品质扰动时,需要对出现扰动的炉次插入新的工序;当出现时间扰动时,通过迭代递推的方式保证连浇,最后确定正在生产炉次的调度方案。此时更新所有工序机器的最早可加工时间,第二阶段再对未生产炉次根据第三章的遗传算法重新生成调度方案。整个算法的原理如图4-1所示。
4.3.2基于生产扰动分类的动态重调度策略
基于生产扰动分类的动态重调度策略是实现第阶段安撻正在生产炉次的关键技术,以下详细描述他们的动态重调度策略。
⑴计划扰动动态重调度策略
计划扰动主要考虑的是当冇紧急炉次插入时,如何不影响现有生产的情况。此时优先完成已经在执行的浇次计划,以正在执行的浇次计划结束时刻作为动态重调度的开始时间,将此浇次计划和新插入的浇次计划合并重新排序,更新未生产调度的浇次和炉次计划,利用改进的遗传算法生成新的生产调度。
⑵设备扰动动态重调度策略
设备扰动主要考虑的是当设备故障后,当前正在加工的炉次及其之后的炉次都无法再执行预定计划;当设备修复后,施新启用此设备,加入到生产流程中去。设备故障是严重的生产事故,基本无法消解冲突,将此设备从可用设备中除去,重新制定浇次和炉次计划,设备恢复时,将此设备重新加入W用设备,对未生产的浇次和炉次重新生成生产调度。
(3)品质扰动动态重调度策略
品质扰动主要考虑的是余钢返回,即炉次即将进入连铸工序浇筑时,其温度不满足连铸浇筑的最低温度,必须进入LF工序补温加热。此情形下,该炉次插入新的工序LF,更新其工艺路径,将连铸工序其后的炉次依次前移。算法步骤如下:
步骤1:连铸工序上余钢返回炉次的前炉次加工时间设为最长加工时间,对于余钢返回的炉次,在连铸工序前插入LF工序,更新其工艺路径,査找当前时刻 LF工序是否存在空闲机器加工该炉次,如存在转步骤2,如不存在转步骤3。
步骤2:将连铸工序余钢返回炉次之后的炉次依次前移,使用第三章的逆工序 工艺路径解码算法,标准加工肘间设定为最短加工肘间,寻找是否存在可行调度解, 如存在转步骤4,如不存在转步骤3。
步骤3:找到余钢返回炉次导致的连铸断浇时间,断浇炉次,更新因此没有生 产的炉次,产生新的浇次计划,转步骤4。
步骤4:更新各个工序各个机器的自当前时间起最早可开工时间,当前未加工 炉次数浇次数。
(4)时间扰动动态重调度策略
时间扰动主要考虑的是工序机器上炉次加工时间比指定时间延长或者提前,导致原作业计划产生时间冲突的问题,实际中加工时间提前可以等待直至达到指定的加.时间,不会影响到其他炉次的生产,但是炉次加工时间延长会产生时间冲突, 针对这样的情况,使用迭代递推算法,迭代递推算法步骤如下:
步骤1:将因故时间延长的炉次的结束时间向后顺延t分钟,则该机器上后一卢次升始时间顺延t分钟。
步骤2:按照后炉次的工艺路径,依次取最短加工时间为指定加工时间,直至连铸工序前,判断是否消解时间冲突,如2消解转步骤-五,如没有转步骤3。
步骤3:对后一炉次后面的一机器的炉次依次执行步骤二。 如果后面已没有炉次,则转步骤4。
步骤4:找到因加工时间延长的炉次导致的连续断浇炉次,其断浇时间,更新因此没有生产的炉次,产生新的浇次计划,转步骤5。
步骤5:更新各个工序各个机器的自当前时间起最早可开工时间,当前未加工炉次数、浇次数。
4.3.3适应动态重调度问题的遗传算法
本章的遗传算法基于第三章的遗传算法基础之上,针对动态重调度的特殊约束, 在编码阶段将炉次已经经过的工序的基因值设为999,在交叉和变异阶段都不参与。其次,解码时,不再从零时刻开始,而是当前动态重调度时刻开始。其余与第三章相同。
4.4实例验证
以第三章实例验证中的工艺路径、生产数据、浇次炉次信息作为基础,使用二 阶段遗传算法进行动态重调度,预先生成的生产调度方案如图42所示。当其执行到4:10时,正在EAF1上加工的炉次4无法按时完工,进行拖期作业,预计20分钟后完工,系统收到扰动信号后运用时间扰动重调度策略调整时间,进行两阶段遗传算法,得到图4-3所示的动态重调度方案。
对比图4-2和图4-3可以看出:
①动态重调度方案仍然保持了预先生产调度方案浇次的连浇要求。
②炉次4在EAF1上拖期,影响其后炉次生产,通过迭代递推算法将炉次4 及其后的炉次顺延,解决了因炉次4拖期导致的延时问题。
以上实验结果表明,本章提出的二阶段遗传算法很好的解决了生产过程中的扰动因素,算法是可行有效的。
4.5本章小结
在实际的生产过程中,按照生产计划生产的调度方案往往遇到生产扰动的影响,无法顺利的执行下去,需要进行动态重调度。本章分析了电炉炼钢-连铸生产过程中的扰动分类,并且根据动态重调度的特点,将重调度的炉次分为正在生产炉次和未生产炉次,提出先根据扰动分类安排生产炉次,然后对未生产炉次亟新生成调度方案的两阶段方案。釆用实际生产数据进行的实例流证表明,本章的动态无调度方案能可以根据生产扰动的不同,依赖实时监控信息,制定出可行的重调度方案。
5.1论文总结
电炉炼钢-连铸的生产调度与动态重调度问题是多工艺路径、多并行机、 多约束下的受随机生产扰动影响的NP难题,现有的理论方法在具体的生产过程中存在一定的局限。本文以电炉炼钢-连铸的实际生产过程为基础,以电炉炼钢-连铸生产调度方案的制定问题作为研究对象,围绕着生产调度与动态重调度两类问题,建立了抽象的数学模型、提出了生产调度的制定方法、动态重 调度的实现思路,研究成果总结如下:
(1)系统总结了生产调度与动态重调度的研究成果,介绍了生产调度问题的研究现状、不足点以及发展的趋势,归纳了动态重调度问题的内容与特点, 研究了生产调度问题的主要理论、方法及技术。
(2)详细分析了电炉炼钢-连铸的工艺特点及其约束条件,将电炉炼钢- 连铸的生产流程抽象为带批量约束的并行机job-shop调度问题,在此基础上建立了以满足连浇生产等约束条件,以最小化总完成时间为目标函数的电炉炼钢-连铸生产调度数学模型。
(3)提出一种求解电炉炼钢-连铸生产调度方案制定问题的改进的遗传算法,基于改进随机键的实数矩阵编码方法,使用顺工序工艺路径和逆工序工艺路径两种算法得到最终的生产调度方案,釆用分段交叉和分段变异的方式,交叉和变异概率是自适应的,通过与简单遗传算法的数据比较,证明了本算法的优越性。
(4)针对生产扰动产生的动态重调度问题,提出了一种基于扰动分类的二阶段遗传算法,将生产炉次分为正在生产炉次和未生产炉次,对于正在生产炉次,通过针对特定扰动分类的动态重调度策略,安排新的加工顺序与时间, 然后更新所有工序的最早可加工时间,利用遗传算法重新生成调度方案。