死锁是自动化制造系统(AMS)资源分配问题中的一个严重问题. 它的出现逼使系统出现停顿甚至引发灾难性的后果[1]. 目前,主要有两种死锁问题的解决方法: 死锁避免(deadlock avoidance)[2-4]和死锁预防(deadlock prevention)[5-9]. 二者的主要区别是前者是在线(on-line)策略,后者是离线(off-line)策略. 死锁预防策略的目标是,合成的监督控制器阻止系统陷入不期望的状态,即,防止系统从合法状态(可达的安全状态)向非法状态(可达的不安全状态)演化[10-11]. 考虑到合成的监控器的性能, 三个问题有待解决: (1) 受控系统的行为许可性[12-13];(2) 合成监控器的计算复杂性[14];(3) 合成监控器的结构复杂性[10]. 本文主要关注前两个问题.
一个行为约束(或策略)强加到系统后,得到的系统称为受控系统. 一个约束使得某个标识不可达,或者说该标识不满足添加的约束,称为该标识被约束禁止(forbid). 一个行为约束/策略被称为是最大许可的(maximally permissive)或者最优的(optimal),如果它至少禁止掉一个不期望的标识,同时没有一个期望的标识被它禁止. (下文中,期望的与不期望的标识,采用Petri网术语,分别定义为合法的与非法的标识.)
考虑到计算复杂性,结构分析技术[5,15]可以获得计算上易处理(tractable)且被证明是正确的策略[2],例如,资源上游策略(resource upstream neighborhood-RUN)、资源排序策略(resource ordering policy-RO)、状态排序策略、银行家算法以及基于信标(siphon)的控制策略[5,16]. 然而,结构分析策略在通常情况下不能获得最大许可( maximal permissiveness)或者最优(optimality)控制,往往会导致系统过分受到限制,行为许可性低.
最大许可行为的监控器可以使得受控系统拥有较高的资源利用率[2]. 一个非最大许可的策略可能还存在二级死锁问题[2],意味着某些合法的状态在受控系统也变得不可达. 通常,合成自动化系统的最大许可控制器是NP-问题[11]. 通过计算系统的可达图,可以得到最大许可监控器. 然而,两个挑战性的问题有待解决:(1) 枚举系统的可图状态是困难的,因为系统的可达状态数域系统规模呈指数关系;(2) 为了获取最优控制器,不可避免地要设计和求解混合整数规划(mixed integer linear programming-ILP)问题,目前还没有有效的算法求解该问题.
基于文献[10-11]的工作, 提出了标识覆盖技术去搜寻缩减的首遇坏标识(first-met bad markings–FBM), 在文献[10-11]中称为安全可达的边界标识(“boundary” reachable unsafe states)与缩减的合法标识. 这两个缩减的标识集合分别表示为
智能制造中的资源分配属于离散事件系统[19-20]. Petri网(PNs)[21-23]准确而形象地描述AMS的动态演化过程. Petri网可达图计算与可达状态的分类提取是本文的工作基础,但不属于本文研究范围. 假设
下一节简单地回顾了与Petri网、带资源简单顺序加工系统(system of simple sequential processes with resources (S3PR[5]))相关的概念和性质. 概括了标识覆盖技术. 该节最后还给出了最大许可控制的线性规划(LP)方法. 在第2节, 通过结构分析, 具有特定结构的部分非法标识被识别出, 非常简便地构建了这些标识的最大许可约束. 第3节通过两个常见的例子, 展示了本策略的有效性, 比较了本方法与现有方法的优劣. 最后, 第4节对本文的工作进行了总结.
1 预备知识 1.1 Petri网一个Petri网[21]被定义为四元组
一个变迁
本文研究带有资源的简单顺序加工系统(a system of simple sequential processes with resources-S3PR). 这类系统通常用来为具有柔性路径的单资源分配系统(Disjunctive-Single-Unit AMS)建模. 它是普通(ordinary)守恒(conservative)Petri网的一个子类[21]. 文献[5]给出了S3PR的详细定义. S3PR类型的网包含三种库所集: 闲置(idle)库所, 行为(activity)库所和资源(resource)库所,分别表示为
一个非空的库所集
定义1 在S3PR中, 假定
定义2 S3PR的一个标识
定理1[5] 假设
定理2[2] 在S3PR中, 如果对于任意
例1 本例选自文献[5]的一个AMS,其S3PR模型见图1,其中圆圈表示库所,矩形表示变迁.
![]() |
图 1 例1的S3PR模型 |
可达图分析的详细过程,读者可以参阅文献[10-12]. 为了下文阐述之方便,本节仅列出与死锁问题有关的概念与结论. 此外,还将合成最优控制的整数线性规划(ILP)方案改造成线性规划(linear programming-LP)的解决方案. 在规模相近的情况下,求解线性规划复杂度远小于求解整数规划的复杂度.
首遇坏标识(first-met bad marking-FBM)是可达图中位于
${{\cal M}_{{\rm{FBM}}}} = \{ M \in {{\cal M}_{\rm{B}}}|\exists {M^\prime } \in {{\cal M}_{\rm{L}}},\;t \in T,{M^\prime }[t\rangle M\}. $ |
死锁预防就是禁止集合
定义3 [10-12] 假定
基于标识覆盖, 一个在规模上更小的子集
定义4[10-12] 标识集
(1)
(2)
类似地,
定义5[10-12] 假设
(1)
(2)
如果一个线性的代数约束的系数均为非负整数,且该约束最大许可地禁止了标识
根据上述可达图分析与标识覆盖的概念, 容易导出以下两个结论.
引理1 假设
证明 由于
定理3 在S3PR中,如果任意的标识
证明 根据策略最大许可性的定义,禁止
以下设计的线性规划算法,可以作为求最大许可线性约束的通用方法. 目标是求出一个超平面,分离开
$\begin{array}{*{20}{l}} {\max\; \varepsilon. }\qquad\qquad\qquad\quad\qquad{\left( {{\rm{LP1}}} \right)}\\ {{\rm{s}}{\rm{.t}}{\rm{.}}\qquad }{\sum\limits_{i \in {\mathbb{N}_{\rm A}}({M_j})} {{l_i}} \cdot {M_j}({p_i}) = 1;}\\ \quad\quad\quad{\sum\limits_{i \in {\mathbb{N}_{\rm A}}({M_j})} {{l_i}} \cdot {M_k}({p_i}) + \varepsilon \leqslant 1,}\quad {\forall {M_k} \in {\cal M}_{\rm{L}}^*};\\ \quad\quad\quad{{l_i} \geqslant 0,}\quad{\forall i \in {\mathbb{N}_{\rm A}}({M_j}).} \end{array}$ |
显而易见, LP1必定至少含有一个可行解,即可行域非空. 如果目标函数的最优解
众所周知线性规划问题可以被有效地求解. 然而, LP1存在一个问题: 求解出的最优解
线性规划LP1方法是一类纯数学的方法来计算最大许可的约束, 文献[11]称之为最优分类器. 这种方法没有考虑到Petri网的结构特性. 如果能够分析非法标识与Petri网结构的关系, 建立最大许可约束, 将进一步减少计算量. 与求解线性规划LP1比较, 基于结构分析的方法更有效. 因此, 本文首先需要识别标识的结构特征, 为满足特定结构特征的标识综合出最优控制器.
2 基于结构分析的最优控制死锁的产生是由于在系统中待处理的工作大量涌入, 它们竞争有限的资源和资源分配不当造成的. 对于一个S3PR的非法标识
$\sum\limits_{i \in {\mathbb{N}_{\rm A}}({M_j})} {{u_{{p_i}}}} \leqslant |{M_j}{|_{\rm A}} - 1,\forall {M_j} \in {\cal M}_{{\rm{FBM}}}^*.$ | (1) |
为了验证标识
根据文献[11], 如果一个标识
垄断占用标识的结构特征明显,识别验证较容易. 由定理4归纳的策略,高效,简便,易于执行.
定理4 如果
证明 (反证法). 假设存在一个标识
为了验证一个标识
例1中,
向前一步死锁标识属于非死锁非法标识,可以在多项式复杂性下,识别该类标识的结构特征.
定理5 如果
证明 根据向前一步死锁的定义, 下列事实成立.
(1)
如果
(2)
假设
(3)
(反证法)假设
$M_j^*(p) = \left\{ {\begin{array}{*{20}{l}} {2,\quad {\rm{if}}\;p \in {P_{\rm A}},{M_j}(p){\rm{ = }}{M_{\rm{0}}}({\rm Req}(p)){\rm{ = 1}};}&{}\\ {2,\quad {\rm{if}}\;p \in {P_{\rm R}},{M_j}(p){\rm{ = }}{M_{\rm{0}}}(p){\rm{ = 1}};}&{}\\ {{M_j}(p),\quad \quad {\text{其他情形}}\;.}&{} \end{array}} \right.$ |
(4)
根据以上推导出的两个事实1与2, 这个结论是显而易见的.
本文得出以下结论:
情形1:
情形2:
不管在什么情形下, 可以得出
对于每个
在例1中,
唯一占用的标识的结构特征稍显复杂. 利用下述定理,可以有效地识别出唯一占用的标识中的一个子类,从而最大许可地禁止该子类标识.
定理6 假设
(1)
(2)
(3)
$M_j^r(p) = \left\{ {\begin{array}{*{20}{l}} {{M_j}(p) + 1,}&{{\rm{if}}\;p{\rm{ = }}{p_l};}\\ {{M_j}(p) - 1,}&{{\rm{if}}\;p{\rm{ = }}r;}\\ {{M_j}(p),}&{{\rm{if}}\;p \in P{\rm{\backslash }}\{ r,{p_l}\} .} \end{array}} \right.$ |
选取一个行为库所
${M_{{j_{{p_i}}}}}(p) = \left\{ {\begin{array}{*{20}{l}} {M_j^r(p) - 1,}&{{\rm{if}}\;p{\rm{ = }}{p_i};}\\ {M_j^r(p) + 1,}&{{\rm{if}}\;p \in {\rm Req}({p_i});}\\ {M_j^r(p),}&{{\rm{if}}\;p \in P\backslash (\{ {p_i}\} \cup {\rm Req}({p_i})).} \end{array}} \right.$ |
令
证明 假设
情形1:
情形2:
基于上述两种情形, 约束(1)禁止非法标识的同时没有禁止掉合法标识, 从而是最大许可的. 证毕.
运用定理6识别标识,需要验证给定的3个条件. 前两个条件比较容易验证. 在验证第3个条件的时候, 需要基于
针对具有不同的结构特性的非法标识,提出了构建最大许可约束的方法. 需要注意的是, 定理4~6给出的结构分析方法比采用LP1给出的线性规划方法更有效. 因此, 首先采用结构分析方法, 识别出具有定理中给定的结构的标识, 相应地设计出对应的控制方法. 至于目前还未能识别出具有特殊结构的非法标识
算法1 计算禁止
输入:S3PR
输出:
1: if
2: else if
3: else if
4: else if
5: else LP1最优解
6: endif
7:
8: return
例2 本系统选取自文献[24], 其S3PR显示于图2, 其中
该系统加工两种类型的工件. 计算可得
![]() |
图 2 例2的S3PR模型 |
例3 本例子选取自文献[5], 图3显示了其S3PR模型,其中闲置库所
![]() |
图 3 例3的S3PR模型 |
本系统有
$ \begin{split} &0.076\;9u_{p_6} + 0.076\;9u_{p_7}+ 0.076\;9u_{p_8} + 0.076\;9u_{p_9} +\\ &0.076\;9u_{p_{11}}+ 0.153\;8u_{p_{13}} + 0.153\;8u_{p_{15}} + 0.153\;8u_{p_{16}} + \\ &0.076\;9u_{p_{18}}+0.076\;9 \leqslant 1. \end{split} $ |
为了合成控制器, 将其等价变形整系数约束
$ \begin{split} &u_{p_6} + u_{p_7} + u_{p_8} + u_{p_9} + u_{p_{11}} + 2u_{p_{13}} + 2u_{p_{15}} +\\ &2u_{p_{16}} + u_{p_{18}} \leqslant 12. \end{split} $ |
它是一个最优约束. 尽管很多学者基于不同的方法也给出本例的最大许可控制策略, 这些策略不可避免地需要求解混合整数规划. 本文提出的方案不需要求解整数规划, 从计算复杂性的角度, 具有一定的优势.
4 结论合成自动化制造系统最大许可死锁控制器, 不但保证系统的正常运行, 还确保系统的优化运行. 本工作的目的是, 在合成最优控制器时, 尽可能减少计算开销. 基于S3PR模型, 首先, 通过标记覆盖技术, 缩小待处理问题的规模. 其次, 分析利用网结构的特点, 结合标识本身的特性, 揭示二者之间的联系. 识别出标识的特定结构, 避免了求解混合整数规划这一高复杂性的算法. 实验结果表明, 对于绝大数标识, 仅仅利用结构分析就可以获得最大许可控制. 特别是对于那些非死锁非法标识, 本策略也是有效的. 该问题是目前本领域的研究难点.
探索更多结构分析技术, 处理更多的非法标识具有现实意义. 比如, 对文中只能采用线性规划方法处理的非法标识, 转而采用结构分析来处理, 计算量会进一步降低. 此外,当将线性约束转换为具有整数系数的约束时,可能产生监督控制器难以实现的大乘数. 此外,决定如何最小化监督控制器结构仍然是一个重要问题. 本研究中关注S3PR, 并在未来的工作中将结果扩展到更一般的Petri网模型.
[1] |
LI Z W, WU N Q, ZHOU M C. Deadlock control of automated manufacturing systems based on Petri nets–A literature review[J].
IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, 2012, 42(4): 437-462.
DOI: 10.1109/TSMCC.2011.2160626. |
[2] |
EVELIOTIS S A. Real-time management of resource allocation system: A disceret event systems appproach[M]. New York: Springer, 2006.
|
[3] |
WU N Q, ZHOU M C, LI Z W. Resource-oriented Petri net for deadlock avoidance in flexible assembly systems[J].
IEEE Transactions on Systems, Man, and Cybernetics – Part A: Systems and Humans, 2008, 38(1): 56-69.
DOI: 10.1109/TSMCA.2007.909542. |
[4] |
WU N Q. System modeling and control with resource-oriented Petri nets[M]. CRC Press, Taylor & Francis Group, 2009.
|
[5] |
EZPELETA J, COLOM J M, MARTINEZ J. A Petri net based deadlock prevention policy for flexible manufacturing systems[J].
IEEE Transactions on Robotics and Automation, 1995, 11(2): 173-184.
DOI: 10.1109/70.370500. |
[6] |
LI Z W, ZHOU M C. Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems[J].
IEEE Transactions on Systems, Man, and Cybernetics, Part A, 2004, 34(1): 38-51.
DOI: 10.1109/TSMCA.2003.820576. |
[7] |
CHEN H F, WW N Q, LI Z W, et al. On a maximally permissive deadlock prevention policy for automated manufacturing systems by using resource-oriented Petri nets[J].
ISA Transactions, in press, 2018.
|
[8] |
CHEN H F, WU N Q, ZHOU M C. A novel method for deadlock prevention of AMS by using resource-oriented Petri nets[J].
Information Sciences, 2016, 363: 178-189.
DOI: 10.1016/j.ins.2015.08.016. |
[9] |
CHEN H F, WU N Q, LI Z W, et al. Liveness of disjunctive and strict single-type automated manufacturing system: An ROPN approach[J].
IEEE Access, 2019, 7: 17760-17771.
DOI: 10.1109/ACCESS.2019.2896254. |
[10] |
NAZEEM A, REVELIOTIS S, WANG Y, et al. Designing compact and maximally permissive deadlock avoidance policies for complex resource allocation systems through classification theory: the linear case[J].
IEEE Transactions on Automatic Control, 2011, 56(8): 1818-1833.
DOI: 10.1109/TAC.2010.2095612. |
[11] |
REVELIOTIS S, NAZEEM, A. Deadlock avoidance policies for automated manufacturing systems using finite state automata. in Formal Methods in Manufacturing[M], CRC Press/Taylor & Francis, 2014.
|
[12] |
CHEN Y F, LI Z W, KHALIGUI M, et al. Design of a maximally permissive liveness-enforcing supervisor with a compressed supervisory structure for flexible manufacturing systems[J].
Automatica, 2011, 47(5): 1028-1034.
DOI: 10.1016/j.automatica.2011.01.070. |
[13] |
CHEN H F, WU N Q, ZHOU M C. Resource-oriented Petri net-based approach to deadlock prevention of AMSs[C]//In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, HongKong: IEEE, 2015.
|
[14] |
LAWLEY M, REVELIOTIS S. Deadlock avoidance for sequential resource allocation systems: Hard and easy cases[J].
International Journal of Flexible Manufacturing Systems, 2001, 13(4): 385-404.
DOI: 10.1023/A:1012203214611. |
[15] |
BARKAOUI K, ABDALLAH I B. A deadlock prevention method for a class of FMS[J].
IEEE International Conference on Systems, Man and Cybernetics, 1995, 5: 4119-4124.
|
[16] |
REVELIOTIS S, LAWLEY M, FERREIRA P. Structural control of large-scale flexibly automated manufacturing systems[M]//Cornelius T L. Computer-aided design, engineering and manufacturing. Boca Raton: CRC Press, 2000.
|
[17] |
NAZEEM A, REVELIOTIS S. Optimal linear separation of the safe and unsafe subspaces of sequential resource allocation systems as a set-covering problem: Algorithmic procedures and geometric insights[J].
Siam Journal on Control and Optimization, 2013, 51(2): 1707-1726.
DOI: 10.1137/120866427. |
[18] |
NAZEEM A, REVELIOTIS S. Designing compact and maximally permissive deadlock avoidance policies for complex resource allocation systems through classification theory: The nonlinear case[J].
IEEE Transactions on Automatic Control, 2012, 57(7): 1670-1684.
DOI: 10.1109/TAC.2011.2179422. |
[19] |
石聪聪, 刘富春. 模糊离散事件系统基于模式的故障诊断[J].
广东工业大学学报, 2019, 36(1): 35-41.
SHI C C, LIU F C. A pattern-based failure diagnosis of fuzzy discrete-event systems[J]. Journal of Guangdong University of Technology, 2019, 36(1): 35-41. |
[20] |
叶彬彬, 刘富春. 随机离散事件系统的故障预测[J].
广东工业大学学报, 2018, 35(6): 83-89.
YE B B, LIU F C. Failure predictability of stochastic discrete event systems[J]. Journal of Guangdong University of Technology, 2018, 35(6): 83-89. DOI: 10.12052/gdutxb.180030. |
[21] |
MURATA T. Petri nets: Properties, analysis, and applications[J].
Proceedings of the IEEE, 1989, 77(4): 541-580.
DOI: 10.1109/5.24143. |
[22] |
WU N Q, ZHOU M C. Modeling, analysis and control of dual-arm cluster tools with residency time constraint and activity time variation based on Petri nets[J].
IEEE Transactions on Automation Science and Engineering, 2012, 9(2): 446-454.
DOI: 10.1109/TASE.2011.2178023. |
[23] |
BAI L P, WU N Q, LI Z W, et al. Optimal one-wafer cyclic scheduling and buffer space configuration for single-arm multicluster tools with linear topology[J].
IEEE Transactions on Systems Man and Cybernetics Systems, 2016, 46(10): 1456-1467.
DOI: 10.1109/TSMC.2015.2501232. |
[24] |
UZAM M. An optimal deadlock prevention policy for flexible manufacturing systems using Petri net models with resources and the theory of regions[J].
International Journal of Advanced Manufacturing Technology, 2002, 19(3): 192-208.
DOI: 10.1007/s001700200014. |
[25] |
CHEN Y F, LI Z W. On structural minimality of optimal supervisors for flexible manufacturing systems[J].
Automatica, 2012, 48(10): 2647-2656.
DOI: 10.1016/j.automatica.2012.06.068. |