掌桥专利:专业的专利平台
掌桥专利
首页

一种排产模型的训练方法和装置

文献发布时间:2023-06-19 12:07:15


一种排产模型的训练方法和装置

技术领域

本发明涉及深度学习技术领域,尤其涉及一种排产模型的训练方法和装置。

背景技术

随着制造业及信息技术的发展,基于信息化技术合理安排生产计划,能够有效提高对于产能的合理利用,有助于提高生产效率和降低生产成本。相关技术中可以通过建立排产模型生成生产计划的安排,然而相关技术中的模型训练方法需要提供大量的先验数据,模型训练过程复杂。

发明内容

本发明实施例提供一种排产模型的训练方法和装置,以解决现有排产模型训练过程复杂的问题。

第一方面,本发明实施例提供了一种排产模型的训练方法,包括以下步骤:

获取生产线的工艺步骤参数;

根据产品待执行的工艺流程生成状态信息参数;

将所述工艺步骤参数和所述状态信息参数输入训练模型;

根据所述工艺步骤参数更新所述状态信息参数获得所述产品的生产状态;

以所述生产状态为约束,对所述训练模型进行深度强化学习训练获得排产模型。

在一些实施例中,所述训练模型包括目标值网络和评估值网络,所述对所述训练模型进行深度强化学习训练获得排产模型,包括:

利用损失函数根据真实值和预测值确定损失值,其中,所述真实值包括所述目标值网络的推理结果,所述预测值包括所述评估值网络的推理结果;

根据所述损失值更新所述评估值网络的参数;

在迭代执行上述步骤达到第一次数阈值时,同步所述目标值网络和所述评估值网络的参数;

在满足预设训练条件时,将训练完成的训练模型作为排产模型,其中,所述预设训练条件包括迭代次数达到第二次数阈值和所述损失函数收敛中的至少一项。

在一些实施例中,所述根据所述工艺步骤参数更新所述工艺步骤参数获得所述产品的生产状态,包括:

获取至少两种产品的状态信息参数;

根据所述状态信息参数确定所述至少两种产品的优先级顺序;

根据所述工艺步骤参数和所述优先级顺序确定所述产品的生产状态,所述生产状态包括所需执行的工艺步骤及所需执行的工艺步骤对应的产品。

在一些实施例中,所述根据所述状态信息参数确定所述至少两种产品的优先级顺序,包括:

将至少两种产品的状态信息参数输入评估值网络;

根据所述评估值网络的输出的与每一所述产品对应的结果确定所述产品的优先级顺序。

在一些实施例中,所述根据产品待执行的工艺流程生成状态信息参数,包括:

构建N行M列的状态信息矩阵作为所述状态信息参数,其中,N的值与待生产的产品的数量相等,M的值与生产线提供的总的工艺步骤的数量相等,N,M为正整数。

在一些实施例中,每一产品对应的状态信息参数还包括所述产品需要执行的各生产步骤的顺序,所述状态信息矩阵中与所述产品对应行中,与所述产品的工艺流程对应的数值按照生产步骤的进行顺序依次递增。

第二方面,本发明实施例提供了一种排产模型的训练装置,包括:

获取模块,用于获取生产线的工艺步骤参数;

生成模块,用于根据产品待执行的工艺流程生成状态信息参数;

输入模块,用于将所述工艺步骤参数和所述状态信息参数输入训练模型;

确定模块,用于根据所述工艺步骤参数更新所述工艺步骤参数获得所述产品的生产状态;

训练模块,用于以所述生产状态为约束,对所述训练模型进行深度强化学习训练获得排产模型。

第三方面,本发明实施例提供了一种排产方法,包括以下步骤:

获取待生产产品包括的工艺流程参数;

获取生产线所提供的工艺步骤参数;

将所述工艺流程参数和所述工艺步骤参数输入排产模型获得所述待生产产品的排产计划,其中,所述排产模型是通过第一方面中任一项所述的排产模型的训练方法通过模型训练得到的。

第四方面,本发明实施例提供了一种电子设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如第一方面中任一项所述的排产模型的训练方法或第三方面的排产方法的步骤。

第五方面,本发明实施例提供了一种可读存储介质,用于存储程序,所述程序被处理器执行时实现如第一方面中任一项所述的排产模型的训练方法或第三方面的排产方法的步骤。

本发明实施例的排产模型的训练方法,包括以下步骤:获取生产线的工艺步骤参数;根据产品待执行的工艺流程生成状态信息参数;根据所述工艺步骤参数更新所述状态信息参数获得所述产品的生产状态;以所述生产状态为约束,对所述训练模型进行深度强化学习训练获得排产模型。这样,通过引入根据产品的工艺流程和生产状态确定的状态信息参数,能够提高训练模型与训练数据的交互程度,从而有助于提高模型训练速度,提高模型训练效果。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。

图1是本发明一实施例中排产模型的训练方法的流程图;

图2是本发明一实施例中模型训练过程中的数据传输示意图;

图3是本发明一实施例中强化学习的原理示意图;

图4是本发明一实施例中模型训练的原理示意图;

图5是本发明一实施例中排产模型的训练装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种排产模型的训练方法,以通过强化学习获得排产模型。

在一个实施例中,该排产模型的训练方法包括以下步骤:

步骤101:获取生产线的工艺步骤参数。

本实施例中,排产模型指的是用于进行生产计划安排的模型,其中,首先获取生产线的工艺步骤参数。例如,某一条生产线可以提供ABCDE共计五种工艺步骤,则所获取的工艺步骤参数包括这五种工艺步骤。

步骤102:根据产品待执行的工艺流程生成状态信息参数。

由于不同产品的生产工艺不同,而同一生产线可以同时生产多种产品,为了合理安排生产计划,本实施例中进一步引入了每一产品的工艺流程。

示例性的,某一产品的工艺流程包括:需要依次经过工艺A4小时,工艺C四小时和工艺E4小时制作完成,则可以通过该产品的状态信息参数表示上述工艺流程。

在一些实施例中,步骤102具体包括:构建N行M列的状态信息矩阵作为所述状态信息参数,其中,N的值与待生产的产品的数量相等,M的值与生产线提供的总的工艺步骤的数量相等,N,M为正整数。

示例性的,某一订单需要生产3件一号产品、3件二号产品和3件三号产品,其中,一号产品需要依次经过工艺A4小时,工艺C四小时和工艺E4小时制作完成,二号产品需要依次经过工艺B1小时,工艺C3小时制作完成,三号产品需要依次经过工艺C2小时,工艺C6小时,工艺D3小时制作完成。

本实施例中,以矩阵记录工艺流程,例如,在初始状态下,对产品待进行工艺位置进行置1,其余位置以0填充,这样,可以获得初始状态的状态信息参数矩阵为:

其中,第一行代表一号产品,第一行第一列的数字1代表一号产品首先需要执行工艺A,第二行代表二号产品,第二行第二列的数字1代表二号产品首先需要执行工艺B。

确定至少两种产品的优先级顺序指的是产品具有相同的工艺步骤时,需要确定其先后生产顺序,例如,一号产品和三号产品均包括工艺A,则需要确定一号产品和三号产品的生产顺序。

在一些实施例中,每一产品对应的状态信息参数还包括所述产品需要执行的各生产步骤的顺序,所述状态信息矩阵中与所述产品对应行中,与所述产品的工艺流程对应的数值按照生产步骤的进行顺序依次递增。

本实施例中,还可以对上述状态信息参数矩阵做进一步优化,得到状态信息参数矩阵:

这里,第一行第三列的数字2代表一号产品在第二步需要执行工艺C,第一行第五列的数字3代表一号产品在第三步需要执行工艺E,这样,所获得的状态信息参数矩阵进一步还囊括了不同产品工艺的顺序信息,丰富了模型所能获得的现有状态相关信息,有助于提高模型训练效果。

步骤103:将所述工艺步骤参数和所述状态信息参数输入训练模型。

在一个实施例中,所建立的训练模型为强化学习训练网络。

如图3所示,强化学习范式结构由智能体和环境构成,智能体通过动作策略影响环境,环境状态获取来自智能体的信息,通过奖励函数的设定,对环境状态的优劣加以评估,进行评分反馈,最终形成强化学习的基本模型。

在本发明的一些实施例中,可以以下公式(1)概况该过程的数学模型。

上述公式(1)中,v

进一步的,结合深度学习优良的函数拟合能力,对以上公式(1)进一步优化,能够得到智能体在给定环境状态下的最优策略,其数学模型由如下公式表示:

其中,Q(s,a)为状态s下采取动作a所获得的价值函数,等号左侧的Q(s,a)代表更新后的价值函数,等号右侧的Q(s,a)代表更新前的价值函数,α和γ为预设的系数,r代表奖励,Q(s′,a′)代表在转变后的状态s’下执行动作a’所获得的价值函数,max代表取最大值的函数。

步骤104:根据所述工艺步骤参数更新所述状态信息参数获得所述产品的生产状态。

生产状态指的是不同情况下,生产线的生产状态以及产品的工艺流程的执行情况。

示例性的,如果临时出现了问题,需要占用生产线的部分工艺A流程的产能,则需要对生产安排作出调整,会导致工艺A的所需时间增加;又如,如果对于上述产品来说,完成了工艺A之后,则剩余的工艺流程包括工艺C四小时和工艺E4小时,则生产状态相应的发生了变化。上述因素等均可能导致生产状态发生变化。

在一些实施例中,该步骤104具体包括:

获取至少两种产品的状态信息参数;

根据所述状态信息参数确定所述至少两种产品的优先级顺序;

根据所述工艺步骤参数和所述优先级顺序确定所述产品的生产状态,所述生产状态包括所需执行的工艺步骤及所需执行的工艺步骤对应的产品。

应当理解的是,仅需要生产一种产品时,可以按照其生产流程生产即可,当需要生产多种产品时,需要对生产计划作出安排。

本实施例中,首选获取至少两种产品的状态信息参数,接下来,确定其优先级顺序,应当理解的,这里,优先级较高的产品优先生产并首先进入生产序列,而优先级较低的产品后续进入生产序列。

在一些实施例中,训练模型包括目标值网络和评估值网络,所述根据所述状态信息参数确定所述至少两种产品的优先级顺序,包括:

将至少两种产品的状态信息参数输入评估值网络;

根据所述评估值网络的输出的与每一所述产品对应的结果确定所述产品的优先级顺序。

示例性的,将上述状态信息参数矩阵输入评估值网络,得到的结果为:

0.62

0.92

0.82

这样,二号产品的优先级、三号产品的优先级和一号产品的优先级依次降低。

相应的,能够确定产品的生产状态为,将三号产品投入工艺A,将二号产品投入工艺B开始加工,而一号产品暂未进行加工。

接下来,根据工艺步骤参数和优先级顺序确定所述产品的生产状态。

本实施例中,生产状态包括所需执行的工艺步骤及所需执行的工艺步骤对应的产品。

应当理解的是,在初始状态下,生产状态为:将三号产品投入工艺A,将二号产品投入工艺B开始加工,而一号产品暂未进行加工,而随着时间的推移,三号产品的工艺A执行完成,则一号产品可以进行工艺A,产品的生产状态发生了变化,则根据对状态信息参数进行更新获取当前状态下的生产状态将状态信息参数矩阵更新为:

这里,保留的数字1代表一号产品未能开始进行加工。这样,就完成了一个状态步的更新。

以此类推,随着时间步的推移,不断对状态信息参数进行更新获得最新的生产状态,以维护各产品依次进入后续工艺。

如图2所示,可以概括为,在对训练模型进行训练时,训练模型根据状态信息参数获取相应的状态信息,进一步根据实际运行状态传输相应的结果,以获取相应的生产状态,同时,根据状态信息参数更新生产状态,根据生产状态调整状态信息参数,从而实现模型训练过程中与状态信息参数和生产状态的数据交互,以提高对于训练模型的训练效果。

步骤105:以所述生产状态为约束,对所述训练模型进行深度强化学习训练获得排产模型。

以生产状态为约束指的是将上述步骤中确定的生产状态作为约束条件。

示例性的,对于上述一号产品、二号产品和三号产品来说,显然,同时进行这三种产品的生产能够在最短的时间内完成产品的生产,然而由于生产线所能提供的工艺A的产能是有限的,所以无法同时进行一号产品和三号产品所需的工艺A这一生产步骤。由于生产状态是根据工艺步骤参数和状态信息参数确定的,这样,在满足基于生产状态建立的约束的情况下,无法获得同时生产一号产品和三号产品的排产计划,从而实现了以生产状态为约束进行模型训练。

这样,通过以生产状态为约束,进行深度强化学习训练获得排产模型,能够使得训练获得的排产模型所生成的排产计划更加符合实际的生产情况,生成更加高效合理的排产计划。

在一些实施例中,步骤105具体包括:

利用损失函数根据真实值和预测值确定损失值,其中,所述真实值包括所述目标值网络的推理结果,所述预测值包括所述评估值网络的推理结果;

根据所述损失值更新所述评估值网络的参数;

在迭代执行上述步骤达到第一次数阈值时,同步所述目标值网络和所述评估值网络的参数;

在满足预设训练条件时,将训练完成的训练模型作为排产模型,其中,所述预设训练条件包括迭代次数达到第二次数阈值和所述损失函数收敛中的至少一项。

如图4所示,本实施例中,训练网络包括评估值网络和目标值网络,其中,评估值网络和目标值网络为结构完全相同但是参数会产生差异的网络。

实施时,在数据准备阶段,使用相同的随机参数初始化评估值网络和目标值网络,接下来,选取某一状态s,选某定策略a,并计算实施该策略下的新状态s’和即时奖励r,将相关数据记做一个四元组(s’,a,r,s’)。重复上述过程,获得多个四元组,形成网络计算的源数据,存储在记忆存储模块中。

在一些实施例中,可以筛选满足约束的数据进行模型训练,在另外一些实施例中,还可以在数据不满足所设定的约束时,给予一个较大的负奖励。这样,能够实现以生产状态为约束进行模型训练。

在策略优化阶段,以目标值网络推理结果作为真实值,评估值网络的推理结果作为预测值,基于真实值和损失值建立损失函数,并根据损失函数确定损失梯度函数,对评估值网络的参数进行更新,每隔一定的时间步,例如,设定为每隔X个时间步,评估值网络的参数拷贝至目标值网络,实现目标值网络参数与评估值网络参数进行同步。如此迭代进行,直至损失函数收敛或达到一定的迭代次数则完成了对训练模型的训练获得所需的排产模型。

本发明实施例提供了一种排产方法,包括以下步骤:

获取待生产产品包括的工艺流程参数;

获取生产线所提供的工艺步骤参数;

将所述工艺流程参数和所述工艺步骤参数输入排产模型获得所述待生产产品的排产计划,其中,所述排产模型是通过以上任一项所述的排产模型的训练方法通过模型训练得到的。

可以理解为,在通过上述排产模型的训练方法通过模型训练得到排产模型之后,可以将相关数据输入该排产模型获得排产计划,由于本实施例的技术方案包括上述排产模型的训练方法实施例的全部技术方案,因此至少能够实现上述全部技术效果,此处不再赘述。

本发明实施例还提供了一种排产模型的训练装置。

如图5所示,在一些实施例中,该排产模型的训练装置500包括:

获取模块501,用于获取生产线的工艺步骤参数;

生成模块502,用于根据产品待执行的工艺流程生成状态信息参数;

输入模块503,用于将所述工艺步骤参数和所述状态信息参数输入训练模型;

确定模块504,用于根据所述工艺步骤参数更新所述工艺步骤参数获得所述产品的生产状态;

训练模块505,用于以所述生产状态为约束,对所述训练模型进行深度强化学习训练获得排产模型。

在一些实施例中,所述训练模型包括目标值网络和评估值网络,所述训练模块505包括:

损失值确定子模块,用于利用损失函数根据真实值和预测值确定损失值,其中,所述真实值包括所述目标值网络的推理结果,所述预测值包括所述评估值网络的推理结果;

更新子模块,用于根据所述损失值更新所述评估值网络的参数;

同步子模块,用于在迭代执行上述步骤达到第一次数阈值时,同步所述目标值网络和所述评估值网络的参数;

训练子模块,用于在满足预设训练条件时,将训练完成的训练模型作为排产模型,其中,所述预设训练条件包括迭代次数达到第二次数阈值和所述损失函数收敛中的至少一项。

在一些实施例中,所述确定模块504包括:

获取子模块,用于获取至少两种产品的状态信息参数;

优先级确定子模块,用于根据所述状态信息参数确定所述至少两种产品的优先级顺序;

生产状态确定子模块,用于根据所述工艺步骤参数和所述优先级顺序确定所述产品的生产状态,所述生产状态包括所需执行的工艺步骤及所需执行的工艺步骤对应的产品。

在一些实施例中,所述优先级确定子模块,包括:

输入单元,用于将至少两种产品的状态信息参数输入评估值网络;

确定单元,用于根据所述评估值网络的输出的与每一所述产品对应的结果确定所述产品的优先级顺序。

在一些实施例中,所述生成模块502,具体用于构建N行M列的状态信息矩阵作为所述状态信息参数,其中,N的值与待生产的产品的数量相等,M的值与生产线提供的总的工艺步骤的数量相等,N,M为正整数。

在一些实施例中,每一产品对应的状态信息参数还包括所述产品需要执行的各生产步骤的顺序,所述状态信息矩阵中与所述产品对应行中,与所述产品的工艺流程对应的数值按照生产步骤的进行顺序依次递增。

本实施例的排产模型的训练装置能够实现上述排产模型的训练方法实施例的各个步骤,并能实现相同或相似的技术效果,此处不再赘述。

本发明实施例提供了一种电子设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如上述排产模型的训练方法或排产方法的步骤。

本发明实施例提供了一种可读存储介质,用于存储程序,所述程序被处理器执行时实现如上述排产模型的训练方法或排产方法的步骤。

本实施例的电子设备及可读存储介质能够实现上述方法实施例的各个步骤,并能实现相同或相似的技术效果,此处不再赘述。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 订单排产模型的训练方法、订单排产方法、装置
  • 一种模型训练方法、装置和用于模型训练的装置
技术分类

06120113177365