CN116957172B - 基于深度强化学习的动态作业车间调度优化方法及系统 - Google Patents
基于深度强化学习的动态作业车间调度优化方法及系统 Download PDFInfo
- Publication number
- CN116957172B CN116957172B CN202311218413.2A CN202311218413A CN116957172B CN 116957172 B CN116957172 B CN 116957172B CN 202311218413 A CN202311218413 A CN 202311218413A CN 116957172 B CN116957172 B CN 116957172B
- Authority
- CN
- China
- Prior art keywords
- job
- state
- legal
- machine
- scheduling
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000002787 reinforcement Effects 0.000 title claims abstract description 22
- 238000005457 optimization Methods 0.000 title claims description 19
- 239000003795 chemical substances by application Substances 0.000 claims abstract description 74
- 239000013598 vector Substances 0.000 claims abstract description 56
- 239000011159 matrix material Substances 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims description 47
- 230000009471 action Effects 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 34
- 238000012549 training Methods 0.000 claims description 29
- 238000000605 extraction Methods 0.000 claims description 26
- 230000007704 transition Effects 0.000 claims description 19
- 239000000284 extract Substances 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 230000036962 time dependent Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000002068 genetic effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Educational Administration (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及动态作业车间调度技术领域,公开了基于深度强化学习的动态作业车间调度优化方法及系统,其中方法,包括:获取当前决策时刻的合法作业本身的作业特征,和合法作业当前操作完成后要访问的机器的机器特征,将所述作业特征和所述机器特征串联拼接后,组成一个合法作业的状态特征向量,将所有合法作业的状态特征向量进行拼接,得到状态矩阵;将状态矩阵输入到训练后的智能体中,训练后的智能体输出每一个作业对应的被调度概率,选择概率最高的作业进行调度,完成在动态作业环境下的优化调度。可以突破优先级规则所带来的限制,具有十分重大的实际应用价值。
Description
技术领域
本发明涉及动态作业车间调度技术领域,特别是涉及基于深度强化学习的动态作业车间调度优化方法及系统。
背景技术
本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
作业车间调度问题(JSSP)是一个复杂的组合优化问题,同时,该问题在制造业中有着十分重要的应用,合理的调度可以有效利用现有的生产资源,减少生产时间,提高生产效率。在解决作业车间调度问题JSSP时,通常是先假定一个静态的生产环境,所有的加工信息都已事先知道,然后制定一个确定性的调度计划,在加工过程中不进行修改,但是,在实际生产中,这样的解决方法并不是有效的,因为在实际生产中,总是存在一些不可知的动态事件,例如,订单的插入、取消或修改,机器故障,加工时间的变化等等,这些都是需要考虑在内的,尤其是在当今现代化的工业生产中,更要去考虑一些动态的事件。因此动态作业车间调度问题(DJSSP)更加适合现代化的工业生产,解决动态作业车间调度问题对于推动制造业发展提高生产力具有十分重大的意义。
目前有多种求解DJSSP的方法,其中最常用的是基于调度规则的方法,该方法采用特定的优先级规则(例如,先进先出,最短加工时间等)来在请求时调度作业。基于调度规则的方法具有简单性、可解释性和低计算复杂性的优点,可以快速响应动态事件。然而,传统的手动设计调度规则的方式是一个繁琐耗时的过程,需要大量的领域知识和代码工作。此外,并不存在一种调度规则适用于所有情景。
元启发式算法,例如,遗传算法、模拟退火算法、禁忌搜索算法等方法在求解静态JSSP时取得了不错的效果,虽然这些元启发式方法能获得高质量的调度方案,但是它们比较耗时,无法及时响应动态事件,因此,元启发式方法不适合直接去求解动态作业车间调度问题。
为了减少设计有效启发式算法的繁琐工作并减轻对专业知识的依赖,在过去的十年里,自动生成规则的方向已经得到了探索。在这个方向上,最流行的方法是基于遗传编程(GP)的超启发式方法,可以被定义为一种先进的自动搜索方法,它探索一个由低级启发式(例如规则)构成的搜索空间,以解决计算难题。尽管基于遗传编程GP的方法取得了良好的结果,但这些方法演化出的规则在整个调度过程中都是固定的,无法在面对不断变化的制造环境时自适应地解决问题。最近,深度强化学习(DRL)在自动学习解决复杂调度问题的策略方面表现出了良好的性能。与遗传编程GP不同,深度强化学习DRL方法是复杂的参数化技术,可以建立从环境状态到动作的端到端的映射,其中神经网络充当值或策略的表示。因此,深度强化学习DRL方法具有适应不同调度状态的能力,更加适合求解DJSSP。然而,大多数现有的工作集中在假设完全了解问题实例的静态问题上,这样难以应对具有随机作业到达的高度动态环境,例如,一些工作使用固定维度的向量或矩阵来表示状态,并采用多层感知器(MLP)或卷积神经网络(CNN)来提取状态特征,这些方法训练的策略无法解决不同规模的问题实例,因此不适用于动态问题。一些较新的方法利用图结构来捕捉不同调度状态中作业/操作与机器之间的复杂关系,并采用图神经网络(GNN)来设计端到端的调度策略,这些策略可以处理不同规模的问题实例,然而这些方法依旧无法处理作业随机到达的作业车间调度问题DJSSP,因为这些方法在构建图结构时需要用到所有作业的信息,在作业随机到达的作业车间调度问题DJSSP中,到达的总作业数量以及作业达到的时间都是未知的,但是,最近的一项工作通过扩展以往工作中图神经网络(GNN)的架构,只使用已到达的作业的操作来构建图,实现了作业车间调度问题DJSSP端到端的调度,然而受限于GNN网络结构的复杂性,此方法只能应用在小规模的问题上,无法扩展到大规模的实际应用中。在处理作业随机到达的作业车间调度问题DJSSP时最主流的DRL方法是采用现有的调度规则或自己设计的调度流程作为动作来应对作业的随机到达,但是这样最终的调度效果会受到调度规则的效果的限制,也就是说DRL训练效果的天花板受到了限制。
发明内容
为了解决现有技术的不足,本发明提供了基于深度强化学习的动态作业车间调度优化方法及系统;该方法可以处理任意规模的作业车间调度问题DJSSP,相较于基于图的深度强化学习DRL方法,更适合处理大规模的作业车间调度问题DJSSP,并且可以突破优先级规则所带来的限制,具有十分重大的实际应用价值。
一方面,提供了基于深度强化学习的动态作业车间调度优化方法,包括:
获取当前决策时刻的合法作业本身的作业特征,和合法作业当前操作完成后要访问的机器的机器特征,将所述作业特征和所述机器特征串联拼接后,组成一个合法作业的状态特征向量,将所有合法作业的状态特征向量进行拼接,得到状态矩阵;
将状态矩阵输入到训练后的智能体中,训练后的智能体输出每一个作业对应的被调度概率,选择概率最高的作业进行调度,完成在动态作业环境下的优化调度;
其中,训练后的智能体,包括:特征提取网络、策略网络和价值网络;训练后的智能体的特征提取网络,对状态矩阵进行特征提取,提取出状态特征向量; 训练后的智能体的策略网络,对状态特征向量进行处理,输出每一个作业对应的被调度概率。
另一方面,提供了基于深度强化学习的动态作业车间调度优化系统,包括:
获取模块,其被配置为:获取当前决策时刻的合法作业本身的作业特征,和合法作业当前操作完成后要访问的机器的机器特征,将所述作业特征和所述机器特征串联拼接后,组成一个合法作业的状态特征向量,将所有合法作业的状态特征向量进行拼接,得到状态矩阵;
调度模块,其被配置为:将状态矩阵输入到训练后的智能体中,训练后的智能体输出每一个作业对应的被调度概率,选择概率最高的作业进行调度,完成在动态作业环境下的优化调度;
其中,训练后的智能体,包括:特征提取网络、策略网络和价值网络;训练后的智能体的特征提取网络,对状态矩阵进行特征提取,提取出状态特征向量; 训练后的智能体的策略网络,对状态特征向量进行处理,输出每一个作业对应的被调度概率。
再一方面,还提供了一种电子设备,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,
其中,所述计算机可读指令被所述处理器运行时,执行上述第一方面所述的方法。
再一方面,还提供了一种存储介质,非暂时性存储计算机可读指令,其中,当非暂时性计算机可读指令由计算机执行时,执行第一方面所述方法的指令。
再一方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现上述第一方面所述的方法。
上述技术方案中的一个技术方案具有如下优点或有益效果:
首先,使用合法作业的信息来表征状态,即使用一个维度可变的矩阵来表征状态,这样的状态表征方式使得本发明可以轻松应对随机动态到达的作业。然后,再将这些合法作业的信息依次通过网络,得到这些合法作业的得分,然后再使用Softmax函数进而得到这些合法作业的概率分布,即动作的概率分布。
然后,将合法的作业作为动作,突破了传统深度强化学习(DRL)将调度规则作为动作的限制,具有更高的训练天花板。
最后,使用近端策略优化(PPO)算法来对智能体进行训练。本发明所公开的方法可以处理任意规模的动态作业车间调度问题,并且相比于以调度规则作为动作的DRL方法具有更高的训练天花板,可以更好的发挥出DRL的优势。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为实施例一的智能体内部网络架构图;
图2为实施例一的智能体工作流程图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
实施例一
本实施例提供了基于深度强化学习的动态作业车间调度优化方法;
如图1和图2所示,基于深度强化学习的动态作业车间调度优化方法,包括:
S101:获取当前决策时刻的合法作业本身的作业特征,和合法作业当前操作完成后要访问的机器的机器特征,将所述作业特征和所述机器特征串联拼接后,组成一个合法作业的状态特征向量,将所有合法作业的状态特征向量进行拼接,得到状态矩阵;
S102:将状态矩阵输入到训练后的智能体中,训练后的智能体输出每一个作业对应的被调度概率,选择概率最高的作业进行调度,完成在动态作业环境下的优化调度;
其中,训练后的智能体,包括:特征提取网络、策略网络和价值网络;
训练后的智能体的特征提取网络,对状态矩阵进行特征提取,提取出状态特征向量;
训练后的智能体的策略网络,对状态特征向量进行处理,输出每一个作业对应的被调度概率。
应理解地,输入到智能体的是由合法作业的信息组成的状态矩阵,而一个合法作业的信息又由两部分组成,即合法作业本身的特征和该作业当前操作完成后要访问的机器的特征/>,这两个特征向量拼接后得到对应合法作业的特征向量,即/>,然后在当前决策时刻的多个合法作业的特征信息组成状态矩阵/>,其中,为在决策时刻合法作业的数量,/>有时只包含了车间当中一部分的机器的特征,并不包含车间当中所有的机器的特征。
同时,有些待调度的作业并不属于合法作业,只有当作业待调度,同时与作业对应的机器空闲时,作业才合法。
然后,训练后的智能体输出的是与每一个作业对应的概率,选择概率高的作业来进行调度(训练结束后,训练过程中是根据概率进行采样得到动作),状态矩阵输入到网络(即特征提取网络和多层感知机)后可得到网络对合法作业的打分,然后再通过Softmax得到概率分布。在输入的时候把输入的流程看成一个one by one的处理过程,就是给决策时刻的合法作业一个接一个的打分,矩阵上的维度变化是/>通过网络变成得分向量/>。
进一步地,所述方法还包括:如果是非法作业,则对未完成的非法作业在机器队列中等待,对已完成的非法作业从车间中移除。
进一步地,所述S101:获取当前决策时刻的合法作业本身的作业特征,其中作业特征,包括:
当前就绪操作的处理时间、剩余操作的最大处理时间、剩余操作的最小处理时间、剩余操作的平均处理时间、剩余操作的总处理时间、剩余操作的数量、作业的完成率、和作业在完成其当前就绪操作后的松弛时间。
进一步地,所述S101:合法作业当前操作完成后要访问的机器的机器特征;其中,机器特征,包括:
(1)机器队列中作业的最大、最小、平均和总处理时间,分别定义如下:
;
;
;
;
(2)机器队列中作业的最大、最小、平均松弛时间,分别定义如下:
;
;
;
其中,为机器队列中等待作业的处理时间集合,/>为等待作业的松弛时间集合;然后,机器/>是作业/>在完成/>后要访问的下一个机器,如果/>是/>的最后一个,则一个合法作业对应的机器/>的机器特征为零向量。
其中,作业,包括:若干个操作;操作是指工序,一个作业有多个工序,一个工件在工厂加工有多道工序。
进一步地,所述智能体,包括:状态、动作、状态转移、奖励和策略;
其中,智能体的状态,是状态矩阵;所述状态矩阵是由所有合法作业的状态特征向量拼接而成,每个合法作业的状态特征向量,包括:串联的作业特征和机器特征;
所述作业特征,包括:当前就绪操作的处理时间、剩余操作的最大处理时间、剩余操作的最小处理时间、剩余操作的平均处理时间、剩余操作的总处理时间、剩余操作的数量、作业的完成率、和作业在完成其当前就绪操作后的松弛时间;
所述机器特征,包括:机器队列中作业的最大处理时间、最小处理时间、平均处理时间、总处理时间、机器队列作业的最大松弛时间、最小松弛时间、和平均松弛时间。
其中,松弛时间定义为:
;
其中,为作业/>的交货期,/>为系统时间,/>为剩余操作的处理时间总和。
作业,是指工件。
机器,是指用来完成作业的车间机器。
示例性地,对于状态,采用一种轻量级的表示方案,仅使用合法作业,使用合法作业这种设计,可以大幅度提升决策效率,轻松应对大规模问题,在作业随机到达的动态作业车间调度问题中,随着时间的增加,达到车间的作业数量不断增加,在每一次决策时如果不区分合法与非法,给所有作业打分是没有必要的,且效率低下的,因为已完成的作业或者是在机器队列中等待并且机器不空闲的作业是不需要被打分的,它们不能被调度。
一个作业若是合法的其将满足以下三条要求:
(1)作业已到达,但尚未完成;
(2)该作业它有一个可调度的操作(即/>是/>的第一个操作,或其直接前任已完成);
(3)操作所需的机器在当前时间/>处于空闲状态。
为了表示每个状态,首先在集合/>中收集所有合法作业。
然后,使用状态特征向量来表示每个有效作业/>,/>表示特征向量串联拼接,状态特征向量/>是两部分的连接,作业特征/>和机器特征/>。设/>是/>的就绪操作,/>是剩余操作的处理时间的集合,其中,代表操作的处理时间,/>为作业的下标,/>为操作的下标。
然后,定义以下特征来构建作业特征:
(1)当前就绪操作的处理时间;
(2)剩余操作的最大、最小、平均、总处理时间,分别定义如下:
;
;
;
。
(3)剩余操作的数量。
(4)作业的完成率。
(5)作业在完成其当前就绪操作后的松弛时间,定义为,其中,/>为作业/>的到期日。
对于机器特征,收集有关作业/>在完成/>后要访问的下一个机器/>的信息(如果/>是/>的最后一个操作,则使用零向量)。设/>为机器队列中等待的作业的操作的处理时间集合,/>为等待作业的松弛时间集合。然后机器/>的特征定义如下:
(1)机器队列中作业的最大、最小、平均和总处理时间,分别定义如下:
;
;
;
。
(2)机器队列中作业的最大、最小、平均松弛时间,分别定义如下:
;
;
。
通过上述定义,得到每一个合法作业的状态特征向量,然后再将这些状态特征向量拼接成矩阵来表征状态,状态/>是一个维度可变的矩阵,其中,为在决策时刻合法作业的数量,这个数量在不同的决策时刻可能会不同。
这种状态表征方式使得本发明可以灵活的应对随机到达的作业,并且相比于复杂的图的状态表征,本发明可以处理大规模DJSSP。
进一步地,智能体的动作,是选择一个合法的作业进行调度。
示例性地,在每个状态下,动作是选择一个合法的作业进行调度。因此,动作空间为/>,这是与时间相关的,其大小/>在调度过程中可能会发生变化。
选用合法的作业作为动作,不同于将规则或自己设计的调度流程作为动作的DRL方法,打破了动作效果的限制,具有更高的训练天花板。
进一步地,所述合法作业,是指:如果一个作业同时满足三种要求,则认定该作业是合法作业;三种要求:
(1)作业已到达,但是尚未完成;
(2)作业内部包括至少一个可调度的操作;
(3)作业内部所包含的可调度操作所需要的机器,在当前时刻处于空闲状态。
进一步地,训练后的智能体的状态转移,是基于状态和动作,将环境过渡到新的状态。
示例性地,状态转移,是基于状态和动作/>,环境过渡到新的状态/>。在仿真中,智能体执行动作/>后,迭代更新系统时间,直到存在合法作业,并且这些作业对应的机器队列中存在两个及以上的作业,这就是下一个决策点/>。
应理解地,本发明通过忽略机器队列中只有一个合法作业的琐碎状态来使转换更加高效。这是因为在这些状态下,智能体实际上没有选择,只能选择唯一的有效作业。在本发明的实现中,通过将状态刷新机制添加到系统时间更新中,当有可能时立即执行唯一的可用动作,并继续更新系统时间。
进一步地,奖励,是在状态转换过程中所有已调度作业造成的延迟时间估计的总和;
其中,每个已调度作业造成的延迟时间估计为第一部分和第二部分的总和;
其中,第一部分是指队列中所有作业在被选中作业处理完后延迟时间估计增量的总和,每个作业延迟时间估计增量是指:
;(1)
; (2)
其中,为下标为/>的作业的交货期,/>为当前系统时间,/>为被选中要调度作业的操作的处理时间,/>为机器/>的机器队列,/>为机器队列中所有作业的延迟时间的增加。
其中,第二部分是指:
;(3)
其中,为作业/>的就绪操作的完成时间,即/>,/>为机器/>上当前操作的完成的时间(即机器/>何时变为空闲),/>为下标为/>的作业的交货期,作业就是被选中要调度的作业,/>是指作业在当前机器处理完后,到下一台机器会产生的部分延迟时间。
示例性地,奖励是密集的,本发明的优化目标是平均延迟(MeanTardiness),因此,奖励是与延迟时间相关的。奖励设计的核心思想是估计执行动作/>后所造成的延迟时间。本发明从两个方面来估计这种影响。首先,在时间/>开始在机器/>上处理作业/>的动作可能导致队列/>中的所有其他作业的延迟时间增加,因为它们需要等待至少/>个时间单位才能被调度,其中/>是/>的就绪操作的加工时间。根据到期日/>,本发明可以计算出队列/>中每个作业/>的延迟时间的增加/>;公式(1)表达的含义为:如果/>已经在/>之前或同时到达,延迟时间将增加/>;如果/>处于所选作业执行期间,则延迟时间将增加/>;否则,延迟时间将不会增加。根据公式(1),计算延迟时间估计的第一部分,最后队列中所有作业延迟时间估计增量的总和/>根据公式(2)得到;
当作业的就绪操作完成时(即时间/>),如果它仍有未完成的操作,则/>将立即移到其下一个机器/>的队列中。第二部分估计了/>在队列/>中可能的等待时间。本发明可以计算出/>上当前操作的完成的时间(即何时变为空闲),表示为。如果/>,则当/>加入队列时机器/>正忙。根据/>的截止日期/>,本发明可以估计这个等待时间/>;
公式(2)计算的逻辑与公式(1)的类似。注意,如果,即当/>加入其队列时,/>是空闲的,本发明不能估计未知的延迟时间,因为本发明不知道/>上随后的作业调度决策以及是否会有新的作业加入队列。因此,在这种情况下,本发明直接设置。实际上,仅考虑使用公式(3)的确定情况已经能对总延迟时间有一个很好的近似。
基于上述两个部分,得到在时间调度作业/>造成的延迟时间的估计:
; (4)
和/>分别为上述定义的两部分增加的延迟时间,这两部分的和为在时调度一个作业/>产生的延迟时间,即/>。
由于状态刷新机制,多个作业可以在一个状态转换中被调度,表示为。因此,本发明将在此转换中所有已调度作业造成的延迟时间的估计相加作为奖励:
; (5)
在一次状态状态转移中可能会有多个作业被调度,因此,一个决策步的奖励就是把所有在状态转移中调度作业产生的延迟时间相加,为在/>到/>这个状态转移过程中调度的作业的集合,/>为在系统时间/>调度/>产生的延迟时间。
进一步地,训练后的智能体的策略,是给出每一个状态在所有动作上的概率分布。
示例性地,一个端到端策略为每个状态/>指定了一个在所有动作上的概率分布。最终的目标是找到最优策略/>,以最大化预期回报(即累积奖励),理想情况下应该等同于最小化平均延迟指标。
进一步地,所述训练后的智能体,训练过程包括:
构建训练集,所述训练集为智能体与环境进行交互获得的状态矩阵、动作以及奖励;
将训练集,输入到智能体中,对智能体进行训练;
智能体的特征提取网络,对状态矩阵进行特征提取,提取出状态特征向量;
智能体的策略网络,对状态特征向量进行处理,输出每一个作业对应的被调度概率,选择概率最高的作业进行调度,完成在动态作业环境下的优化调度;
智能体的价值网络,对状态特征向量进行处理,输出状态价值;
在训练过程中,智能体首先要与环境进行交互收集训练集样本数据,状态矩阵通过特征提取网络、决策网络后得到动作,执行动作后,环境返回奖励和下一个状态矩阵,不断迭代,当收集到设定数量的数据后,再通过近似策略优化算法PPO的损失函数来更新策略网络、价值网络、特征提取网络,获得训练后的智能体。
进一步地,所述特征提取网络,包括:依次连接的第一输入层、第一隐藏层、第二隐藏层、第三隐藏层、第四隐藏层和第一输出层。
进一步地,所述特征提取网络,用于提取状态矩阵的高级特征。
进一步地,所述策略网络,包括:依次连接的第二输入层、第五隐藏层、第六隐藏层、第七隐藏层、第八隐藏层、第二输出层和softmax激活函数层。
进一步地,所述策略网络,用于给作业打分,得到最终的调度动作。
进一步地,所述价值网络,包括:依次连接的求和池化层、第三输入层、第九隐藏层、第十隐藏层、第十一隐藏层、第十二隐藏层和第三输出层。
进一步地,所述价值网络,用于得到状态价值。
进一步地,所述训练后的智能体的特征提取网络,对合法作业进行特征提取,提取合法作业的状态特征矩阵,具体包括:
;
其中,为特征提取网络,/>为其参数,/>,/>为合法作业的数量。
进一步地,所述训练后的智能体的策略网络,对待调度作业的状态特征向量进行处理,输出调度动作,具体包括:
;
;
;
其中,为策略网络,/>为其参数,/>,为各个合法作业的概率分布,/>为合法作业的数量。
在决策过程中,本发明将合法作业的状态特征同时通过网络,以获得一个得分向量,并应用/>函数来获得这些动作的概率分布。这样的设计能够处理不同大小的合法作业集合,因此适应了动态作业车间调度问题DJSSP的需求。调度决策的具体流程可见图一的调度决策部分。在训练过程中动作根据对应的概率分布进行采样,在实际应用时,对于动作的选择采用贪心策略。
进一步地,所述方法,还包括:训练后的智能体的价值网络,对待调度作业的状态特征向量进行处理,输出状态价值,具体包括:
;
;
其中,表示求和池化操作,/>,/>,为一标量,/>为价值网络,/>为其参数。
首先,本发明考虑以下的动态调度过程。在每个决策点t(当新作业到达或操作完成时),智能体观察当前系统状态并做出决策,即选择一个合法的作业,并从当前系统时间立即开始执行。然后,环境过渡到下一个决策点t+1。在从t过渡到t+1的过程中,可能会安排多个作业。当操作/>完成时,相应的作业/>将被转移到其下一个操作/>对应的的机器队列中,并等待被调度。上述过程循环迭代,直到所有作业完成。
在训练方法上,采用近端策略优化(PPO)算法,并且PPO采用演员-评论家(actor-critic)架构,其中包括一个策略网络和一个价值网络。两个网络共享相同的特征提取网络,用于从之前定义的状态特征中提取高级特征。本发明将这三个网络都实现为多层感知机(MLP)。具体来说,特征提取网络是一个六层MLP,具有15维的输入层,四个维度为512的隐藏层,和一个维度为128的输出层。策略网络也是一个6层MLP,具有128维的输入层,512维的隐藏层,和1维的输出层。
价值网络由两部分组成:(1)一个求和池化层,将输入的128维高级特征按列求和,得到一个向量,以表示当前状态;(2)与策略网络具有相同结构的六层MLP,本发明将求和池化层得到的向量输入到该MLP中最后得到一个状态价值。本发明在所有网络中使用tanh作为激活函数。
实施例二
本实施例提供了基于深度强化学习的动态作业车间调度优化系统;
基于深度强化学习的动态作业车间调度优化系统,包括:
获取模块,其被配置为:获取当前决策时刻的合法作业本身的作业特征,和合法作业当前操作完成后要访问的机器的机器特征,将所述作业特征和所述机器特征串联拼接后,组成一个合法作业的状态特征向量,将所有合法作业的状态特征向量进行拼接,得到状态矩阵;
调度模块,其被配置为:将状态矩阵输入到训练后的智能体中,训练后的智能体输出每一个作业对应的被调度概率,选择概率最高的作业进行调度,完成在动态作业环境下的优化调度;
其中,训练后的智能体,包括:特征提取网络、策略网络和价值网络;训练后的智能体的特征提取网络,对状态矩阵进行特征提取,提取出状态特征向量; 训练后的智能体的策略网络,对状态特征向量进行处理,输出每一个作业对应的被调度概率。
此处需要说明的是,上述获取模块和优化模块对应于实施例一中的步骤S101 至S102,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.基于深度强化学习的动态作业车间调度优化方法,其特征是,包括:
获取当前决策时刻的合法作业本身的作业特征,和合法作业当前操作完成后要访问的机器的机器特征,将所述作业特征和所述机器特征串联拼接后,组成一个合法作业的状态特征向量,将所有合法作业的状态特征向量进行拼接,得到状态矩阵;
所述合法作业,是指:如果一个作业同时满足三种要求,则认定该作业是合法作业;三种要求:
(1)作业已到达,但是尚未完成;
(2)作业内部包括至少一个可调度的操作;
(3)作业内部所包含的可调度操作所需要的机器,在当前时刻处于空闲状态;
将状态矩阵输入到训练后的智能体中,训练后的智能体输出每一个作业对应的被调度概率,选择概率最高的作业进行调度,完成在动态作业环境下的优化调度;
其中,训练后的智能体,包括:特征提取网络、策略网络和价值网络;训练后的智能体的特征提取网络,对状态矩阵进行特征提取,提取出状态特征向量; 训练后的智能体的策略网络,对状态特征向量进行处理,输出每一个作业对应的被调度概率;
所述智能体,包括:状态、动作、状态转移、奖励和策略;
其中,智能体的状态,是状态矩阵;所述状态矩阵是由所有合法作业的状态特征向量拼接而成,每个合法作业的状态特征向量,包括:串联的作业特征和机器特征;
所述作业特征,包括:当前就绪操作的处理时间、剩余操作的最大处理时间、剩余操作的最小处理时间、剩余操作的平均处理时间、剩余操作的总处理时间、剩余操作的数量、作业的完成率、和作业在完成其当前就绪操作后的松弛时间;
所述机器特征,包括:机器队列中作业的最大处理时间、最小处理时间、平均处理时间、总处理时间、机器队列作业的最大松弛时间、最小松弛时间、和平均松弛时间;
所述状态特征向量为,状态矩阵为/>,状态矩阵是一个维度可变的矩阵,其中,/>为在决策时刻合法作业的数量,这个数量在不同的决策时刻可能会不同;
所述智能体的动作,是选择一个合法的作业进行调度;在每个状态下,动作是选择一个合法的作业进行调度;动作空间为/>,与时间相关,大小/>在调度过程中可能会发生变化;
所述训练后的智能体的状态转移,是基于状态和动作,将环境过渡到新的状态。
2.如权利要求1所述的基于深度强化学习的动态作业车间调度优化方法,其特征是,奖励,是在状态转换过程中所有已调度作业造成的延迟时间估计的总和;
其中,每个已调度作业造成的延迟时间估计为第一部分和第二部分的总和;
其中,第一部分是指队列中所有作业在被选中作业处理完后延迟时间估计增量的总和,每个作业延迟时间估计增量是指:
;(1)
;(2)
其中,为下标为/>的作业的交货期,/>为当前系统时间,/>为被选中要调度作业的操作的处理时间,/>为机器/>的机器队列,/>为机器队列中所有作业的延迟时间的增加;
其中,第二部分是指:
;(3)
其中,为作业/>的就绪操作的完成时间,/>,/>为机器上当前操作的完成的时间,/>为下标为/>的作业的交货期,作业/>就是被选中要调度的作业,/>是指作业在当前机器处理完后,到下一台机器会产生的部分延迟时间。
3.如权利要求1所述的基于深度强化学习的动态作业车间调度优化方法,其特征是,所述训练后的智能体,训练过程包括:
构建训练集,所述训练集为智能体与环境进行交互获得的状态矩阵、动作以及奖励;
将训练集,输入到智能体中,对智能体进行训练;
智能体的特征提取网络,对状态矩阵进行特征提取,提取出状态特征向量;
智能体的策略网络,对状态特征向量进行处理,输出每一个作业对应的被调度概率,选择概率最高的作业进行调度,完成在动态作业环境下的优化调度;
智能体的价值网络,对状态特征向量进行处理,输出状态价值;
在训练过程中,智能体首先要与环境进行交互收集训练集样本数据,状态矩阵通过特征提取网络、决策网络后得到动作,执行动作后,环境返回奖励和下一个状态矩阵,不断迭代,当收集到设定数量的数据后,再通过近似策略优化算法的损失函数来更新策略网络、价值网络、特征提取网络,获得训练后的智能体。
4.如权利要求1所述的基于深度强化学习的动态作业车间调度优化方法,其特征是,所述方法还包括:如果是非法作业,则对未完成的非法作业在机器队列中等待,对已完成的非法作业从车间中移除。
5.如权利要求1所述的基于深度强化学习的动态作业车间调度优化方法,其特征是,所述特征提取网络,包括:依次连接的第一输入层、第一隐藏层、第二隐藏层、第三隐藏层、第四隐藏层和第一输出层。
6.基于深度强化学习的动态作业车间调度优化系统,其特征是,包括:
获取模块,其被配置为:获取当前决策时刻的合法作业本身的作业特征,和合法作业当前操作完成后要访问的机器的机器特征,将所述作业特征和所述机器特征串联拼接后,组成一个合法作业的状态特征向量,将所有合法作业的状态特征向量进行拼接,得到状态矩阵;
所述合法作业,是指:如果一个作业同时满足三种要求,则认定该作业是合法作业;三种要求:
(1)作业已到达,但是尚未完成;
(2)作业内部包括至少一个可调度的操作;
(3)作业内部所包含的可调度操作所需要的机器,在当前时刻处于空闲状态;
调度模块,其被配置为:将状态矩阵输入到训练后的智能体中,训练后的智能体输出每一个作业对应的被调度概率,选择概率最高的作业进行调度,完成在动态作业环境下的优化调度;
其中,训练后的智能体,包括:特征提取网络、策略网络和价值网络;训练后的智能体的特征提取网络,对状态矩阵进行特征提取,提取出状态特征向量; 训练后的智能体的策略网络,对状态特征向量进行处理,输出每一个作业对应的被调度概率;
所述智能体,包括:状态、动作、状态转移、奖励和策略;
其中,智能体的状态,是状态矩阵;所述状态矩阵是由所有合法作业的状态特征向量拼接而成,每个合法作业的状态特征向量,包括:串联的作业特征和机器特征;
所述作业特征,包括:当前就绪操作的处理时间、剩余操作的最大处理时间、剩余操作的最小处理时间、剩余操作的平均处理时间、剩余操作的总处理时间、剩余操作的数量、作业的完成率、和作业在完成其当前就绪操作后的松弛时间;
所述机器特征,包括:机器队列中作业的最大处理时间、最小处理时间、平均处理时间、总处理时间、机器队列作业的最大松弛时间、最小松弛时间、和平均松弛时间;
所述状态特征向量为,状态矩阵为/>,状态矩阵是一个维度可变的矩阵,其中,/>为在决策时刻合法作业的数量,这个数量在不同的决策时刻可能会不同;
所述智能体的动作,是选择一个合法的作业进行调度;在每个状态下,动作是选择一个合法的作业进行调度;动作空间为/>,与时间相关,大小/>在调度过程中可能会发生变化;
所述训练后的智能体的状态转移,是基于状态和动作,将环境过渡到新的状态。
7.一种电子设备,其特征是,包括:
存储器,用于非暂时性存储计算机可读指令;以及处理器,用于运行所述计算机可读指令,其中,所述计算机可读指令被所述处理器运行时,执行上述权利要求1-5任一项所述的方法。
8.一种存储介质,其特征是,非暂时性存储计算机可读指令,其中,当非暂时性计算机可读指令由计算机执行时,执行所述权利要求1-5任一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311218413.2A CN116957172B (zh) | 2023-09-21 | 2023-09-21 | 基于深度强化学习的动态作业车间调度优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311218413.2A CN116957172B (zh) | 2023-09-21 | 2023-09-21 | 基于深度强化学习的动态作业车间调度优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116957172A CN116957172A (zh) | 2023-10-27 |
CN116957172B true CN116957172B (zh) | 2024-01-16 |
Family
ID=88449584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311218413.2A Active CN116957172B (zh) | 2023-09-21 | 2023-09-21 | 基于深度强化学习的动态作业车间调度优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116957172B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018197653A (ja) * | 2017-05-22 | 2018-12-13 | 日本電信電話株式会社 | 動的潜在コスト推定装置、方法、及びプログラム |
CN112149987A (zh) * | 2020-09-17 | 2020-12-29 | 清华大学 | 基于深度强化学习的多目标柔性作业车间调度方法和装置 |
CN113792924A (zh) * | 2021-09-16 | 2021-12-14 | 郑州轻工业大学 | 一种基于Deep Q-network深度强化学习的单件作业车间调度方法 |
WO2022135066A1 (zh) * | 2020-12-25 | 2022-06-30 | 南京理工大学 | 一种基于时序差分的混合流水车间调度方法 |
CN115034653A (zh) * | 2022-06-27 | 2022-09-09 | 暨南大学 | 一种基于transformer的端到端动态作业车间调度模型 |
KR102518825B1 (ko) * | 2022-11-25 | 2023-04-06 | 이정수 | 자기 개발을 위한 강화 학습 시스템 |
CN116500986A (zh) * | 2023-04-20 | 2023-07-28 | 华中科技大学 | 一种分布式作业车间的优先调度规则生成方法及系统 |
CN116542445A (zh) * | 2023-04-07 | 2023-08-04 | 沈阳工业大学 | 基于深度强化学习的装备制造车间智能调度方法和系统 |
-
2023
- 2023-09-21 CN CN202311218413.2A patent/CN116957172B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018197653A (ja) * | 2017-05-22 | 2018-12-13 | 日本電信電話株式会社 | 動的潜在コスト推定装置、方法、及びプログラム |
CN112149987A (zh) * | 2020-09-17 | 2020-12-29 | 清华大学 | 基于深度强化学习的多目标柔性作业车间调度方法和装置 |
WO2022135066A1 (zh) * | 2020-12-25 | 2022-06-30 | 南京理工大学 | 一种基于时序差分的混合流水车间调度方法 |
CN113792924A (zh) * | 2021-09-16 | 2021-12-14 | 郑州轻工业大学 | 一种基于Deep Q-network深度强化学习的单件作业车间调度方法 |
CN115034653A (zh) * | 2022-06-27 | 2022-09-09 | 暨南大学 | 一种基于transformer的端到端动态作业车间调度模型 |
KR102518825B1 (ko) * | 2022-11-25 | 2023-04-06 | 이정수 | 자기 개발을 위한 강화 학습 시스템 |
CN116542445A (zh) * | 2023-04-07 | 2023-08-04 | 沈阳工业大学 | 基于深度强化学习的装备制造车间智能调度方法和系统 |
CN116500986A (zh) * | 2023-04-20 | 2023-07-28 | 华中科技大学 | 一种分布式作业车间的优先调度规则生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
《A Deep Reinforcement Learning Approach for Resource-Constrained Project Scheduling》;Xiaohan Zhao, Wen Song, Qiqiang Li et al.;《IEEE Symposium Series on Computational Intelligence (IEEE SSCI)》;1226-1234 * |
Also Published As
Publication number | Publication date |
---|---|
CN116957172A (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109960576B (zh) | 一种面向cpu-gpu异构的低能耗任务调度策略 | |
CN108122032A (zh) | 一种神经网络模型训练方法、装置、芯片和系统 | |
CN110187965B (zh) | 神经网络的运行优化及数据处理方法、设备及存储介质 | |
CN111353646B (zh) | 带切换时间的炼钢柔性调度优化方法、系统、介质及设备 | |
EP4100888A1 (en) | Computational graph optimization | |
CN115880132B (zh) | 图形处理器、矩阵乘法任务处理方法、装置及存储介质 | |
CN110889507A (zh) | 一种量子程序转有向无环图的方法、装置、存储介质及电子装置 | |
CN112732436B (zh) | 一种多核处理器-单图形处理器的深度强化学习加速方法 | |
CN115345285B (zh) | 基于gpu的时序图神经网络训练方法、系统及电子设备 | |
CN116500986A (zh) | 一种分布式作业车间的优先调度规则生成方法及系统 | |
CN115293623A (zh) | 一种生产调度模型的训练方法、装置、电子设备及介质 | |
CN114897133A (zh) | 一种通用可配置的Transformer硬件加速器及其实现方法 | |
CN116957172B (zh) | 基于深度强化学习的动态作业车间调度优化方法及系统 | |
CN117647960A (zh) | 一种基于深度强化学习的车间调度方法、装置和系统 | |
CN112527304B (zh) | 基于异构平台的自适应节点融合编译优化方法 | |
CN108228323A (zh) | 基于数据本地性的Hadoop任务调度方法及装置 | |
WO2022057459A1 (zh) | 一种基于Tensorcore处理int4数据类型的方法、系统、设备及介质 | |
CN115330683A (zh) | 一种基于fpga的目标快速检测系统 | |
CN102063308B (zh) | 一种用于地震勘探资料处理流程控制的方法 | |
CN111340224B (zh) | 适用于低资源嵌入式芯片的cnn网络的加速设计方法 | |
WO2020051918A1 (zh) | 神经元电路、芯片、系统及其方法、存储介质 | |
Le Hai et al. | IRLS: An Improved Reinforcement Learning Scheduler for High Performance Computing Systems | |
US10387155B2 (en) | Controlling register bank access between program and dedicated processors in a processing system | |
CN110716522A (zh) | 基于任意时间a*启发式搜索的制造企业车间调度优化方法 | |
Khachumov et al. | A method for synthesis of specialized processors to support on-board scheduling of periodic tasks |
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 |