CN115934369B - 一种基于Petri网的鲁棒死锁避免算法 - Google Patents
一种基于Petri网的鲁棒死锁避免算法 Download PDFInfo
- Publication number
- CN115934369B CN115934369B CN202211650029.5A CN202211650029A CN115934369B CN 115934369 B CN115934369 B CN 115934369B CN 202211650029 A CN202211650029 A CN 202211650029A CN 115934369 B CN115934369 B CN 115934369B
- Authority
- CN
- China
- Prior art keywords
- transition
- resource
- mark
- under
- stdi
- 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
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及自动制造系统技术领域,尤其涉及一种基于Petri网的鲁棒死锁避免算法。本发明的目的是对于一个含不可靠资源的自动制造系统,提供一种基于Petri网的鲁棒死锁避免算法,保证系统中无论是否发生资源故障,系统生产都能顺利进行。本发明在生产过程中不仅可以避免由于资源分配不当造成的死锁,还可以避免不可靠资源发生损坏后系统陷入的堵塞状态。本发明的死锁避免算法是一种根据Petri网结构进行判断分析的结构分析法,并且采用一种前瞻式的思想来保证系统能够顺利进行,该算法思想简单,实现容易。
Description
技术领域
本发明涉及自动制造系统技术领域,尤其涉及一种基于Petri网的鲁棒死锁避免算法。
背景技术
随着社会的进步和科学技术的迅速发展,市场竞争激烈。为了生存和发展,越来越多的传统制造系统逐渐转变为自动制造系统。采用自动制造系统可以极大的降低制造成本、加速产品生产、提高产品质量,从而获得更高的经济效益。
自动制造系统是一种资源分配系统,不适当的资源分配会导致死锁发生,死锁会引起系统中的任务得不到完成,带来不必要的损失,因此,对于自动制造系统,最重要的前提就是避免死锁的发生。死锁是一种状态,当系统中的一个工件集合陷入了资源循环等待,每一个工件都在等待同一个集合中的另外一个工件占用的资源。死锁又分成完全死锁和局部死锁,如若局部死锁得不到及时的检测和处理,会扩散到整个系统,最后出现全局死锁。总而言之,只要资源之间出现循环等待,就出现死锁。
一直以来,对于自动制造系统的关注中心都是由于资源分配不当带来的死锁问题,但是在实际的加工生产过程中,死锁问题除了资源分配不当,还存在加工过程中资源发生故障,比如机器刀片损坏故障、轴承损坏故障、传感器故障等等。如果在生产进程中,加工机器的刀片或者轴承发生损坏,用到损坏资源的进程将发生中断,直到故障被修复,严重时,可能使原本可以正常运行的系统陷入堵塞状态,系统必须等待故障修复完后才能继续进行加工。
在自动制造系统中,不仅要避免由于资源分配不当造成的死锁,还要避免不可靠资源发生损坏后系统陷入的堵塞状态。
发明内容
本发明的目的是为了解决现有技术中的问题,对于一个含不可靠资源的自动制造系统,提供一种基于Petri网的鲁棒死锁避免算法,保证系统中无论是否发生资源故障,系统生产都能顺利进行。
本发明为实现上述发明目的,采取的技术方案如下:
一种基于Petri网的鲁棒死锁避免算法,包括以下步骤:
S1、初始化,令操作使能变迁集合资源集合/>
S2、采集一个可行标识M和使能变迁t;
S3、假设标识M下的故障资源全部修复好,在M下引发变迁t得到新标识Ms;
S4、在标识Ms下,当变迁t无前置资源,则变迁t在标识M下是可行的;
S5、在标识Ms下,当变迁t的前置资源的token数不为零时,则变迁t在标识M下是可行的;
S6、在标识Ms下,当变迁t的前置资源Rst的token数为零时,则将释放资源Rst的操作使能变迁放至集合T1中并将资源Rst放至集合R1中;
S7、选择T1\T2中的任意一个变迁tdi;
S8、当变迁tdi无前置资源且后置资源Retdi属于可靠资源,则变迁t在标识M下是可行的;
S9、当变迁tdi无前置资源且后置资源Retdi属于不可靠资源,则将变迁tdi放至集合T2中,执行步骤S7;
S10、当变迁tdi的前置资源Rstdi的token数不为零时,则变迁t在标识M下是可行的;
S11、当变迁tdi的前置资源Rstdi的token数为零且Rstdi属于可靠资源时,则将释放资源Rstdi的操作使能变迁放至集合T1中,将资源Rstdi放至集合R1中,将变迁tdi放至集合T2中,执行步骤S7;
S12、当变迁tdi的前置资源Rstdi的token数为零且Rstdi属于不可靠资源时,则将释放资源Rstdi的操作使能变迁放至集合T3中;
S13、选择T3中的任意一个变迁tgi;
S14、当变迁tgi的前置资源Rstgi属于集合R1且属于可靠资源时,则将释放资源Rstgi的操作使能变迁放至集合T1中,将资源Rstgi放至集合R1中,将变迁tdi放至集合T2中,执行步骤S7;S15、当变迁tgi的前置资源Rstgi属于集合R1且属于不可靠资源时,则变迁t在标识M下是不可行的;
S16、当变迁tgi的前置资源Rstgi不属于集合R1或变迁tgi无前置资源时,则将资源Rstgi放至集合R1中,将变迁tgi放至集合T1中,在T3中将变迁tgi删除,执行步骤S13;
S17、在算法的执行过程中,若T3为空,则将变迁tdi放至集合T2中,执行步骤S7;若T1\T2为空,则变迁t在标识M下是不可行的。
本发明所述的一种基于Petri网的鲁棒死锁避免算法,采用以上技术方案与现有技术相比,具有以下技术效果:
(1)本发明在生产过程中不仅可以避免由于资源分配不当造成的死锁,还可以避免不可靠资源发生损坏后系统陷入的堵塞状态。
(2)本发明的死锁避免算法是一种根据Petri网结构进行判断分析的结构分析法,并且采用一种前瞻式的思想来保证系统能够顺利进行,该算法思想简单,实现容易。
附图说明
图1为本发明的流程图;
图2为本发明涉及的实例中生产系统的Petri网模型示意图;
图3为本发明涉及的实例中M标识下的Petri网模型示意图;
图4为本发明涉及的实例中Ms标识下的Petri网模型示意图。
具体实施方式
下面结合附图详细的描述本发明的作进一步的解释说明,以使本领域的技术人员可以更深入地理解本发明并能够实施,但下面通过参考实例仅用于解释本发明,不作为本发明的限定。
如图1所述,一种基于Petri网的鲁棒死锁避免算法,包括以下步骤:
S1、初始化,令操作使能变迁集合资源集合/>
S2、采集一个可行标识M和使能变迁t;
S3、假设标识M下的故障资源全部修复好,在M下引发变迁t得到新标识Ms;
S4、在标识Ms下,当变迁t无前置资源,则变迁t在标识M下是可行的;
S5、在标识Ms下,当变迁t的前置资源的token数不为零时,则变迁t在标识M下是可行的;
S6、在标识Ms下,当变迁t的前置资源Rst的token数为零时,则将释放资源Rst的操作使能变迁放至集合T1中并将资源Rst放至集合R1中;
S7、选择T1\T2中的任意一个变迁tdi;
S8、当变迁tdi无前置资源且后置资源Retdi属于可靠资源,则变迁t在标识M下是可行的;
S9、当变迁tdi无前置资源且后置资源Retdi属于不可靠资源,则将变迁tdi放至集合T2中,执行步骤S7;
S10、当变迁tdi的前置资源Rstdi的token数不为零时,则变迁t在标识M下是可行的;
S11、当变迁tdi的前置资源Rstdi的token数为零且Rstdi属于可靠资源时,则将释放资源Rstdi的操作使能变迁放至集合T1中,将资源Rstdi放至集合R1中,将变迁tdi放至集合T2中,执行步骤S7;
S12、当变迁tdi的前置资源Rstdi的token数为零且Rstdi属于不可靠资源时,则将释放资源Rstdi的操作使能变迁放至集合T3中;
S13、选择T3中的任意一个变迁tgi;
S14、当变迁tgi的前置资源Rstgi属于集合R1且属于可靠资源时,则将释放资源Rstgi的操作使能变迁放至集合T1中,将资源Rstgi放至集合R1中,将变迁tdi放至集合T2中,执行步骤S7;S15、当变迁tgi的前置资源Rstgi属于集合R1且属于不可靠资源时,则变迁t在标识M下是不可行的;
S16、当变迁tgi的前置资源Rstgi不属于集合R1或变迁tgi无前置资源时,则将资源Rstgi放至集合R1中,将变迁tgi放至集合T1中,在T3中将变迁tgi删除,执行步骤S13;
S17、在算法的执行过程中,若T3为空,则将变迁tdi放至集合T2中,执行步骤S7;若T1\T2为空,则变迁t在标识M下是不可行的。
具体实施时,定义1:Petri网是一个由四个元素组成的四元组N=(P,T,F,M0),其中P={p1,p2,...,pn}为有限库所集合。T={t1,t2,...,tm}为有限变迁集合。F=(P×T)∪(T×P)为有向弧集,表示库所集到变迁集或者变迁集到库所集的流关系。Fu为修复过程流关系集,表示每个工件的修复情况和释放情况,即带箭头的虚线;
定义2:Petri网的标识是一个映射M,token表示在M下,位置p中的加工单元个数。则M(p)表示在M下,位置p中的token的个数。M0是Petri网的初始标识,即初始状态下库所中token的分布情况。对于任意节点x∈P∪T,记·x={y∈P∪T|(y,x)∈F}表示x的输入节点集,记x·={y∈P∪T|(x,y)∈F}表示x的输出节点集。
定义3:假设(t,p)∈F,t就是p的前置变迁(用(t)p表示),p就是t的后置库所(用t(p)表示);假设(p,t)∈F,p就是t的前置库所(用(p)t表示),t就是p的后置变迁集(用p(t)表示);假设(r,t)∈F,r就是t的前置资源集(用(r)t表示),t就是r的后置变迁(用r(t)表示);假设(t,r)∈F,t就是r的前置变迁(用(t)r表示),r就是t的后置资源集(用t(r)表示);
定义4:如果M((p)t)>0,则变迁t在M下是操作使能,如果M((r)t)>0,则变迁t在M下是资源使能;若某一变迁t同时满足操作使能和资源使能,则称该变迁为使能变迁。
具体步骤如下:
1)建立自动制造系统的Petri网模型,该系统由两条生产线的小型加工系统组成,系统可以加工的毛坯品有两种:P10和P20,两种毛坯品的数量均为7,加工机器有三种,均属于不可靠资源:r1,r2,r3,其容量分别为2,2和3;每种毛坯品通过闲置区进入生产线进行加工,加工完成后再离开生产线。Petri网的初始可达标识Mu0=7p10+7p20+2r1+2r2+3r3。系统对应的Petri网模型如图2所示。
2)采集一个可行的标识M=5p10+4p20+p11+p21+p22+pu3+pu4+r1+r2和使能变迁t12,M标识下的Petri网模型如图3所示。
3)初始化,令操作使能变迁集合资源集合/>
4)在标识M下引发变迁t12得到新标识M′=5p10+4p20+p12+p21+p22+pu3+pu4+2r1,假设标识M′中正在修复的故障资源已全部修复好,且得到一个新标识Ms=5p10+4p20+p12+p13+2p21+p22+2r1,Ms标识下的Petri网如图4所示。
5)通过判断标识Ms的状态,来确定变迁t12可不可行,具体方法如下:
(1)变迁t12前置资源r2的token数为零,则将释放资源r2的操作使能变迁放至集合T1中,将资源r2放至集合R1中,即T1={t13,t23},R1={r2};
(2)选择T1\T2中任意一个变迁t13,变迁t13的前置资源r3的token数为零且属于不可靠资源,将释放资源r3的操作使能变迁放至集合T3中,即T3={t14,t22};
(3)选择T3中的任意一个变迁t14,变迁t14无前置资源,则将资源r3放至集合R1中,将变迁t14放至集合T1中,在T3中将变迁t14删除,即R1={r2,r3},T1={t13,t23,t14},T3={t22};
(4)选择T3中的任意一个变迁t22,变迁t22的前置资源r2属于集合R1且属于不可靠资源,则变迁t12在标识M下是不可行的;
(4.1)假设当执行步骤(4)时,变迁t22的前置资源r2属于集合R1且属于可靠资源时,则将释放资源r2的操作使能变迁放至集合T1中,将资源r2放至集合R1中,将变迁t13放至集合T2中,即T1={t13,t23,t14},R1={r2,r3},T2={t13};
(4.2)选择T1\T2中任意一个变迁t14,变迁t14无前置资源且后置资源r3属于不可靠资源,则将变迁t14放至集合T2中,即T2={t13,t14};
(4.3)选择T1\T2中任意一个变迁t23,变迁t23的前置资源r1的token数不为零,则变迁t12在标识M下是可行的
综上,在标识M=5p10+4p20+p11+p21+p22+pu3+pu4+r1+r2下,引发变迁t12是不可行的。
本发明研究的对象是带有不可靠资源的自动制造系统,并且不可靠资源的加工单元至少有一个在正常工作。本发明的目的是对于一个含不可靠资源的自动制造系统,提供一种基于Petri网的鲁棒死锁避免算法,保证系统中无论是否发生资源故障,系统生产都能顺利进行。这里的不可靠资源是指含多个相同加工单元的机器,而不是含缓冲区的工作站。为保证系统在资源故障时也能继续进行加工,我们假设同一类型的不可靠资源里面所有的加工机器不能同时全部发生故障,而且只在生产加工中发生故障。本发明算法中将考虑资源故障,确保资源发生故障时,系统能够安全生产,而不被堵塞。
本发明涉及自动制造系统的一种基于Petri网的鲁棒死锁避免算法,在生产过程中不仅可以避免由于资源分配不当造成的死锁,还可以避免不可靠资源发生损坏后系统陷入的堵塞状态。本发明先假设当前生产系统中正在修复的故障资源已全部修复好,再通过一种前瞻式的方法,预先判断引发变迁t之后的状态是否出现资源循环等待,来确定变迁t可不可以引发。本发明应用Petri网作为数学工具,对自动制造系统进行建模,使得系统能持续顺畅的加工。
以上所述的具体实施方案,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述仅为本发明的具体实施方案而已,并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所做出的等同变化与修改,均应属于本发明保护的范围。
Claims (1)
1.一种基于Petri网的鲁棒死锁避免算法,其特征在于,包括以下步骤:
S1、初始化,令操作使能变迁集合资源集合/>
S2、采集一个可行标识M和使能变迁t;
S3、假设标识M下的故障资源全部修复好,在M下引发变迁t得到新标识Ms;
S4、在标识Ms下,当变迁t无前置资源,则变迁t在标识M下是可行的;
S5、在标识Ms下,当变迁t的前置资源的token数不为零时,则变迁t在标识M下是可行的;
S6、在标识Ms下,当变迁t的前置资源Rst的token数为零时,则将释放资源Rst的操作使能变迁放至集合T1中并将资源Rst放至集合R1中;
S7、选择T1\T2中的任意一个变迁tdi;
S8、当变迁tdi无前置资源且后置资源Retdi属于可靠资源,则变迁t在标识M下是可行的;
S9、当变迁tdi无前置资源且后置资源Retdi属于不可靠资源,则将变迁tdi放至集合T2中,执行步骤S7;
S10、当变迁tdi的前置资源Rstdi的token数不为零时,则变迁t在标识M下是可行的;
S11、当变迁tdi的前置资源Rstdi的token数为零且Rstdi属于可靠资源时,则将释放资源Rstdi的操作使能变迁放至集合T1中,将资源Rstdi放至集合R1中,将变迁tdi放至集合T2中,执行步骤S7;
S12、当变迁tdi的前置资源Rstdi的token数为零且Rstdi属于不可靠资源时,则将释放资源Rstdi的操作使能变迁放至集合T3中;
S13、选择T3中的任意一个变迁tgi;
S14、当变迁tgi的前置资源Rstgi属于集合R1且属于可靠资源时,则将释放资源Rstgi的操作使能变迁放至集合T1中,将资源Rstgi放至集合R1中,将变迁tdi放至集合T2中,执行步骤S7;
S15、当变迁tgi的前置资源Rstgi属于集合R1且属于不可靠资源时,则变迁t在标识M下是不可行的;
S16、当变迁tgi的前置资源Rstgi不属于集合R1或变迁tgi无前置资源时,则将资源Rstgi放至集合R1中,将变迁tgi放至集合T1中,在T3中将变迁tgi删除,执行步骤S13;
S17、在算法的执行过程中,若T3为空,则将变迁tdi放至集合T2中,执行步骤S7;若T1\T2为空,则变迁t在标识M下是不可行的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211650029.5A CN115934369B (zh) | 2022-12-21 | 2022-12-21 | 一种基于Petri网的鲁棒死锁避免算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211650029.5A CN115934369B (zh) | 2022-12-21 | 2022-12-21 | 一种基于Petri网的鲁棒死锁避免算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115934369A CN115934369A (zh) | 2023-04-07 |
CN115934369B true CN115934369B (zh) | 2023-08-01 |
Family
ID=86652172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211650029.5A Active CN115934369B (zh) | 2022-12-21 | 2022-12-21 | 一种基于Petri网的鲁棒死锁避免算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934369B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0118294D0 (en) * | 2001-07-27 | 2001-09-19 | Ibm | Method and system for deadlock detection and avoidance |
CN105022377A (zh) * | 2015-07-22 | 2015-11-04 | 西安电子科技大学 | 一种基于Petri网的自动制造系统的控制方法 |
CN110209118A (zh) * | 2019-05-22 | 2019-09-06 | 西安电子科技大学 | 具有使用多种类多数量资源和柔性路径特征的基于Petri网的稳健性控制方法 |
CN110308700A (zh) * | 2019-05-11 | 2019-10-08 | 西安电子科技大学 | 一种存在不可控行为的加工路径规划方法 |
CN111983978A (zh) * | 2019-05-22 | 2020-11-24 | 西安电子科技大学 | 具有吸收式策略和分布式策略特征的Petri网稳健性控制方法 |
-
2022
- 2022-12-21 CN CN202211650029.5A patent/CN115934369B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0118294D0 (en) * | 2001-07-27 | 2001-09-19 | Ibm | Method and system for deadlock detection and avoidance |
CN105022377A (zh) * | 2015-07-22 | 2015-11-04 | 西安电子科技大学 | 一种基于Petri网的自动制造系统的控制方法 |
CN110308700A (zh) * | 2019-05-11 | 2019-10-08 | 西安电子科技大学 | 一种存在不可控行为的加工路径规划方法 |
CN110209118A (zh) * | 2019-05-22 | 2019-09-06 | 西安电子科技大学 | 具有使用多种类多数量资源和柔性路径特征的基于Petri网的稳健性控制方法 |
CN111983978A (zh) * | 2019-05-22 | 2020-11-24 | 西安电子科技大学 | 具有吸收式策略和分布式策略特征的Petri网稳健性控制方法 |
Non-Patent Citations (4)
Title |
---|
Robust Deadlock Control for Automated Manufacturing Systems With Unreliable Resources Based on Petri Net Reachability Graphs;Gaiyun Liu 等;IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS;全文 * |
Robust deadlock control of automated manufacturing systems with multiple unreliable resources;JianChao Luo 等;Information Sciences;全文 * |
Two-stage design method of robust deadlock control for automated manufacturing systems with a type of unreliable resources;Yanxiang Feng 等;Information Sciences;全文 * |
具有不可靠资源柔性制造系统的鲁棒控制器设计;刘慧霞 等;控制与决策;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115934369A (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106200575B (zh) | 一种基于Petri网的自动制造系统的稳健性控制方法 | |
CN102929585B (zh) | 一种支持多主机分布式数据处理的批处理方法及系统 | |
CN110209118B (zh) | 具有使用多种类多数量资源和柔性路径特征的基于Petri网的稳健性控制方法 | |
CN113127366B (zh) | 基于模型的矩阵自动化测试方法及计算机可读存储介质 | |
CN115903508B (zh) | 一种基于Petri网的柔性制造系统的鲁棒死锁检测方法 | |
CN115934369B (zh) | 一种基于Petri网的鲁棒死锁避免算法 | |
CN112800716A (zh) | 一种集成电路版图布线中线网开路检测方法 | |
CN116069514B (zh) | 一种含不可靠资源的柔性制造系统的死锁避免方法 | |
CN112016675A (zh) | 用于钢板表面缺陷检测的cnn模型训练方法和装置 | |
CN112765014A (zh) | 一种用于多用户同时操作的自动测试系统及工作方法 | |
US7657410B2 (en) | Process simulation system | |
CN115238559B (zh) | 一种三维轧件拉伸建模过程边界组元自动提取方法及系统 | |
US8924773B1 (en) | Reducing file system data unavailability window by adapting hierarchical recovery framework | |
JPH1064294A (ja) | メモリデバイスの不良救済解析方法 | |
CN114372309A (zh) | 基于bim的装配式建筑智能出图方法 | |
CN115049686A (zh) | 一种基于辅助信息的复杂染色体区域分割方法及装置 | |
CN114841281A (zh) | 一种数据表的识别方法、装置、设备、介质及程序产品 | |
CN109459897B (zh) | 一种阵列基板修补方法及修补装置 | |
CN112380712A (zh) | 一种零件优先加工的仿真方法 | |
CN110705116B (zh) | 一种机加生产线中更换夹具的仿真方法 | |
CN103226590B (zh) | 作业之间的触发方法 | |
CN1855358A (zh) | 计算机可实现的晶片预约分批的方法及系统 | |
CN111061749A (zh) | 基于事务顺序分析的数据库事务并发重做方法和装置 | |
CN111105062B (zh) | 基于设备状态的物料调度方法及物料调度系统 | |
US5950204A (en) | Determining apparatus and determining method for inclusion relation between sets of parallel multiple ladder-structured data |
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 |