最近在学习分布式车间调度问题,关于这方面的博客内容好像还比较少,为了方便学习,自己整理了一下相关论文内容,仅供参考。
问题背景
生产调度是将有限的生产资源分配给特定时间段内的任务,以优化决策者确定的一个或多个目标。其中,最大完工时间(makespan)通常被作为生产调度问题的基本目标。随着智能工厂的发展和新型制造模式兴起,分布式生产环境下的调度问题引起了研究者的极大关注和兴趣。
问题描述
分布式流水车间调度问题(Distributed FlowShop Scheduling Problem,DFSP)是一类经典的混合整数线性规划(MILP)问题,需要完成将一组待加工的工件(Jobs)分配到多个工厂进行加工的过程,该过程中存在工厂分配和厂内排产两个子问题。在DFSP中,每个工厂都具有多台机器,不同工厂的机器制造顺序是相同的,每个Job都需要流经工厂内的所有机器。
如上图所示,在某一工厂f内有M1,M2,M3三台机器组成的流水线,一次完整的加工中工件工件需要依次经过机器M1,M2,M3。需要注意的是,同一时刻,同一工件只能在一个机器上进行加工,只有完成前一道工序后才能转移至下一台机器进行加工,工件在所有机器上的加工顺序是固定的。对于DFSP,存在多个如上图所示的置换流水车间工厂。
数学模型
一般来说,DFSP解的表达形式为,其中表示工厂的Job序列,为工厂加工Job数量。用表示工厂的机器上加工Job 的处理时间,表示工厂的Job 离开机器的时间。那么,在最简单的没有其他加工约束的DFSP中对拥有台机器的工厂 的makespan计算如下:
虚拟工件0
第一台机器的第一个工件离开时间
第一台机器的每一个工件离开时间
每一台机器的第一个工件离开时间
机器上的工件需要等待其离开前一台机器且机器上的上一个工件离开机器,才能开始加工
工厂的makespan等于最后一台机器的最后一个工件离开的时间
整个生产计划的makespan等于所有工厂的最大makespan
关于DFSP的求解方法,暂时还没有从方法论的角度去分析,主要是先把模型理解清楚,后面的决策过程采用元启发式算法和RL的方法应该都可以解决。除此以外,初始解的构造也是影响调度结果的重要因素。