炼钢-连铸生产动态调度模型(加启发式算法步骤)

最近阅读了一些文献来了解动态调度的问题,有几篇文章觉得总结整理的很到位。

《炼钢-连铸生产调度模型及启发式算法》——刘光航

《钢铁生产动态调度理论研究与工程应用综述》——常春光

《炼钢-连铸混合优化调度方法及应用(博士学位论文)》——王秀英

首先整理一下看过的文献资料,关于动态调度研究方法应该可以分为四类:

(1)基于模型的方法

         1.精确模型:运筹学方法,包括线性规划、动态规划、排队论、网络与图论等

         2.近似模型:系统仿真模型

(2)基于智能的方法

         1.人工智能:启发式搜索或逻辑推理,启发式方法以调度规则以及实践经验为基础

         2.计算智能:

            ①进化算法:随机优化技术,包括遗传算法,进化规划,进化策略

            ②模拟进化算法:近似算法,包括模拟退火法,禁忌搜索法,蚁群算法以及局域搜索法

            ③神经网络:通过一个能量函数构造网络的极值

            ④Multi-agent:以分布式人工智能中的多代理机制作为新的生产组织与运行模式

(3)人机交互

(4)多种方法组合

         1.不同类智能方法组合

         2.模型与智能组合

         3.人机交互与智能组合

         4.模型与人机交互组合

炼钢-连铸生产动态调度模型(加启发式算法步骤)_第1张图片

 那再来看看具体方案及算法的实现:

炼钢-连铸生产主要流程为铁水——转炉——精炼——连铸——板坯。主要调度炼钢到连铸的钢水(动态调度),可以归为三阶段并行多机的Hybrid Flow Shop问题。

问题描述:

目标是使由于断浇和炉次在工序间等待造成的损失最小。

也就是动态调度就是为了让钢水都能达到下一环节就开始运行,因为等待可能会使钢水温度下降,导致不能开浇,形成断流。并且要使一个浇次与下一个浇次之间没有断开能马上接上。

那为了这两个分目标,作者设置了两个惩罚参数,记C1_n为浇次n的单位断浇时间的惩罚费用,C2_i为炉次i的单位等待惩罚费用,U为足够大的正整数。

炼钢-连铸生产动态调度模型(加启发式算法步骤)_第2张图片

 符号说明:

炼钢-连铸生产动态调度模型(加启发式算法步骤)_第3张图片

 其中,i,p_{ij},T_n是已知的。

 建立模型:

炼钢-连铸生产动态调度模型(加启发式算法步骤)_第4张图片

关于约束条件②,我有一个疑问还没理解,作者是为了表示同一设备前一炉次处理完,才能开始下一步。

那么破坏这个条件的情况就是,i_2应该是排到i_1后面的工作, 但是比i_1先开始了,所以它们两个都被指派到k设备上了,那么x_{i_1jk},x_{i_2jk}都为1,y_{i_1i_2j}为0,但是因为U是足够大的正整数,所以约束条件②还是\geqslant 0的。

是不是应该是t_{i_2j}-c_{i_1j}-(3-x_{i_1jk}-x_{i_2jk}-y_{i_1i_2j})U\geqslant 0

正常情况就是x_{i_1jk},x_{i_2jk},y_{i_1i_2j}都为1,t_{i_2j}-c_{i_1j}\geqslant 0

求解模型:

先探讨炉次设备指派的策略,为炉次指派设备、生成粗调度后,再用一个线性规划模型来确定各炉次最终的开始处理时间,以解消可能存在的设备冲突。

炼钢-连铸生产动态调度模型(加启发式算法步骤)_第5张图片

这里的开浇时间指连铸时间:

炉次设备指派策略的核心是当一个设备上未指派的炉次q对应时段内有指派e时,如何为q选择设备。为了得到冲突最小的粗调度,需要计算可能的设备冲突,并把q安排到使冲突最小的设备上。

炼钢-连铸生产动态调度模型(加启发式算法步骤)_第6张图片

 希望以后慢慢多写代码, 多实现算法。

你可能感兴趣的:(启发式算法,动态调度)