CN117314078B - 基于Petri网和神经网络的柔性制造系统的无死锁调度方法 - Google Patents

基于Petri网和神经网络的柔性制造系统的无死锁调度方法 Download PDF

Info

Publication number
CN117314078B
CN117314078B CN202311250447.XA CN202311250447A CN117314078B CN 117314078 B CN117314078 B CN 117314078B CN 202311250447 A CN202311250447 A CN 202311250447A CN 117314078 B CN117314078 B CN 117314078B
Authority
CN
China
Prior art keywords
time
sequence
transition
neural network
processing
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
Application number
CN202311250447.XA
Other languages
English (en)
Other versions
CN117314078A (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.)
Nantong University
Original Assignee
Nantong University
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 Nantong University filed Critical Nantong University
Priority to CN202311250447.XA priority Critical patent/CN117314078B/zh
Publication of CN117314078A publication Critical patent/CN117314078A/zh
Application granted granted Critical
Publication of CN117314078B publication Critical patent/CN117314078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/22Design optimisation, verification or simulation using Petri net models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Medical Informatics (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)

Abstract

本发明涉及智能制造生产调度技术领域,尤其涉及基于Petri网和神经网络的柔性制造系统的无死锁调度方法。本发明包括以下步骤:基于可视化不含关键资源的柔性制造系统内部工件的加工工序以及各工件之间的机器占用情况,建立Petri网模型;通过遗传算法全局寻优,获得一组较优的调度序列,以此作为前向神经网络的数据集;建立最小化最大完工时间作为系统调度的目标函数;基于神经网络的二分搜索法,减小Petri网的可达树规模,通过神经网络对每代子结点拟合预计完工时间,约束可达树向较优的路径扩展;不断扩展可达树规模进行路径寻优,并输出满足目标函数最小的路径作为柔性制造系统的调度路径。

Description

基于Petri网和神经网络的柔性制造系统的无死锁调度方法
技术领域
本发明涉及智能制造生产调度技术领域,尤其涉及基于Petri网和神经网络的柔性制造系统的无死锁调度方法。
背景技术
柔性制造系统FMS是由数控加工设备、物料运储装置和计算机控制系统组成的自动化制造系统,它包括多个柔性制造单元,能根据制造任务或生产环境的变化迅速进行调整,适用于多品种、中小批量生产。随着制造业的升级换代,客户的要求也越来越个性化和多样化。为了应对多变的市场需求,机械加工中的柔性作业也越来越多,柔性制造系统在工程机械产品制造中的应用价值越来越高。但随着制造规模的扩大,柔性制造系统的复杂程度也呈几何级数地上升,研究可行的柔性制造系统的调度方法对企业实现生产高效率、高柔性具有重要作用。
柔性制造系统的调度问题本质上就是寻找一种满足系统约束的最优生产排班方案。Petri网是一种异步并行的数学模型,具有很强的描述能力,通过网结构来刻画柔性制造系统的形态特性,通过初始标识和运行规则来刻画柔性制造系统的动态特性。可达树可用于描述Petri网的可达标识集,它既和Petri网的结构有关,也和Petri网的初始标识有关。在可达树中,逐层搜索状态空间,提出基于神经网路的二分搜索法,扩展半数质量较高的结点,以确保在可接受的时间内找到更好的调度方案。
文献1(Iterative Widen Heuristic Beam Search Algorithm for SchedulingProblem of Flexible Assembly)中Li等人提出了一种基于估计资源平均处理时间思想的启发式评价函数,来评估每一层生成的状态,用于减小可达树的规模。虽然采用时间平均法去估计了状态的预计完成时间,但是不论时灵活性还是准确性都不如神经网络。文献2(基于Petri网和神经网络的机械臂调度方法)中采用可达树搜索小规模Petri网得到数据对神经网络进行训练,再用于大规模实例的预测。不同规模的Petri网,可达标识的数量大不相同,因此用小规模的数据训练的神经网络去预测大规模的模型,准确性有待确认。
发明内容
本发明的目的在于克服现有技术的缺点,针对不含关键资源的柔性制造系统,提出了基于Petri网和神经网络的柔性制造系统的无死锁调度方法,在生产过程中能够精准高效的寻找出满足要求的调度序列,提高调度效率,增加生产数量。
本发明为实现上述发明目的,采取的技术方案如下:
基于Petri网和神经网络的柔性制造系统的无死锁调度方法,包括以下步骤:
S1、基于可视化柔性制造系统内部工件的加工工序以及各工件之间的机器占用情况,构建能够表达离散并行系统的Petri网模型(N,M0)及其关联矩阵A;并定义如下符号:
N:一个由圆形结点、方形结点和有向弧组成的Petri网N=(P,T,F),代表由m台机器组成且能加工n类工件的柔性制造系统;
P:库所集其中Pi0=Pis∪Pif代表闲置库索集,Pis为上传缓冲区,Pif为卸载缓冲区,Pij代表操作库所集,Pr代表资源库所集;
T:变迁集,由N中所有的方形结点组成,每个变迁t表示上一道工序的结束和下一道工序的开始,也表示对上一道工序所使用资源的释放和下一道工序所使用资源的申请;
F:有向弧集,代表每个工件在系统中的加工流动情况及在加工过程中每个加工工序对资源的需求和释放情况;
M:P→N为标识,N为非负整数集,表示系统的加工状态,标识的每个数字表示各库所中所含的工件数或资源数;其中M0为初始标识,表示系统未开始加工,工件位于上传缓冲区,资源未被占用;
A:关联矩阵,表示N中各变迁下每个库所托肯数的变化规律,是一个|T|行和|P|列的矩阵;
针对不含关键资源的柔性制造系统,在满足工序约束、资源约束和控制约束即无死锁的前提下,以最小化最大完工时间为系统调度的目标函数,即:
F=min{max{Ck}}
Makespan=max{Ck}
其中,Ck为第k个工件的最后一道工序的完工时间,k=1,2,…,p,p为工件总数,Makespan为工序序列的最大完工时间;
S2、生成神经网络数据集:利用遗传算法获得神经网络数据集,数据集的属性特征为标识M、已加工时间g以及预计剩余时间h;
S3、搭建前向神经网络模型:对比获得最佳的隐藏层层数以及输入层、隐藏层、输出层各层的神经元个数,确定激活函数、损失函数、学习率等参数,利用步骤S2获得的数据集,对前向神经网络进行训练,并利用测试集检验神经网络的训练完成度,获得Petri网标识M和已加工时间g与预计剩余时间h之间的函数关系;
S4、搜索最优调度序列:在训练完前向神经网络后,采用基于神经网络的二分搜索法,对Petri网模型的可达树进行有选择的扩展,每次只选择半数质量更优的树枝进行扩展,减小可达树规模,进而找到从初始结点到目标结点的最短路径,即该Petri网的最优调度序列。
作为本发明的优选技术方案,所述步骤S2包括以下步骤:
S2.1、编码与解码:编码是将加工顺序以染色体的形式表达;染色体由路径序列和工序序列组成;其中,路径序列表示各工件选择的路径,长度为p,p为工件总数,路径序列中第i个基因位的数字l表示第i个工件选择第l条加工路径;工序序列表示所有工件的加工顺序,数字i对应第i个工件,数字i的第x次出现表示第i个工件的第x个操作,序列长度为所有工件加工工序的总数;解码是将编码得到的染色体转化成变迁序列,工序序列中数字i的第x次出现,对应第i个工件加工路径上第x个变迁;
S2.2、随机生成初始种群:根据步骤S2.1,随机生成一定数量的染色体,构成初始种群;
S2.3、检测与修复:对每条染色体进行检测与修复,保证最终输出的加工序列是无死锁的;S2.4、计算单个染色体对应工序序列的最大完工时间和适应度值;
S2.5、输出最优个体:输出种群中最优染色体的变迁序列以及对应工序序列的最大完工时间Makespan;
S2.6、判断是否满足终止条件gen>Maxgen,其中gen为当前种群的迭代次数,Maxgen为最大迭代次数;若满足终止条件则输出最优个体,不满足则执行遗传操作;
S2.7、遗传操作:对当前种群进行选择、交叉、变异这三步遗传操作,从而获得新一代的种群,执行步骤S2.3至步骤S2.6;
S2.8、数据处理:计算每一代最优的变迁序列中每个变迁对应的标识M、标识对应的已加工时间g以及预计剩余时间h作为数据集,其中预计剩余时间h通过Makespan减去已加工时间g得到,并以8:2的比例作为训练集与测试集。
作为本发明的优选技术方案,所述步骤S2.3包括以下步骤:
S2.3.1、设置u=1,记录当前检测的变迁序号;
S2.3.2、判断u是否大于变迁序列长度,若满足条件则完成对基因序列的修复,否则令变迁序列中第u个变迁为tα,执行步骤S2.3.3;
S2.3.3、检查变迁tα在当前标识下是否使能,若使能则执行步骤S2.3.4,否则从tα之后随机选择一个使能变迁放在其之前,并更新tα
S2.3.4、采用一步向前看方法判断变迁tα是否允许引发,若不允许引发则选择tα之后任一使能的变迁放在该变迁前面,并更新tα,重新执行步骤S2.3.4;否则引发tα,更新当前标识,令u=u+1,执行步骤S2.3.2。
作为本发明的优选技术方案,所述步骤S2.4包括以下步骤:
S2.4.1、计算加工时间:确定当前工序所用到机器的空闲时间,将其与工序对应工件的上一步工序的预估完成时间比较,取两者较大值为当前工序的开始时间,该时间也是上一步工序所占用资源的释放时间和上一步工序的实际完成时间,开始时间加上当前工序的操作时间即为当前工序的预估完成时间;计算完所有工序后,系统最后一道工序的完成时间,即为整个工序序列的最大完工时间Makespan;
S2.4.2、计算适应度值:计算适应度值Adapt,计算公式如下,
其中,Maxspan为当前种群的染色体中最大的完工时间,Minspan为当前种群的染色体中最小的完工时间,Makespan为当前染色体对应工序序列的最大完工时间,k为常数。
作为本发明的优选技术方案,所述步骤S3中确定前向神经网络的输入层神经元以及隐藏层层数,具体步骤如下:
步骤S3.1、确定输入层神经元个数:根据目标函数,使用神经网络来拟合Petri网标识M、已加工时间g与预计剩余时间h的函数关系,神经网络的输入层神经元个数为Petri网库所总数加1,输入内容对应为Petri网各库所中托肯的数量以及已加工时间g;
步骤S3.2、确定隐藏层层数:采用控制变量法,确定输入特征数并改变隐藏层层数,从一层至八层递增,以神经网络的输出和当前状态到目标状态的耗时作比较,得到平均误差最小的隐藏层层数。
作为本发明的优选技术方案,所述步骤S4中利用基于神经网络的二分搜索法缩小可达树的规模,找出最短路径,具体步骤如下:
步骤S4.1、初始化状态列表X0=(M0,g0,h0,f0),其中m0表示初始标识,已加工时间g0=0,预计剩余时间h0=+∞,预计完工时间f0=g0+h0
步骤S4.2、建立LIST表,将初始状态X0存入LIST中;建立OPEN表,用于存放初始状态到新状态的变迁序列;
步骤S4.3、从LIST中取一个结点作为Xk,并从LIST表去除该结点,通过一步向前看方法计算Xk状态下允许使能的变迁集合Ek+1={ek+1∈T};
步骤S4.4、在状态Xk下逐个引发集合Ek+1中的变迁,产生各变迁对应的新状态Xk+1,分别计算标识Mk+1、已加工时间gk+1,通过神经网络获得新状态Xk+1的hk+1,进而计算预计完工时间fk+1;将得到的这些完工时间按数值大小进行升序排列,然后将前一半数值对应的新状态添加至LIST表中,并将OPEN表中Xk的变迁序列加上ek+1,存入OPEN表中作为初始状态X0到新状态Xk+1的变迁序列;
步骤S4.5、若LIST表为空,则查找OPEN表中所有长度与工件加工序列相同的变迁序列,并计算加工时间,输出加工时间最小的变迁序列,否则执行步骤S4.3。
本发明所述的基于Petri网和神经网络的柔性制造系统的无死锁调度方法,采用以上技术方案与现有技术相比,具有以下技术效果:
(1)本发明是基于Petri网进行建模,利用遗传算法获得次优解,以可行的变迁序列集作为前向神经网络的数据集训练神经网络,加快了神经网络的拟合速率。
(2)本发明是基于神经网络的Petri网状态搜索,对于每个父结点所产生的所有子结点,利用神经网络判断当前状态的优劣,采用二分搜索法取半数较优的结点作为新的父代结点,使得可达树的规模大大降低,提高算法搜索效率的同时保证其可靠性。
附图说明
图1为本发明涉及的基于Petri网和神经网络的柔性制造系统的无死锁调度方法的流程图;
图2为本发明实施例中刀具加工车间的Petri网模型;
图3为本发明遗传操作中交叉操作示意图;
图4为本发明遗传操作中工序变异操作示意图;
图5为本发明遗传操作中路径变异操作示意图。
具体实施方式
为了使本技术领域的人员更好的理解本申请实施例中的技术方案,首先对本申请实施例中的部分符号进行解释说明,以便于本领域技术人员理解。
本实施例为基于Petri网和神经网络的柔性制造系统的无死锁调度方法在刀具加工车间的应用。刀具加工车间是利用切割机床、搬运机器人和打磨机床来生产三种类型的刀具;不同的刀具加工排序编码对应着不同的最大完工时间,其调度策略的优化目标是在确保对优秀调度序列无遗漏的前提下,实现对调度序列最大完工时间的快速寻优,最小化最大完工时间,具体步骤如下:
步骤1)(建模):建立该刀具加工车间的Petri网模型:刀具加工车间制造系统是由三种机器——切割机床、搬运机器人和打磨机床组成;系统能够加工三种类型的刀具,第一类刀具的加工顺序为搬运、打磨、搬运,第二类刀具的加工顺序为搬运、切割、搬运、打磨、搬运,第三类刀具的加工顺序为搬运、打磨、搬运、切割、搬运,其中第二类刀具具有两条加工路径,对于同类型的加工工序可选择不同的机器进行加工,以下标的方式区分其两条加工路径。七台机器r1,r2,r3,r4,r5,r6,r7的加工容量分别为2,2,2,1,2,2,1,所需加工的三种类型的刀具数分别为2,2,1,每类刀具毛坯品经过上传缓冲区进入生产线,进行切割和打磨,加工完毕后通过卸载缓冲区离开。该系统对应的Petri网模型如图2所示,
Pi0(i=1,2,3)为闲置库所集,表示存储第i类刀具的缓冲区,刀具毛坯品从上传缓冲区Pis上传至加工车间进行加工,完成所有加工序列后进入卸载缓冲区Pif,Pi0中黑点的数目表示该类工件待加工的毛胚品数目(当数目较大时,黑点用数字代替);
P={pij,i=1,2,3;j=1,2,3,4,5}为操作库所集,其中pij表示第i类刀具的第j个操作过程,pij中黑点的数目表示当前处于该操作的刀具数,pij外面的数字表示刀具完成该操作所需时间;
Pr={rk,k=1,2,3,4,5,6,7}为资源库所集,其中rk表示第k个机器,rk中黑点的数目表示该机器的最大容量;
T={tij,i=1,2,3;j=1,2,3,4,5,6}为变迁集,其中tij表示第i类刀具第j个操作的开始,tij+1表示第i类刀具第j个操作的结束和第j+1个操作的开始。
具体的,t11表示第一类刀具毛胚品从上传缓冲区P1s进入到生产线中,p11表示第一类刀具的第一个操作过程——搬运,该过程由搬运机器人r3完成(由r3到t11、t11到p11的两条弧表示开始,由p11到t12、t12到r3的两条弧表示完成),p11旁边标注的数字8表示该操作所需时间为8个时间单位;图2中的p1s、p2s、p3s中的数字分别表示三类刀具的毛胚品数量为2、2、1,r1,r2,r3,r4,r5,r6,r7中的黑点分表表示其加工容量分别为2,2,2,1,2,2,1;其它操作库所没有黑点,表示在初始状态下其它操作都没有开始,这些黑点数构成初始标识M0=2p1s+2p2s+p3s+2r1+2r2+2r3+r4+2r5+2r6+r7。图2中每个符号的具体含义如表1所示。
表1刀具加工车间Petri网模型中库所和变迁的含义
附图2所示Petri网也能用如下所示的关联矩阵A表示:
步骤2)(生成神经网络数据集):利用遗传算法获得神经网络数据集,数据集的属性特征为标识M、已加工时间g以及预计剩余时间h,具体步骤如下:
步骤2-1)(编码与解码):编码是将加工顺序以染色体的形式表达。染色体由路径序列和工序序列组成。其中,路径序列表示各工件选择的路径,长度为p(p为工件总数),路径序列中第i个基因位的数字l表示第i个工件选择第l条加工路径;工序序列表示所有工件的加工顺序,数字i对应第i个工件,数字i的第x次出现表示第i个工件的第x个操作,序列长度为所有工件加工工序的总数。解码是将编码得到的染色体转化成变迁序列,工序序列中数字i的第x次出现,对应第i个工件加工路径上第x个变迁。
根据图2所示模型,一个可能的编码为π=(1,1,2,2,1,5,2,2,3,3,1,3,5,4,3,2,4,1,4,2,1,1,5,5,5,4,5,3,3,4,4),该编码前5个数字为路径选择序列,代表5个刀具选择的是第几条加工路径,随后为工序序列,工序序列中数字代表工件编号,其中数字1、2为第一类工件,数字3、4为第二类工件,数字5为第三类工件。
工序序列中第一个5的出现意味着毛胚品5的第一个操作开始,即t31引发,第二个5的出现代表着毛坯品5的第二个操作t32引发,依次类推π可解码为如下变迁序列:a=t31-t11-t12-t21-t23-t11-t25-t32-t21-t27-t13-t23-t12-t25-t14-t13-t14-t33-t34-t35-t27-t36-t29-t20-t29-t20
步骤2-2)(随机生成初始种群):根据步骤2-1)编码与解码的要求,随机生成100条染色体,构成初始种群。
步骤2-3)(检测与修复):对每条染色体进行检测与修复,保证最终输出的加工序列是无死锁的,具体步骤如下:
步骤2-3-1):设置u=1,记录当前检测的变迁序号;
步骤2-3-2):判断u是否大于变迁序列长度,若满足条件则完成对基因序列的修复,否则令变迁序列中第u个变迁为tα,执行步骤2-3-3);
步骤2-3-3):检查变迁tα在当前标识下是否使能,若使能则执行步骤2-3-4),反之则从tα之后随机选择一个使能变迁放在其之前,并更新tα
步骤2-3-4):采用一步向前看方法判断变迁tα是否允许引发,若不允许引发则选择tα之后任一使能的变迁放在该变迁前面,并更新tα,重新执行步骤2-3-3);反之则引发tα,更新当前标识,令u=u+1,执行步骤2-3-2);
具体流程如下:选择一条染色体对应的变迁序列π=t31-t11-t12-t21-t22-t11-t24-t32-t21-t22-t12-t24-t33-t26-t28-t13-t14-t13-t34-t35-t26-t36-t28-t20-t14-t20,初始标识M0=(2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,2,2,1,2,2,1),判断完变迁t31-t11-t12-t21-t22-t11-t24-t32-t21-t22-t12后,即M0[t31t11t12t21t22t11t24t32t21t22t21>M1,其中M1=(0,0,2,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,1,2,1,1)。现在判断变迁t24是否允许引发,变迁t24的前置操作库所p22中有1个托肯,前置资源库所r3中也含有托肯,则变迁t24使能,在M1下引发t24,即M1[t24>M2,M2=(0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,1,2,1,1),M2为死锁标识,则变迁t24不允许在标识M1下引发,需要从后面的变迁中选择使能变迁放到t24之前,再判断该变迁是否允许引发。重复上述步骤,即可完成染色体的检测与修复。
步骤2-4):计算加工时间和适应度值。
算法以甘特图的时间分配原则计算柔性制造系统的加工时间,确定当前工序所用到机器的空闲时间,将其与工序对应工件的上一步工序的预估完成时间比较,取两者较大值为当前工序的开始时间,该时间也是上一步工序所占用资源的释放时间和上一步工序的实际完成时间,开始时间加上当前工序的操作时间即为当前工序的预估完成时间。计算完所有工序后,系统最后一道工序的完成时间,即为整个工序序列的加工时间Makespan。
适应度值Adapt的计算公式如下,
其中,Maxspan为当前种群的染色体中最大的完工时间,Minspan为当前种群的染色体中最小的完工时间,Makespan为当前染色体的完工时间,k为常数;
步骤2-5)(输出最优个体):输出种群中最优染色体的变迁序列以及对应Makespan。
步骤2-6):判断是否满足终止条件gen>Maxgen,其中gen为当前种群的迭代次数,Max gen为最大迭代次数。若满足终止条件则输出最优个体,不满足则执行遗传操作;
步骤2-7)(遗传操作):对当前种群进行选择、交叉、变异这三步遗传操作,从而获得新一代的种群,执行步骤2-3)至步骤2-6),具体步骤如下:
步骤2-7-1):选择操作是将种群中的染色体按照适应度值从大到小的顺序排列,选择前Selectnum×Popsize数目的染色体直接加入下一代,这里的Selectnum为选择因子,Popsize为种群大小,本例中Selectnum为0.05,Popsize为100;
步骤2-7-2):交叉操作,首先从选择操作的个体中随机挑选一条染色体,然后从其余染色体中再随机挑选一条,随机选择两个插入点,将插入点之间两条染色体的片段进行交换。将原染色体中插入点之间的片段移动到工序序列的最前面,随后从前往后依次删除与插入的片段基因相同的基因,具体过程如图3所示。重复执行交叉操作,直到产生出完整的新一代种群;
步骤2-7-3):变异操作,为避免优秀染色体变异导致种群整体质量下降,采用自适应变异算子,通过设置变异率与适应度值成反比,以判定不同染色体对算法进化的不同贡献,保证优良的染色体可以遗传到下一代,变异率表达式如下:
其中,fd为对应的归一化适应度值,α为变异率比例系数。
随机选择一条父代染色体,生成1个(0,1)之间的随机数,若其小于自适应变异率,则对该个体实施变异操作,操作如下:在染色体中随机选择一个变异点,然后随机确定一个变异长度,若变异的位置在工序序列中,则将变异点前后变异长度的基因进行对调,具体过程如图4所示,变异长度为2;若变异位置在路径选择序列中,则令变异点后变异长度的路径基因片段更改为可更改的其他路径,具体过程如图5所示,变异长度为2。
对于步骤2),设置100次迭代次数,每次迭代输出一次当前最优染色体,组成100组数据集作为前向神经网络的数据集。
步骤3):搭建前向神经网络模型,具体步骤如下:
步骤3-1):导入相关模块,如torch,numpy等模块,导入步骤2)中得到的数据集,以8:2的比例作为训练集与测试集;
步骤3-2):确定神经网络隐藏层的层数。采用单一变量的原则,以相同的实验数据对具有不同隐藏层的神经网络进行训练,比较神经网络的输出和当前状态到目标状态的消耗时间,计算不同深度神经网络的拟合误差,可知对于本例Petri网,8层隐藏层的神经网络能学习到更多的特征,确定神经网络的隐藏层层数为8层。
步骤3-3):定义神经网络结构,在Sequential()中搭建网络结构,逐层描述输入层、隐藏层以及输出层,激活函数选择ReLU函数。优化器选择Adam算法,其中权值、学利率等相关参数选择默认值,损失函数算为MSE。
步骤3-4):使用训练集训练神经网络,训练次数1000次,并使用测试集对训练完的神经网络进行测试。
步骤4):采用基于神经网络的二分搜索法,对Petri网模型的可达树进行有选择的扩展,找出最优调度序列,具体步骤如下:
步骤4-1):初始化状态列表X0=(M0,g0,h0,f0),其中m0表示初始标识,已加工时间g0=0,预计剩余时间h0=+∞,预计完工时间f0=g0+h0
步骤4-2):建立LIST表,将初始状态X0存入LIST中;建立OPEN表,用于存放初始状态到新状态的变迁序列;
步骤4-3):从LIST中取一个结点作为Xk,并从LIST表去除该结点,通过一步向前看方法计算Xk状态下允许使能的变迁集合Ek+1={ek+1∈T};
步骤4-4):在状态Xk下逐个引发集合Ek+1中的变迁,产生各变迁对应的新状态Xk+1,分别计算标识Mk+1、已加工时间gk+1,通过神经网络获得新状态Xk+1的hk+1,进而计算预计完工时间fk+1。将得到的这些完工时间按数值大小进行升序排列,然后将前一半数值对应的新状态添加至LIST表中,并将OPEN表中Xk的变迁序列加上ek+1,存入OPEN表中作为初始状态X0到新状态Xk+1的变迁序列;
步骤4-5):若LIST表为空,则查找OPEN表中所有长度与工件加工序列相同的变迁序列,并计算加工时间,输出加工时间最小的变迁序列,否则执行步骤4-3)。
具体过程如下:在图2所示模型中,初始标识M0=2p10+2p20+p30+2r1+2r2+2r3+r4+2r5+2r6+r7,已用时间g(0)=0,通过一步向前看方法判断该结点下有3个变迁允许引发,分别为t11、t21、t31,分别引发这三个变迁获得新的标识M1=p10+p11+2p20+p30+2r1+2r2+r3+r4+2r5+2r6+r7,M2=2p10+p20+p21+p30+2r1+2r2+2r3+2r5+2r6+r7,M3=2p10+2p20+p31+2r1+2r2+2r3+r4+2r5+2r6,分别计算的g(1)=8,g(2)=4,g(3)=5,接着将每个可达标识M及其已加工时间g输入到神经网络中,获得预计剩余时间h(1)=47,h(2)=52,h(1)=58,计算得f(1)=55,f(2)=56,f(1)=63,选取M1和M2对应状态作为待扩展的结点放入LIST表中,并将t11和t21作为M0分别到M1和M2的变迁序列放入OPEN表中。
重复上述步骤直至LIST表为空,即完成可达树的扩展。找出OPEN表中长度与工序序列相同变迁序列,计算每条变迁序列的最大完工时间,从中选择Makespan最小的变迁序列,即为该刀具加工车间最优的加工序列。输出最优的工序序列:π=(5,3,2,3,1,4,5,1,4,2,3,5,3,2,5,4,5,4,1,5,3,3,4,4,2,1),变迁序列:α=t31-t21-t11-t23-t11-t21-t32-t12-t23-t12-t25-t33-t27-t13-t34-t25-t35-t27-t13-t36-t29-t20-t29-t20-t14-t14,对应的Makespan=63。
通过步骤2的遗传算法进行10次寻优,其结果如下:
表2遗传算法多次寻优结果
时间/min 出现频率
1 63 10%
2 64 30%
3 67 30%
4 68 20%
5 78 10%
由上述表格可知,以遗传算法进行寻优时,易陷入局部最优从而无法找出最优解,无论是增加算法迭代次数还是改进遗传操作,都不能保证找到最优解。上述调度方案的优势在于,通过基于神经网络的二分搜索法排除低质量解、提高搜索效率的同时,能快速准确地找到最优解,不存在遗漏或者陷入局部最优的情况。
以上所述的具体实施方案,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述仅为本发明的具体实施方案而已,并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所做出的等同变化与修改,均应属于本发明保护的范围。

Claims (1)

1.基于Petri网和神经网络的柔性制造系统的无死锁调度方法,其特征在于,包括以下步骤:S1、基于可视化柔性制造系统内部工件的加工工序以及各工件之间的机器占用情况,构建能够表达离散并行系统的Petri网模型(N,M0)及其关联矩阵A;并定义如下符号:
N:一个由圆形结点、方形结点和有向弧组成的Petri网N=(P,T,F),代表由m台机器组成且能加工n类工件的柔性制造系统;
P:库所集j表示工件的第j个操作)∪Pr,其中Pi0=Pis∪Pif代表闲置库所集,Pis为上传缓冲区,Pif为卸载缓冲区,Pij代表操作库所集,Pr代表资源库所集;
T:变迁集,由N中所有的方形结点组成,每个变迁t表示上一道工序的结束和下一道工序的开始,也表示对上一道工序所使用资源的释放和下一道工序所使用资源的申请;
F:有向弧集,代表每个工件在系统中的加工流动情况及在加工过程中每个加工工序对资源的需求和释放情况;
M:P→N为标识,N为非负整数集,表示系统的加工状态,标识的每个数字表示各库所中所含的工件数或资源数;其中M0为初始标识,表示系统未开始加工,工件位于上传缓冲区,资源未被占用;
A:关联矩阵,表示N中各变迁下每个库所托肯数的变化规律,是一个|T|行和|P|列的矩阵;
针对不含关键资源的柔性制造系统,在满足工序约束、资源约束和控制约束即无死锁的前提下,以最小化最大完工时间为系统调度的目标函数,即:
F=min{max{Ck}}
Makespan=max{Ck}
其中,Ck为第k个工件的最后一道工序的完工时间,k=1,2,…,p,p为工件总数,Makespan为工序序列的最大完工时间;
S2、生成神经网络数据集:利用遗传算法获得神经网络数据集,数据集的属性特征为标识M、已加工时间g以及预计剩余时间h;
S3、搭建前向神经网络模型:对比获得最佳的隐藏层层数以及输入层、隐藏层、输出层各层的神经元个数,确定激活函数、损失函数、学习率参数,利用步骤S2获得的数据集,对前向神经网络进行训练,并利用测试集检验神经网络的训练完成度,获得Petri网标识M和已加工时间g与预计剩余时间h之间的函数关系;
S4、搜索最优调度序列:在训练完前向神经网络后,采用基于神经网络的二分搜索法,对Petri网模型的可达树进行有选择的扩展,每次只选择半数质量更优的树枝进行扩展,减小可达树规模,进而找到从初始结点到目标结点的最短路径,即该Petri网的最优调度序列;
所述步骤S2包括以下步骤:
S2.1、编码与解码:编码是将加工顺序以染色体的形式表达;染色体由路径序列和工序序列组成;其中,路径序列表示各工件选择的路径,长度为p,p为工件总数,路径序列中第i个基因位的数字l表示第i个工件选择第l条加工路径;工序序列表示所有工件的加工顺序,数字i对应第i个工件,数字i的第x次出现表示第i个工件的第x个操作,序列长度为所有工件加工工序的总数;解码是将编码得到的染色体转化成变迁序列,工序序列中数字i的第x次出现,对应第i个工件加工路径上第x个变迁;
S2.2、随机生成初始种群:根据步骤S2.1,随机生成100条染色体,构成初始种群;
S2.3、检测与修复:对每条染色体进行检测与修复,保证最终输出的加工序列是无死锁的;S2.4、计算单个染色体对应工序序列的最大完工时间和适应度值;
S2.5、输出最优个体:输出种群中最优染色体的变迁序列以及对应工序序列的最大完工时间Makespan;
S2.6、判断是否满足终止条件gen>Maxgen,其中gen为当前种群的迭代次数,Maxgen为最大迭代次数;若满足终止条件则输出最优个体,不满足则执行遗传操作;
S2.7、遗传操作:对当前种群进行选择、交叉、变异这三步遗传操作,从而获得新一代的种群,执行步骤S2.3至步骤S2.6;
S2.8、数据处理:计算每一代最优的变迁序列中每个变迁对应的标识M、标识对应的已加工时间g以及预计剩余时间h作为数据集,其中预计剩余时间h通过Makespan减去已加工时间g得到,并以8:2的比例作为训练集与测试集;
所述步骤S2.3包括以下步骤:
S2.3.1、设置u=1,记录当前检测的变迁序号;
S2.3.2、判断u是否大于变迁序列长度,若满足条件则完成对基因序列的修复,否则令变迁序列中第u个变迁为tα,执行步骤S2.3.3;
S2.3.3、检查变迁tα在当前标识下是否使能,若使能则执行步骤S2.3.4,否则从tα之后随机选择一个使能变迁放在其之前,并更新tα
S2.3.4、采用一步向前看方法判断变迁tα是否允许引发,若不允许引发则选择tα之后任一使能的变迁放在该变迁前面,并更新tα,重新执行步骤S2.3.4;否则引发tα,更新当前标识,令u=u+1,执行步骤S2.3.2;
所述步骤S2.4包括以下步骤:
S2.4.1、计算加工时间:确定当前工序所用到机器的空闲时间,将其与工序对应工件的上一步工序的预估完成时间比较,取两者较大值为当前工序的开始时间,该时间也是上一步工序所占用资源的释放时间和上一步工序的实际完成时间,开始时间加上当前工序的操作时间即为当前工序的预估完成时间;计算完所有工序后,系统最后一道工序的完成时间,即为整个工序序列的最大完工时间Makespan;
S2.4.2、计算适应度值:计算适应度值Adapt,计算公式如下,
其中,Maxspan为当前种群的染色体中最大的完工时间,Minspan为当前种群的染色体中最小的完工时间,Makespan为当前染色体对应工序序列的最大完工时间,k为常数;
所述步骤S3中确定前向神经网络的输入层神经元以及隐藏层层数,具体步骤如下:
步骤S3.1、确定输入层神经元个数:根据目标函数,使用神经网络来拟合Petri网标识M、已加工时间g与预计剩余时间h的函数关系,神经网络的输入层神经元个数为Petri网库所总数加1,输入内容对应为Petri网各库所中托肯的数量以及已加工时间g;
步骤S3.2、确定隐藏层层数:采用控制变量法,确定输入特征数并改变隐藏层层数,从一层至八层递增,以神经网络的输出和当前状态到目标状态的耗时作比较,得到平均误差最小的隐藏层层数;
所述步骤S4中利用基于神经网络的二分搜索法缩小可达树的规模,找出最短路径,具体步骤如下:
步骤S4.1、初始化状态列表X0=(M0,g0,h0,f0),其中m0表示初始标识,已加工时间g0=0,预计剩余时间h0=+∞,预计完工时间f0=g0+h0
步骤S4.2、建立LIST表,将初始状态X0存入LIST中;建立OPEN表,用于存放初始状态到新状态的变迁序列;
步骤S4.3、从LIST中取一个结点作为Xk,并从LIST表去除该结点,通过一步向前看方法计算Xk状态下允许使能的变迁集合Ek+1={ek+1∈T};
步骤S4.4、在状态Xk下逐个引发集合Ek+1中的变迁,产生各变迁对应的新状态Xk+1,分别计算标识Mk+1、已加工时间gk+1,通过神经网络获得新状态Xk+1的hk+1,进而计算预计完工时间fk+1;将得到的这些完工时间按数值大小进行升序排列,然后将前一半数值对应的新状态添加至LIST表中,并将OPEN表中Xk的变迁序列加上ek+1,存入OPEN表中作为初始状态X0到新状态Xk+1的变迁序列;
步骤S4.5、若LIST表为空,则查找OPEN表中所有长度与工件加工序列相同的变迁序列,并计算加工时间,输出加工时间最小的变迁序列,否则执行步骤S4.3。
CN202311250447.XA 2023-09-26 2023-09-26 基于Petri网和神经网络的柔性制造系统的无死锁调度方法 Active CN117314078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311250447.XA CN117314078B (zh) 2023-09-26 2023-09-26 基于Petri网和神经网络的柔性制造系统的无死锁调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311250447.XA CN117314078B (zh) 2023-09-26 2023-09-26 基于Petri网和神经网络的柔性制造系统的无死锁调度方法

Publications (2)

Publication Number Publication Date
CN117314078A CN117314078A (zh) 2023-12-29
CN117314078B true CN117314078B (zh) 2024-05-14

Family

ID=89236602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311250447.XA Active CN117314078B (zh) 2023-09-26 2023-09-26 基于Petri网和神经网络的柔性制造系统的无死锁调度方法

Country Status (1)

Country Link
CN (1) CN117314078B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117852825A (zh) * 2024-01-10 2024-04-09 南通大学 基于深度学习的含中心资源柔性制造系统的无死锁调度方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563336A (zh) * 2020-04-30 2020-08-21 南通大学 一种基于改进遗传算法的柔性制造系统无死锁调度方法
CN112073984A (zh) * 2020-09-17 2020-12-11 汪秀英 一种基于Petri网和启发式搜索的系统调度方法
WO2022000924A1 (zh) * 2020-07-01 2022-01-06 北京工业大学 基于ammas-ga嵌套算法的双资源模具作业车间调度优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563336A (zh) * 2020-04-30 2020-08-21 南通大学 一种基于改进遗传算法的柔性制造系统无死锁调度方法
WO2022000924A1 (zh) * 2020-07-01 2022-01-06 北京工业大学 基于ammas-ga嵌套算法的双资源模具作业车间调度优化方法
CN112073984A (zh) * 2020-09-17 2020-12-11 汪秀英 一种基于Petri网和启发式搜索的系统调度方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Iterative Widen Heuristic Beam Search Algorithm for Scheduling Problem of Flexible Assembly Systems;Xiaoling Li 等;IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS;20211130;第17卷(第11期);正文第7348-7358页 *
基于改进粒子群算法的柔性制造系统无死锁优化调度;刘慧霞 等;南通大学学报(自然科学版);20230726;第1-12页 *
柔性制造系统的改进粒子群无死锁调度算法;邢科义 等;控制与决策;20140831;第29卷(第8期);正文第1345-1353页 *

Also Published As

Publication number Publication date
CN117314078A (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
CN111242503B (zh) 一种基于两层遗传算法的多目标柔性作业车间调度方法
CN111966050A (zh) 基于ammas-ga嵌套算法的双资源模具作业车间调度优化方法
CN109946965B (zh) 一种基于改进的多目标Jaya算法的离散制造车间排产方法
CN117314078B (zh) 基于Petri网和神经网络的柔性制造系统的无死锁调度方法
CN113792924A (zh) 一种基于Deep Q-network深度强化学习的单件作业车间调度方法
CN112561225B (zh) 一种基于标杆协同进化算法的柔性作业车间调度方法
CN113379087A (zh) 一种基于改进遗传算法的生产制造排产优化方法
CN117035364A (zh) 基于改进混合模因算法的分布式异构流水车间调度方法
CN113656156A (zh) 一种基于禁忌搜索算法和遗传算法结合的调度优化方法
CN116560313A (zh) 一种多目标柔性作业车间问题的遗传算法优化调度方法
CN115796510A (zh) 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法
CN113762811B (zh) 一种考虑加班的无拖期Job Shop调度问题求解方法及系统
CN117077975A (zh) 基于混合初始化模因算法的分布式异构流水车间调度方法
CN115981262B (zh) 基于imoea的液压缸零部件车间生产调度方法
CN111985162A (zh) 一种基于深度学习的置换流水车间控制方法及系统
CN117010275A (zh) 一种基于多相似实例的零件加工工艺重用修正方法
CN116300756A (zh) 带运输机器人柔性制造车间的双目标优化调度方法及系统
CN115700647A (zh) 一种基于禁忌搜索遗传算法的车间柔性作业调度方法
CN113792494B (zh) 基于迁徙鸟群算法和交叉融合的多目标柔性作业车间调度方法
CN115034070A (zh) 一种基于多目标优化和vikor方法的复杂机械产品的选择装配优化和决策方法
CN117852825A (zh) 基于深度学习的含中心资源柔性制造系统的无死锁调度方法
CN115392616A (zh) 一种知识挖掘结合遗传算法的多目标离散车间调度方法
CN113011767A (zh) 一种多目标柔性作业车间调度用混合遗传方法
CN112734286B (zh) 一种基于多策略深度强化学习的车间调度方法
CN117215275B (zh) 一种基于遗传编程的柔性车间大规模动态双效调度方法

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