CN112508398A - 基于深度强化学习的动态生产调度方法、装置及电子设备 - Google Patents
基于深度强化学习的动态生产调度方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112508398A CN112508398A CN202011406748.3A CN202011406748A CN112508398A CN 112508398 A CN112508398 A CN 112508398A CN 202011406748 A CN202011406748 A CN 202011406748A CN 112508398 A CN112508398 A CN 112508398A
- Authority
- CN
- China
- Prior art keywords
- job
- dynamic characteristics
- batch
- production stage
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32252—Scheduling production, machining, job shop
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32335—Use of ann, neural network
Abstract
本发明实施例提供了一种基于深度强化学习的动态生产调度方法、装置及电子设备,涉及工业物联网技术领域,可以在不超过生产设备处理能力的基础上,减少作业整体处理时间。本发明实施例包括:获取各作业的静态特征和动态特征以及系统动态特征,将待调度的各作业的静态特征和动态特征以及系统动态特征输入调度模型,获得各作业在每个生产阶段的作业执行顺序或者批次执行顺序。其中,作业的静态特征包括任务量和完成所需时长,作业的动态特征包括接收时刻,系统动态特征包括每个生产阶段的设备能够执行的剩余任务量。调度模型为基于样本作业的静态特征和动态特征、系统动态特征以及第一critic网络,对第一actor网络进行训练后得到的模型。
Description
技术领域
本发明涉及工业物联网技术领域,特别是涉及一种基于深度强化学习的动态生产调度方法、装置及电子设备。
背景技术
工业物联网(Industrial Internet of Things,IIoT)是新一代信息技术与制造业深度融合的产物,通过实现人、机和物的全面互联,为工业生产制造模式开辟了一条新的道路。
工业物联网的空前繁荣推动了传统产业向智能化生产转型,使整个生产过程可以全面控制,实现柔性生产。当前工业物联网正处在高速发展阶段,打造智能工厂,推进智能制造,成为当前工业转型升级、实现高质量发展的主要方向之一。在工业物联网背景下,理想的智能工厂需要根据用户的不同需求对整体生产过程进行全面的监控和调度。一般作业的生产过程包括多个生产阶段,每个生产阶段包括多台生产设备,一台生产设备可以并行处理一个或多个作业,如何将一批作业分配到每个生产阶段的生产设备上,实现在不超过生产设备处理能力的基础上,减少作业的整体处理时间,是智能制造的目标。
为了实现这一目标,需要一种高效的调度方法。
发明内容
本发明实施例的目的在于提供一种基于深度强化学习的动态生产调度方法、装置及电子设备,以实现在不超过生产机器处理能力的基础上,减少作业的整体处理时间。具体技术方案如下:
第一方面,本发明实施例提供了一种基于深度强化学习的动态生产调度方法,所述方法包括:
获取待调度的各作业的静态特征和动态特征以及系统动态特征,所述作业的静态特征包括任务量和完成所需时长,所述作业的动态特征包括接收时刻,所述系统动态特征包括每个生产阶段的设备能够执行的剩余任务量;
将所述各作业的静态特征和动态特征以及所述系统动态特征,输入调度模型,获得所述调度模型输出的所述各作业在每个生产阶段的作业执行顺序或者批次执行顺序;每个批次包括多个作业;
其中,所述调度模型为:基于多个样本作业的静态特征和动态特征、系统动态特征以及第一评论家critic网络,对第一演员actor网络进行训练后得到的模型,所述第一critic网络用于基于各样本作业对应的完工时长,评价第一actor网络的输出结果,针对每个样本作业,该样本作业对应的完工时长为该样本作业在第一个生产阶段的开始执行时刻与该样本作业在最后一个生产阶段的完成执行时刻之间的时间差。
可选的,所述调度模型包括作业分批子模型和第一顺序确定子模型;将所述各作业的静态特征和动态特征以及所述系统动态特征,输入调度模型,获得所述调度模型输出的所述各作业在每个生产阶段的作业执行顺序或者批次执行顺序,包括:
按照每个生产阶段的排列顺序,从第一个生产阶段开始,确定该生产阶段为顺序处理阶段还是批次处理阶段;
在该生产阶段为批次处理阶段时,将所述各作业的静态特征和动态特征以及系统动态特征输入所述作业分批子模型,得到对所述各作业划分的多个批次;将多个批次的作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,获得多个批次在该生产阶段的批次执行顺序;针对每个批次,根据该批次的各作业的动态特征及批次执行顺序,计算该批次作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该批次作业的动态特征以及系统的动态特征;
在该生产阶段为顺序处理阶段时,将所述各作业的静态特征和动态特征以及系统动态特征输入所述第一顺序确定子模型,得到各作业在该生产阶段的作业执行顺序;针对每个作业,根据该作业的动态特征及作业执行顺序,计算该作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该作业的动态特征以及系统的动态特征。
可选的,所述调度模型通过以下步骤训练获得:
步骤一,将多个样本作业的静态特征和动态特征以及系统动态特征输入第一actor网络,得到多个样本作业在每个生产阶段的作业执行顺序或者批次执行顺序;
步骤二,基于多个样本作业的动态特征,获得多个样本作业对应的完工时长中最长的完工时长,并基于所述最长的完工时长计算第一累计回报;
步骤三,将多个样本作业的静态特征和动态特征、所述第一累计回报以及系统动态特征输入所述第一critic网络,得到第一回报差异值;
步骤四,利用所述第一回报差异值,调整所述第一actor网络和所述第一critic网络的网络参数;
步骤五,若当前训练周期不为最后一个训练周期,则返回执行所述步骤一;其中,步骤一至步骤四为一个训练周期;
步骤六,若当前训练周期为最后一个训练周期,则将当前训练得到的第一actor网络作为所述调度模型。
可选的,所述作业分批子模型包括第二顺序确定子模型;所述将所述各作业的静态特征和动态特征以及系统动态特征输入所述作业分批子模型,得到对所述各作业划分的多个批次,包括:
对所述各作业的静态特征进行初始化处理;
基于各作业的静态特征和动态特征以及系统动态特征,通过所述第二顺序确定子模型选择一个作业,并确定选择的作业所属的批次,直至多个作业所属的批次确定完成。
可选的,所述作业分批子模型通过以下步骤训练获得:
步骤1,将多个样本作业的静态特征和动态特征以及系统动态特征输入第二actor网络,得到对多个样本作业划分的多个批次;
步骤2,针对每个批次,基于该批次的各作业的加工时长之间的差异值以及该批次的各作业在上个生产阶段的执行完成时刻之间的差异值,计算该批次的差异值;
步骤3,根据多个批次的差异值,计算第二累计回报,并将多个样本作业的静态特征和动态特征、所述第二累计回报以及系统动态特征输入第二critic网络,得到第二回报差异值;
步骤4,利用所述第二回报差异值,调整所述第二actor网络和所述第二critic网络的网络参数;
步骤5,若当前训练周期不为最后一个训练周期,则返回执行所述步骤1;其中,步骤1至步骤4为一个训练周期;
步骤6,若当前训练周期为最后一个训练周期,则将当前训练得到的第二actor网络作为所述作业分批子模型。
可选的,所述方法还包括:
通过以下公式计算初始调度方案与重调度方案之间的总偏离度,每个调度方案包括各作业在每个生产阶段的作业执行顺序或者批次执行顺序;
DE=ωpPED+ωlLED+ωmMED+ωcCED
其中,DE为所述总偏离度,ωp、ωl、ωm和ωc为预设的权重系数,且ωp+ωl+ωm+ωc=1,PED表示所述初始调度方案与所述重调度方案中相同的作业在各生产阶段的开始执行时刻之间的差值总和,LED表示所述初始调度方案与所述重调度方案中相同阶段的执行作业总时长之间的差值总和,MED表示所述初始调度方案和所述重调度方案中的同一个作业在同一个生产阶段是否在同一个设备上执行,CED表示所述初始调度方案与所述重调度方案的作业整体加工时长之间的差值。
第二方面,本发明实施例提供了一种基于深度强化学习的动态生产调度装置,所述装置包括:
特征获取模块,用于获取待调度的各作业的静态特征和动态特征以及系统动态特征,所述作业的静态特征包括任务量和完成所需时长,所述作业的动态特征包括接收时刻,所述系统动态特征包括每个生产阶段的设备能够执行的剩余任务量;
顺序获得模块,用于将所述各作业的静态特征和动态特征以及所述系统动态特征,输入调度模型,获得所述调度模型输出的所述各作业在每个生产阶段的作业执行顺序或者批次执行顺序;每个批次包括多个作业;
其中,所述调度模型为:基于多个样本作业的静态特征和动态特征、系统动态特征以及第一评论家critic网络,对第一演员actor网络进行训练后得到的模型,所述第一critic网络用于基于各样本作业对应的完工时长,评价第一actor网络的输出结果,针对每个样本作业,该样本作业对应的完工时长为该样本作业在第一个生产阶段的开始执行时刻与该样本作业在最后一个生产阶段的完成执行时刻之间的时间差。
可选的,所述调度模型包括作业分批子模型和第一顺序确定子模型;所述顺序获得模块具体用于通过所述调度模型执行以下步骤:
按照每个生产阶段的排列顺序,从第一个生产阶段开始,确定该生产阶段为顺序处理阶段还是批次处理阶段;
在该生产阶段为批次处理阶段时,将所述各作业的静态特征和动态特征以及系统动态特征输入所述作业分批子模型,得到对所述各作业划分的多个批次;将多个批次的作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,获得多个批次在该生产阶段的批次执行顺序;针对每个批次,根据该批次的各作业的动态特征及批次执行顺序,计算该批次作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该批次作业的动态特征以及系统的动态特征;
在该生产阶段为顺序处理阶段时,将所述各作业的静态特征和动态特征以及系统动态特征输入所述第一顺序确定子模型,得到各作业在该生产阶段的作业执行顺序;针对每个作业,根据该作业的动态特征及作业执行顺序,计算该作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该作业的动态特征以及系统的动态特征。
可选的,所述装置还包括第一训练模块,所述第一训练模块用于执行以下步骤:
步骤一,将多个样本作业的静态特征和动态特征以及系统动态特征输入第一actor网络,得到多个样本作业在每个生产阶段的作业执行顺序或者批次执行顺序;
步骤二,基于多个样本作业的动态特征,获得多个样本作业对应的完工时长中最长的完工时长,并基于所述最长的完工时长计算第一累计回报;
步骤三,将多个样本作业的静态特征和动态特征、所述第一累计回报以及系统动态特征输入所述第一critic网络,得到第一回报差异值;
步骤四,利用所述第一回报差异值,调整所述第一actor网络和所述第一critic网络的网络参数;
步骤五,若当前训练周期不为最后一个训练周期,则返回执行所述步骤一;其中,步骤一至步骤四为一个训练周期;
步骤六,若当前训练周期为最后一个训练周期,则将当前训练得到的第一actor网络作为所述调度模型。
可选的,所述作业分批子模型包括第二顺序确定子模型;所述顺序获得模块具体用于通过作业分批子模型执行以下步骤:
对所述各作业的静态特征进行初始化处理;
基于各作业的静态特征和动态特征以及系统动态特征,通过所述第二顺序确定子模型选择一个作业,并确定选择的作业所属的批次,直至多个作业所属的批次确定完成。
可选的,所述装置还包括第二训练模块,所述第二训练模块用于执行以下步骤:
步骤1,将多个样本作业的静态特征和动态特征以及系统动态特征输入第二actor网络,得到对多个样本作业划分的多个批次;
步骤2,针对每个批次,基于该批次的各作业的加工时长之间的差异值以及该批次的各作业在上个生产阶段的执行完成时刻之间的差异值,计算该批次的差异值;
步骤3,根据多个批次的差异值,计算第二累计回报,并将多个样本作业的静态特征和动态特征、所述第二累计回报以及系统动态特征输入第二critic网络,得到第二回报差异值;
步骤4,利用所述第二回报差异值,调整所述第二actor网络和所述第二critic网络的网络参数;
步骤5,若当前训练周期不为最后一个训练周期,则返回执行所述步骤1;其中,步骤1至步骤4为一个训练周期;
步骤6,若当前训练周期为最后一个训练周期,则将当前训练得到的第二actor网络作为所述作业分批子模型。
可选的,所述装置还包括:计算模块,所述计算模块用于:
通过以下公式计算初始调度方案与重调度方案之间的总偏离度,每个调度方案包括各作业在每个生产阶段的作业执行顺序或者批次执行顺序;
DE=ωpPED+ωlLED+ωmMED+ωcCED
其中,DE为所述总偏离度,ωp、ωl、ωm和ωc为预设的权重系数,且ωp+ωl+ωm+ωc=1,PED表示所述初始调度方案与所述重调度方案中相同的作业在各生产阶段的开始执行时刻之间的差值总和,LED表示所述初始调度方案与所述重调度方案中相同阶段的执行作业总时长之间的差值总和,MED表示所述初始调度方案和所述重调度方案中的同一个作业在同一个生产阶段是否在同一个设备上执行,CED表示所述初始调度方案与所述重调度方案的作业整体加工时长之间的差值。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一基于深度强化学习的动态生产调度方法的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于深度强化学习的动态生产调度方法的步骤。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一基于深度强化学习的动态生产调度方法的步骤。
本发明实施例提供的基于深度强化学习的生产调度方法、装置及电子设备,通过调度模型,基于作业的任务量、接收时刻和完成所需时长,以及每个生产阶段的设备能够执行的剩余任务量,对各作业进行调度。由于调度模型在训练过程中,基于作业的任务量、接收时刻和完成所需时长,以及每个生产阶段的设备能够执行的剩余任务量进行训练,使得第一actor网络对在对各作业进行调度时能够基于设备的处理能力进行调度,避免设备被分配的任务量超过自身可执行的任务量。而且第一critic网络能够基于各样本作业对应的完工时长,评价第一actor网络的输出结果,使得第一actor网络能够以减少作业的完工时长为训练目标,使得训练后得到的调度模型输出的调度方案的作业整体处理时间较短。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种基于深度强化学习的动态生产调度方法流程图;
图2为本发明实施例提供的一种调度模型输出调度方案的流程示意图;
图3为本发明实施例提供的一种作业分批子模型对作业划分批次的流程示意图;
图4为本发明实施例提供的一种调度模型确定调度方案的流程示意图;
图5为本发明实施例提供的一种基于深度强化学习的动态生产调度装置结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先通过表一对本申请实施例涉及的符号的含义进行说明。
表一
其中,作业的接收时刻指的是系统接收到作业的时刻。例如作业的生成时刻,用户发送制定的作业的时刻。作业在一个生产阶段的加工时长为作业在该生成阶段的开始执行时刻与执行完成时刻之间的时间差。作业对应的完工时长为作业在第一个生产阶段的开始执行时刻与作业在最后一个生产阶段的完成执行时刻之间的时间差。整体完工时长为作业对应的完工时长中最长的完工时长。
示例性的,以加工铁板为例,作业i的任务量为需要加工的铁板吨数,CMm为BPMm能够加工的剩余吨数,BPMm的初始值为预设的额定吨数。
以下通过表二对本申请实施例涉及的决策变量的值对应的含义进行说明。
表二
决策变量 | 含义 |
X<sub>ikm</sub>=1 | 作业i在生产阶段k的设备m上加工 |
X<sub>ikm</sub>=0 | 其它 |
Y<sub>imb</sub>=1 | 作业i在批次b的BPM<sub>m</sub>上加工 |
Y<sub>imb</sub>=0 | 其它 |
S<sub>ikt</sub>=1 | 作业i在生产阶段k的时刻t开始加工 |
S<sub>ikt</sub>=0 | 其它 |
TO<sub>ik</sub>=1 | 作业i在批执行阶段k处理 |
TO<sub>ik</sub>=0 | 作业i在顺序执行阶段k处理 |
TM<sub>m</sub>=1 | 设备m是批处理机 |
TM<sub>m</sub>=0 | 设备m是顺序处理机 |
mask<sub>i</sub>=1 | 作业i已经被分派到一台设备上加工 |
mask<sub>i</sub>=0 | 作业i等待被分派到一台设备上加工 |
为了实现在不超过生产机器处理能力的基础上,减少生产作业的整体完工时长,本发明实施例提供了一种基于深度强化学习的动态生产调度方法,应用于电子设备,参见图1,该方法包括以下步骤:
步骤101,获取待调度的各作业的静态特征和动态特征以及系统动态特征。
其中,每个作业的静态特征包括任务量和完成所需时长,每个作业的动态特征包括接收时刻,系统动态特征包括每个生产阶段的设备能够执行的剩余任务量。
在本发明实施例中,每个生产阶段的设备能够执行的剩余任务量的初始值为预设的额定任务量,当设备未执行作业时,输入调度模型的系统动态特征为设备的能够执行的额定任务量。
可选的,作业的静态特征还可以包括:被加工的部件的长度和宽度等。
作业的动态特征随着各生产阶段调度方式的确定不断更新,例如作业的初始动态特征包括作业的接收时刻,作业更新后的动态特征还可以包括:作业在多个生产阶段的开始执行时刻和执行完成时刻。
步骤102,将各作业的静态特征和动态特征以及系统动态特征输入调度模型,获得调度模型输出的各作业在每个生产阶段的作业执行顺序或者批次执行顺序。
其中,每个批次包括多个作业,相同批次的作业被同时处理。调度模型输出的各作业在每个生产阶段的作业执行顺序或者批次执行顺序也可称为调度方案。可选的,调度方案中还可以包括每个生产阶段的作业或者批次对应的设备编号。作业或批次处理时在对应的设备编号的设备上加工。
其中,调度模型为:基于多个样本作业的静态特征和动态特征、系统动态特征以及第一评论家(critic)网络,对第一演员(actor)网络进行训练后得到的模型,第一critic网络用于基于各样本作业对应的完工时长,评价第一actor网络的输出结果,针对每个样本作业,该样本作业对应的完工时长为该样本作业在第一个生产阶段的开始执行时刻与该样本作业在最后一个生产阶段的完成执行时刻之间的时间差。
可以理解的,critic网络和actor网络组成了一组强化学习(ReinforcementLearning,RL)网络,在训练过程中,actor网络用于基于当前环境选择动作,critic网络用于基于训练目标评价actor网络的决策。critic网络的评价结果用于调整critic网络和actor网络的网络参数,在训练完成后,利用actor网络可以在训练目标上决策出较好的动作。
可选的,第一critic网络和第一actor网络均可以为深度学习(Deep Learning,DL)网络,且critic网络和actor网络组成了强化学习网络。因此本发明实施例中的第一critic网络和第一actor网络组成了深度强化学习(Deep Reinforcement Learning,DRL)网络。
强化学习是机器学习的一个重要分支,主要研究智能体(Agent)在环境中如何采取行动,从而获得最大的累积回报。一个智能体被训练完成后,可以很快地对遇到的新的问题做出获得最大累计回报的正确行为。强化学习可以成功地应用于生产制造场景下。
深度学习具有较强的感知能力,但是缺乏一定的决策能力;而强化学习具有较强的决策能力,但缺乏感知能力。因此,本发明实施例采用的深度强化学习将深度学习与强化学习结合起来,优势互补,为复杂的感知决策问题提供了解决思路。
本发明实施例提供的基于深度强化学习的生产调度方法,通过调度模型,基于作业的任务量、接收时刻和完成所需时长,以及每个生产阶段的设备能够执行的剩余任务量,对各作业进行调度。由于调度模型在训练过程中,基于作业的任务量、接收时刻和完成所需时长,以及每个生产阶段的设备能够执行的剩余任务量进行训练,使得第一actor网络对在对各作业进行调度时能够基于设备的处理能力进行调度,避免设备被分配的任务量超过自身可执行的任务量。而且第一critic网络能够基于各样本作业对应的完工时长,评价第一actor网络的输出结果,使得第一actor网络能够以减少作业的完工时长为训练目标,使得训练后得到的调度模型输出的调度方案的作业整体处理时间较短。
在本发明实施例中,上述调度模型包括:作业分批子模型和第一顺序确定子模型。
调度模型通过以下步骤确定各作业在每个生产阶段的作业执行顺序或者批次执行顺序:
步骤(1),按照每个生产阶段的排列顺序,从第一个生产阶段开始,确定该生产阶段为顺序处理阶段还是批次处理阶段。
在本发明实施例中,每个生产阶段为顺序处理阶段和批次处理阶段的其中之一。
参见图2,调度模型根据作业的静态特征和动态特征以及系统动态特征,针对每个顺序处理阶段,分别确定各作业在每个顺序处理机上的加工顺序。针对每个批处理阶段,利用作业分批子模型对作业划分批次,然后确定每个批次在批处理机上的加工顺序。
例如,图2中各作业在阶段1的顺序处理机SPM1上的加工顺序为:j3、j2、j7、...、j10。图2中各作业在阶段k的批处理机BPM1上的加工顺序为:b1、b3、...、b0。
步骤(2),在该生产阶段为批次执行阶段时,将各作业的静态特征和动态特征以及系统动态特征输入作业分批子模型,得到对各作业划分的多个批次。然后将多个批次的作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,获得多个批次在该生产阶段的批次执行顺序。并针对每个批次,根据该批次的各作业的动态特征及批次执行顺序,计算该批次作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该批次作业的动态特征以及系统的动态特征。可选的,第一顺序确定子模型还可以确定每个批次对应的设备编号。每个批次处理时在对应的设备编号的设备上加工。
其中,作业分批子模型为:基于多个样本作业的静态特征和动态特征、系统动态特征以及第二critic网络,对第二actor网络进行训练后得到的模型。第二critic网络用于基于相同批次的各作业的加工时长之间的差异值以及相同批次的各作业的执行完成时刻之间的差异值,评价第二actor网络的输出结果。
第一顺序确定子模型用于:基于多个作业的静态特征和动态特征以及系统动态特征,计算选择每个作业的概率,并选择概率最大的作业。或者,基于多个批次的作业的静态特征和动态特征以及系统动态特征,计算选择每个批次的概率,并选择概率最大的批次。
在本发明实施例中,每个生产阶段包括的设备类型相同,即顺序处理阶段包括顺序处理机,批处理阶段包括批处理机。因此,可以根据生产阶段包括的设备类型,确定生产阶段为顺序处理阶段还是批次处理阶段。
可选的,作业的初始动态特征不包括作业在每个阶段的开始执行时刻和执行完成时刻,作业的动态特征更新后包括作业在该阶段的开始执行时刻和执行完成时刻。
在设备未处理任何作业时,系统的初始动态特征为每个阶段设备能够执行的额定任务量,在将作业分配到设备后,设备能够执行的任务量减少,系统的动态特征更新为设备能够执行的剩余任务量。
可以理解的,每个批次在一个生产阶段被处理一次,因此,每次输入第一顺序确定子模型的特征对应的批次为未被选择过的批次。
在本发明实施例中,一个批处理阶段可以包括一个批处理机。一种实施方式中,可以将各作业的静态特征和动态特征以及系统动态特征输入作业分批子模型,得到对各作业划分的多个批次。再将未被选择过的批次的作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,若第一顺序确定子模型计算各批次的概率均为空,并输出选择各批次的概率均为空,则本次不选择批次;若第一顺序确定子模型计算选择各批次的概率不均为空,并输出概率最大的批次,则本次选择概率最大的批次,直到各批次均被选择,或者直至第一顺序确定子模型选择批次的次数达到第一预设次数。并更新作业的动态特征和系统动态特征。可选的,第一预设次数=2×当前生产阶段的设备数量×当前生产阶段的批次数量。
在一个批处理阶段包括一个批处理机的情况下,各批次被选择的顺序为各批次在该生产阶段的该批处理机上的加工顺序,即为批次执行顺序。
在本发明实施例中,一个批处理生产阶段可以包括多个批处理机,另一种实施方式中,可以将各作业的静态特征和动态特征以及系统动态特征输入作业分批子模型,得到对各作业划分的多个批次。再按照批处理机的顺序循环执行:针对一个批处理机,将未被选择过的批次的作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,若第一顺序确定子模型输出选择各未被选择过的批次的概率均为空,则本次不选择批次;若第一顺序确定子模型计算选择各批次的概率不均为空,并输出概率最大的批次,则本次选择概率最大的批次,直至各批次均被选择,或者直至第一顺序确定子模型选择批次的次数达到第一预设次数。并更新作业的动态特征以及系统的动态特征。
在一个批处理阶段包括多个批处理机的情况下,针对每个批处理机时选择的批次顺序为选择的批次在该批处理机上的加工顺序,即批次执行顺序包括每个批次在一个批处理机上的加工顺序。
步骤(3),在该生产阶段为顺序执行阶段时,将各作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,得到各作业在该生产阶段的作业执行顺序。并针对每个作业,根据该作业的动态特征及作业执行顺序,计算该作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该作业的动态特征以及系统的动态特征。可选的,第一顺序确定子模型还可以确定各作业对应的设备编号。作业处理时在对应的设备编号的设备上加工。
在本发明实施例中,每个作业在一个生产阶段被处理一次,因此,每次输入第一顺序确定子模型的特征对应的作业为未被选择过的作业。
在本发明实施例中,一个顺序处理阶段可以包括一个顺序处理机。一种实施方式中,可以将未被选择过的各作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,若第一顺序确定子模型输出选择每个作业的概率均为空,则本次不选择作业;若第一顺序确定子模型计算选择每个作业的概率不均为空,并输出概率最大的作业,则本次选择概率最大的作业,直至各作业均被选择,或者直至第一顺序确定子模型选择作业的次数达到第二预设次数。可选的,第二预设次数=2×当前生产阶段的设备数量×当前生产阶段的作业数量。
在一个顺序处理阶段包括一个顺序处理机的情况下,各作业被选择的顺序为各作业在该生产阶段的该顺序处理机上的加工顺序,即为作业执行顺序。
在本发明实施例中,一个顺序处理生产阶段可以包括多个顺序处理机,另一种实施方式中,可以按照各顺序处理机的顺序循环执行:针对一个顺序处理机,将未被选择过的各作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,若第一顺序确定子模型输出选择每个作业的概率均为空,则本次不选择作业;若第一顺序确定子模型计算选择每个作业的概率不均为空,并输出概率最大的作业,则本次选择概率最大的作业,直至各作业均被选择,或者直至第一顺序确定子模型选择作业的次数达到第二预设次数。
在一个顺序处理阶段包括多个顺序处理机的情况下,针对每个顺序处理机时选择的作业顺序为选择的作业在该顺序处理机上的加工顺序,即作业执行顺序包括每个作业在一个顺序处理机上的加工顺序。
例如,一个顺序处理阶段包括顺序处理机1和顺序处理机2,在确定作业A、作业B和作业C的处理顺序时,针对顺序处理机1,将这三个作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,第一顺序确定子模型输出作业A;再针对顺序处理机2,将作业B和作业C的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,第一顺序确定子模型输出作业C。再针对顺序处理机1,将作业B的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,第一顺序确定子模型输出空,本次不选择作业。再针对顺序处理机2,将作业B的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,第一顺序确定子模型输出作业B。最终得到顺序处理机1上的作业执行顺序为作业A,顺序处理机B上的作业执行顺序为:作业C、作业B。
在本发明实施例中,上述调度模型可以通过以下步骤训练获得:
步骤一,将多个样本作业的静态特征和动态特征以及系统动态特征输入第一actor网络,得到多个样本作业在每个生产阶段的作业执行顺序或者批次执行顺序。
可选的,第一actor网络还可以确定样本作业对应的设备编号。
步骤二,基于多个样本作业的动态特征,获得多个样本作业对应的完工时长中最长的完工时长,并基于最长的完工时长计算累计回报。
可选的,经过步骤一后,每个样本作业的动态特征包括在作业在每个生产阶段的开始执行时刻和执行完成时刻,计算作业在第一个生产阶段的开始执行时刻与作业在最后一个生产阶段的执行完成时刻之间的时间差,作为作业的完工时长,确定作业的整体完工时长Cmax为最长的完工时长,并计算第一累计回报=1/Cmax。
在本发明实施例中,各作业的完工时长越小,得到的累计回报越大。
步骤三,将多个样本作业的静态特征和动态特征、第一累计回报以及系统动态特征输入第一critic网络,得到第一回报差异值。
在本发明实施例中,第一critic网络根据输入数据,计算当前状态的期望累计回报,然后基于实际得到的累计回报与期望累计回报之间的差值,确定第一回报差异值。
通过公式(1)计算第一回报差异值:
δ←∑(R+γV(S′)-V(S)) (1)
其中,δ为第一回报差异值,R为第一累计回报,γ为回报因子,V(S′)为期望累计回报,V(S)为实际得到的累计回报。γ是在模型训练过程中可学习的参数。
步骤四,利用第一回报差异值,调整第一actor网络和第一critic网络的网络参数。
通过公式(2)调整第一actor网络的模型参数:
示例性的,πθ(s,a)可以为逻辑回归(softmax)策略函数。
通过公式(3)调整第一critic网络的模型参数:
其中,w′为第一critic网络更新后的模型参数,w为第一critic网络更新前的模型参数,β为第二调整因子,δ为第一回报差异值,为特征向量,β是在模型训练过程中可学习的参数。特征向量为输入的作业的动态特征和静态特征以及系统动态特征的向量。
步骤五,若当前训练周期不为最后一个训练周期,则返回执行步骤一。其中,步骤一至步骤四为一个训练周期。
步骤六,若当前训练周期为最后一个训练周期,则将当前训练得到的第一actor网络作为调度模型。
由于本发明实施例能够根据作业的完工时长,调整第一actor网络和第一critic网络的模型参数,训练过程会使得第一actor网络输出的调度方案作业的完工时长更接近于最短的完工时长,使得训练后的第一actor网络输出的调度方案作业能够在最短的时间内完成,这种情况下设备的空闲时间最小,缩短了生产周期时间,提高了设备的利用率,也提高了生产效率。
在本发明实施例中,上述调度模型中的作业分批子模型包括第二顺序确定子模型。作业分批子模型对多个作业划分批次的步骤包括:对多个作业的静态特征进行初始化处理,然后基于多个作业的静态特征和动态特征以及系统动态特征,通过第二顺序确定子模型选择一个作业,并确定选择的作业所属的批次,直至多个作业所属的批次确定完成。
第二顺序确定子模型用于基于多个作业的静态特征和动态特征以及系统动态特征,计算选择每个作业的概率,并选择概率最大的作业。
可选的,初始化可以为归一化处理,利用公式(4)对作业的静态特征进行归一化处理:
一种实施方式中,若当前批次的容量已满,则将第二顺序模型选择的作业划分为一个新的批次。可选的,当前批次的容量已满可以为处理当前批次的设备能够执行的剩余任务量小于预设阈值。
第二actor每选择一个作业,作业的动态特征以及系统动态特征都会被更新,第二actor再基于更新后的特征选择下一个未被选择过的作业,直至多个作业均被选择。
本发明实施例可以根据作业的静态特征,确定哪些作业可以合并为一个批次,例如将作业的长度和厚度在一定范围区间内的作业合并为一个批次。而且本发明实施例还可以根据系统动态特征,确定作业的批次,可以提高每个设备的利用率,并使得设备被分配的作业的任务量不超过自身可执行的任务量。
参见图3,图3为作业分批子模型划分作业批次的流程示意图。作业分批子模型中的第二actor网络包括循环神经网络(Recurrent Neural Network,RNN)和指针网络(Pointer Network,PN)。其中,每个Job表示一个作业,例如,Job3表示作业3,Job5表示作业5。JobBS表示一个空作业,空作业的静态特征和动态特征均为0,在划分一个新的批次时,首先选择一个空作业JobBS,作为新的批次与上一个批次的分隔符。
图3中的ht表示RNN的隐藏状态,每选择一次作业,ht被更新一次。例如,h0表示RNN的初始隐藏状态;h1表示选择一次作业后,RNN的隐藏状态由h0更新后的状态;h2表示选择一次作业后,RNN的隐藏状态由h1更新后的状态,以此类推。
可选的,参考图3,上述调度模型中的作业分批子模型可以通过以下步骤训练获得:
步骤1,将多个样本作业的静态特征和动态特征以及系统动态特征输入第二actor网络,得到对多个样本作业划分的多个批次。
一种实施方式中,参见图3,第二actor网络的RNN更新当前的隐藏状态,PN网络根据当前的隐藏状态、未被选择过的作业的静态特征和动态特征以及系统动态特征,选择一个作业加入当前批次,或者在确定当前批次的容量已满时,选择一个作业加入下一个批次,直至每个作业均被选择。例如图3中,将Job3、Job5、...、Job7划分为批次1,将Job4、Job6、...、Job8划分为批次2,将Job2、Job0、...、Job1划分为批次M。
其中,图3中的各个RNN表示同一个网络,各个PN表示同一个网络,展示多个RNN和PN是为了体现RNN的隐藏状态ht在每次选择作业后的变化,且为了体现PN每次选择的作业不同。
在本发明实施例中,在第二actor网络划分批次的过程中,每确定一个批次,可以更新该批次内的作业的动态特征以及系统动态特征。参见图3,图3中以批次M为例,由JobBS指向作业和系统的动态特征的箭头表示:根据作业划分的批次M,更新批次M内作业的动态特征以及系统动态特征。确定其他批次后也可以更新该其他批次内作业的动态特征和系统动态特征,在图3中未示出。
步骤2,针对每个批次,基于该批次的各作业的加工时长之间的差异值以及该批次的各作业在上个生产阶段的执行完成时刻之间的差异值,计算该批次的差异值。
一种实施方式中,利用公式(5)计算每个批次的差异值:
其中,Dmb为一个批次的差异值,N为该批次的作业数量,ptik为作业i在生产阶段k的加工时长,ptjk为作业j在生产阶段k的加工时长,cti(k-1)为作业i在生产阶段(k-1)的执行完成时刻,ctj(k-1)为作业j在生产阶段(k-1)的执行完成时刻。
步骤3,根据多个批次的差异值,计算第二累计回报,并将多个样本作业的静态特征和动态特征、第二累计回报以及系统动态特征输入第二critic网络,得到第二回报差异值。
在本发明实施例中,相同批次的作业之间的差异越小,该批次的差异值越小,第二累计回报越大。可选的,第二累计回报为:1/多个批次的差异值中的最大差异值。
一种实施方式中,第二critic网络基于输入数据,根据价值函数,计算当前状态的期望累计回报,然后基于实际得到的累计回报与期望累计回报之间的差值,确定第二回报差异值。
计算第二回报差异值的方式和计算第一回报差异值的方式相同,可参考计算第一回报值的方法,此处不再赘述。计算第二回报差异值时,R为第二累计回报。
步骤4,利用第二回报差异值,调整第二actor网络和第二critic网络的网络参数。
其中,图3中第二critic网络上弯曲的箭头表示:利用第二回报差异值,调整第二critic网络的网络参数。图3中由第二critic网络指向虚线框的箭头表示:利用第二回报差异值,调整第二actor网络的网络参数。
调整第二actor网络和第二critic网络的网络参数的方法与调整第一actor网络和第二critic网络的网络参数的方法相同,可参考调整第一actor网络和第二critic网络的网络参数的方法,此处不再赘述。
步骤5,若当前训练周期不为最后一个训练周期,则返回执行步骤1。其中,步骤1至步骤4为一个训练周期。
步骤6,若当前训练周期为最后一个训练周期,则将当前训练得到的第二actor网络作为作业分批子模型。
由于本发明实施例能够根据相同批次的作业之间的差异,调整第二actor网络和第二critic网络的模型参数,训练过程会使得第二actor网络划分的批次中,相同批次的作业之间差异减小,使得训练后的第二actor网络划分的批次内作业差异最小,提高生产效率。
在本发明的一个实施例中,对于一个批次处理阶段,批次b在BPMm上的加工时长Pmb为:该批次的作业的完成所需时长ptik中最长的完成所需时长。
批次b在生产阶段k的执行完成时刻ctbk为:批次b的各作业在上个生产阶段(k-1)最晚的执行完成时刻cti(k-1)+批次b在生产阶段k的加工时长Pmb。
批次b在生产阶段k的开始执行时刻stbk=ctbk-Pmb。相同批次b的作业在生产阶段k的开始执行时刻stik均为stbk,相同批次b的作业在生产阶段k的执行完成时刻ctik均为ctbk。
在本发明的一个实施例中,对于一个顺序处理阶段,按照作业的执行顺序,第一个作业的完成执行时刻ctik=该作业在上一个处理阶段的执行完成时刻cti(k-1)+该作业的完成所需时长ptik。除了第一个作业以外的其他作业的执行完成时刻ctik=该作业的前一个作业的执行完成时刻ct(i-1)k+该作业的完成所需时长ptik。
顺序处理阶段作业的开始执行时刻stik=ctik-ptik。
本发明实施例提供的方法,能够适用于带批处理机的混合流水车间问题(HybridFlow Shop Scheduling Problem with Batch Processing Machines,BPM-HFSP)。调度模型的处理过程如图4所示,图4中实心箭头表示数据传输方向,空心箭头下方的方框表示调度模型的调度过程。其中,调度模型为基于actor-critic的深度强化学习网络。参见图4,作业的静态特征和动态特征以及系统动态特征输入调度模型,调度模型的第一actor网络基于作业分批子模型根据环境的当前状态,计算每个动作的概率,然后选择概率最大的动作。其中,环境的当前状态指的是作业的静态特征、作业当前的动态特征和系统当前动态特征,动作概率指的是作业或批次被选择的概率。动作选择后环境的当前状态改变,第一critic网络根据环境当前状态和第一累计回报,计算第一回报差异值,并基于第一回报差异值,调整第一critic网络和第一actor网络的网络参数。直到最后一个训练周期完成,将当前训练得到的第一actor网络作为调度模型。其中,图4中由第一critic网络指向第一actor网络的弯曲箭头表示基于第一回报差异值,调整第一actor网络的网络参数。图4中由第一critic网络指向第一critic网络的弯曲箭头表示基于第一回报差异值,调整第一critic网络的网络参数。
本发明实施例应用的BPM-HFSSP由K个生产阶段组成,每个生产阶段包含M台并行的顺序处理机器(SPM)或批处理机器(BPM)。有N个作业分别需要经过这K个生产阶段。批处理阶段的生产设备都是批处理机,批处理阶段需要根据批处理机器容量等约束条件,先将多个作业组合成多个的批次,然后再以批次为单位在批处理机上执行。一台批处理机一次处理一个批次的作业。顺序处理阶段的生产设备都是顺序处理机,顺序处理机一次处理一个作业。
从本发明实施例的上述技术方案可知,本发明实施例提供的基于深度强化学习的动态生产调度方法的目标是最小化整体完工时长Cmax,对作业的调度需要满足以下约束条件:
其中,公式(6)表示作业只有在接收之后才能被处理。公式(7)表示作业在顺序处理阶段的加工时长为作业在每个顺序处理机上的加工时长总和,作业在批处理阶段的加工时长为作业所属的批次在BPMm上的加工时长。公式(8)表示作业在一个生产阶段的完成执行时刻为作业在该生产阶段的开始执行时刻与作业在该生产阶段的加工时长的和。公式(9)表示作业只有在前一个阶段完成之后,才能开始下一个阶段的处理。公式(10)表示作业在每各生产阶段只能被加工一次。公式(11)表示作业在每道工序只能由一台机器加工。公式(12)表示顺序处理机一次只能处理一个作业。公式(13)表示批处理机一次只能处理一个批次的作业。公式(14)表示批处理机器中每批作业的总任务量不能超过该批处理机能够执行的剩余任务量。公式(15)表示一个批次的加工时长均为构成批该批次的各作业的最大加工时长。公式(16)表示同一批次中的作业具有相同的开始执行时刻。公式(17)表示同一批次中的作业具有相同的执行完成时刻。
本发明实施例的技术方案能够适用于带批处理的混合流水车间问题,批处理阶段和顺序处理阶段均可以位于整个生产过程中的任意生产阶段,更贴合实际生产过程。
在实际生产过程中,可能会有设备故障、加工任务延迟、紧急插单或随机接收作业等不确定因素发生。此时,原先制定好的调度方案将不再适用于当前状态。新的调度方案与原调度方案的差异应当尽量小,从而保证车间生产的连续性,减少重调度的开销。例如,重调度的开销包括:由于生产机器的切换、作业顺序的改变造成额外的设备准备时间和作业切换时间等。
如图4所示,本发明在确定重调度方案时,可以将新的作业的静态特征和动态特征,以及系统动态特征输入调度模型,以获得新的调度方案。图4中调度模型上方弯曲的箭头表示对作业进行动态重调度,以获得新的调度方案,即重调度方案。其中作业的动态特征和系统动态特征均为初始值。
本发明实施例可以通过以下公式(18)计算初始调度方案与重调度方案之间的总偏离度,每个调度方案包括各作业在每个生产阶段的作业执行顺序或者批次执行顺序;在本发明实施例中,总偏离度越小,初始调度方案与重调度方案越相似,重调度的开销越小;总偏离度越大,初始调度方案与重调度方案越不相似,重调度的开销越大。
DE=ωpPED+ωlLED+ωmMED+ωcCED (18)
其中,DE为总偏离度,ωp、ωl、ωm和ωc为预设的权重系数,且ωp+ωl+ωm+ωc=1,工序偏离度(PED)表示初始调度方案与重调度方案中相同的作业在各生产阶段的开始执行时刻之间的差值总和,负载偏离度(LED)表示初始调度方案与重调度方案中相同阶段的执行作业总时长之间的差值总和,机器偏离度(MED)表示初始调度方案和重调度方案中的同一个作业在同一个生产阶段是否在同一个设备上执行,总加工时间偏离度(CED)表示初始调度方案与重调度方案的整体完工时长之间的差值。
其中:
K为生产阶段数量,N为作业数量,stik为初始调度方案中作业i在生产阶段k的开始执行时刻,st′ik为重调度方案中作业i在生产阶段k的开始执行时刻。
K为生产阶段数量,M为一个生产阶段的设备数量,Lkm为初始调度方案中生产阶段k的设备m上执行作业总时长,L′km为重调度方案中生产阶段k的设备m上执行作业总时长。
K为生产阶段数量,N为作业数量,yik=0表示初始调度方案和重调度方案中的作业i在生产阶段k在同一个设备上执行,yik=1表示初始调度方案和重调度方案中的作业i在生产阶段k不在同一个设备上执行。
CED=C′max-Cmax (22)
C′max为重调度方案的整体完工时长,Cmax为初始调度方案的整体完工时长。
本发明实施例基于工序偏离度PED、负载偏离度LED、机器偏离度MED和总加工时间偏离度CED,计算总偏离度DE,使得计算的总偏离度DE能从多方面反映重调度方案与初始调度方案之间的差异。
而且利用本发明实施例获得的重调度方案可以以较小的整体完工时长完成作业调度,同时减少设备和工件的切换时间开销。本发明实施例可适用于具有不同作业数量和生产设备数量的BPM-HFSP。
目前大多数工业场景下的调度方法只考虑两个生产阶段,且每个生产阶段的设备数量是固定不变的,并规定了批处理机必须位于某一个固定的生产阶段。且现有的调度方法在进行作业的调度时没有考虑动态因素,如由于机器故障、紧急插单等。
在本发明实施例中,每个生产阶段均可以是顺序执行阶段或者批处理阶段,且在生产阶段的设备数量变化时,可以根据更新后的设备数量重新训练调度模型,并基于训练后的调度模型生成重调度方案。同样的,本发明实施例还可以基于考虑动态因素后的作业的静态特征和动态特征以及系统动态特征重新训练调度模型,并基于训练后的调度模型生成重调度方案。
其中,在模型训练过程中,可以基于公式(18)计算重调度方案与初始调度方案的总偏离度,基于总偏离度计算第一累计回报,并基于第一累计回报,训练调度模型,以使得训练后的调度模型输出的重调度方案与初始调度方案之间的总偏离度更小,以减少重调度开销。
对应于上述方法实施例,本发明实施例提供了一种基于深度强化学习的动态生产调度装置,参见图5,该装置包括:特征获取模块501和顺序获得模块502;
特征获取模块501,用于获取待调度的各作业的静态特征和动态特征以及系统动态特征,作业的静态特征包括任务量和完成所需时长,作业的动态特征包括接收时刻,系统动态特征包括每个生产阶段的设备能够执行的剩余任务量;
顺序获得模块502,用于将各作业的静态特征和动态特征以及系统动态特征输入调度模型,获得调度模型输出的各作业在每个生产阶段的作业执行顺序或者批次执行顺序;每个批次包括多个作业;
其中,调度模型为:基于多个样本作业的静态特征和动态特征、系统动态特征以及第一评论家critic网络,对第一演员actor网络进行训练后得到的模型,第一critic网络用于基于各样本作业对应的完工时长,评价第一actor网络的输出结果,针对每个样本作业,该样本作业对应的完工时长为该样本作业在第一个生产阶段的开始执行时刻与该样本作业在最后一个生产阶段的完成执行时刻之间的时间差。
可选的,调度模型包括作业分批子模型和第一顺序确定子模型;顺序获得模块502具体用于通过调度模型执行以下步骤:
按照每个生产阶段的排列顺序,从第一个生产阶段开始,确定该生产阶段为顺序处理阶段还是批次处理阶段;
在该生产阶段为批次处理阶段时,将各作业的静态特征和动态特征以及系统动态特征输入作业分批子模型,得到对各作业划分的多个批次;将多个批次的作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,获得多个批次在该生产阶段的批次执行顺序;针对每个批次,根据该批次的各作业的动态特征及批次执行顺序,计算该批次作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该批次作业的动态特征以及系统的动态特征;
在该生产阶段为顺序处理阶段时,将各作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,得到各作业在该生产阶段的作业执行顺序;针对每个作业,根据该作业的动态特征及作业执行顺序,计算该作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该作业的动态特征以及系统的动态特征。
可选的,装置还包括第一训练模块503,第一训练模块503用于执行以下步骤:
步骤一,将多个样本作业的静态特征和动态特征以及系统动态特征输入第一actor网络,得到多个样本作业在每个生产阶段的作业执行顺序或者批次执行顺序;
步骤二,基于多个样本作业的动态特征,获得多个样本作业对应的完工时长中最长的完工时长,并基于所述最长的完工时长计算第一累计回报;
步骤三,将多个样本作业的静态特征和动态特征、所述第一累计回报以及系统动态特征输入所述第一critic网络,得到第一回报差异值;
步骤四,利用所述第一回报差异值,调整所述第一actor网络和所述第一critic网络的网络参数;
步骤五,若当前训练周期不为最后一个训练周期,则返回执行步骤一;其中,步骤一至步骤四为一个训练周期;
步骤六,若当前训练周期为最后一个训练周期,则将当前训练得到的第一actor网络作为调度模型。
可选的,作业分批子模型包括第二顺序确定子模型;顺序获得模块502具体用于通过作业分批子模型执行以下步骤:
对各作业的静态特征进行初始化处理;
基于各作业的静态特征和动态特征以及系统动态特征,通过第二顺序确定子模型选择一个作业,并确定选择的作业所属的批次,直至多个作业所属的批次确定完成。
可选的,装置还包括第二训练模块504,第二训练模块504用于执行以下步骤:
步骤1,将多个样本作业的静态特征和动态特征以及系统动态特征输入第二actor网络,得到对多个样本作业划分的多个批次;
步骤2,针对每个批次,基于该批次的各作业的加工时长之间的差异值以及该批次的各作业在上个生产阶段的执行完成时刻之间的差异值,计算该批次的差异值;
步骤3,根据多个批次的差异值,计算第二累计回报,并将多个样本作业的静态特征和动态特征、第二累计回报以及系统动态特征输入第二critic网络,得到第二回报差异值;
步骤4,利用第二回报差异值,调整第二actor网络和第二critic网络的网络参数;
步骤5,若当前训练周期不为最后一个训练周期,则返回执行步骤1;其中,步骤1至步骤4为一个训练周期;
步骤6,若当前训练周期为最后一个训练周期,则将当前训练得到的第二actor网络作为作业分批子模型。
可选的,装置还包括:计算模块505,计算模块505用于:
通过以下公式计算初始调度方案与重调度方案之间的总偏离度,每个调度方案包括各作业在每个生产阶段的作业执行顺序或者批次执行顺序;
DE=ωpPED+ωlLED+ωmMED+ωcCED
其中,DE为总偏离度,ωp、ωl、ωm和ωc为预设的权重系数,且ωp+ωl+ωm+ωc=1,PED表示初始调度方案与重调度方案中相同的作业在各生产阶段的开始执行时刻之间的差值总和,LED表示初始调度方案与重调度方案中相同阶段的执行作业总时长之间的差值总和,MED表示初始调度方案和重调度方案中的同一个作业在同一个生产阶段是否在同一个设备上执行,CED表示初始调度方案与重调度方案的作业整体加工时长之间的差值。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述方法实施例中的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended lndustry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于深度强化学习的动态生产调度方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一基于深度强化学习的动态生产调度方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种基于深度强化学习的动态生产调度方法,其特征在于,所述方法包括:
获取待调度的各作业的静态特征和动态特征以及系统动态特征,所述作业的静态特征包括任务量和完成所需时长,所述作业的动态特征包括接收时刻,所述系统动态特征包括每个生产阶段的设备能够执行的剩余任务量;
将所述各作业的静态特征和动态特征以及所述系统动态特征输入调度模型,获得所述调度模型输出的所述各作业在每个生产阶段的作业执行顺序或者批次执行顺序;每个批次包括多个作业;
其中,所述调度模型为:基于多个样本作业的静态特征和动态特征、系统动态特征以及第一评论家critic网络,对第一演员actor网络进行训练后得到的模型,所述第一critic网络用于基于各样本作业对应的完工时长,评价第一actor网络的输出结果,针对每个样本作业,该样本作业对应的完工时长为该样本作业在第一个生产阶段的开始执行时刻与该样本作业在最后一个生产阶段的完成执行时刻之间的时间差。
2.根据权利要求1所述的方法,其特征在于,所述调度模型包括作业分批子模型和第一顺序确定子模型;所述调度模型通过以下步骤确定所述各作业在每个生产阶段的作业执行顺序或者批次执行顺序:
按照每个生产阶段的排列顺序,从第一个生产阶段开始,确定该生产阶段为顺序处理阶段还是批次处理阶段;
在该生产阶段为批次处理阶段时,将所述各作业的静态特征和动态特征以及系统动态特征输入所述作业分批子模型,得到对所述各作业划分的多个批次;将多个批次的作业的静态特征和动态特征以及系统动态特征输入第一顺序确定模块第一顺序确定子模型,获得多个批次在该生产阶段的批次执行顺序;针对每个批次,根据该批次的各作业的动态特征及批次执行顺序,计算该批次作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该批次作业的动态特征以及系统的动态特征;
在该生产阶段为顺序处理阶段时,将所述各作业的静态特征和动态特征以及系统动态特征输入所述第一顺序确定子模型,得到各作业在该生产阶段的作业执行顺序;针对每个作业,根据该作业的动态特征及作业执行顺序,计算该作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该作业的动态特征以及系统的动态特征。
3.根据权利要求2所述的方法,其特征在于,所述调度模型通过以下步骤训练获得:
步骤一,将多个样本作业的静态特征和动态特征以及系统动态特征输入第一actor网络,得到多个样本作业在每个生产阶段的作业执行顺序或者批次执行顺序;
步骤二,基于多个样本作业的动态特征,获得多个样本作业对应的完工时长中最长的完工时长,并基于所述最长的完工时长计算第一累计回报;
步骤三,将多个样本作业的静态特征和动态特征、所述第一累计回报以及系统动态特征输入所述第一critic网络,得到第一回报差异值;
步骤四,利用所述第一回报差异值,调整所述第一actor网络和所述第一critic网络的网络参数;
步骤五,若当前训练周期不为最后一个训练周期,则返回执行所述步骤一;其中,步骤一至步骤四为一个训练周期;
步骤六,若当前训练周期为最后一个训练周期,则将当前训练得到的第一actor网络作为所述调度模型。
4.根据权利要求2所述的方法,其特征在于,所述作业分批子模型包括第二顺序确定子模型;所述作业分批子模型通过以下步骤对多个作业划分批次:
对所述各作业的静态特征进行初始化处理;
基于各作业的静态特征和动态特征以及系统动态特征,通过所述第二顺序确定子模型选择一个作业,并确定选择的作业所属的批次,直至多个作业所属的批次确定完成。
5.根据权利要求4所述的方法,其特征在于,所述作业分批子模型通过以下步骤训练获得:
步骤1,将多个样本作业的静态特征和动态特征以及系统动态特征输入第二actor网络,得到对多个样本作业划分的多个批次;
步骤2,针对每个批次,基于该批次的各作业的加工时长之间的差异值以及该批次的各作业在上个生产阶段的执行完成时刻之间的差异值,计算该批次的差异值;
步骤3,根据多个批次的差异值,计算第二累计回报,并将多个样本作业的静态特征和动态特征、所述第二累计回报以及系统动态特征输入第二critic网络,得到第二回报差异值;
步骤4,利用所述第二回报差异值,调整所述第二actor网络和所述第二critic网络的网络参数;
步骤5,若当前训练周期不为最后一个训练周期,则返回执行所述步骤1;其中,步骤1至步骤4为一个训练周期;
步骤6,若当前训练周期为最后一个训练周期,则将当前训练得到的第二actor网络作为所述作业分批子模型。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
通过以下公式计算初始调度方案与重调度方案之间的总偏离度,每个调度方案包括各作业在每个生产阶段的作业执行顺序或者批次执行顺序;
DE=ωpPED+ωlLED+ωmMED+ωcCED
其中,DE为所述总偏离度,ωp、ωl、ωm和ωc为预设的权重系数,且ωp+ωl+ωm+ωc=1,PED表示所述初始调度方案与所述重调度方案中相同的作业在各生产阶段的开始执行时刻之间的差值总和,LED表示所述初始调度方案与所述重调度方案中相同阶段的执行作业总时长之间的差值总和,MED表示所述初始调度方案和所述重调度方案中的同一个作业在同一个生产阶段是否在同一个设备上执行,CED表示所述初始调度方案与所述重调度方案的作业整体加工时长之间的差值。
7.一种基于深度强化学习的动态生产调度装置,其特征在于,所述装置包括:
特征获取模块,用于获取待调度的各作业的静态特征和动态特征以及系统动态特征,所述作业的静态特征包括任务量和完成所需时长,所述作业的动态特征包括接收时刻,所述系统动态特征包括每个生产阶段的设备能够执行的剩余任务量;
顺序获得模块,用于将所述各作业的静态特征和动态特征以及所述系统动态特征,输入调度模型,获得所述调度模型输出的所述各作业在每个生产阶段的作业执行顺序或者批次执行顺序;每个批次包括多个作业;
其中,所述调度模型为:基于多个样本作业的静态特征和动态特征、系统动态特征以及第一评论家critic网络,对第一演员actor网络进行训练后得到的模型,所述第一critic网络用于基于各样本作业对应的完工时长,评价第一actor网络的输出结果,针对每个样本作业,该样本作业对应的完工时长为该样本作业在第一个生产阶段的开始执行时刻与该样本作业在最后一个生产阶段的完成执行时刻之间的时间差。
8.根据权利要求7所述的装置,其特征在于,所述调度模型包括作业分批子模型和第一顺序确定子模型;所述顺序获得模块具体用于通过所述调度模型执行以下步骤:
按照每个生产阶段的排列顺序,从第一个生产阶段开始,确定该生产阶段为顺序处理阶段还是批次处理阶段;
在该生产阶段为批次处理阶段时,将所述各作业的静态特征和动态特征以及系统动态特征输入所述作业分批子模型,得到对所述各作业划分的多个批次;将多个批次的作业的静态特征和动态特征以及系统动态特征输入第一顺序确定子模型,获得多个批次在该生产阶段的批次执行顺序;针对每个批次,根据该批次的各作业的动态特征及批次执行顺序,计算该批次作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该批次作业的动态特征以及系统的动态特征;
在该生产阶段为顺序处理阶段时,将所述各作业的静态特征和动态特征以及系统动态特征输入所述第一顺序确定子模型,得到各作业在该生产阶段的作业执行顺序;针对每个作业,根据该作业的动态特征及作业执行顺序,计算该作业在该生产阶段的开始执行时刻和执行完成时刻,并更新该作业的动态特征以及系统的动态特征。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括第一训练模块,所述第一训练模块用于执行以下步骤:
步骤一,将多个样本作业的静态特征和动态特征以及系统动态特征输入第一actor网络,得到多个样本作业在每个生产阶段的作业执行顺序或者批次执行顺序;
步骤二,基于多个样本作业的动态特征,获得多个样本作业对应的完工时长中最长的完工时长,并基于所述最长的完工时长计算第一累计回报;
步骤三,将多个样本作业的静态特征和动态特征、所述第一累计回报以及系统动态特征输入所述第一critic网络,得到第一回报差异值;
步骤四,利用所述第一回报差异值,调整所述第一actor网络和所述第一critic网络的网络参数;
步骤五,若当前训练周期不为最后一个训练周期,则返回执行所述步骤一;其中,步骤一至步骤四为一个训练周期;
步骤六,若当前训练周期为最后一个训练周期,则将当前训练得到的第一actor网络作为所述调度模型。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一项所述的方法步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011406748.3A CN112508398B (zh) | 2020-12-04 | 2020-12-04 | 基于深度强化学习的动态生产调度方法、装置及电子设备 |
US17/524,335 US20220179689A1 (en) | 2020-12-04 | 2021-11-11 | Dynamic Production Scheduling Method and Apparatus Based on Deep Reinforcement Learning, and Electronic Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011406748.3A CN112508398B (zh) | 2020-12-04 | 2020-12-04 | 基于深度强化学习的动态生产调度方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112508398A true CN112508398A (zh) | 2021-03-16 |
CN112508398B CN112508398B (zh) | 2022-09-16 |
Family
ID=74970033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011406748.3A Active CN112508398B (zh) | 2020-12-04 | 2020-12-04 | 基于深度强化学习的动态生产调度方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220179689A1 (zh) |
CN (1) | CN112508398B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113359648A (zh) * | 2021-07-01 | 2021-09-07 | 哈尔滨理工大学 | 相同设备上虚拟调整时长的综合调度算法 |
CN113591398A (zh) * | 2021-08-23 | 2021-11-02 | 北京邮电大学 | 基于深度强化学习的智能作业分批方法、装置及电子设备 |
CN113780839A (zh) * | 2021-09-15 | 2021-12-10 | 湖南视比特机器人有限公司 | 基于深度强化学习的演化式分拣作业调度方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109934332A (zh) * | 2018-12-31 | 2019-06-25 | 中国科学院软件研究所 | 基于评论家和双经验池的深度确定性策略梯度学习方法 |
CN110427006A (zh) * | 2019-08-22 | 2019-11-08 | 齐鲁工业大学 | 一种用于流程工业的多智能体协同控制系统及方法 |
CN110580196A (zh) * | 2019-09-12 | 2019-12-17 | 北京邮电大学 | 一种实现并行任务调度的多任务强化学习方法 |
-
2020
- 2020-12-04 CN CN202011406748.3A patent/CN112508398B/zh active Active
-
2021
- 2021-11-11 US US17/524,335 patent/US20220179689A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109934332A (zh) * | 2018-12-31 | 2019-06-25 | 中国科学院软件研究所 | 基于评论家和双经验池的深度确定性策略梯度学习方法 |
CN110427006A (zh) * | 2019-08-22 | 2019-11-08 | 齐鲁工业大学 | 一种用于流程工业的多智能体协同控制系统及方法 |
CN110580196A (zh) * | 2019-09-12 | 2019-12-17 | 北京邮电大学 | 一种实现并行任务调度的多任务强化学习方法 |
Non-Patent Citations (1)
Title |
---|
CHIEN-LIANG LIU等: "Actor-Critic Deep Reinforcement Learning for Solving Job Shop Scheduling Problems", 《IEEE》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113359648A (zh) * | 2021-07-01 | 2021-09-07 | 哈尔滨理工大学 | 相同设备上虚拟调整时长的综合调度算法 |
CN113359648B (zh) * | 2021-07-01 | 2022-12-09 | 哈尔滨理工大学 | 相同设备上虚拟调整时长的综合调度方法 |
CN113591398A (zh) * | 2021-08-23 | 2021-11-02 | 北京邮电大学 | 基于深度强化学习的智能作业分批方法、装置及电子设备 |
CN113591398B (zh) * | 2021-08-23 | 2023-05-23 | 北京邮电大学 | 基于深度强化学习的智能作业分批方法、装置及电子设备 |
CN113780839A (zh) * | 2021-09-15 | 2021-12-10 | 湖南视比特机器人有限公司 | 基于深度强化学习的演化式分拣作业调度方法及系统 |
CN113780839B (zh) * | 2021-09-15 | 2023-08-22 | 湖南视比特机器人有限公司 | 基于深度强化学习的演化式分拣作业调度方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112508398B (zh) | 2022-09-16 |
US20220179689A1 (en) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112508398B (zh) | 基于深度强化学习的动态生产调度方法、装置及电子设备 | |
Wang et al. | An improved particle swarm optimization algorithm for dynamic job shop scheduling problems with random job arrivals | |
Li et al. | An improved artificial bee colony algorithm with Q-learning for solving permutation flow-shop scheduling problems | |
Tang et al. | An improved differential evolution algorithm for practical dynamic scheduling in steelmaking-continuous casting production | |
Fattahi et al. | Dynamic scheduling in flexible job shop systems by considering simultaneously efficiency and stability | |
Mendez et al. | An MILP framework for batch reactive scheduling with limited discrete resources | |
TW201933199A (zh) | 動態智能排程方法及裝置 | |
JP2002521756A (ja) | 資産集約製造業者のためのコンピュータ実装される価値管理ツール | |
CN110837981B (zh) | 一种调度与控制协同处理方法及相关设备 | |
Bülbül et al. | A linear programming-based method for job shop scheduling | |
CN113867295A (zh) | 一种基于数字孪生的制造车间agv动态调度方法、系统、设备及存储介质 | |
Petrović et al. | Multi-objective scheduling of a single mobile robot based on the grey wolf optimization algorithm | |
CN111275358A (zh) | 派单匹配方法、装置、设备及存储介质 | |
CN115640898A (zh) | 一种基于ddqn算法的大规模柔性作业车间调度方法 | |
CN112465451B (zh) | 一种支持项目并行及多资源方案的优化方法 | |
CN112463532B (zh) | 构建snn工作负载自动映射器的方法及自动映射器 | |
CN111079974B (zh) | 一种信息处理方法、电子设备和计算机存储介质 | |
US20230086727A1 (en) | Method and information processing apparatus that perform transfer learning while suppressing occurrence of catastrophic forgetting | |
Okada et al. | A random key-based genetic algorithm approach for resource-constrained project scheduling problem with multiple modes | |
CN110826909B (zh) | 一种基于规则集的工作流执行方法 | |
CN116468137A (zh) | 一种分布式工艺规划与车间调度集成优化方法 | |
Gorczyca et al. | Makespan optimization in a single-machine scheduling problem with dynamic job ready times—Complexity and algorithms | |
CN112396290A (zh) | 一种支持双边模糊约束的mps/mrp集成规划方法 | |
CN112487780A (zh) | 一种订单数据排版优化方法及系统 | |
ElMaraghy et al. | Deadlock-free rescheduling in flexible manufacturing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |