CN117973811A - 一种基于深度强化学习的生产调度方法 - Google Patents

一种基于深度强化学习的生产调度方法 Download PDF

Info

Publication number
CN117973811A
CN117973811A CN202410372309.7A CN202410372309A CN117973811A CN 117973811 A CN117973811 A CN 117973811A CN 202410372309 A CN202410372309 A CN 202410372309A CN 117973811 A CN117973811 A CN 117973811A
Authority
CN
China
Prior art keywords
yes
job
jumping
executing
emergency
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
Application number
CN202410372309.7A
Other languages
English (en)
Other versions
CN117973811B (zh
Inventor
陆少军
王永奇
胡朝明
马崇轺
张栩涓
胡池伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202410372309.7A priority Critical patent/CN117973811B/zh
Publication of CN117973811A publication Critical patent/CN117973811A/zh
Application granted granted Critical
Publication of CN117973811B publication Critical patent/CN117973811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于深度强化学习的生产调度方法,涉及生产控制技术领域。本发明与之前的生产调度模型相比,改进了现有技术限于特定规则或方法的不足,解决了通用性差,需要大量计算资源,且无法适应大规模问题或需要快速决策的实时问题,基于深度强化学习方法对智能代理进行训练和学习设计调度规则,并进行调度,以提高制造业企业的生产效率;可以实时调整任务分配和工作流程,以确保生产计划在生产需求和设备状态不断变化时的稳定性和一致性;提高了生产车间运作的效率、灵活性和竞争力;适用于复杂设备的制造,通过与智能制造设备和***交互,深度强化学习算法可以找到最佳控制技术,最大限度地提高生产率和资源利用率。

Description

一种基于深度强化学习的生产调度方法
技术领域
本发明涉及生产控制技术领域,尤其涉及一种基于深度强化学习的生产调度方法。
背景技术
传统调度通常是静态的,是基于固定的计划和规则制定的,即不考虑外部干扰和不确定性。旨在最大程度地提高生产效率和资源利用率。但这也意味着它们不能适应实际生产环境中的波动和变化,如机器故障、紧急订单、***等。传统模型很难同时满足多个目标,在实际生产中,通常存在多个冲突的调度目标,如最大化利润、最小化交货时间、最小化生产成本等。
动态柔性作业车间调度问题是一个典型的组合优化问题,在近年来得到广泛的重视和研究。它广泛的存在于现代化生产的各个行业,如:芯片加工、汽车制造、食品加工等。动态柔性作业车间调度是动态调度,有紧急插单,机器故障等事件发生,其基于实时数据和算法,能够实时适应变化,重新分配资源和任务,以满足新的需求和条件,同时注重提高效率、灵活性、客户满意度、质量控制和适应性。因此,对具有紧急作业***和动态作业到达的动态柔性作业车间调度问题进行研究具有很强的现实意义。
传统调度模型中对于动态柔性作业车间调度中同时考虑多个动态事件的研究较少。且没有将动态作业到达和紧急作业***同时考虑并求解,而实际生产环境中,这些因素可能会同时存在,这一复杂问题的解决是破解企业生产难题的关键,而传统的调度模型并不能解决这一问题。现有技术中,智能算法被广泛应用于解决各类动态柔性作业车间调度问题,尤其是启发式算法。但启发式算法通常需要特定于问题的启发式规则或方法。这意味着它们可能不适用于不同类型的调度问题,或者需要根据问题进行调整,因此不够通用。此外,在某些情况下,启发式算法可能需要大量计算资源,尤其是在寻找更精确的解决方案时。这可能使它们不适合大规模问题或需要快速决策的实时问题。
为了解决上述问题,本发明提出一种基于深度强化学习的生产调度方法。
发明内容
本发明的目的在于提出一种基于深度强化学习的生产调度方法以解决背景技术中所提出的问题:
现有技术限于特定规则或方法,导致通用性不够,且需要大量计算资源,无法适应大规模问题或需要快速决策的实时问题。
为了实现上述目的,本发明采用了如下技术方案:
一种基于深度强化学习的生产调度方法,包括:
S1:初始化经验回放缓冲区,容量大小设置为/>
S2:初始化在线网络,设置网络参数为/>,初始化目标/>网络,设置网络参数为
S3:初始化贪心值,设置最小贪心值/>,置贪心值衰减值,设置训练数据条数总数为/>,当前数据为第/>条;
S4:输入第条数据中的车间环境信息,包含作业数量/>,机器台数/>,所有作业的操作的总数量/>,每个作业的操作数量/>,每个作业的一般加工时间;每个作业的到期时间/>;每个作业的到达时间/>,每个作业的紧急程度/>,每个作业的估计的平均完工时间/>
S5:初始化完工状态为未完工,初始化第/>条数据的车间环境的状态/>,计算更新的贪心值/>,其中/>为更新前的贪心值,设置第/>条数据的车间中已完成的操作数为/>
S6:判断是否成立,若成立,则从动作空间中随机选择一个动作/>,否则将状态/>输入在线/>网络进行计算得到/>值最大的动作
S7:根据动作规则得到待调度的作业/>和机器/>
S8:从车间环境中获取所有作业的已加工完成的操作的完工时间中最大的一个完工时间
S9:将作业的下一个操作分配在机器/>上进行加工;
S10:
S11:若成立,则/>
S12:获取车间环境中的状态
S13:计算作业的剩余加工时间/>
S14:将,作业/>的第/>个操作的完工时间/>,作业/>的到期时间/>和/>作为输入计算奖励/>
S15:将存入经验回放缓冲区/>
S16:对神经网络进行经验回放训练;
S17:更新状态
S18:判断是否成立,如果成立执行S19,否则返回S6;
S19:,判断/>是否成立,如果成立,则返回S4,否则执行S20;
S20:输出训练完成的在线网络,并基于在线/>网络进行生产调度。
优选地,S4中所述作业的到期时间计算如下:
其中,为第/>个作业的到达时间,/>为第/>个作业的估计的平均完工时间;
其中,为第/>个作业第/>个操作在第/>个机台上的完工时间。
优选地,S5中车间环境状态的计算具体如下:
为机器/>上一个操作的完工时间;/>为作业/>当前最后一次加工操作的完工时间;/>为作业/>当前完工的操作数;若/>分配给机器/>,则分配判断值/>;否则/>
机器平均利用率计算如下:
机器平均利用率的标准差计算如下:
操作完成率计算如下:
其中,表示每个作业中包含的操作数;
每个车间估计的迟到率计算如下:
S5.1.1:计算时刻所有机器的上一个操作的平均完工时间
S5.1.2:初始化估计的迟到工作的数量,初始化/>
S5.1.3:判断是否成立,如果成立则执行S5.1.4,否则调转至S5.1.10;
S5.1.4:初始化作业的预计剩余加工时间/>,初始化
S5.1.5:计算操作估计加工时间/>
S5.1.6:更新剩余加工时间
S5.1.7:判断是否成立,如果成立则执行S5.1.8,否则,并跳转至S5.1.11;
S5.1.8:,跳转至S5.1.骤10;
S5.1.9:判断是否成立,如果成立则返回S5.1.3,否则跳转至S5.1.12;
S5.1.10:,跳转至S5.1.9;
S5.1.11:判断是否成立,如果成立则跳转至S5.1.5,否则跳转至S5.1.10;
S5.1.12:计算并输出估计的迟到率
实际迟到率:
S5.2.1:初始化估计的迟到工作的数量,初始化/>
S5.2.2:判断是否成立,如果成立则执行S5.2.3,否则跳转至S5.2.5;
S5.2.3:判断是否成立,如果成立则执行S5.2.4,否则跳转至S5.2.5;
S5.2.4:
S5.2.5:
S5.2.6:判断是否成立,如果成立则跳转至S5.2.2,否则执行S5.2.7;
S5.2.7:计算并输出实际迟到率
紧急作业完成率:
S5.3.1:初始化紧急作业数,初始化已完工的紧急作业数,初始化/>
S5.3.2:判断作业的紧急参数/>是否成立,如果成立则跳转到S5.3.6,否则执行S5.3.3;
S5.3.3:
S5.3.4:判断是否成立,如果成立执行S5.3.5,否则跳转至S5.3.6;
S5.3.5:
S5.3.6:
S5.3.7:判断是否成立,如果成立则跳转至S5.3.2,否则执行S5.3.8;
S5.3.8:计算并输出紧急作业完成率
作业完成率:
S5.4.1:初始化完工作业数,初始化/>
S5.4.2:判断是否成立,如果成立执行S5.4.3,否则跳转至S5.4.4;
S5.4.3:
S5.4.4:
S5.4.5:判断是否成立,如果成立则跳转至S5.4.2,否则执行S5.4.6;
S5.4.6:计算并输出作业完成率
紧急操作的完成率:
S5.5.1:初始化紧急操作数,初始化已完工的紧急操作数,初始化/>
S5.5.2:判断作业的紧急参数/>是否成立,如果成立则跳转到S5.5.4,否则执行S5.5.3;
S5.5.3:
S5.5.4:
S5.5.5:判断是否成立,如果成立则跳转至S5.5.2,否则执行S5.5.6;
S5.5.6:计算并输出紧急作业完成率
优选地,S6中所述动作空间中的车间动作包括如下的9个动作:
动作1:
S6.1.1:初始化
S6.1.2:判断是否成立,如果成立执行S6.1.3,否则跳转至S6.1.7;
S6.1.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.1.4,否则跳转至S6.1.5;
S6.1.4:将作业存入未完成的紧急作业集合/>,跳转至S6.1.6;
S6.1.5:将作业存入未完成的普通作业集合/>
S6.1.6:判断判断是否成立,如果成立则执行S6.1.7,否则跳转至S6.1.8;
S6.1.7:,跳转至S6.1.2;
S6.1.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.1.9,否则跳转至S6.1.10;
S6.1.9:未完成的普通作业集合中距离到期日最近的作业被选中,跳转至S6.1.11;
S6.1.10:未完成的紧急作业集合中距离到期日最近的作业被选中
S6.1.11:可加工作业的机器集合中最早完工的机器被选中
S6.1.12:返回选中的作业和机器/>
动作2:
S6.2.1:初始化
S6.2.2:判断是否成立,如果成立执行S6.2.3,否则跳转至S6.2.7;
S6.2.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.2.4,否则跳转至S6.2.5;
S6.2.4:将作业存入未完成的紧急作业集合/>,跳转至S6.2.6;
S6.2.5:将作业存入未完成的普通作业集合/>
S6.2.6:判断判断是否成立,如果成立则执行S6.2.7,否则跳转至S6.2.8;
S6.2.7:,跳转至S6.2.2;
S6.2.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.2.9,否则跳转至S6.2.10;
S6.2.9:未完成的普通作业集合中距离到期日最近的作业被选中,跳转至S6.2.11;
S6.2.10:未完成的紧急作业集合中距离到期日最近的作业被选中
S6.2.11:可加工作业的机器集合中负载最小的机器被选中
S6.2.12:返回选中的作业和机器/>
动作3:
S6.3.1:初始化
;S6.3.2:判断是否成立,如果成立执行S6.3.3,否则跳转至S6.3.7;
S6.3.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.3.4,否则跳转至S6.3.5;
S6.3.4:将作业存入未完成的紧急作业集合/>,跳转至S6.3.6;
S6.3.5:将作业存入未完成的普通作业集合/>
S6.3.6:判断判断是否成立,如果成立则执行S6.3.7,否则跳转至S6.3.8;
S6.3.7:,跳转至S6.3.2;
S6.3.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.3.9,否则跳转至S6.3.10;
S6.3.9:未完成的普通作业集合中具有最大剩余估计加工时间的作业被选中/>,跳转至S6.3.11;
S6.3.10:未完成的紧急作业集合中具有最大剩余估计加工时间的作业被选中/>
S6.3.11:可加工作业的机器集合中最早完工的机器被选中
S6.3.12:返回选中的作业和机器/>
动作4:
S6.4.1:初始化
S6.4.2:判断是否成立,如果成立执行S6.4.3,否则跳转至S6.4.7;
S6.4.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.4.4,否则跳转至S6.4.5;
S6.4.4:将作业存入未完成的紧急作业集合/>,跳转至S6.4.6;
S6.4.5:将作业存入未完成的普通作业集合/>
S6.4.6:判断判断是否成立,如果成立则执行S6.4.7,否则跳转至S6.4.8;
S6.4.7:,跳转至S6.4.2;
S6.4.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.4.9,否则跳转至S6.4.10;
S6.4.9:未完成的普通作业集合中具有最大剩余估计加工时间的作业被选中/>,跳转至S6.4.11;
S6.4.10:未完成的紧急作业集合中具有最大剩余估计加工时间的作业被选中/>
S6.4.11:可加工作业的机器集合中负载最小的机器被选中
S6.4.12:返回选中的作业和机器/>
动作5:
S6.5.1:初始化
S6.5.2:判断是否成立,如果成立执行S6.5.3,否则跳转至S6.5.7;
S6.5.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.5.4,否则跳转至S6.5.5;
S6.5.4:将作业存入未完成的紧急作业集合/>,跳转至S6.5.6;
S6.5.5:将作业存入未完成的普通作业集合/>
S6.5.6:判断判断是否成立,如果成立则执行S6.5.7,否则跳转至S6.5.8;
S6.5.7:,跳转至S6.5.2;
S6.5.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.5.9,否则跳转至S6.5.10;
S6.5.9:未完成的普通作业集合中具有最早可开始加工时间的作业被选中/>,跳转至S6.5.11;
S6.5.10:未完成的紧急作业集合中具有最早可开始加工时间的作业被选中/>
S6.5.11:可加工作业的机器集合中最早完工的机器被选中
S6.5.12:返回选中的作业和机器/>
动作6:
S6.6.1:初始化
S6.6.2:判断是否成立,如果成立执行S6.6.3,否则跳转至S6.6.7;
S6.6.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.6.4,否则跳转至S6.6.5;
S6.6.4:将作业存入未完成的紧急作业集合/>,跳转至S6.6.6;
S6.6.5:将作业存入未完成的普通作业集合/>
S6.6.6:判断判断是否成立,如果成立则执行S6.6.7,否则跳转至S6.6.8;
S6.6.7:,跳转至S6.6.2;
S6.6.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.6.9,否则跳转至S6.6.10;
S6.6.9:未完成的普通作业集合中具有最早可开始加工时间的作业被选中/>,跳转至S6.6.11;
S6.6.10:未完成的紧急作业集合中具有最早可开始加工时间的作业被选中/>
S6.6.11:可加工作业的机器集合中负载最小的机器被选中
S6.6.12:返回选中的作业和机器/>
动作7:
S6.7.1:计算时刻所有机器上上一个操作的平均完工时间,初始化/>
S6.7.2:判断是否成立,如果成立执行S6.7.3,否则跳转至S6.7.9;
S6.7.3:初始化,初始化作业/>的估计剩余加工时间
S6.7.4:计算操作估计加工时间/>
S6.7.5:
S6.7.6:判断是否成立,如果成立将作业/>存入估计迟到的作业集合/>,否则将作业/>存入估计不迟到的作业集合/>;/>
S6.7.7:
S6.7.8:判断是否成立,如果成立则跳转至S6.7.4,否则执行S6.7.9;
S6.7.9:
S6.7.10:判断是否成立,如果成立则跳转至S6.7.2,否则执行S6.7.11;
S6.7.11:未完工的紧急作业的集合
S6.7.12:判断为空是否成立,如果成立则执行S6.7.13,否则跳转至14;
S6.7.13:判断估计迟到的作业集合为空是否成立,如果成立则选择该集合中的估计迟到时间最大的作业,否则从估计不迟到的作业集合中选择估计迟到时间最大的作业,跳转至15;
S6.7.14:未完工的紧急作业的集合中随机选择一个作业
S6.7.15:可加工作业的机器集合中最早完工的机器被选中
S6.7.16:返回选中的作业和机器/>
动作8:
S6.8.1:计算时刻所有机器上上一个操作的平均完工时间,初始化/>
S6.8.2:判断是否成立,如果成立执行S6.8.3,否则跳转至S6.8.9;
S6.8.3:初始化,初始化作业/>的估计剩余加工时间
S6.8.4:计算操作估计加工时间/>
S6.8.5:;/>
S6.8.6:判断是否成立,如果成立将作业/>存入估计迟到的作业集合/>,否则将作业/>存入估计不迟到的作业集合/>
S6.8.7:
S6.8.8:判断是否成立,如果成立则跳转至S6.8.4,否则执行S6.8.9;
S6.8.9:
S6.8.10:判断是否成立,如果成立则跳转至S6.8.2,否则执行S6.8.11;
S6.8.11:未完工的紧急作业的集合
S6.8.12:判断为空是否成立,如果成立则执行S6.8.13,否则跳转至14;
S6.8.13:判断估计迟到的作业集合为空是否成立,如果成立则选择该集合中的估计迟到时间最大的作业,否则从估计不迟到的作业集合中选择估计迟到时间最大的作业,跳转至15;
S6.8.14:未完工的紧急作业的集合中随机选择一个作业
S6.8.15:可加工作业的机器集合中负载最小的机器被选中
S6.8.16:返回选中的作业和机器/>
动作9:
随机选择一个未完工的作业和机器/>,并返回
优选地,所述S8具体如下:
S8.1:初始化,初始化:/>
S8.2:判断机器上一个操作的完工时间/>是否成立,如果成立则/>
S8.4:
S8.5:判断是否成立,如果成立则跳转至S8.2,否则执行S8.6;
S8.6:返回/>
优选地,所述S9按照以下步骤执行:
S9.1:作业的下一个操作
S9.2:下一个作业分配的机器
优选地,所述S13具体如下:
S13.1:初始化,初始化作业/>的估计剩余加工时间;
S13.2:计算操作估计加工时间
S13.3:
优选地,所述S14具体如下:
S14.1:判断是否成立,如果成立则,否则/>
S14.2:判断是否成立,如果成立则,否则/>
S14.3:,返回/>
优选地,所述S15具体如下:
S15.1:判断经验存放缓冲区是否存满,如果未满,则执行S15.2,否则跳转至S15.3;
S15.2:将作为一条数据存入经验存放缓冲区/>的最后;
S15.3:将经验存放缓冲区的第一条数据删除,将作为一条数据存入经验存放缓冲区的最后。
优选地,所述S16具体如下:。
S16.1:经验回放缓冲区中的数据条数大于最低数据条数/>是否成立,如果成立则执行S16.2,否则终止以下所有步骤,返回执行S17;
S16.2:从经验回放缓冲区中随机采样一批经验数据;
S16.3:使用在线网络来计算当前状态/>的/>值估计;
S16.4:使用目标网络来计算下一个状态/>的/>值估计;
S16.5:使用Bellman方程来计算目标值:
,其中,/>是奖励,/>是折扣因子,/>是下一个状态,/>是下一个状态的最佳动作;
S16.6:计算损失函数,采用均方误差损失,以最小化值估计和目标/>值之间的差异;
S16.7:使用梯度下降方法更新在线网络的参数;
S16.8:判断已训练数据条数可整除/>是否成立,如果成立则将在线/>网络的参数复制到目标/>网络中。
与现有技术相比,本发明提供了一种基于深度强化学习的生产调度方法,具备以下有益效果:
本发明基于深度强化学习方法对智能代理进行训练,让代理学习设计的调度规则并进行调度。深度强化学习算法通过分析各种因素,优化生产计划,提高制造业企业生产效率;具有自适应能力,可以实时调整任务分配和工作流程,以确保生产计划在生产需求和设备状态不断变化时的稳定性和一致性。深度强化学习算法的使用提高了生产车间运作的效率、灵活性和竞争力。适用于复杂设备的制造,如汽车装配和电子制造。通过与智能制造设备和***交互,深度强化学习算法可以找到最佳控制技术,最大限度地提高生产率和资源利用率。
附图说明
图1为本发明实施例1中提到的生产调度网络训练流程图;
图2为本发明实施例1中提到的算法训练收敛效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明针对具有动态作业到达和紧急作业***的动态柔性作业车间调度问题设计了一组复合调度规则。基于深度强化学习方法对智能代理进行训练,让代理学习设计的调度规则并进行调度。深度强化学习算法通过分析设备状态和订单优先级等各种因素,优化生产计划,提高制造业企业生产效率。具有自适应能力,可以实时调整任务分配和工作流程,以确保生产计划在生产需求和设备状态不断变化时的稳定性和一致性。深度强化学习算法的使用提高了生产车间运作的效率、灵活性和竞争力。适用于复杂设备的制造,如汽车装配和电子制造。通过与智能制造设备和***交互,深度强化学习算法可以找到最佳控制技术,最大限度地提高生产率和资源利用率。具体包括以下内容。
实施例1:
请参阅图1-2,本发明一种基于深度强化学习的生产调度方法,包括:
以最小化制造跨度和平均迟到为目标,并基于如下的问题描述进行动态柔性作业 车间调度学习:有个相继到达的作业要在m台机器上加工。每个作业包含个操作,用表示。每个操作都需要从一组机器中选择一 台兼容的机器,这组机器用表示。操作在机器上的处理 时间用表示。操作和作业的完工时间分别用表示。作业的到达 时间为,到期日期为
基于如下的问题假设的生成调度规则进行调度网络的学习和实际生产调度,问题假设如下:
(1)一台机器一次只能加工一个作业。
(2)不同作业的操作可以同时加工,但同一作业的不同操作必须按照该作业的工序进行加工。
(3)作业一旦开始加工,就不能被中断。
(4)作业根据其优先级分为紧急作业和普通作业,在加工时紧急作业优先于普通作业。
(5)忽略操作之间的设置时间和转运时间。
以晶圆的光刻工艺为例,其光刻步骤基本为放入晶圆、涂覆光刻胶、烘烤、曝光、曝光后烘烤、显影和取出晶圆,对于加工一个批次的晶圆的机器,同一时间只能执行同一个任务,如对于一个批次的晶圆,机器2仅加工当前批次晶圆的涂覆光刻胶操作,不同的机器可以在同一时间执行不同的操作,如机器1执行涂覆光刻胶操作,机器7执行烘烤操作,机器1中的晶圆执行完涂覆光刻胶操作后仅能够继续执行烘烤操作,机器7中的晶圆执行完烘烤操作后仅能够执行曝光操作,如若机器7中加工完成的晶圆需要优先曝光,但机器1中加工完成的晶圆不需要优先处理,则机器7中加工完成的晶圆优先级优先于机器1中加工完成的晶圆。
参照图1,基于上述问题描述及假设形成目标Q网络,基于图中的灰线路径进行网 络的强化学习,首先初始化经验回放缓冲区,随机抽取一批数据进行在线网络的训练,在 线网络通过决定以进行目标Q网络的强化,目标Q网 络基于,通过损失函数计算损失值,还通过梯度下降算法更新,以进 行在线目标网络的更新。基于图中的黑线路径进行网络的深度学习,首先基于策略选 择动作,执行选择的动作并将此时动作车间环境状态输入至在线网络中进行更 新,还更新动作车间环境状态,并将各项数据存入经验回放缓冲区D。形成的在线网络包 含输入层、隐藏层和输出层,其中,输入层含有8个节点,隐藏层共五层,每层含有30个节点, 输出层含有9个节点,基于上述流程进行各条训练数据的训练最终输出训练完成的在线Q网 络,具体可参照图2,由图可知随着训练数据数量的增加,网络的收敛效果增强,基于上述的 深度强化学习算法可以找到最佳控制技术,最大限度地提高生产率和资源利用率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种基于深度强化学习的生产调度方法,其特征在于,包括:
S1:初始化经验回放缓冲区,容量大小设置为/>
S2:初始化在线网络,设置网络参数为/>,初始化目标/>网络,设置网络参数为
S3:初始化贪心值,设置最小贪心值/>,置贪心值衰减值,设置训练数据条数总数为/>,当前数据为第/>
S4:输入第条数据中的车间环境信息,包含作业数量/>,机器台数/>,所有作业的操作的总数量/>,每个作业的操作数量/>,每个作业的一般加工时间;每个作业的到期时间/>;每个作业的到达时间/>,每个作业的紧急程度/>,每个作业的估计的平均完工时间/>
S5:初始化完工状态为未完工,初始化第/>条数据的车间环境的状态/>,计算更新的贪心值/>,其中/>为更新前的贪心值,设置第/>条数据的车间中已完成的操作数为/>
S6:判断是否成立,若成立,则从动作空间中随机选择一个动作,否则将状态/>输入在线/>网络进行计算得到/>值最大的动作/>
S7:根据动作规则得到待调度的作业/>和机器/>
S8:从车间环境中获取所有作业的已加工完成的操作的完工时间中最大的一个完工时间
S9:将作业的下一个操作分配在机器/>上进行加工;
S10:
S11:若成立,则/>
S12:获取车间环境中的状态
S13:计算作业的剩余加工时间/>
S14:将,作业/>的第/>个操作的完工时间/>,作业/>的到期时间/>和/>作为输入计算奖励/>
S15:将存入经验回放缓冲区/>
S16:对神经网络进行经验回放训练;
S17:更新状态
S18:判断是否成立,如果成立执行S19,否则返回S6;
S19:,判断/>是否成立,如果成立,则返回S4,否则执行S20;
S20:输出训练完成的在线网络,并基于在线/>网络进行生产调度。
2.根据权利要求1所述的一种基于深度强化学习的生产调度方法,其特征在于,S4中所述作业的到期时间计算如下:
其中,为第/>个作业的到达时间,/>为第/>个作业的估计的平均完工时间;
其中,为第/>个作业第/>个操作在第/>个机台上的完工时间。
3.根据权利要求2所述的一种基于深度强化学习的生产调度方法,其特征在于,S5中车间环境状态的计算具体如下:
为机器/>上一个操作的完工时间;/>为作业/>当前最后一次加工操作的完工时间;/>为作业/>当前完工的操作数;若/>分配给机器/>,则分配判断值/>;否则/>
机器平均利用率计算如下:
机器平均利用率的标准差计算如下:
操作完成率计算如下:
其中,表示每个作业中包含的操作数;
每个车间估计的迟到率计算如下:
S5.1.1:计算时刻所有机器的上一个操作的平均完工时间/>
S5.1.2:初始化估计的迟到工作的数量,初始化/>
S5.1.3:判断是否成立,如果成立则执行S5.1.4,否则调转至S5.1.10;
S5.1.4:初始化作业的预计剩余加工时间/>,初始化/>
S5.1.5:计算操作估计加工时间/>
S5.1.6:更新剩余加工时间
S5.1.7:判断是否成立,如果成立则执行S5.1.8,否则,并跳转至S5.1.11;
S5.1.8:,跳转至S5.1.骤10;
S5.1.9:判断是否成立,如果成立则返回S5.1.3,否则跳转至S5.1.12;
S5.1.10:,跳转至S5.1.9;
S5.1.11:判断是否成立,如果成立则跳转至S5.1.5,否则跳转至S5.1.10;
S5.1.12:计算并输出估计的迟到率
实际迟到率:
S5.2.1:初始化估计的迟到工作的数量,初始化/>
S5.2.2:判断是否成立,如果成立则执行S5.2.3,否则跳转至S5.2.5;
S5.2.3:判断是否成立,如果成立则执行S5.2.4,否则跳转至S5.2.5;
S5.2.4:
S5.2.5:
S5.2.6:判断是否成立,如果成立则跳转至S5.2.2,否则执行S5.2.7;
S5.2.7:计算并输出实际迟到率
紧急作业完成率:
S5.3.1:初始化紧急作业数,初始化已完工的紧急作业数,初始化/>
S5.3.2:判断作业的紧急参数/>是否成立,如果成立则跳转到S5.3.6,否则执行S5.3.3;
S5.3.3:
S5.3.4:判断是否成立,如果成立执行S5.3.5,否则跳转至S5.3.6;
S5.3.5:
S5.3.6:
S5.3.7:判断是否成立,如果成立则跳转至S5.3.2,否则执行S5.3.8;
S5.3.8:计算并输出紧急作业完成率
作业完成率:
S5.4.1:初始化完工作业数,初始化/>
S5.4.2:判断是否成立,如果成立执行S5.4.3,否则跳转至S5.4.4;
S5.4.3:
S5.4.4:
S5.4.5:判断是否成立,如果成立则跳转至S5.4.2,否则执行S5.4.6;
S5.4.6:计算并输出作业完成率
紧急操作的完成率:
S5.5.1:初始化紧急操作数,初始化已完工的紧急操作数,初始化/>
S5.5.2:判断作业的紧急参数/>是否成立,如果成立则跳转到S5.5.4,否则执行S5.5.3;
S5.5.3:,/>
S5.5.4:
S5.5.5:判断是否成立,如果成立则跳转至S5.5.2,否则执行S5.5.6;
S5.5.6:计算并输出紧急作业完成率
4.根据权利要求3所述的一种基于深度强化学习的生产调度方法,其特征在于,S6中所述动作空间中的车间动作包括如下的9个动作:
动作1:
S6.1.1:初始化
S6.1.2:判断是否成立,如果成立执行S6.1.3,否则跳转至S6.1.7;
S6.1.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.1.4,否则跳转至S6.1.5;
S6.1.4:将作业存入未完成的紧急作业集合/>,跳转至S6.1.6;
S6.1.5:将作业存入未完成的普通作业集合/>
S6.1.6:判断判断是否成立,如果成立则执行S6.1.7,否则跳转至S6.1.8;
S6.1.7:,跳转至S6.1.2;
S6.1.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.1.9,否则跳转至S6.1.10;
S6.1.9:未完成的普通作业集合中距离到期日最近的作业被选中,跳转至S6.1.11;
S6.1.10:未完成的紧急作业集合中距离到期日最近的作业被选中
S6.1.11:可加工作业的机器集合中最早完工的机器被选中
S6.1.12:返回选中的作业和机器/>
动作2:
S6.2.1:初始化
S6.2.2:判断是否成立,如果成立执行S6.2.3,否则跳转至S6.2.7;
S6.2.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.2.4,否则跳转至S6.2.5;
S6.2.4:将作业存入未完成的紧急作业集合/>,跳转至S6.2.6;
S6.2.5:将作业存入未完成的普通作业集合/>
S6.2.6:判断判断是否成立,如果成立则执行S6.2.7,否则跳转至S6.2.8;
S6.2.7:,跳转至S6.2.2;
S6.2.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.2.9,否则跳转至S6.2.10;
S6.2.9:未完成的普通作业集合中距离到期日最近的作业被选中,跳转至S6.2.11;
S6.2.10:未完成的紧急作业集合中距离到期日最近的作业被选中
S6.2.11:可加工作业的机器集合中负载最小的机器被选中
S6.2.12:返回选中的作业和机器/>
动作3:
S6.3.1:初始化
S6.3.2:判断是否成立,如果成立执行S6.3.3,否则跳转至S6.3.7;
S6.3.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.3.4,否则跳转至S6.3.5;
S6.3.4:将作业存入未完成的紧急作业集合/>,跳转至S6.3.6;
S6.3.5:将作业存入未完成的普通作业集合/>
S6.3.6:判断判断是否成立,如果成立则执行S6.3.7,否则跳转至S6.3.8;
S6.3.7:,跳转至S6.3.2;
S6.3.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.3.9,否则跳转至S6.3.10;
S6.3.9:未完成的普通作业集合中具有最大剩余估计加工时间的作业被选中/>,跳转至S6.3.11;
S6.3.10:未完成的紧急作业集合中具有最大剩余估计加工时间的作业被选中/>
S6.3.11:可加工作业的机器集合中最早完工的机器被选中
S6.3.12:返回选中的作业和机器/>
动作4:
S6.4.1:初始化
S6.4.2:判断是否成立,如果成立执行S6.4.3,否则跳转至S6.4.7;
S6.4.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.4.4,否则跳转至S6.4.5;
S6.4.4:将作业存入未完成的紧急作业集合/>,跳转至S6.4.6;
S6.4.5:将作业存入未完成的普通作业集合/>
S6.4.6:判断判断是否成立,如果成立则执行S6.4.7,否则跳转至S6.4.8;
S6.4.7:,跳转至S6.4.2;
S6.4.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.4.9,否则跳转至S6.4.10;
S6.4.9:未完成的普通作业集合中具有最大剩余估计加工时间的作业被选中/>,跳转至S6.4.11;
S6.4.10:未完成的紧急作业集合中具有最大剩余估计加工时间的作业被选中/>
S6.4.11:可加工作业的机器集合中负载最小的机器被选中
S6.4.12:返回选中的作业和机器/>
动作5:
S6.5.1:初始化
S6.5.2:判断是否成立,如果成立执行S6.5.3,否则跳转至S6.5.7;
S6.5.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.5.4,否则跳转至S6.5.5;
S6.5.4:将作业存入未完成的紧急作业集合/>,跳转至S6.5.6;
S6.5.5:将作业存入未完成的普通作业集合/>
S6.5.6:判断判断是否成立,如果成立则执行S6.5.7,否则跳转至S6.5.8;
S6.5.7:,跳转至S6.5.2;
S6.5.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.5.9,否则跳转至S6.5.10;
S6.5.9:未完成的普通作业集合中具有最早可开始加工时间的作业被选中,跳转至S6.5.11;
S6.5.10:未完成的紧急作业集合中具有最早可开始加工时间的作业被选中/>
S6.5.11:可加工作业的机器集合中最早完工的机器被选中
S6.5.12:返回选中的作业和机器/>
动作6:
S6.6.1:初始化
S6.6.2:判断是否成立,如果成立执行S6.6.3,否则跳转至S6.6.7;
S6.6.3:判断作业的紧急参数/>是否成立,如果成立则执行S6.6.4,否则跳转至S6.6.5;
S6.6.4:将作业存入未完成的紧急作业集合/>,跳转至S6.6.6;
S6.6.5:将作业存入未完成的普通作业集合/>
S6.6.6:判断判断是否成立,如果成立则执行S6.6.7,否则跳转至S6.6.8;
S6.6.7:,跳转至S6.6.2;
S6.6.8:判断未完成的紧急作业集合为空是否成立,如果成立则执行S6.6.9,否则跳转至S6.6.10;
S6.6.9:未完成的普通作业集合中具有最早可开始加工时间的作业被选中,跳转至S6.6.11;
S6.6.10:未完成的紧急作业集合中具有最早可开始加工时间的作业被选中/>
S6.6.11:可加工作业的机器集合中负载最小的机器被选中
S6.6.12:返回选中的作业和机器/>
动作7:
S6.7.1:计算时刻所有机器上上一个操作的平均完工时间/>,初始化/>
S6.7.2:判断是否成立,如果成立执行S6.7.3,否则跳转至S6.7.9;
S6.7.3:初始化,初始化作业/>的估计剩余加工时间/>
S6.7.4:计算操作估计加工时间/>
S6.7.5:
S6.7.6:判断是否成立,如果成立将作业/>存入估计迟到的作业集合/>,否则将作业/>存入估计不迟到的作业集合/>
S6.7.7:
S6.7.8:判断是否成立,如果成立则跳转至S6.7.4,否则执行S6.7.9;
S6.7.9:
S6.7.10:判断是否成立,如果成立则跳转至S6.7.2,否则执行S6.7.11;
S6.7.11:未完工的紧急作业的集合
S6.7.12:判断为空是否成立,如果成立则执行S6.7.13,否则跳转至14;
S6.7.13:判断估计迟到的作业集合为空是否成立,如果成立则选择该集合中的估计迟到时间最大的作业,否则从估计不迟到的作业集合中选择估计迟到时间最大的作业,跳转至15;
S6.7.14:未完工的紧急作业的集合中随机选择一个作业
S6.7.15:可加工作业的机器集合中最早完工的机器被选中
S6.7.16:返回选中的作业和机器/>
动作8:
S6.8.1:计算时刻所有机器上上一个操作的平均完工时间/>,初始化/>
S6.8.2:判断是否成立,如果成立执行S6.8.3,否则跳转至S6.8.9;
S6.8.3:初始化,初始化作业/>的估计剩余加工时间/>
S6.8.4:计算操作估计加工时间/>
S6.8.5:
S6.8.6:判断是否成立,如果成立将作业/>存入估计迟到的作业集合/>,否则将作业/>存入估计不迟到的作业集合/>
S6.8.7:
S6.8.8:判断是否成立,如果成立则跳转至S6.8.4,否则执行S6.8.9;
S6.8.9:
S6.8.10:判断是否成立,如果成立则跳转至S6.8.2,否则执行S6.8.11;
S6.8.11:未完工的紧急作业的集合
S6.8.12:判断为空是否成立,如果成立则执行S6.8.13,否则跳转至14;
S6.8.13:判断估计迟到的作业集合为空是否成立,如果成立则选择该集合中的估计迟到时间最大的作业,否则从估计不迟到的作业集合中选择估计迟到时间最大的作业,跳转至15;/>
S6.8.14:未完工的紧急作业的集合中随机选择一个作业
S6.8.15:可加工作业的机器集合中负载最小的机器被选中
S6.8.16:返回选中的作业和机器/>
动作9:
随机选择一个未完工的作业和机器/>,并返回。
5.根据权利要求4所述的一种基于深度强化学习的生产调度方法,其特征在于,所述S8具体如下:
S8.1:初始化,初始化:/>
S8.2:判断机器上一个操作的完工时间/>是否成立,如果成立则/>
S8.4:
S8.5:判断是否成立,如果成立则跳转至S8.2,否则执行S8.6;
S8.6:返回
6.根据权利要求5所述的一种基于深度强化学习的生产调度方法,其特征在于,所述S9按照以下步骤执行:
S9.1:作业的下一个操作
S9.2:下一个作业分配的机器
7.根据权利要求6所述的一种基于深度强化学习的生产调度方法,其特征在于,所述S13具体如下:
S13.1:初始化,初始化作业/>的估计剩余加工时间
S13.2:计算操作估计加工时间
S13.3:。/>
8.根据权利要求7所述的一种基于深度强化学习的生产调度方法,其特征在于,所述S14具体如下:
S14.1:判断是否成立,如果成立则,否则/>
S14.2:判断是否成立,如果成立则,否则/>
S14.3:,返回/>
9.根据权利要求8所述的一种基于深度强化学习的生产调度方法,其特征在于,所述S15具体如下:
S15.1:判断经验存放缓冲区是否存满,如果未满,则执行S15.2,否则跳转至S15.3;
S15.2:将作为一条数据存入经验存放缓冲区/>的最后;
S15.3:将经验存放缓冲区的第一条数据删除,将作为一条数据存入经验存放缓冲区的最后。
10.根据权利要求9所述的一种基于深度强化学习的生产调度方法,其特征在于,所述S16具体如下:
S16.1:经验回放缓冲区中的数据条数大于最低数据条数/>是否成立,如果成立则执行S16.2,否则终止以下所有步骤,返回执行S17;
S16.2:从经验回放缓冲区中随机采样一批经验数据;
S16.3:使用在线网络来计算当前状态/>的/>值估计;
S16.4:使用目标网络来计算下一个状态/>的/>值估计;
S16.5:使用Bellman方程来计算目标值:
,其中,/>是奖励,/>是折扣因子,/>是下一个状态,/>是下一个状态的最佳动作;
S16.6:计算损失函数,采用均方误差损失,以最小化值估计和目标/>值之间的差异;
S16.7:使用梯度下降方法更新在线网络的参数;S16.8:判断已训练数据条数/>可整除/>是否成立,如果成立则将在线/>网络的参数复制到目标/>网络中。/>
CN202410372309.7A 2024-03-29 2024-03-29 一种基于深度强化学习的生产调度方法 Active CN117973811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410372309.7A CN117973811B (zh) 2024-03-29 2024-03-29 一种基于深度强化学习的生产调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410372309.7A CN117973811B (zh) 2024-03-29 2024-03-29 一种基于深度强化学习的生产调度方法

Publications (2)

Publication Number Publication Date
CN117973811A true CN117973811A (zh) 2024-05-03
CN117973811B CN117973811B (zh) 2024-06-28

Family

ID=90858130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410372309.7A Active CN117973811B (zh) 2024-03-29 2024-03-29 一种基于深度强化学习的生产调度方法

Country Status (1)

Country Link
CN (1) CN117973811B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108375379A (zh) * 2018-02-01 2018-08-07 上海理工大学 基于变异的双重dqn的快速路径规划方法及移动机器人
CN112836974A (zh) * 2021-02-05 2021-05-25 上海海事大学 一种基于dqn和mcts的箱区间多场桥动态调度方法
US11206221B1 (en) * 2021-06-04 2021-12-21 National University Of Defense Technology Online task dispatching and scheduling system and method thereof
CN115793583A (zh) * 2022-12-02 2023-03-14 福州大学 基于深度强化学习的流水车间新订单***优化方法
CN116542445A (zh) * 2023-04-07 2023-08-04 沈阳工业大学 基于深度强化学习的装备制造车间智能调度方法和***
US20230306271A1 (en) * 2022-03-22 2023-09-28 Tata Consultancy Services Limited Method and system for evolved sarsa reinforcement learning for flow shop scheduling
CN116963034A (zh) * 2023-07-13 2023-10-27 南京航空航天大学 一种面向应急场景的空地网络分布式资源调度方法
WO2023245835A1 (zh) * 2022-06-20 2023-12-28 南京邮电大学 一种基于栅格时延预测的卫星传输优化方法
CN117647960A (zh) * 2023-11-10 2024-03-05 华中科技大学 一种基于深度强化学习的车间调度方法、装置和***

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108375379A (zh) * 2018-02-01 2018-08-07 上海理工大学 基于变异的双重dqn的快速路径规划方法及移动机器人
CN112836974A (zh) * 2021-02-05 2021-05-25 上海海事大学 一种基于dqn和mcts的箱区间多场桥动态调度方法
US11206221B1 (en) * 2021-06-04 2021-12-21 National University Of Defense Technology Online task dispatching and scheduling system and method thereof
US20230306271A1 (en) * 2022-03-22 2023-09-28 Tata Consultancy Services Limited Method and system for evolved sarsa reinforcement learning for flow shop scheduling
WO2023245835A1 (zh) * 2022-06-20 2023-12-28 南京邮电大学 一种基于栅格时延预测的卫星传输优化方法
CN115793583A (zh) * 2022-12-02 2023-03-14 福州大学 基于深度强化学习的流水车间新订单***优化方法
CN116542445A (zh) * 2023-04-07 2023-08-04 沈阳工业大学 基于深度强化学习的装备制造车间智能调度方法和***
CN116963034A (zh) * 2023-07-13 2023-10-27 南京航空航天大学 一种面向应急场景的空地网络分布式资源调度方法
CN117647960A (zh) * 2023-11-10 2024-03-05 华中科技大学 一种基于深度强化学习的车间调度方法、装置和***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
XINYUE WANG等: "Dynamic scheduling of decentralized high-end equipment R&D projects via deep reinforcement learning", 《COMPUTERS & INDUSTRIAL ENGINEERING》, 5 March 2024 (2024-03-05) *
赵也践: "基于规则的作业车间动态调度方法研究", 《中国优秀硕士论文》, 15 April 2022 (2022-04-15) *
陆少军等: "面向高端装备制造协同优化的人工智能方法研究综述与展望", 《计算机集成制造***》, 15 July 2022 (2022-07-15) *

Also Published As

Publication number Publication date
CN117973811B (zh) 2024-06-28

Similar Documents

Publication Publication Date Title
Wang et al. An improved particle swarm optimization algorithm for dynamic job shop scheduling problems with random job arrivals
Jeong et al. A real-time scheduling mechanism for a flexible manufacturing system: using simulation and dispatching rules
Cho et al. A robust adaptive scheduler for an intelligent workstation controller
Iwata et al. Random manufacturing system: a new concept of manufacturing systems for production to order
Samsonov et al. Manufacturing Control in Job Shop Environments with Reinforcement Learning.
CN105974891B (zh) 一种基于动态看板的模具生产过程自适应控制方法
CN114565247B (zh) 一种基于深度强化学习的车间调度方法、装置和***
US10032136B1 (en) System and method of scheduling work within a workflow with defined process goals
CN116542445A (zh) 基于深度强化学习的装备制造车间智能调度方法和***
JP2011159230A (ja) スケジュール作成支援システム、スケジュール作成支援方法、及びスケジュール作成支援プログラム
Singh et al. Experimental investigation for performance assessment of scheduling policies in semiconductor wafer fabrication—a simulation approach
Da Silva et al. Simulation study of dispatching rules in stochastic job shop dynamic scheduling
Hung et al. Dispatching rules using flow time predictions for semiconductor wafer fabrications
Didden et al. Decentralized learning multi-agent system for online machine shop scheduling problem
Zeng et al. A method integrating simulation and reinforcement learning for operation scheduling in container terminals
CN117973811B (zh) 一种基于深度强化学习的生产调度方法
CN116755397B (zh) 一种基于图卷积策略梯度的多机协同任务调度方法
CN117808246A (zh) 柔性作业车间调度方法、装置及***
CN117647960A (zh) 一种基于深度强化学习的车间调度方法、装置和***
Chen et al. Adaptive scheduling in random flexible manufacturing systems subject to machine breakdowns
Kopanos et al. Advanced production scheduling in a seagate technology wafer fab
CN115983599A (zh) 一种集成深度强化学习和多智能体的流水车间动态调度方法
Calabrese et al. Simultaneous determination of lot sizes and routing mix in job shops
Demeester et al. Reducing cycle time at an IBM wafer fabrication facility
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