梁青艳 孙彦广
(中国钢研科技集团冶金自动化研究设计院 北京 100071)
钢铁生产流程是一个多工序组成的复杂的高温物理化学过程,在制品的温度控制是产品质量的保证和高效生产的前提。因此,通过生产计划和调度等手段有效控制和管理生产过程,合理安排生产任务和各工序生产节奏,在满足温度、成分等工艺约束前提下使生产连续高效、动态有序低成本运行至关重要[1]。
钢铁企业生产流程属于多工序协调作业,前后工序之间具有强耦合特性,而且同工序多设备,生产组合多,约束多,同时生产调度需要考虑多目标特性,在满足交期的基础上,又要考虑库存、成本、效率等,作业计划制定困难。由于受到内外部环境的影响,存在较多干扰如插单、撤单、设备故障、质量偏差、运输异常等,导致生产过程生产周期的变化以及前后工序生产的同步提前或延迟,从而使生产节奏偏离计划,计划与执行匹配困难,难以有效实施动态调度。目前钢铁企业大多还处于手工编制计划阶段,手工编制计划大多依赖经验,时间周期较长、力度粗(不能到具体设备)、难以基于多目标进行优化。因此基于计算机建模技术实现计划的自动编制,提高作业调度的精细化和智能化,具有重要现实意义。
目前国内外学者对钢铁企业作业计划及调度问题进行了广泛的研究,不同的专家学者基于不同的侧重点对这个问题的研究方法进行了分类[2-6],有些侧重于建模,有些侧重模型求解。比较传统的方法有人机交互、数学规划、智能优化、仿真建模。其中人机交互方法简单、明了,图形化的界面非常易于使用,适应性较强。目前我国钢铁企业作业调度主要依赖于人机交互方法,但此方法主要依赖计划调度人员个人的经验,即使将人的经验转化为规则、专家系统或案例推理,也难以实现强耦合、多目标优化,而且很难持续改进。数学规划法是将问题抽象成若干约束下的一个或者多个目标函数的优化问题,如文献[7]以板坯热装比最大、交货提前/拖期率和组炉余材率最小为优化目标,综合考虑炼钢与热轧的产能及钢种、板坯和成品规格等约束条件,建立生产合同计划多目标优化数学模型,采用多目标优化算法进行求解,最终获得多个可行的计划方案;文献[8]以炼钢厂的连铸机为研究对象,分别建立了连铸机开浇决策的混合整数规划模型以及构建了连铸机的开浇次与实践决策的多目标优化模型。数据规划法本质上是一种静态优化方法,建模过程中往往会对问题进行前提建设,主要存在理论研究层次,很难应用于多变的复杂生产流程。智能优化主要针对非线性目标函数和约束条件、多目标优化计划调度问题提升了优化求解能力,例如文献[9]构造了一个具有“可分离”结构的新型整数规划公式,开发了一种将拉格朗日松弛,动态规划和启发式相结合的解决方法;文献[10]针对某大型钢铁企业炼钢连铸生产调度问题,提出了一系列启发式算法,分别用于解决作业排序、设备分配及时间安排问题以获得高质量的粗调度;文献[11]采用基于启发式规则的混合遗传算法来研究生产计划优化问题,但是当问题比较复杂,调度规模较大时,计算量和存储量急剧增大,很难在较短事件内找到最优解,很难对多变的现场实际状况及时作出适应调整,受各种因素限制,现实生产中作业计划问题很难被抽象成一个优化求解模型,限制了其应用范围。仿真建模法可以避免对复杂制造流程物流和调度问题理论细节的分析,实现对实际生产环境分析并抽象建模,如文献[12]建立了炼钢生产细胞自动机仿真模型,对炼钢生产流程进行了仿真分析;文献[13]基于面向对象的建模技术,构建了连铸生产过程仿真模型。通过仿真建模方法建立对象的模型,通过交互仿真分析各种计划调度方案的优劣,但是仿真模型的精度不够时,会使得仿真优化效果大打折扣。
多智能体建模方法由于智能体本身所具有的自主性、自治性和智能性,较好地解决了复杂系统中个体智能体行为简单准确,大规模系统下网络耦合、行为涌现的特征,相对于传统的建模方法,在异构、分散、复杂系统建模上更具适应性。随着人工智能和计算机技术的发展,多智能体技术在制造业中具有广阔的应用前景,如文献[14]以上海宝钢连铸热轧生产过程实际情况为背景,针对连铸热轧一体化生产调度问题建立了按流程设备划分的多智能体模型;文献[15]针对炼钢连铸生产流程调度问题建立了多智能体调度模型;文献[16]提出了一种基于Multi-agent的多品种多工艺车间作业调度建模与分析方法。文献[17]提出了一个用于热连轧机(HSM)和连铸机集成动态调度的多代理体系结构。本文以某特钢企业为背景,基于多智能体建模理论,构建了炼钢浇铸生产流程动态调度仿真模型,仿真分析表明所建模型能有效减少设备无效等待时间,极大地提高了设备利用率,缩短了生产周期。另外模型架构设计上力求通用,可用于其他生产车间,为一体化生产调度提供了基础。
某钢铁企业熔炼-浇铸生产流程如图1所示,生产设备包括1个20tIF,1个LF炉,1个VD炉,3个浇铸坑,其中1#浇铸坑可生产电极棒和铸锭,3#浇铸坑只生产电极棒,而2#浇铸坑只生产铸锭。不同钢种和规格的产品工艺路线不同,不同钢种的炉次生产中会涉及到LF、VD 一次或者多次生产。实际生产为避免钢包等待,需要根据浇铸坑准备好的时间来确定钢包入炉时刻,由于工艺要求或者工况变化,炉次生产流程中LF、VD会有二次经过的情况,这样就涉及到同类设备竞争问题。单纯靠手工来排产,难以获得紧凑的炉次生产时刻表,而且为了避免钢包等待,实际生产中,经常会出现浇铸等钢包的情况,设备利用率不充分。如何使熔炼-浇铸生产流程平滑连续生产,减少钢包等待,提高设备利用率,是调度要解决的主要问题。
图1 生产流程简图
仿真的目的是以无效作业时间最小作为优化目标,根据设备生产的具体工艺要求和约束,确定各炉次生产计划在具体设备上的作业时刻表。
生产调度系统是一个包含了工位、物料等多元素组成的多目标、多约束和多动态的复杂系统。多智能体系统能将复杂大系统分解成结构简单,且彼此相互通信及相互协调的、易于管理的多个简单Agent。多智能体技术特别适用于解决大量交互作业的复杂问题。通过对钢铁企业复杂生产流程分析,基于分组和统筹管理的思想,分别建立了物料Material 智能体、单设备Equipmet智能体、工序Process智能体、总调Scheduler智能体。Material智能体主要从物流层面描述了物料按照工艺路径在不同设备的加工处理流程。Equipment智能体则是从工序设备的角度描述各设备对物料的加工处理流程。Process智能体则从工序的角度描述同工序内同类设备的任务分配和协调流程,Scheduler智能体从全局角度安排物流生产及上下游工序有序协调。
模型体系结构如图2所示,各智能体之间通过消息进行通信,智能体之间信息交互、任务分配及协调流程描述如下:Material智能体根据自身工艺路径向Scheduler智能体请求设备,Scheduler智能体则根据工艺路径进行工序选择,创建物流加工任务,并发送给和工艺路径匹配的Process智能体。Process智能体收到任务,若有空闲设备,则从空闲设备列表中选择可以生产且优先级高的设备进行任务委派,否则安排Material智能体进入等待设备队列排队等待。一旦Material智能体获取了设备资源,则进入运输状态,到达相应的工位Equipment智能体,则设备启动,进入工作状态,同时Material智能体进入被加工状态。工作完毕,检查输出条件是否具备,如果不具备则等待输出,一旦具备输出条件则Material智能体输出,并进入后处理状态。后处理状态结束后,按照工艺路径请求下一工序设备,而工位Equipment智能体进入工装准备状态。准备状态结束后,则发消息通知本工序Process智能体,主动请求任务,若有待生产物料,则Process智能体从当前等待转移的物料队列列表中选择优先级高且适合本设备生产的物料,给空闲设备安排生产任务。同时由Scheduler智能体统筹任务执行时间,协调上下游节奏,进入下一轮生产流程,否则进入等待物料队列排队等候。
图2 模型体系结构
如图3所示,智能体基本结构包括知识库、推理决策、数据通信三部分,其中知识库包括静态知识库、动态知识库、规则知识库。静态知识库存储了不随生产流程变化而改变的固有属性,如所属工序、车间、吨位、物料加工规格等;动态知识库存储生产过程中的动态属性,如状态、预计完成时间等;规则知识库存储了各工艺约束、状态触发条件,用来约束和指导智能体行为变迁;推理决策是智能体基于知识库和目标,进行逻辑计算,把全局目标转化为智能体的行为约束,给出行为变迁的指令;数据通信部分负责其他Agent和外部环境的信息交互。
图3 智能体基本结构
Material智能体逻辑结构如图4所示,静态知识库转化为智能体静态属性,包括名称、炉次、钢种、规格、工艺路径等信息。动态知识库转化为智能体动态属性,包括状态记录、上一个加工设备/工位、下一个加工设备/工位、当前加工工序、入炉温度、出炉温度。智能体基于静、动态知识库和规则知识库进行推理决策,主要逻辑计算模块如下:
(1) 设备资源请求:从知识库获取自身状态及位置,请求下游工序设备。
(2) 状态变迁:智能体获得设备后基于规则知识库进行状态变迁,其中运输规则描述了上下游工序之间的距离和运输速度; 转移规则描述了物料转移去向(库存或者下一个工位);后处理规则,描述了物料的后处理工艺及后处理时间。
物料智能体状态由等待转移、运输、被加工、后处理几个状态组成。物料从等待转移状态开始,一旦被分配了设备资源,且具备运输条件,则基于运输规则开始运输,到达所分配的设备Equipment智能体,开始进入被加工状态。加工完毕如需后处理,则基于后处理规则进入后处理状态,如脱模及冷却等,否则后处理状态作为一个时间为零的过度状态呈现。在后处理状态结束后,根据工艺路径,向下一个工位Process智能体请求设备,再次处于待转移状态。
(3) 信息输出:智能体在一个加工周期结束后,更新动态知识库,同时统计在此工序设备加工周期过程中的物料等待时间、运输时间、加工时间、后处理时间。
图4 Material智能体逻辑结构
Equipment智能体是所有单体设备智能体的基类,从Equipment智能体可以拓展出各工位设备智能体,如20tIF智能体、LF智能体、VD智能体、浇铸智能体等。Equipment智能体主要职责一方面是接受Process智能体的能力评估,另一方面当被Process智能体选中后接受Process协调智能体下达的任务,基于规则知识库及静、动态知识库信息,形成状态变迁指令,完成任务,并进行状态变更。如图5所示,其主要逻辑计算模块如下:
(1) 能力评估: 根据物料加工任务,读取静、动态z知识库,评估是否符合设备加工条件(满足温度、钢种、规格约束),预估开始加工时间、总加工时间。
(2) 状态变迁:根据能力评估结果接收任务,基于规则知识库中设备启动条件及动态知识库中设备实时状态进行逻辑判断,发出状态变迁指令,驱动智能体进行状态变迁,同时更新动态知识库中相应记录。
智能体状态变迁流程图如图2所示,大体分为正常状态和检修状态,其中正常状态可细分为等待来料、工作状态、等待输出、工装准备,基本描述了一个设备的正常工作流程;等待来料又细分为闲置等待和等待运输,可以更加精准地分析优化等待时间。设备正常且空闲时则处于闲置等待状态,一旦被委派任务,则状态变更为等待运输状态。物料Material智能体到达设备,且具备启动条件,则设备转为工作状态。工作完成后,处于等待输出状态,如果具备物料输出条件,则物料直接输出,设备进入工装准备状态;如果不需要工装准备,则工装准备时间为零,工装准备结束,设备再次处于闲置等待状态,开始下一批物料的加工周期。
设备启动和物料输出条件如下:
① 设备启动条件:
• 设备寿命未到;
• 物料到达,且满足温度、钢种、规格约束;
• 设备空闲且正常;
•辅助设备正常。
② 物料输出条件:
• 运输设备正常;
• 后序工位就绪。
(3) 信息输出:对本次物料加工任务执行进行记录,包括任务开始结束时间,物料输入输出信息,物料转移工位或者库存位置的记录,统计执行过程中等待时间、运输时间、工作时间、工装准备时间、总时间。
图5 Equipment智能体逻辑结构
Process智能体属于工序设备管理智能体,一方面用于管理同工位的多个设备,进行任务委派和多设备任务协调,解决多设备的竞争和冲突。另一方面通过和Scheduler智能体通信,协调上下游工序生产节奏,确保生产连续、紧密且无冲突。Process智能体在本工序运用排队论进行管理,当有物料请求本工序设备的时候,如果暂无空闲设备,则基于任务排序规则,安排物料进入等待设备队列。当多个空闲设备处于等待物料状态的时候,基于设备评价规则选取最佳设备进行任务委派。如图6所示,其主要逻辑计算模块如下:
(1) 任务排序:基于任务选择原则,对任务进行优先级排序,在满足温度约束的前提下交货期靠前的优先级高
(2) 设备评价:通过和工位智能体通信,获取各工位智能体能力评估结果,并按照设备能力评价规则进行评价,选择最佳设备进行任务委派。设备能力评价规则如下:
• 符合工艺约束;
• 闲置等待时间短;
• 设备效率高;
• 运行成本低。
(3) 任务下达:更新动态知识库,并下达任务,同时从Scheduler智能体获取下一作业任务入炉时间的预判结果,调整生产节奏。
图6 Process智能体逻辑结构
Scheduler智能体主要用于控制整个物流沿工艺路径的生产流程,协调上下游工序生产节奏。它还起着感知环境状态变化信息(即信息输入)及输出调度信息(即信息输出)的作用。
上下游协调是指,当本工序生产完毕,下游工序未准备好的情况下,则本工序物料处于等待状态,出现前序等后序;或者当下游工序已准备好处于设备空闲状态,上游工序未完成生产任务,出现后序等前序。无论哪种情况,都会造成设备的无效等待。为了解决此问题,Scheduler智能体基于全局目标,运用模型沿流程演化和时间倒退相结合的方法,确定各智能体局部目标,进行上下游工序间的工作协调。本文以熔炼-浇铸生产流程中所面临的协调性问题,进行具体阐述。
如图7所示,为了通用性,本文所提供的解决方案考虑到了各工序均是多设备的情况,首先需要对下炉次设备使用情况按照工艺路径进行预分配。物料分配具体设备后,需要根据设备当前的状态,预计下炉次设备空闲可用的时间。根据各设备空闲可用时间,再结合物料的具体的工艺路径倒推物料入20 t中频时间,选择其中最晚开始时间。
图7 炼钢-浇铸工序间协调机制
仿真模型基于Java语言和平台进行实现,通过构建对象类来描述各智能体结构,运用多线程技术实现智能体行为逻辑的并发执行及相互之间的通信,通过数据库进行智能体知识库的存储及更新。
选取2017-6-24至2017-6-28 总共20炉数据为仿真基础数据,仿真计划输入按照实际计划输入,仿真过程中各工序工作时间、工装时间以及运输时间以实际数据为基础,仿真开始时间以实际第一炉中频入炉时间为准。对仿真输出结果总用时和无效作业时间分析如下:
(1) 总用时:
第一炉开始到最后一个炉次结束,仿真总用时97.7 h,实际用时104.7 h,比实际提前6.9 h完成炉次冶炼计划。如表1所示。
表1 总冶炼时间对比
(2) 无效作业时间分析:
本次仿真流程中不涉及工装设备切换时间,辅助工序额外等待时间及自身设备故障检修时间。只考虑等待来料空闲时间和等待后续工位准备好时间。则无效作业时间可简化为:
等待来料: 20炉,除去第一炉次外,从第二炉次开始,统计各工位从第二炉到最后一个炉次的炉次间闲置等待来料时间(如表2所示),实际和仿真相比总等待来料时间相差约39.8 h。
表2 等待来料时间对比
等待后续:主要涉及到LF等浇铸准备好所产生的包内等待,仿真程序通过协调中频入炉时间,消除了包内等待情况,总共减少了约130 min的包内等待时间(如表3所示)。
表3 等待后续时间对比
无效作业时间为等待来料和等待后续时间总和,实际无效作业时间为184.39 h,仿真无效作业时间为142.38 h,相差约42小时(如表4所示)。可见,通过仿真优化,使生产节奏更加紧凑,极大地减少了无效作业时间。
表4 无效作业时间对比
(3) 甘特图分析:
由图8和图9对比可知,通过仿真优化,可有效避免产生包内等待,减少浇铸坑无效等待时间,使工序之间流程更加紧凑,极大地提高了生产效率,使冶炼计划更加紧凑连贯。
图8 实际生产甘特图
图9 仿真生产甘特图
本文基于多智能体理论建立了炼钢浇铸流程优化调度仿真模型,构建了物料、设备、工序、总调度几大智能体模型,建立了任务分配机制以及前后工序间协调机制。一方面通过任务分配机制解决了多设备之间任务分配问题,另一方面通过前后工序协调优化机制,消除了由于浇铸坑未准备好或者浇铸坑被占用导致产生无效的钢包等待(前序等后续),减少了由于中频入炉时间晚导致浇铸坑为等待钢包产生的长时待料(后序等前序)。仿真结果表明,所建模型能有效减少设备无效等待时间,提高设备作业效率,使冶炼作业计划更加紧凑连贯。本文所提出的4类智能体模型及智能体模型的任务协调机制具有通用性,可用于其他生产车间,为一体化生产调度提供了基础。