«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (4): 285-290, 297  DOI: 10.19678/j.issn.1000-3428.0057506
0

引用本文  

徐淑琳, 周广瑞, 岳昊. 标注Petri网中的最小初始标识估计[J]. 计算机工程, 2021, 47(4), 285-290, 297. DOI: 10.19678/j.issn.1000-3428.0057506.
XU Shulin, ZHOU Guangrui, YUE Hao. Estimation of Minimum Initial Marking in Labeled Petri Nets[J]. Computer Engineering, 2021, 47(4), 285-290, 297. DOI: 10.19678/j.issn.1000-3428.0057506.

基金项目

国家自然科学基金(61402216,61673228)

通信作者

岳昊(通信作者), 副教授、博士

作者简介

徐淑琳(1995-), 女, 硕士研究生, 主研方向为离散事件系统;
周广瑞, 硕士研究生

文章历史

收稿日期:2020-02-26
修回日期:2020-04-28
标注Petri网中的最小初始标识估计
徐淑琳1 , 周广瑞1 , 岳昊1,2     
1. 青岛大学 自动化学院, 山东 青岛 266071;
2. 青岛大学 复杂性科学研究所, 山东 青岛 266071
摘要:为获得制造系统初始化时的最小资源以实现最优资源分配,利用标注Petri网对系统进行建模,并研究标注Petri网的最小初始标识估计问题。给定一个标注Petri网,在不可观测变迁组成无环子网的情况下,基于动态规划提出一种新的最小初始标识估计算法。在观察到给定的标注序列后,放宽不可观测变迁发生个数的限制,并根据该算法构建节点的演化过程。当出现相同的发生数向量时,仅保留当前极小的初始标识估计,并通过节点的演化过程对极小初始标识估计的托肯总数进行对比。为验证算法的有效性,给出一个制造系统的标注Petri网模型实例,最终得到的最小初始标识为[1000]T,且对应的变迁发生序列为t1t3t4t6,满足给定标注Petri网的结构要求。实验结果表明,与传统基于动态规划的算法相比,该算法获得的最小初始标识估计具有更小的托肯总数。
关键词离散事件系统    初始标识估计    Petri网    不可观测变迁    动态规划    
Estimation of Minimum Initial Marking in Labeled Petri Nets
XU Shulin1 , ZHOU Guangrui1 , YUE Hao1,2     
1. School of Automation, Qingdao University, Qingdao, Shandong 266071, China;
2. Institute of Complexity Science, Qingdao University, Qingdao, Shandong 266071, China
Abstract: In order to obtain the minimum resources required for initialization of manufacturing systems and realize the optimal resource allocation, these systems are modeled by labeled Petri nets, and this paper offers the study of the estimation problem of the minimum initial marking in labeled Petri nets. Given a labeled Petri net, a new algorithm for estimating the minimum initial marking is proposed based on dynamic programming when the unobservable transitions form an acyclic subnet. After a given sequence of labels is observed, the limit of the number of unobservable transitions is relaxed, and the schematic diagram of node evolution is constructed according to the proposed algorithm. When the same firing vector appears, only the current minimal initial marking estimation is retained, and the total number of tokens of the minimal initial marking estimation is compared based on the process of node evolution. An example of the labeled Petri net model of the manufacturing system is given to test the effectiveness of the algorithm. The minimum initial marking is [1000]T, and the corresponding transition sequence is t1t3t4t6, which meets the structural requirements of the given labeled Petri nets. Compared with the existing algorithm using dynamic programming, the proposed algorithm can obtain the minimum initial marking estimatation with a smaller total number of tokens.
Key words: discrete event systems    estimation of initial marking    Petri nets    unobservable transitions    dynamic programming    
0 概述

Petri网是一种用于离散事件系统建模、分析和控制的工具,具有图形和数学的双重表现形式且可有效描述系统行为。近年来,Petri网被应用于交通系统[1]和柔性装配制造系统[2]等多种实际系统中,且在系统安全及可靠性分析[3-4]、业务流程分析[5-6]、交互控制[7]以及Web服务分析和替代[8]中也有广泛应用。随着实际系统规模的增大,标识估计对离散事件系统的诊断[9]和控制器设计[10-11]等具有重要的作用。

关于Petri网中标识估计问题的研究已经取得显著成果[12-13]。文献[12]基于对标注序列的观察,讨论了初始标识已知的Petri网中的标识估计问题,并指出标识集可用一组具有固定结构的线性不等式来描述。文献[13]也研究了标识估计问题,并证明所有可能的标识数目是关于k的函数。最小初始标识的估计成为当今研究的热点之一,例如文献[14]讨论了含有可观测变迁的标注Petri网中的最小初始标识估计问题,并提出一种最小初始标识估计算法。文献[15]将文献[14]中的结果扩展到含有不可观测变迁的标注Petri网中。文献[16]提出一种用于估计由标注Petri网中的最小代价计划序列的算法。文献[17]通过使用基可达图寻找标注Petri网中最小代价变迁序列。

针对不可观测变迁的存在给求解标注Petri网建模制造系统中的最小资源带来困难的问题,本文放宽对不可观测变迁发生个数的限制,且允许可观测在变迁前至多有2个不可观测变迁发生。为了更好地实现估计最小初始标识的目标,本文以标注Petri网为工具,进一步讨论了文献[14-15]提出的最小初始标识估计问题,并提出一种基于动态规划的新算法,以估计最小的初始标识。

1 基本概念

本节给出下文将会用到的Petri网和标注Petri网的相关定义,更多详细介绍可参阅文献[14]。

定义1[18-19]  将一个Petri网定义为一个四元组N=(PTFW),其中:1)P={p1p2,…,pn}是一个有限的库所集,库所使用空心圆圈表示;2)T={t1t2,…,tm}是一个有限的变迁集,变迁使用实心竖条表示;3)PT≠Ø,PT=Ø;4)F⊆P×T)∪(T×P)为流关系集合;5)WF$ \mathbb{N} $={0,1,2,…}称为权函数。

如果pitj之间没有弧,则Wpitj)=Wtjpi)=0。如果N没有直接的循环存在,则称N是无环的。

定义2[17]  在一个Petri网N=(PTFW)中,若P={p1p2,…,pn},T={t1t2,…,tm},则N的结构可用关联矩阵A表示,其中:1)A=A+-A-;2)A-N的输入关联矩阵,A-=[$ {a}_{ij}^{-} $]是一个nm列的整数矩阵,$ {a}_{ij}^{-} $=Wpitj)(1≤in,1≤ jm);3)A+N的输出关联矩阵,A+=[$ {a}_{ij}^{+} $]是一个nm列的整数矩阵,$ {a}_{ij}^{+} $=Wtjpi);4)若pitj之间没有弧,则$ {a}_{ij}^{-} $=$ {a}_{ij}^{+} $=0;5)A(:,t(或者A-(:,tA+(:,t)是A(或者A-A+ )中对应于变迁t的列,且A(:,tA-(:,tA+(:,t均为列向量。

定义3  (NM0)是一个初始化的网系统,M0是系统的初始标识。映射MP$ \mathbb{N} $称为Petri网N的一个标识,标识M的每个分量都对应相应库所中托肯的数目,托肯用实心圆点表示。对于pP,库所p中的托肯数记为Mp),标识M的所有库所中的托肯总数记为||M||=$ \sum \limits_{i=1}^{n}\mathit{M}\left(p\right) $

定义4[14]  Petri网N =(PTFW)具有以下变迁发生规则:

1)对于变迁tT,如果t的每个输入库所pinput都有至少A-pinputt)个托肯,则变迁t在标识M下具有发生权,并定义为M [t〉。

2)如果变迁t发生,则t的每个输入库所pinput都被移除A-pinputt)个托肯,并且t的每个输出库所poutput都增加A+poutputt)个托肯,变迁t在标识M下发生会使得系统到达一个新标识 =M+ A(:,t,并记为M [t

定义5[20]  Petri网N =(PTFW)的可达性可定义为:若存在tT使得M [t,则称标识M直接可达;若存在一个变迁序列σ = t1 t2tk,其中tiT,使得M[t1M1 [t2 〉 … Mk-1 [tkMk = ,则称标识M可达。按此规定,从M可达的一切标识集合记为RM)。

定义6  给定一个变迁序列σT*,其中T*表示一系列有限长度的变迁序列集合。令πT*$ \mathbb{N} $n为一个映射,y=πσ)是一个m维非负向量,称为σ的发生数向量。yi)表示变迁序列σ中变迁t出现的次数。对于零长度的空串ɛT*,其发生数向量为零向量,即πɛ)=0m

定义7[17]  将一个标注Petri网定义为一个四元组(NM0L∪{ɛ},$ l $),其中:1)N=(PTAW)是一个Petri网,M0是Petri网N的初始标识;2)L是非空标注的集合,标注用一个字母表示;3)$ l $TL∪{ɛ}是标注函数,其中每个变迁都对应一个字母或者一个空字符串∫。

由于本文考虑的是含有不可观测变迁的标注Petri网,因此可以将变迁集合T划分为所有不可观测变迁的集合Tu和所有可观测变迁的集合To这2个集合,且满足TuTo=TTuTo=Ø。对于一个标注lL,用Tl={tT|$ l $t)=l}表示与非空标注l对应的所有可观测变迁的集合,Tu={tT|$ l $t)=ɛ}表示与空标注ɛ对应的所有不可观测变迁的集合,用|Tl|(或者|Tu|)表示对应于非空标注l(或者空标注ɛ)的变迁数目,且满足1≤|Tl|≤m,1≤|Tu|≤m。对于一个变迁序列σ=t1 t2tk,其对应的标注序列可定义为w=(σ)≡$ l $t1$ l $t2)…$ l $tk)。

2 最小初始标识的求取 2.1 问题描述

文献[14]考虑的是仅含有可观测变迁的标注Petri网,而本文的研究对象是含有不可观测变迁的标注Petri网,在观察到一个标注后,所有可能的变迁发生序列的数目会呈指数级增长。因此,为了降低计算复杂度,本文进行以下假设:

假设1  不可观测变迁组成的子网是无环的。

根据假设1,在标注Petri网N中,不可观测变迁组成的子网没有直接的循环存在。

假设2  对于每个标注的观察,可观测变迁之前至多允许2个不可观测变迁发生。

根据假设2,在观察到标注lj后,所有可能的变迁发生序列形如σut,其中tTo$ l $t)=ljσu$ {T}_{u}^{\mathrm{*}} $σu可能为一个空串ɛ

考虑一个含有不可观测变迁且初始标识未知的标注Petri网N=(NM0L∪{ɛ},$ l $)以及一个标注序列w=l1l2lk,其中ljLj∈{1,2,…,k},本文的目标为寻找最小初始标识估计,即具有最小托肯总数的标识估计。

定义8[15]  考虑一个标注Petri网N=(NM0L ∪{ɛ},$ l $),给定一个标注序列w,将初始标识估计集合、极小初始标识估计集合、最小初始标识估计集合分别定义为:

$ I(w)=\left\{\boldsymbol{M} \in \mathbb{N}^{n} \mid \exists \sigma \in T^{*}: \boldsymbol{M}[\sigma\rangle, l(\sigma)=w\right\} $ (1)
$ \mathbb{I}(w)=\left\{\boldsymbol{M} \in I(w) \mid \nexists \boldsymbol{M}^{\prime} \in I(w): \boldsymbol{M}^{\prime} \leqslant \boldsymbol{M}, \boldsymbol{M}^{\prime} \neq \boldsymbol{M}\right\} $ (2)
$ \mathcal{I}(w)=\left\{\boldsymbol{M} \in \mathbb{I}(w) \mid\|\boldsymbol{M}\| \leqslant\left\|\boldsymbol{M}^{\prime}\right\|, \boldsymbol{M}^{\prime} \in \mathbb{I}(w)\right\} $ (3)

显然,由定义8可知$\mathbb{I}(w) \subseteq I(w) $成立,并且对任意标识$M \in \mathbb{I}(w)$都不存在Iw)使得 < M,同理 $I(w) \subseteq \mathbb{I}(w) $成立,对任意标识$\boldsymbol{M} \in \mathcal{I}(w) $都不存在$\boldsymbol{M}^{\prime} \in \mathbb{I}(w) $使得|| || < || M||。

假设M是2个分量个数相同的标识向量,其中M=[Mp1),Mp2),…,Mpn)]T=[M ΄p1),M ΄p2),…,M΄pn)]T,如果对任意的i∈{1,2,…,n}满足Mpi)≤ M ΄pi),则有M成立。假设一个标识集合Z={M1M2,…,Mn},若对任意的ij∈{1,2,3,…}且ij,都不存在Mj使得MjMi成立,则M i为标识集合Z中的极小标识。由于小于等于关系是一种偏序关系,因此极小标识并不是唯一的。

在文献[15]中,式(4)给出了极小初始标识的计算方法:

$ \boldsymbol{M}_{j}^{0}=\max \left\{\boldsymbol{M}_{j-1}^{0}+\boldsymbol{A} \cdot \boldsymbol{y}_{j-1}, \boldsymbol{A}^{-}\left(:, \boldsymbol{t}_{i j}\right)\right\}-\boldsymbol{A} \cdot \boldsymbol{y}_{j-1}$ (4)

其中,j=1,2,…,k$ \boldsymbol{M}_{j}^{0} $为一个n维向量,$ {\boldsymbol{M}}_{\mathrm{ }0}^{0} $=0nA-(:,tij是关联矩阵A中对应变迁$ {t}_{ij} $的列。对于一个变迁序列σ =$ {t}_{{i}_{1}}{t}_{{i}_{2}}...{t}_{{i}_{j}} $yj是第j阶段(观察到第j个标注)对应于σ的发生数向量,y0=0m$ \boldsymbol{M}_{j-1}^{0} $$ \boldsymbol{M}_{j}^{0} $分别表示变迁$ {t}_{ij} $发生前、后的初始标识。要得到最小初始标识估计,当变迁$ {t}_{ij} $发生时,应该在$ {t}_{ij} $的所有前集库所中放入满足$ {t}_{ij} $发生条件的最小数目的托肯。图 1给出了节点演化示意过程,每个节点为一个三元组($ {\boldsymbol{y}}_{{j}_{i}}, {\boldsymbol{M}_{{j}_{i}}^{0}}, {\boldsymbol{M}}_{c{j}_{i}} $),其中$ {\boldsymbol{M}}_{{j}_{i}}^{0} $表示一组与所观察到的标注序列$ \sigma ={\sigma }_{{u}_{1}}{t}_{{i}_{1}}{\sigma }_{{u}_{2}}{t}_{{i}_{2}}...{\sigma }_{{u}_{j}}{t}_{{i}_{j}} $一致的极小初始标识,$ {\boldsymbol{y}}_{{j}_{i}} $表示在$ {\boldsymbol{M}}_{{j}_{i}}^{0} $下发生的变迁序列所对应的发生数向量,$ {\boldsymbol{M}}_{c{j}_{i}} $表示与$ {\boldsymbol{M}}_{{j}_{i}}^{0} $对应的当前标识。图 1显示了节点信息的演化过程。当一个长度为k的标注序列w=l1l2lk全部被观察到后,即可找到第k个阶段极小初始标识估计的集合,通过比较托肯总数可得到最小初始标识估计集合。

Download:
图 1 节点演化示意图 Fig. 1 Schematic diagram of nodes evolution

图 2所示为一个标注Petri网(NM0L∪{ɛ},$ l $),P={ p1p2p3},T={t1t2t3t4},其中To={t1t4},Tu={t2t3},$ l $t1)=a$ l $t4)=b$ l $t2)=$ l $t3)=ɛ。给定一个标注序列w=ab,对w进行观察后,利用式(4)计算极小初始标识估计,得到节点演化示意图如图 3所示,节点信息如表 1所示。观察到标注序列ab后,当变迁序列t1 t2 t3 t4发生时,得到极小初始标识估计集合为$ \mathbb{I}$w)={[0000]T },最小初始标识估计集合为Iw)={[0000]T},Iw)对应的变迁序列集合为{t1 t2 t3 t4},Iw)对应的发生数向量集合为{[1111]T}。

Download:
图 2 标注Petri网示意图 Fig. 2 Schematic diagram of labeled Petri nets
Download:
图 3 Petri网的节点演化示意图 Fig. 3 Schematic diagram of node evolution of Petri nets
下载CSV 表 1 图3中每个节点对应的信息 Table 1 Corresponding information of each node in Fig. 3
2.2 最小初始标识算法估计

在算法1中,对于第j阶段,Rj表示单个节点,Vj)表示所有节点的集合,节点演化示意图中某个节点的信息用一个三元组Rj=(yj$ {\mathit{\boldsymbol{M}}}_{j}^{0} $Mcj)表示,其中3个元素的含义分别为:1)yj表示在观察到第j个标注后,形如σutj的变迁发生序列对应的发生数向量,tjljyj= yj-1 + πσu) + πtj);2)$ {\mathit{\boldsymbol{M}}}_{j}^{0} $表示与yj对应的极小初始标识估计;3)Mcj表示与$ {\mathit{\boldsymbol{M}}}_{j}^{0} $对应的当前标识。

u.yiu.$ {\mathit{\boldsymbol{M}}}_{i}^{0} $u.Mci分别表示发生不可观测变迁时的发生数向量、初始标识估计和当前标识。Rj.Mminimal表示单个节点处的极小初始标识估计集合,Rj.Mcminimal表示与Rj.Mminimal对应的当前标识集合。当观察到标注lj时,所有需要考虑的形如σutj的变迁序列的个数为$ \sum \limits_{s=0}^{2}{m}_{u}^{s} $,其中mu为标注Petri网中不可观测变迁的数目。

算法1  最小初始标识估计算法

输入  一个含有无环不可观测变迁子网的标注Petri网N和一个长度为k的标注序列w=l1l2lk

输出  第k阶段集合Rk.Mminimal中具有最小托肯总数的初始标识估计

1.$ {\mathrm{M}}_{0}^{0} $= 0n,y0 = 0m,Mc0 = 0n

2.R0 =(y0$ {\mathrm{M}}_{0}^{0} $,Mc0

3.考虑标注lj

4.令V(j)=Ø

5.For j∈{1,2,…,k}

6.For所有节点Rj-1 ∈V(j-1),$ {{M}_{\mathrm{j}}^{0}}^{\mathrm{\text{'}}} $j-1.Mminimal

7.For 所有的变迁发生序列σutj ∈T*

8.For变迁发生序列σu tj 中的所有变迁t,σu=ti,ti∈Tu,i∈{1,2}

9.If t ∈ Tu

10.For i ∈{1,2}

11.u.$ {\mathrm{M}}_{\mathrm{i}}^{0} $=max{Mcj-1,A-(:,t)}-A·yj-1,u.yi=yj-1+ π(t),Mci=$ {\mathrm{M}}_{\mathrm{i}}^{0} $+A·u.yi

12.End For

13.Else t ∈ lj$ {\mathrm{M}}_{\mathrm{j}}^{0} $=max{u.Mci,A-(:,t)}-A·u.yi,yj = u.yi + π(t),Mcj =$ {\mathrm{M}}_{j}^{0} $+ A·yj,储存 Rj =( yj$ {\mathrm{M}}_{\mathrm{j}}^{0} $,Mcj

14.End If

15.If yj已在节点 Rj ∈ V(j)中出现过

16.For所有满足$ {{\mathrm{M}}_{\mathrm{j}}^{0}}^{\mathrm{\text{'}}} $∈ Rj.Mminimal 和M$ \mathrm{\text{'}} $cj ∈ Rj.Mcminimal 的标识

17.If $ {\mathrm{M}}_{\mathrm{j}}^{0} $$ {{\mathrm{M}}_{\mathrm{j}}^{0}}^{\mathrm{\text{'}}} $不能比较,或者$ {\mathrm{M}}_{\mathrm{j}}^{0} $=$ {{\mathrm{M}}_{\mathrm{j}}^{0}}^{\mathrm{\text{'}}} $then

18.更新集合V(j)=V(j)∪(yj,{$ {\mathrm{M}}_{j}^{0} $},{Mcj}),Rj.Mminimal=Rj.Mminimal∪{$ {\mathrm{M}}_{\mathrm{j}}^{0} $}

19.Else $ {\mathrm{M}}_{\mathrm{j}}^{0} $ < $ {{\mathrm{M}}_{\mathrm{j}}^{0}}^{\mathrm{\text{'}}} $ then

20.更新集合V(j)=V(j)∪(yj,{$ {\mathrm{M}}_{\mathrm{j}}^{0} $-{$ {{\mathrm{M}}_{\mathrm{j}}^{0}}^{\mathrm{\text{'}}} $}},{Mcj-{M$ \mathrm{\text{'}} $cj}}),Rj.Mminimal = Rj.Mminimal∪{$ {\mathrm{M}}_{\mathrm{j}}^{0} $-{$ {{\mathrm{M}}_{\mathrm{j}}^{0}}^{\mathrm{\text{'}}} $}}

21.End If

22.End For

23.Else yj未在集合V(j)中出现过

24.更新V(j)=V(j)∪(yj,{$ {\mathrm{M}}_{\mathrm{j}}^{0} $},{Mcj}),Rj.Mminimal=Rj.Mminimal∪{$ {\mathrm{M}}_{\mathrm{j}}^{0} $}

25.End If

26.If不同的σutj被搜索的次数少于$ \sum \limits_{\mathrm{s}=0}^{2}{\mathrm{m}}_{\mathrm{u}}^{\mathrm{s}} $

27.设置 Flag==FALSE,返回步骤8

28.Else设置 Flag==TRUE,返回步骤5

29.End If

30.End For

31.End For

32.End For

33.End For

在上述算法中,给定长度为k的标注序列 w=l1l2lk,目标是找到最小的初始标识估计集合。当观察到第 j个标注时,若发生数向量 yj已经在第 j阶段的某个节点Rj中出现过,则会存在以下两种情形:情形1,$ {\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0} $$ {{\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0}}^{\mathrm{\text{'}}} $不能比较大小或者$ {\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0} $=$ {{\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0}}^{\mathrm{\text{'}}} $,此时会更新集合Vj)=Vj)∪(yj,{$ {\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0} $},{Mcj}),即储存新的极小初始标识估计的相关信息,同时更新极小初始标识集合Rj.Mminimal=Rj.Mminimal∪{$ {\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0} $};情形2,$ {\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0} $ < $ {{\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0}}^{\mathrm{\text{'}}} $,此时会更新集合Vj)=Vj)∪( yj,{$ {\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0} $-{$ {{\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0}}^{\mathrm{\text{'}}} $}},{Mcj-{Mcj΄}}),即删掉原来的极小初始标识估计的相关信息并储新的信息,同时更新极小初始标识集合Rj.Mminimal=Rj.Mminimal∪{$ {\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0} $-{$ {{\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0}}^{\mathrm{\text{'}}} $}}。若yj没有出现过,则更新集合Vj)=Vj)∪(yj,{$ {\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0} $},{Mcj}),并且更新极小初始标识集合Rj.Mminimal=Rj.Mminimal∪{$ {\mathit{\boldsymbol{M}}}_{\mathit{j}}^{0} $}。当j=k时,此时输出极小初始标识集合Rk.Mminimal中托肯总数最小的初始标识估计,即最小初始标识估计。

2.3 复杂性分析

由文献[14]可知,第j阶段的发生数向量的数目为nj=Oj b),b是一个依赖于Petri网结构的参数。给定一个含有n个库所、m个变迁的标注Petri网,其中可观测变迁和不可观测变迁的个数分别为momu,且有m=mo+mu成立。在观察到一个标注后,所有可能不同的不可观测发生数向量的数目为:

$ r=2{C}_{{m}_{u}}^{1}+{C}_{{m}_{u}}^{2}=2{m}_{u}+\frac{{m}_{u}\cdot ({m}_{u}-1)}{2} $ (5)

综合考虑可观测变迁和不可观测变迁,基于假设2,可知第j阶段发生数向量的数目为nj=(rjb。在第j-1阶段,一个发生数向量至多能产生rm0个不同的发生数向量,因此第j阶段新产生的发生数向量的总数为rm0nj-1=O[rm0∙(rjb]。在Petri网中仅含有可观测变迁的情况下,第j阶段极小初始标识的数目为qj=Ojn),根据假设2,发生序列长度的最大值为3j,因此qj=O((3jn)=Oj n)。针对每个发生数向量,需要进行nj次比较以确定其是否已经出现在节点Rj中,若已出现过,则需要qj次比较来确定极小的初始标识估计。基于以上分析,算法1的计算复杂度为:

$ \begin{array}{l} \sum \limits_{j=1}^{k}\left[O\right(r\cdot {m}_{o}\cdot {n}_{j-1}\cdot (m\cdot {n}_{j}+{q}_{j-1}\cdot {q}_{j}\cdot n)\left)\right]=\\ \sum \limits_{j=1}^{k}\left[O\right(r\cdot {m}_{o}\cdot {(r\cdot j)}^{b}\cdot [m\cdot r\cdot {(r\cdot j)}^{b}+{j}^{n}\cdot {j}^{n}\cdot n]\left)\right] \end{array}$ (6)

式(6)可简化为:

$ O({m}_{o}m{r}^{2b+2}{j}^{2b}+{m}_{o}m{r}^{b+1}{j}^{2n+b})= $
$ O({m}_{o}m{r}^{2b+2}{k}^{2b+1}+{m}_{o}m{r}^{b+1}{k}^{2n+b+1})= $
$ O({k}^{2b+1}+{k}^{2n+b+1}) $ (7)

因此,算法1的计算复杂度是关于k的多项式。

3 应用实例

本节通过一个实例来验证算法1的有效性,并将运行结果与现有算法得到的结果进行对比分析。图 4给出了一个2台并行机器的标注Petri网模型N=(NM0L ∪ {ɛ},$ l $),库所集P={ p1p2p3p4},变迁集T={t1t2t3t4t5t6},其中To={t1t2t5t6},Tu={t3t4},$ l $t1)=a$ l $t2)=b$ l $t5)=c$ l $t6)=d$ l $t3)=$ l $t4)=ɛp1为存放工件的资源库所,变迁t1t2表示由机器人分别将工件装载至1号机器和2号机器上,p2表示工件被1号机器加工,t3表示机器人将一部分工件从1号机器上卸载并装载至2号机器上,p3表示工件被2号机器加工,t5表示机器人将剩余的工件从1号机器上卸载,t4表示机器人将工件从2号机器上卸载,p4表示将来自1号机器和2号机器的工件进行再加工,t6表示将工件卸载。给定一个标注序列w=ad,运行算法1后得到节点演化示意过程如图 5所示,节点信息和弧上的标记信息分别如表 2表 3所示。如图 5所示,当观察到标注a时,所有可能的变迁序列集合为{t1t3 t1t4 t1t3 t4 t1t4 t3 t1t3 t3 t1t4 t4 t1},应该存在7个节点,但变迁序列t3 t4 t1t4 t3 t1对应的发生数向量均为[101100]T,两者对应的极小初始标识估计分别为[1100]T和[1110]T,显然[1100]T≤[1110]T,根据算法1,当出现相同的发生数向量时,仅保留极小初始标识估计,因此删掉变迁序列t4 t3 t1对应的初始标识估计及当前标识。当标注序列w=ad全部被观察到后,得到极小初始标识估计集合为$\mathbb{I} $w)={ [1000]T },最小初始标识估计集合为Ιw)={[1000]T},与 Ιw) 对应的变迁序列集合为{t1t3t4t6},与Ιw)对应的发生数向量集合为{[101101]T}。

Download:
图 4 标注Petri网系统示意图 Fig. 4 Schematic diagram of labeled Petri net system
Download:
图 5 运行算法1后的节点演化示意图 Fig. 5 Schematic diagram of node evolution after running algorithm 1
下载CSV 表 2 图 5中每个节点对应的信息 Table 2 Corresponding information of each node in Fig. 5
下载CSV 表 3 图 5中每条弧上的标记信息 Table 3 Marking information of each arc in Fig. 5

文献[15]中限定可观测变迁发生之前至多允许一个不可观测变迁发生,则最小初始标识估计集合为Ι΄(w)={[1001]T},发生数向量集合为{[100001]T,[101001]T},变迁序列为{t1 t6t1 t3 t6 }。假设MΙw),Ι΄(w),则||M||=1,||||=2,由此可知||M|| < ||M΄||,因此,应用本文方法得到的最小初始标识具有更小的托肯总数,即系统完成指定的任务序列所需的初始资源更少。

4 结束语

针对制造系统中的最小资源问题,本文建立标注Petri网模型,并提出一种用于估计最小初始标识的算法。该算法放宽了不可观测变迁发生个数的限制,并规定可观测变迁之前至多允许2个不可观测变迁发生,以有效避免最小初始标识估计的穷举计算。实验结果表明,在含有不可观测变迁的标注Petri网中,应用本文算法估计的最小初始标识较现有算法得到的结果更优。下一步将利用时延Petri网结构对本文算法进行优化,使得初始标识估计的托肯总数更小。

参考文献
[1]
WANG Yatao. Research on vulnerability of urban rail transit signal system based on Petri net[D]. Beijing: Beijing Jiaotong University, 2016. (in Chinese)
王亚涛. 基于Petri网的城市轨道交通信号系统脆弱性研究[D]. 北京: 北京交通大学, 2016.
[2]
LI Shaoyong, SUN Zhidong, CAI Ying, et al. Deadlock control policy using control transitions for flexible manufacturing systems[J]. Control Theory & Applications, 2019, 36(5): 795-802. (in Chinese)
李绍勇, 孙智冬, 蔡颖, 等. 应用控制变迁的柔性制造系统死锁控制策略[J]. 控制理论与应用, 2019, 36(5): 795-802.
[3]
ZHU Danjiang, TAN Huobin, YAO Shuzhen. Petri nets-based method to elicit component-interaction related safety requirements in safety-critical systems[J]. Computers & Electrical Engineering, 2018, 71: 162-172.
[4]
LI Chen, HUANG Linpeng, CHEN Luxi. Breeze graph grammar: a graph grammar approach for modeling the soft-ware architecture of big data-oriented software systems[J]. Software-Practice and Experience, 2015, 45(8): 1023-1050. DOI:10.1002/spe.2271
[5]
ZENG Qingtian, LU Faming, LIU Cong, et al. Modeling and verification for cross-department collaborative business processes using extended Petri nets[J]. IEEE Transactions on Systems Man Cybernetics-Systems, 2015, 45(2): 349-362. DOI:10.1109/TSMC.2014.2334276
[6]
HU Qiang, REN Zhikao, ZHAO Zhen, et al. Study on structure evolution for service processes base on logic Petri net[J]. Journal of Software, 2018, 29(9): 2697-2715. (in Chinese)
胡强, 任志考, 赵振, 等. 基于逻辑Petri网的服务流程结构演化研究[J]. 软件学报, 2018, 29(9): 2697-2715.
[7]
DING Zhijun, QIU Haojie, YANG Ru, et al. Interactive-control-model for human-computer interactive system based on Petri nets[J]. IEEE Transactions on Automation Science and Engineering, 2019, 16(4): 1800-1813. DOI:10.1109/TASE.2019.2895507
[8]
DU Yuyue, GAI Junjing, ZHOU Mengchu. A Web service substitution method based on service cluster nets[J]. Enterprise Information Systems, 2017, 11(10): 1535-1551. DOI:10.1080/17517575.2016.1172347
[9]
HU Tao, MA Chenhui, ZHOU Xiaoliuting, et al. Fault diagnosis method for complex aerospace systems based on weighted fuzzy Petri net[J]. Computer Integrated Manufacturing Systems, 2019, 25(10): 2580-2586. (in Chinese)
胡涛, 马晨辉, 周晓柳婷, 等. 航天复杂系统的加权模糊Petri网故障诊断建模[J]. 计算机集成制造系统, 2019, 25(10): 2580-2586.
[10]
FANG Huan, LU Yang, HUANG Zhenjin, et al. Synchroni-zation distance determination and synchronization con-troller design for hybrid Petri nets[J]. Control Theory & Applications, 2012, 29(7): 884-892. (in Chinese)
方欢, 陆阳, 黄镇谨, 等. 混杂Petri网系统中同步距离的确定及同步控制器的设计[J]. 控制理论与应用, 2012, 29(7): 884-892.
[11]
MA Ziyue, TONG Yin. Supervisor synthesis in Petri nets based on basis marking graphs[J]. Journal of Xidian University (Natural Science), 2016, 43(6): 68-73. (in Chinese)
马子玥, 童音. 采用基本标识图的Petri网控制策略[J]. 西安电子科技大学学报(自然科学版), 2016, 43(6): 68-73. DOI:10.3969/j.issn.1001-2400.2016.06.012
[12]
GIUA A, SEATZU C, CORONA D. Marking estimation of Petri nets with silent transitions[J]. IEEE Transactions on Automatic Control, 2007, 52(9): 1695-1699. DOI:10.1109/TAC.2007.904281
[13]
RU Y, HADJICOSTIS C N. Bounds on the number of markings consistent with label observations in petri nets[J]. IEEE Transactions on Automation Science and Engineering, 2009, 6(2): 334-344. DOI:10.1109/TASE.2008.2009095
[14]
LI L X, HADJICOSTIS C. Minimum initial marking estimation in labeled Petri nets[J]. IEEE Transactions on Automatic Control, 2013, 58(1): 198-203. DOI:10.1109/TAC.2012.2203050
[15]
RUAN Keyu, LI Lingxi, WU Weimin. Minimum initial marking estimation in labeled Petri nets with unobservable transitions[J]. IEEE Access, 2019, 7: 19232-19237. DOI:10.1109/ACCESS.2019.2894352
[16]
LI L X, HADJICOSTIS C. Least-cost transition firing sequence estimation in labeled Petri nets with unobservable transitions[J]. IEEE Transactions on Automation Science and Engineering, 2011, 8(2): 394-403. DOI:10.1109/TASE.2010.2070065
[17]
YUE Hao, XU Shulin, ZHOU Guangrui, et al. Estimation of least-cost transition firing sequences in labeled Petri nets by using basis reachability graph[J]. IEEE Access, 2019, 7: 165387-165398. DOI:10.1109/ACCESS.2019.2952056
[18]
LIU Guanjun, JIANG Changjun. Observable liveness of Petri nets with controllable and observable transitions[J]. Science China-Information Sciences, 2017, 60(11): 256-264.
[19]
HE Jun, ZHANG Yunfei, ZHANG Dehai. Automatic combination and detection of data cleaning rule chains based on Petri net[J]. Computer Engineering, 2020, 46(11): 124-131. (in Chinese)
何俊, 张云飞, 张德海. 基于Petri网的数据清洗规则链自动组合与检测[J]. 计算机工程, 2020, 46(11): 124-131.
[20]
WANG Shouguang, YOU Dan, ZHOU Mengchu. New reachability trees for analyzing unbounded Petri nets with semilinear reachability sets[J]. Science China-Information Sciences, 2018, 61(12): 1-3.