本发明主要涉及智能制造、运筹学领域,具体是基于深度强化学习的动态多目标柔性作业车间调度方法。
背景技术:
1、在车间生产中,调度过程经常面临订单增加或取消、以及机器故障等动态事件。动态多目标柔性作业车间调度问题(dmofjssp)是在静态单目标柔性作业车间调度问题(fjssp)的基础上扩展的,该问题已被证实为np-hard问题。drl作为一种新方法被用于求解dmofjssp,该类方法训练的策略模型具有求解速度快,泛化能力强的优势,已成为一个研究热点。在行业中,单目标fjssp往往难以满足生产的实际需求,因此调度人员更加注重多目标优化。由于调度的复杂性和不确定性日益增加,迫切需要研究一些有效的方法来解决dmofjssp。
2、近年来,深度强化学习(drl)作为求解器已成为求解各种车间调度问题的一种有前途的新方法,该方法可以实现离线训练在线求解,即离线训练策略模型并利用模型的泛化性在线求解其他规模问题。然而,当前一些drl方法在mdp建模时存在的缺陷:
3、(1)状态表示使得agent难以捕获到更全面的动态多目标状态信息,这导致它的决策能力降低;
4、(2)动作空间定义往往由多个pdrs构成使得agent难以有效探索解空间,这是因为pdrs存在短视的缺陷,导致探索解的过程易陷入局部最优;
5、(3)奖励函数设计难以有效引导agent识别关键动作,这是因为求解问题属于多目标优化,设计奖励函数时未能有效平衡不同优化目标之间的关系,导致计算的奖励值与真实值之间存在较大差距。
6、此外,采用复杂的网络架构在一定程度上增加了算法的计算复杂度,降低了模型求解的实时性。
技术实现思路
1、为解决现有技术的不足,本发明提供了一种基于深度强化学习的动态多目标柔性作业车间调度方法,本发明采用drl方法来求解dmofjssp,该问题的动态事件为新工件插入,共包含三种最小化优化目标:makespan、平均延迟和平均流程时间。为了提升策略模型的优化能力和求解的实时性,本发明设计了一种新的mdp模型来增强算法的学习效果,该模型根据问题的动态和多目标特性设计了新的状态表示,这有助于agent捕获更全面的状态信息,进而提升它的决策能力;新的动作空间由工序-机器对构成,其不同于以往通过多个pdrs来定义动作空间。此外,本发明设计了两个新的奖励函数,它们与多目标优化密切相关,均能有效地引导agent识别关键动作。此外,本发明采用一种轻量级的网络架构来实现表示学习和策略学习,这在一定程度上降低了算法的计算复杂度,提升了求解的实时性。
2、本发明为实现上述目的,通过以下技术方案实现:
3、问题描述与建模:本发明首先对dmofjssp进行描述,定义需要调度的工件和机器的数量及特性,包括每个工件的工序需求和每台机器的处理能力。利用马尔可夫决策过程(mdp)对调度问题进行建模。状态空间(s)表示当前的工件、机器状态和工序进度,动作空间(a)由所有可能的工序到机器的分配构成,状态转移函数(p)描述了执行特定动作后系统状态的变化,而奖励函数(r)则基于调度效果如完工时间、机器利用率等进行设计。
4、深度强化学习策略模型:采用深度强化学习训练策略模型,以自动学习并优化调度策略。模型通过交互式学习从环境反馈中不断调整和优化决策策略。引入多层感知机(mlp)作为状态嵌入网络,用于处理和转换输入的状态信息,确保能够捕捉到决策所需的全部关键信息。
5、设计奖励函数:设计新颖的奖励函数,以支持对复杂调度目标的有效优化。奖励函数不仅考虑了调度完成时间的最小化,还考虑了如机器利用率和调度的平滑性等多个评价指标,以实现多目标优化。
6、训练策略模型与评估性能:使用模拟的调度环境对策略模型进行训练和测试,评估模型在不同生产情景下的表现,确保模型具有良好的泛化能力和实时适应性。策略模型的训练采用了先进的算法如近端策略优化(proximal policy optimization,ppo),以改善学习过程的稳定性和效率。
7、对比现有技术,本发明的有益效果是:
8、改进状态表示:本发明设计了一种新的状态表示方法,使agent能够捕获更全面的动态多目标状态信息,从而提升其决策能力。具体引入了六种状态特征:每个候选工序在所有机器上的处理时间、候选工序的估计完成时间的下界、候选工序的估计剩余处理时间的下界、每台机器的预计释放时间、每个工件的完成时间以及完成时间与截止时间的距离。此种详细状态表示能够提供更丰富的信息,从而帮助agent更准确地评估当前状态,做出更优的决策。
9、优化动作空间定义:本发明采用了由工序和机器组成的子动作对来定义动作空间,避免了以往通过多个优先级调度规则(pdrs)构成动作空间的短视缺陷。具体改进了动作空间的定义由工序和机器组成的子动作对构成,每个子动作对对应一个具体的工序在某台机器上的加工选择。这种定义方式不仅简化了动作空间,还使agent能够更有效地探索解空间,避免了陷入局部最优的情况,从而提高了求解效率和解的质量。
10、改进奖励函数设计:为了解决奖励函数设计难以有效引导agent识别关键动作的问题,本发明设计了两种新的奖励函数,确保奖励函数能够有效平衡不同优化目标之间的关系。具体改进包括:
11、第一种奖励函数基于三个最小化优化目标(最大完工时间、平均延迟和平均流经时间)设计,通过计算每个优化目标相邻决策步的差距来给予奖励。这种设计使得奖励函数能够更好地反映各个优化目标的变化,引导agent朝着整体最优解方向优化。
12、第二种奖励函数根据最小化平均延迟和最大化平均机器利用率设计,当f2(平均延迟)或uave(平均机器利用率)变得更好时,给予积极的奖励值;反之,给予负的奖励值。这种设计能够有效引导agent在多目标优化过程中识别关键动作,平衡不同优化目标之间的关系,使计算的奖励值与真实值之间的差距减少。
13、实时性与灵活性提高:由于采用了深度强化学习,本发明的调度方法具有很高的实时性和灵活性,能够实时接收新的工序信息或机器状态变更,并迅速重新评估和调整生产调度策略。
1.一种基于深度强化学习的动态多目标柔性作业车间调度方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的一种基于深度强化学习的动态多目标柔性作业车间调度方法,其特征在于:所述dmofjssp有n个工件j={ji}1≤i≤n需要在m台机器m={mk}1≤k≤m上加工,每个工件至少包含一道工序oij(j=1,...,ni),且每道工序仅能从可选机器集ωij∈m中选择一台机器用于加工;在调度过程中,同一工件相邻工序间的优先级约束需要被满足;机器容量约束也需要被满足,即每台机器在同一时刻仅能处理一道工序;本发明涉及的动态事件为新工件插入,最小化的三个优化目标包括:最大完工时间(f1)、平均延迟(f2)和平均流经时间(f3)。
3.根据权利要求1所述的一种基于深度强化学习的动态多目标柔性作业车间调度方法,其特征在于:所述mdp模型的状态表示包括以下特征:mdp模型由一个5元组(s,a,p,r,γ)构成,s表示所有状态的集合;a意味着所有动作的集合;p指代状态转移模型,其用于仿真环境信息;在一个状态下,当一个动作被选择,下一个状态通过该模型被获取;r为所有奖励的集合;γ代表累计奖励gt的折扣因子;本发明状态表示主要根据问题的动态和多目标特性设计了6种状态特征,其有效反映了动作空间中子动作对的特征信息;在动作空间中,每个子动作对由一个候选工序和一台机器构成,等价于一个候选动作;在状态st时,候选工序的集合被表示为oc(st)。
4.根据权利要求1所述的一种基于深度强化学习的动态多目标柔性作业车间调度方法,其特征在于:每个状态特征需要被转化为一个n×m的矩阵形式,所述状态特征为列向量时,需要将每个状态特征根据机器数量m按行的方向扩展为n×m的矩阵形式;所述状态特征为行向量时,每个状态特征需要根据工件数量n按列的方向扩展为一个n×m的矩阵形式。
5.根据权利要求1所述的种基于深度强化学习的动态多目标柔性作业车间调度方法,其特征在于:所述深度强化学习算法训练调度策略模型包括两种奖励函数,所述奖励函数引导agent识别关键动作:
6.根据权利要求1所述种基于深度强化学习的动态多目标柔性作业车间调度方法,其特征在于:通过在来自不同参考文献的两种测试数据集上进行模型性能评估,以验证所述调度策略模型的优化能力和实时性;同时使用模拟环境对策略模型进行预训练,以优化模型在真实调度环境中的应用性能和适应性。