本发明涉及生产调度和资源优化领域,尤其是一种基于深度强化学习的柔性作业车间调度方法。
背景技术:
1、柔性作业车间调度问题(fjsp)是制造业和物流领域中生产调度的一个经典难题。其核心在于如何将多个作业操作合理分配到多台具有不同加工能力的机器上,以优化关键性能指标,如最小化总生产时间(makespan)、减少总延迟、提升机器利用率等。fjsp的独特性在于其调度的灵活性,每个操作可以在多台机器上执行,这为操作排序和机器选择提供了巨大的灵活性,同时也增加了问题的复杂性。
2、传统的优化方法在处理fjsp时,表现出显著的不足,尤其在面对大规模、复杂的生产环境时,难以满足现代制造业对高解质量和实时响应的要求。
3、目前,常见的fjsp求解方法主要包括两类:元启发式算法和优先派工规则(pdrs)。元启发式算法(如遗传算法、模拟退火、粒子群优化、蚁群算法等)通过不同策略探索解空间,寻找最优解,虽然具备较强的灵活性,能够在多种调度环境下表现良好,但其计算复杂度较高,特别是在大规模问题中需要大量时间成本。另一方面,pdrs基于简单调度规则快速进行作业排序和分配,例如“先到先服务”(fifo)、“剩余操作最多”(mopnr)、“最短处理时间”(spt)等。这类方法由于计算简单、响应速度快,被广泛应用于动态生产环境中。然而,由于pdrs仅依赖局部信息进行决策,缺乏全局视角,容易导致次优解,从而影响调度效率的提升。
技术实现思路
1、本发明提出了一种基于深度强化学习的柔性作业车间调度方法,旨在解决生产调度过程中多操作与多机器之间的复杂交互关系问题。该方法能够动态优化调度决策,提高生产效率,减少总延迟时间,并提高机器的利用率,特别适用于现代制造业中对实时性和高效率的调度需求。
2、本发明为实现上述目的所采用的技术方案是:
3、一种基于深度强化学习的柔性作业车间调度方法,包括以下步骤:
4、1)构建柔性车间调度环境;
5、2)将柔性车间调度环境抽象为disjunctive graph;
6、3)抽取状态特征;
7、4)对状态特征进行编码;
8、5)基于编码后的特征执行决策,得到调度概率分布;
9、6)根据概率分布生成调度计划。
10、所述步骤1)包括以下步骤:
11、1.1)定义对柔性车间中的任务以及完成任务的机器:
12、将柔性车间中的任务集表示为j={j1,j2,…,jn},其中,每个任务ji包含一组需要完成的操作(oi1,oi2,…,oim),机器集表示为m={m1,m2,…,mk};
13、1.2)定义每个任务操作以及约束:
14、每个任务操作可以在多个机器上执行,但每个操作只能分配给一台机器来完成,对于同一任务,操作oij必须在前一个操作oi,j-1完成之后才能开始,每台机器只能同时处理一个任务操作,且在操作完成之前,无法处理其他任务。
15、所述步骤2)包括以下步骤:
16、2.1)构建图g=(n,c,d),其中,节点集n表示任务的操作,每个节点对应于一个具体的操作oij,有向弧集c表示操作之间的前后顺序关系,无向弧集d表示可被同一机器上加工的操作集合;
17、2.2)对图进行初始化:
18、调度过程开始时,图g包含所有任务的操作节点和两类弧:节点集n包括所有待执行的操作节点;有向弧集c表示每个任务内的操作顺序;无向弧集d连接在同一机器上可以执行的操作;
19、2.3)对图的决策点与状态进行转换:
20、在每个调度决策点,通过选择无向弧中的一个,赋予其方向,进而确定该机器上的操作顺序,并更新调度图,引发状态转换,将无向弧固定为有向弧,从而锁定机器的操作顺序,通过不断为无向弧分配方向,最终生成一个表示最终的调度计划的有向无环图。
21、所述步骤3)具体为:
22、在第t时刻时,状态st表示为一组特征向量,包括每个操作的特征向量每个机器的特征向量以及每个操作-机器对的特征向量其中,表示实数,上角标数值表示特征数量,因此,状态向量st表示为:
23、
24、其中,机器特征用于描述当前各机器的状态及其在调度中的相关信息,操作特征用于描述调度过程中各操作的状态及其在调度中的重要性,操作-机器对特征用于表示某个操作在某个机器上执行时的相关信息。
25、所述步骤4)包括以下步骤:
26、4.1)将状态向量st输入到crossnet网络中,得到crossnet特征;
27、4.2)将状态向量st中的机器特征输入到机器注意力模块中,得到机器特征;
28、4.3)将状态向量st中的操作特征输入到机器注意力模块中,得到操作特征。
29、所述步骤5)包括以下步骤:
30、5.1)对机器特征和操作特征分别进行平均池化操作;
31、5.2)根据特征进行操作-机器对评分,得到操作-机器对概率分布:
32、5.3)对操作-机器对特征进行加权,得到决策增强系数,使用决策增强系数对操作-机器对概率分布进行加权。
33、所述步骤5.1)具体为:
34、对机器特征进行平均池化具体为:
35、
36、其中,hm表示机器全局特征,mu是与调度相关的所有机器的集合;
37、对操作特征进行平均池化具体为:
38、
39、其中,ho表示操作全局特征,ou是与调度相关的所有操作的集合。
40、所述步骤5.2)具体为:
41、5.2.1)将机器特征、机器全局特征、操作特征、操作全局特征以及crossnet特征共同作为actor-critic网络的输入,得到第一操作-机器对概率分布;
42、5.2.2)将crossnet特征作为actor-critic网络的输入,得到第二操作-机器对概率分布;
43、5.2.3)对两个操作-机器对概率分布进行融合。
44、所述步骤5.3)包括以下步骤:
45、5.3.1)对机器-操作交互特征进行处理,初始的交互特征被映射到32维隐藏层:
46、
47、其中,z1表示隐藏层,w1是权重矩阵,b1是偏置,selu是缩放指数线性单元激活函数;
48、5.3.2)将隐藏层输出的结果映射到1维输出层,并通过sigmoid函数获得最终的概率调整值:
49、output=σ(w2z1+b2)
50、其中,σ是sigmoid激活函数,w2和b2分别是权重矩阵和偏置;
51、5.3.3)使用决策增强权重output作用于每个操作-机器对的选择概率,得到调整后的标量μ(at|st):
52、
53、5.3.4)将标量通过softmax函数转换为概率分布:
54、
55、所述步骤6)包括以下步骤:
56、6.1)计算当前所有待执行的操作与可用机器之间的匹配概率,生成相应的概率分布p(oij,mk);
57、6.2)在概率分布中选择当前概率最高的(oij,mk)对,并将该操作分配到对应的机器mk;
58、6.3)更新调度状态,包括操作的完成情况、机器的负载以及待处理操作的列表;
59、6.4)重复步骤6.1)~6.3),直到所有操作都被分配到相应的机器并完成调度。
60、本发明具有以下有益效果及优点:
61、1.提升调度精度:通过引入特征交叉网络和决策增强模块,模型能够准确捕捉操作与机器之间的复杂关系,从而显著提高调度决策的精度,确保在动态生产环境中作出更优决策。
62、2.增强系统鲁棒性:该方法有效避免了传统调度算法对局部特征的过度依赖,能够自适应调整特征权重,提升系统在面对不同场景时的鲁棒性和稳定性,适应性更强。
63、3.优化资源利用率:通过动态建模机器之间的竞争关系,调度决策模块能够优化机器的使用效率,确保资源得到充分利用,从而减少生产过程中的空闲时间和资源浪费。
64、4.适应快速变化的生产环境:该调度框架具有较强的实时性,能够在快速变化的生产条件下进行动态调整,确保系统能够迅速响应生产计划的变化,满足智能制造的实时调度要求。