CN109857083A - 一种基于Petri网的含有不可观事件的无死锁控制方法 - Google Patents

一种基于Petri网的含有不可观事件的无死锁控制方法 Download PDF

Info

Publication number
CN109857083A
CN109857083A CN201910026535.9A CN201910026535A CN109857083A CN 109857083 A CN109857083 A CN 109857083A CN 201910026535 A CN201910026535 A CN 201910026535A CN 109857083 A CN109857083 A CN 109857083A
Authority
CN
China
Prior art keywords
state
deadlock
stepsize
inconsiderable
transition
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
CN201910026535.9A
Other languages
English (en)
Other versions
CN109857083B (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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN201910026535.9A priority Critical patent/CN109857083B/zh
Publication of CN109857083A publication Critical patent/CN109857083A/zh
Application granted granted Critical
Publication of CN109857083B publication Critical patent/CN109857083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本发明属于自动制造系统技术领域,涉及一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:至少包括如下步骤:(1)获取自动制造系统中自动控制过程可行步长;(2)依据自动控制过程可行步长得到最优步长;(3)获取最优步长的节点信息,根据节点信息判断节点中是否有死锁状态,如果没有,返回步骤(3)开始,有进入避免死锁步骤。它提供一种适应于自动制造系统的基于Petri网的含有不可观事件的无死锁控制方法,以解决自动制造系统含有不可观事件(但事件可控)的自动制造系统离线死锁。

Description

一种基于Petri网的含有不可观事件的无死锁控制方法
技术领域
本发明属于自动制造系统技术领域,涉及一种基于Petri网的含有不可观事件的无死锁控制方法。
背景技术
死锁是自动化生产系统控制设计时必须考虑和解决的问题。死锁造成的整个或部分系统的停顿,有些情况下,并不是单纯地降低生产率,而是可能造成重大的经济损失甚至灾难性的后果。对死锁问题的系统研究,始于二十世纪下半叶,源于计算机操作系统的资源分配问题。上个世纪八十年代以后,制造系统完成了从大批量、品种单一的生产模式向以小批量、多品种以及具备适应市场快速变化能力为目标的现代自动柔性制造系统的转变,自动制造系统的死锁研究也受到了广泛重视和研究。
随着系统复杂性的提高,考虑到安全性和观测成本高等一些原因,因此在系统中会不可避免的存在不可观事件;比如:核反应是我们所熟知的一个反应,其内部的反应是相当的复杂,有好多反应也是不可观测的,那么工作人员是采取怎样的控制策略才能使核反应最终到达一个理想的状态呢?因此我们可以联想到我们所研究的自动制造系统,如果系统中有不可观变迁的存在,那么我们将采取怎样的控制策略对系统加以控制,使系统始终处在一个理想的状态,从而保证系统的正常运行(即不会走到死锁状态)。
截止到目前为止,研究者研究了含有不可观事件的自动制造系统的死锁避免策略,还是存在一些缺陷,具体体现在:1.大部分都是对所有事件都是可观可控的或者只含有不可控事件的自动制造系统的研究,对只含有不可观事件(但事件可控)的自动制造系统的研究很少。2.大部分的控制方法是离线的计算机制,离线的加控制器来进行死锁的避免。
发明内容
本发明的目的是提供一种适应于自动制造系统的基于Petri网的含有不可观事件的无死锁控制方法,以解决自动制造系统含有不可观事件(但事件可控)的自动制造系统离线死锁。
为实现上述目的,一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:至少包括如下步骤:
(1)获取自动制造系统中自动控制过程可行步长;
(2)依据自动控制过程可行步长得到最优步长;
(3)获取最优步长的节点信息,根据节点信息判断节点中是否有死锁状态,如果没有,返回步骤(3)开始,有进入避免死锁步骤。
所述的步骤(1)包括如下步骤:
步骤1:输入PN的初始状态M0以及预测步长stepsize,不可观变迁集合TUO
步骤2:初始化,令M=M0,stepsize=1,给一个时间T0
步骤3:从当前状态M(可能是一个状态也可能是多个状态的集合),以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q;
步骤4:将可达状态集合Q中同一不可观变迁相连的连续的状态划分状态集合为Quo
步骤5:若在M下则根据步骤4得到状态集合为Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;
步骤6:直到M≠Quo,依据变迁集合Ten是否为空,为空回到步骤2重新执行,不为空,继续执行;
步骤7:若M是Quo,根据Quo中状态是否有可以使能的变迁,决定回到2重新执行还是执行步骤6中部分内容;
步骤8:若程序运行的时间T<T0,更新当前状态M即M=M*,回到步骤2重新执行,否则令suofs=stepsize,输出suofs
所述步骤6,根据Ten的两种可能情况分别讨论如下:
6.1若Ten则令stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
6.2若Ten不为则随机发射t∈Ten,到达新的状态M*
上述6.2步骤中,若再分为以下两种情况:
6.2.1若则stepsize=stepsize*2,更新步长stepsize,回到2重新执行。
6.2.2若考虑M∈Mgood则随机发射t∈Ten,到达新的状态M*。M∈MCR则从Ten中将发射到达坏死或者死锁状态的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*
所述步骤7,根据Quo中状态是否使能,分两种情况讨论入下:
7.1若Quo中有至少一个状态没有可以使能的变迁,则令stepsize=stepsize*2,更新步长stepsize,回到步骤2重新执行;
7.2若Quo中每一个状态都有可以使能的变迁,从上述步骤6.2开始向下执行。
所述的步骤(2)包括:
步骤21:输入PN的初始状态M0以及初始步长stepsize,不可观变迁集合TUO,步骤(1)中的t0及步骤(1)中的输出Suofs
步骤22:初始化,令M=M0,stepsize=1;
步骤23:令S1=Suofs
步骤24:若Suofs≤2则Suop=Suofs则输出Suop,结束。
步骤25:若Suofs>2则重新计算预测步长,输出Suop或者回到步骤3。
所述步骤25,根据的值是否为0,分两种情况讨论如下:
5.1若则参考算法一,从初始状态M0,以步长预测。
5.2若则从初始状态M0,以步长预测。
其中,5.1步骤中,根据系统是否进入死锁,有以下几种情况:
5.1.1如果在T0时间内一旦系统走到了死锁状态则令
5.1.2如果在T0时间内,系统没有走入死锁状态,则令
5.1.3输出Suop,结束。
同样的,5.2步骤中,根据系统是否进入死锁,有以下几种情况:
5.2.1如果在T0时间内一旦系统走到了死锁状态则令更新S0,回到步骤23,重新执行。
5.2.2如果在T0时间内系统没有走入死锁状态,则令更新S1,回到步骤23,重新执行。
所述的步骤(3)包括:
步骤31:输入PN的初始状态M0,不可控变迁集合TUO及步骤(2)的输出Suop
步骤32:初始化,令M=M0,stepsize=Suop
步骤33:从当前状态M,以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q。
步骤34:将Q中同一不可观变迁相连的连续的状态划分为一类,称这类状态集合为Quo
步骤35:若在M下则根据步骤34得到的Quo,更新当前状态M,即令M=Quo,回到步骤33重新向下执行。
步骤36:若则随机发射t∈Ten,到达新的状态M*
步骤37:若则选择Ten,到达新的状态M*
步骤38:更新当前状态M即M=M*,回到33重新执行。
所述步骤36,若分两种情况讨论:
6.1若M∈Mgood则随机发射t∈Ten,到达新的状态M*
6.2若M∈MCR则从Ten中将发射到达坏死或者死锁状态或者含有坏死或者死锁状态的Quo的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*
与现有的技术相比,本发明具有有益的效果,具有体现在以下几个方面:
1.本发明对只含有不可观可控变迁的Petri Net进行了研究并提出了一种死锁避免的方法。
2.本发明的死锁避免方法不需要检测全局信息,只需要关注当前状态预测的局部信息,避免了穷举所有的状态,从而计算和存储复杂度大大地简化。
3.本发明采用边预测、边控制的实时在线运行方针,不需要提前设计控制器。根据在当前状态下预测到的状态进行分析判断,根据判断的结果及时地反馈给控制器。控制器做出恰当的控制决策,来决定在当前状态下需要发射那个变迁,从而避免在加工过程中出现死锁状态,导致生产线停滞,造成巨大的损失。
4.本发明的方法是根据上边的算法随机发射变迁的性质从而极大地改善系统的许可性,使系统的许可性尽可能的达到最大。
下面结合附图和具体实施方式对本发明进行详细说明。
附图说明
图1是S4R模型示意图。
具体实施方式
如图1所示,一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:至少包括如下步骤:
(1)获取自动制造系统中自动控制过程可行步长;
(2)依据自动控制过程可行步长得到最优步长;
(3)获取最优步长的节点信息,根据节点信息判断节点中是否有死锁状态,如果没有,返回步骤(3)开始,有进入避免死锁步骤。
所述的步骤(1)包括如下步骤:
步骤1:输入自动制造生产开始时所有节点信息M0(这个M0里面包含的是六台机器和托盘的信息)及从M0开始工件后续可能进行那几步装载或者卸载,将这个装载和卸载的次数称为步数并记为stepsize;工件向机器(M1,M2)的装载是看不见的,因此称我们将这个事件为不可观事件,这里的不可观变迁集合TUO里面就包含了这一个不可观事件;进程2中工件是否能装载到机器M5,M6上是不可控制,我们将这个事件称为不可控事件,这里的不可控变迁集合TUO里面就包含了这一个不可控事件;
步骤2:初始化:令当前生产过程的信息记为M,刚开始时我们令M=M0,在M这个状态下,我们预测后续如果进行一次装载或者卸载我们整个系统将可能到达的状态,因此我们令stepsize=1,如果进行两次那么stepsize=2,依次类推。我们给一个时间T0,这个T0是用计算机实现模拟这个系统进行的流程,让系统运行的时间;
步骤3:从当前状态M(可能是一个状态也可能是多个状态的集合,因为该系统中有不可观测事件的存在,所以我们有时无法判断当前系统处于哪一个具体的状态),用步长stepsize预测,我们可以知道在M下有哪些事件(比如工件的装载或卸载)可以发生,我们将这些可以发生的事件集合称为Ten;在stepsize次的装载和卸载这个过程中系统所能到达的所有状态,我们称这个状态集合为Q;
步骤4:将Q中同一个不可观事件相连的系统的状态划分为一类(即不可观事件发生前和发生后系统所处的状态分为一类),称这类状态集合为Quo
步骤5:若在M下可能发生的事件中包含不可观的事件即 则根据步骤4得到该不可观变迁对应的Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;
步骤6:当前的系统所处的状态是可观的即M≠Quo;根据Ten是否为空,决定回到2重新执行还是继续执行到达新的状态;
步骤7:若M是Quo,根据Quo中的状态下是否有可以发生的事件,决定回到2重新执行还是执行步骤6中部分内容;
步骤8:若计算机程序模拟运行的时间T<T0,更新当前状态M即M=M*,回到2重新执行。否则令suoucfs=stepsize,输出suoucfs
所述步骤6,根据在当前状态是否有事件发生即Ten是否为空,进行讨论如下:
6.1若Ten令stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
6.2若Ten不为Q中是否含有死锁状态来判断发生那些事件然后到达新的状态M*
其中6.2步骤中,分为以下两种情况讨论:
6.2.1在Q中没有死锁状态即
6.2.1.1若当前可以发生的事件集合Ten中不含有不可控的事件,则按照正常的加工流程走,到达新的状态M*
6.2.1.2若当前可以发生的事件集合Ten中含有不可控的事件,则让不可控的事件发生,到达新的状态M*
6.2.2若Q中含有死锁状态,则从预测到的死锁状态进行反推,推到在stepsize步系统经历的状态是否存在某些状态不是不可避免的到达死锁的状态,其可以到达其它正常的状态,我们称这样的状态集合为临界状态MCR,根据是否为空再做进一步的判断。
上述6.2.2步骤中,又可分为以下两种情况讨论:
6.2.2.1若则stepsize=stepsize*2,更新步长stepsize,回到2重新执行。
6.2.2.2若临界状态集合分以下两种情况执行:
1)若当前状态是系统所处的正常状态;
2)若当前状态是一个临界状态,即系统在下一步有可能进入死锁状态,也有可能依然处于正常运行状态;
其中,1)若在当前状态下,可能发生的事件集合中不含有不可控的事件,则系统正常运行,到达新的状态M*;可能发生的事件集合中含有不可控的事件,则让不可控的事件发生,系统到达新的状M*
2)若在当前状态下,可能发生的事件集合中不含有不可控的事件,则从Ten中将发射到达坏死或者死锁状态的事件剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*;若可能发生的事件集合中含有不可控的事件,则让不可控的事件发生,系统到达新的状M*
所述步骤7,根据Quo中状态是否有可以使能的变迁,分两种情况讨论:
7.1若Quo中有至少一个状态没有可以使能的变迁,则令stepsize=stepsize*2,更新步长stepsize,回到2重新执行。
7.2若Quo中每一个状态都有可以使能的变迁,从上述步骤6.2开始向下执行。
所述的步骤(2)包括:
步骤1:输入PN的初始状态M0以及初始步长stepsize,不可观变迁集合TUO,不可控变迁集合TUC,算法一的T0及算法一的输出Suoucfs
步骤2:初始化:令S1=suoucfs
步骤3:若suoucfs≤2则Suoucop=Suoucfs则输出Suoucop,结束。
步骤4:若Suofs>2则重新计算预测步长,输出Suoucop或者回到步骤3。
所述步骤5,根据的值是否为0,分两种情况讨论如下:
4.1若则参考算法一,从初始状态M0,以步长预测。
4.2若则从初始状态M0,以步长预测。
其中4.1步骤中:根据系统是否进入死锁,有以下几种情况:
4.1.1如果在T0时间内一旦系统走到了死锁状态则令
4.1.2如果在T0时间内,系统没有走入死锁状态,则令
4.1.3输出Suop,结束。
同样的,4.2步骤中,根据系统是否进入死锁,有以下几种情况:
4.2.1如果在T0时间内一旦系统走到了死锁状态则令更新S0,回到步骤3,重新执行。
4.2.2在T0时间内系统没有走入死锁状态,则令更新S1,回到步骤3,重新执行。
所述的步骤(3)包括如下:
步骤1:输入自动制造生产开始时所有节点信息M0(这个M0里面包含的是六台机器和托盘的信息)及从M0开始工件后续可能进行那几步装载或者卸载,将这个装载和卸载的次数称为步数并记为stepsize;工件向机器(M1,M2)的装载是看不见的,因此称我们将这个事件为不可观事件,这里的不可观变迁集合TUO里面就包含了这一个不可观事件;进程2中工件是否能装载到机器M5,M6上是不可控制,我们将这个事件称为不可控事件,这里的不可控变迁集合TUO里面就包含了这一个不可控事件。算法二的输出Suoucop
步骤2:初始化:令M=M0,stepsize=Suoucop
步骤3:从当前状态M(可能是一个状态也可能是多个状态的集合,因为该系统中有不可观测事件的存在,所以我们有时无法判断当前系统处于哪一个具体的状态),用步长stepsize预测,我们可以知道在M下有哪些事件(比如工件的装载或卸载)可以发生,我们将这些可以发生的事件集合称为Ten;在stepsize次的装载和卸载这个过程中系统所能到达的所有状态,我们称这个状态集合为Q。
步骤4:将Q中同一个不可观事件相连的系统的状态划分为一类(即不可观事件发生前和发生后系统所处的状态分为一类),称这类状态集合为Quo
步骤5:若在M下可能发生的事件中包含不可观的事件即 则根据步骤4得到该不可观变迁对应的Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行。
步骤6:若Q没有死锁状态,则按照正常的加工流程进行,到达新的状态M*
步骤7:若Q有死锁状态,则根据当前所处的状态进行判断,然后决定让那个事件发生从而让系统进入一个新的状态M*
步骤8:更新当前状态M即M=M*,回到3重新执行。
所述步骤6,选择发射t,规则如下:
6.1若在系统当前状态下,可以发生的事件集合中不含有不可控的事件则按照正常的流程走,到达新的状态M*
6.2若在系统当前状态下,可以发生的事件集合中含有不可控的事件则可以让不可控的事件发生,到达新的状态M*
所述步骤7,根据Q中是否含有死锁状态分两种情况讨论:
7.1若当前系统所处的状态是一个正常运转的状态,我们也称这种状态为好状态,下来需要发生哪一个事件需遵循一定规则;
7.2若当前系统所处的状态是一个临界状态,下来需要发生哪一个事件需遵循一定规则;
其中7.1步骤中:
7.1.1在系统当前状态下,可以发生的事件集合中不含有不可控的事件则按照正常的流程走,到达新的状态M*
7.1.2在系统当前状态下,可以发生的事件集合中含有不可控的事件则可以让不可控的事件发生,到达新的状态M*
其中7.2步骤中,根据t变迁发射规则如下:
7.2.1在系统当前状态下,则从Ten中将发射到达坏死或者死锁状态,或者是到达含有坏死或者死锁状态的Quo的变迁剔除掉的集合中随机选择一个事件让其发生,到达新的状态M*
7.2.2在系统当前状态下,可以发生的事件集合中含有不可控的事件则可以让不可控的事件发生,到达新的状态M*
本发明中的符号说明:
PN Petri网
stepsize 预测步长
Sfs 可行步长
M0 初始状态
M 当前状态
Ten 在M下可以使能的变迁集合
Mdead 死锁状态
Q 在M下以stepsize预测到的所有状态
MCR 临界状态集合
TUO 不可观变迁集合
TUC 不可控变迁集合;
Tuc 在当前状态M可以使能的不可控的变迁集合
T0 由系统本身决定
T 实现算法的程序运行的时间
t 变迁
tuo 不可观的变迁
Suofs 含有不可观事件的自动制造系统可行步长
Suop 含有不可观事件的自动制造系统最优步长
本发明的说明和定义1:
一个Petri网(结构)N是一个四原组(P,T,F,W),P和T分别称为库所和变迁的集合,P和T非空、有限且不相交。也就是说,
称为流关系或有向弧的集合。W:(P×T)∪(T×P)→N是一个映射,该映射为每一条弧分配一个权值,即W(f)>0若f∈F,则W(f)=0若称W为Petri网N的权函数。
定义2:标识(状态)PN为一5要元:
PN={PNS,m}
此处:
(1)PNS={P,T,F,W}为PN结构,它由定义1确定。
(2)m:P→N为标识PN的标识,它为一列向量,其第i个元素表示,第i个库所中的托肯的数目。特别地,m0为初始标识,表示系统的初始状态。
定义3:不可控变迁与不可观变迁
(1)不可控变迁:系统在运行的时候我们不能人为的控制变迁是否发射,变迁想发射就发射了,不想发射就不发射,我们控制不住。这样的变迁我们称为不可控变迁。反之,我们可以人为控制变迁的发射,这类变迁称为可控变迁。
(2)不可观变迁:变迁是否发射我们是不知道的,因此我们不能判断我们是处在当前状态还是发射了不可观变迁到达的下一个状态。
我们可以将以上的算法应用到含有不可控事件自动制造系统中,举例如下:
下面的实施例说明能更清楚说明本发明。如一生产单元由6台机器(M1,M2,M3,M4,M5,M6)进行工件的加工,其中机器M1,M2的功能一样,M3,M4的功能一样,M5,M6的功能一样。一输入传送带传送载有工件的托盘(1个托盘上仅载有1个工件),工件自动被装载(当然也可人工控制不让其装载,稍后进行装载)到机器上进行加工,加工完成后进行自动传输给下一类机器然后进行后续的加工。为了提高生产的效率,该加工分成两个进程进行加工,第一个进程共有8个托盘可以使用,工件安装在其中之一上,先后由机器人(M1,M2),(M3,M4),(M5,M6)依次进行加工。加工完毕后,托盘与成品自动脱离,然后转载新的工件,再回到输入传输带上,但在这个进程中,工件向机器(M1,M2)的装载是看不见的,也就是将工件放在托以后我们就不知道工件装载没装载到机器(M1,M2)上,是否正在加工。进程2同样也有8个托盘可以使用,工件安装在其中之一上先后由机器人(M5,M6),(M3,M4),(M1,M2)依次进行加工。加工完毕后,托盘与成品自动脱离,然后转载新的工件,再回到输入传输带上。但是在两个进程中的不断加工中,有可能导致进程1需要机器M5,M6进行工件的加工而被进程2的工件加工所占用,而进程2需要M1,M2而被进程1所占用,从而导致两个进程都停止最终导致生产线崩掉。为了解决这种问题我们可以给以上问题建立系统的PN模型,如图1所示:
(1)首先确定系统的所有资源:该系统资源包括:16个装载工件的托盘、两个进程,每个进程各8个、机器M1,M2,M3,M4,M5,M6
(2)确定与各资源有关所有活动(操作)及其先后顺序并建立其子模型:
(a)装载工件的托盘经历以下状态与活动:
进程1:
·装载到机器M1,M2
·其上的工件被M1,M2加工;
·装载到机器M3,M4
·其上的工件被M3,M4加工;
·装载到机器M5,M6
·其上的工件被M5,M6加工;
·加工完毕工件从M5,M6进行卸载。
用p1带表载有工件的托盘可使用(若其中含有托肯,表示可用);p2,p3,p4分别表示托盘上的工件在被机器p9(M1,M2),机器p10(M3,M4),机器p11(M5,M6)加工之中;t1,t2,t3分别表示向机器(M1,M2),(M3,M4),(M5,M6)中装载工件,令t1为不可观变迁,t4表示从机器(M5,M6)中卸载工件。
(b)机器M1,M2,M3,M4,M5,M6经历以下活动和状态:
·工件被M1/M2(由p9表示)加工;工件被M3/M4(由p10表示)加工;
·工件被M5/M6(由p11表示)加工;
·工件从M5/M6卸载(由t4表示)。
进程2的模型简化和上面进程1类似,这里不再详细阐述。

Claims (8)

1.一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:至少包括如下步骤:
(1)获取自动制造系统中自动控制过程可行步长;
(2)依据自动控制过程可行步长得到最优步长,所谓的最优步长就是从当前的状态预测到的信息不是太多也不是太少,以这个步长预测的信息正好能够对系统进行控制从而避免系统发生死锁,而可行步长虽然也能避免死锁但是其预测的信息有点多,会造成不必要的计算和分析;
(3)获取最优步长的节点信息,根据节点信息判断节点中是否有死锁状态,如果没有,返回步骤(3)开始,有进入避免死锁步骤。
2.根据权利要求1所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述的步骤(1)包括如下步骤:
步骤1:输入PN的初始状态M0以及预测步长stepsize,不可观变迁集合TUO
步骤2:初始化,令M=M0,stepsize=1,给一个时间T0
步骤3:从当前状态M,以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q;
步骤4:将可达状态集合Q中同一不可观变迁相连的连续的状态划分状态集合为Quo
步骤5:若在M下则根据步骤4得到状态集合为Quo,更新当前状态M,即令M=Quo,回到步骤3重新向下执行;
步骤6:直到M≠Quo,依据变迁集合Ten是否为空,为空回到步骤2重新执行,不为空,继续执行;
步骤7:若M是Quo,根据Quo中状态是否有可以使能的变迁,决定回到步骤3重新执行还是执行步骤6中部分内容;
步骤8:若程序运行的时间T<T0,更新当前状态M即M=M*,M*表示的是一个新的状态,回到步骤2重新执行,否则令suofs=stepsize,输出可行步长suofs
3.根据权利要求2所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述步骤6,包括:
6.1若可以使能的变迁集合Ten为空:则令步长stepsize=stepsize*2,更新步长stepsize,回到步骤2重新执行;
6.2若Ten不为则随机发射t∈Ten,到达新的状态M*
按下面步骤:
6.2.1若则stepsize=stepsize*2,更新步长stepsize,回到2重新执行;
6.2.2若考虑M∈Mgood则随机发射t∈Ten,到达新的状态M*;M∈MCR则从Ten中将发射到达坏死或者死锁状态的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*
4.根据权利要求2所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述步骤7,包括如下步骤:
7.1若Quo中有至少一个状态没有可以使能的变迁,则令stepsize=stepsize*2,更新步长stepsize,回到步骤2重新执行;
7.2若Quo中每一个状态都有可以使能的变迁,从上述步骤6.2开始向下执行。
5.根据权利要求1所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述的步骤(2)包括:
步骤21:输入PN的初始状态M0以及初始步长stepsize,不可观变迁集合TUO,步骤(1)中的t0及步骤(1)中的输出Suofs
步骤22:初始化,令M=M0,stepsize=1;
步骤23:令S1=Suofs
步骤24:若Suofs≤2则Suop。Suofs则输出Suop,结束;
步骤25:若Suofs>2则重新计算预测步长,输出Suop或者回到步骤3。
6.根据权利要求5所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述步骤25,根据的值是否为0,分两步:
5.1若则参考算法一,从初始状态M0,以步长预测;
5.2若则从初始状态M0,以步长预测;
其中,5.1步骤中,具体包括:
5.1.1如果在T0时间内一旦系统走到了死锁状态则令
5.1.2如果在T0时间内,系统没有走入死锁状态,则令
5.1.3输出Suop,结束;
同样的,5.2步骤中,根据系统是否进入死锁,包括如下步骤:
5.2.1如果在T0时间内一旦系统走到了死锁状态则令更新S0,回到步骤23,重新执行;
5.2.2如果在T0时间内系统没有走入死锁状态,则令更新S1,回到步骤23,重新执行。
7.根据权利要求5所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述的步骤(3)包括:
步骤31:输入PN的初始状态M0,不可控变迁集合TUO及步骤(2)的输出Suop
步骤32:初始化,令M=M0,stepsize=Suop
步骤33:从当前状态M,以步长stepsize预测,得到M下可以使能的变迁集合Ten及预测到的可达状态集合Q;
步骤34:将Q中同一不可观变迁相连的连续的状态划分为一类,称这类状态集合为Quo
步骤35:若在M下则根据步骤34得到的Quo,更新当前状态M,即令M=Quo,回到步骤33重新向下执行;
步骤36:若则随机发射t∈Ten,到达新的状态M*
步骤37:若则选择Ten,到达新的状态M*
步骤38:更新当前状态M即M=M*,回到33重新执行。
8.根据权利要求7所述的一种基于Petri网的含有不可观事件的无死锁控制方法,其特征是:所述步骤36,若分两步骤:
6.1若M∈Mgood则随机发射t∈Ten,到达新的状态M*
6.2若M∈MCR则从Ten中将发射到达坏死或者死锁状态或者含有坏死或者死锁状态的Quo的变迁剔除掉的集合中随机选择一个变迁t进行发射,到达新的状态M*
CN201910026535.9A 2019-01-11 2019-01-11 一种基于Petri网的含有不可观事件的无死锁控制方法 Active CN109857083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910026535.9A CN109857083B (zh) 2019-01-11 2019-01-11 一种基于Petri网的含有不可观事件的无死锁控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910026535.9A CN109857083B (zh) 2019-01-11 2019-01-11 一种基于Petri网的含有不可观事件的无死锁控制方法

Publications (2)

Publication Number Publication Date
CN109857083A true CN109857083A (zh) 2019-06-07
CN109857083B CN109857083B (zh) 2021-03-26

Family

ID=66894481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910026535.9A Active CN109857083B (zh) 2019-01-11 2019-01-11 一种基于Petri网的含有不可观事件的无死锁控制方法

Country Status (1)

Country Link
CN (1) CN109857083B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597194A (zh) * 2019-08-18 2019-12-20 西安电子科技大学 一种大规模柔性驱动的自动制造系统的协同活性构建方法
CN110727249A (zh) * 2019-08-26 2020-01-24 西安电子科技大学 基于不可观事件自动制造系统最大许可行为信息控制方法
CN111401680A (zh) * 2020-02-06 2020-07-10 西安电子科技大学 具有复杂进程子网的自动制造系统的协同活性构建方法
CN112783145A (zh) * 2019-11-11 2021-05-11 上海快仓智能科技有限公司 交通控制方法、装置、设备和计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1110838A (zh) * 1995-02-25 1995-10-25 电力部电力自动化研究院 电力系统暂态稳定的在线监视和预防控制系统
JPH1090604A (ja) * 1996-09-10 1998-04-10 Olympus Optical Co Ltd 微分干渉顕微鏡
CN101441681A (zh) * 2008-12-24 2009-05-27 东南大学 基于准完备有限可达树的通用Petri网的属性分析方法及系统
CN102096747A (zh) * 2011-03-18 2011-06-15 长沙高新开发区德研电气技术有限公司 电力电子系统仿真方法和装置
CN102419555A (zh) * 2011-10-31 2012-04-18 重庆长安汽车股份有限公司 一种基于petri网的电动汽车状态模拟方法
CN104463332A (zh) * 2013-09-23 2015-03-25 苏州工业职业技术学院 基于有色Petri网的FMS生产仿真分配方法
CN108233384A (zh) * 2018-03-16 2018-06-29 南瑞集团有限公司 一种基于Petri网的在网络攻击下稳定负载侧电压的方法
CN108762221A (zh) * 2018-07-09 2018-11-06 西安电子科技大学 含有不可控事件的自动制造系统的无死锁控制方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1110838A (zh) * 1995-02-25 1995-10-25 电力部电力自动化研究院 电力系统暂态稳定的在线监视和预防控制系统
JPH1090604A (ja) * 1996-09-10 1998-04-10 Olympus Optical Co Ltd 微分干渉顕微鏡
CN101441681A (zh) * 2008-12-24 2009-05-27 东南大学 基于准完备有限可达树的通用Petri网的属性分析方法及系统
CN102096747A (zh) * 2011-03-18 2011-06-15 长沙高新开发区德研电气技术有限公司 电力电子系统仿真方法和装置
CN102419555A (zh) * 2011-10-31 2012-04-18 重庆长安汽车股份有限公司 一种基于petri网的电动汽车状态模拟方法
CN104463332A (zh) * 2013-09-23 2015-03-25 苏州工业职业技术学院 基于有色Petri网的FMS生产仿真分配方法
CN108233384A (zh) * 2018-03-16 2018-06-29 南瑞集团有限公司 一种基于Petri网的在网络攻击下稳定负载侧电压的方法
CN108762221A (zh) * 2018-07-09 2018-11-06 西安电子科技大学 含有不可控事件的自动制造系统的无死锁控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
卓伟 等: "基于时间Petri网的部分可观系统故障诊断", 《电光与控制》 *
胡核算 等: "自动制造系统中的迭代式死锁预防策略", 《计算机集成制造系统》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597194A (zh) * 2019-08-18 2019-12-20 西安电子科技大学 一种大规模柔性驱动的自动制造系统的协同活性构建方法
CN110727249A (zh) * 2019-08-26 2020-01-24 西安电子科技大学 基于不可观事件自动制造系统最大许可行为信息控制方法
CN112783145A (zh) * 2019-11-11 2021-05-11 上海快仓智能科技有限公司 交通控制方法、装置、设备和计算机可读存储介质
CN112783145B (zh) * 2019-11-11 2023-03-31 上海快仓智能科技有限公司 交通控制方法、装置、设备和计算机可读存储介质
CN111401680A (zh) * 2020-02-06 2020-07-10 西安电子科技大学 具有复杂进程子网的自动制造系统的协同活性构建方法
CN111401680B (zh) * 2020-02-06 2024-01-30 西安电子科技大学 具有复杂进程子网的自动制造系统的协同活性构建方法

Also Published As

Publication number Publication date
CN109857083B (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN109857083A (zh) 一种基于Petri网的含有不可观事件的无死锁控制方法
CN109739196A (zh) 含有不可观与不可控事件的自动制造系统无死锁控制方法
Luo et al. Real-time scheduling for dynamic partial-no-wait multiobjective flexible job shop by deep reinforcement learning
WO2022000924A1 (zh) 基于ammas-ga嵌套算法的双资源模具作业车间调度优化方法
Zhang et al. A multi-objective artificial bee colony algorithm for parallel batch-processing machine scheduling in fabric dyeing processes
Tang et al. An improved differential evolution algorithm for practical dynamic scheduling in steelmaking-continuous casting production
US6678668B2 (en) System and method for complex process optimization and control
Xue et al. A reinforcement learning method for multi-AGV scheduling in manufacturing
Zhao et al. Dynamic jobshop scheduling algorithm based on deep Q network
CN110533301A (zh) 一种基于动态约束矩阵的粒子群调度方法
CN111260144B (zh) 一种差异工件随机到达情况下单机批调度问题的求解方法
CN112348314A (zh) 一种带起重机的分布式柔性车间调度方法及系统
CN110673560B (zh) 基于操作完工时间快速预测的集成电路生产线调度方法
Mathirajan et al. Heuristic algorithms for scheduling heat-treatment furnaces of steel casting industries
Jolai et al. A genetic algorithm for solving no-wait flexible flow lines with due window and job rejection
Zhao et al. A drl-based reactive scheduling policy for flexible job shops with random job arrivals
Yuan et al. A multi-agent double deep-Q-network based on state machine and event stream for flexible job shop scheduling problem
Shirazi et al. iCoSim-FMS: An intelligent co-simulator for the adaptive control of complex flexible manufacturing systems
Zeng et al. A method integrating simulation and reinforcement learning for operation scheduling in container terminals
CN114424134A (zh) 使自动化过程内的非生产性空闲时间最小化的系统和方法
CN110850819A (zh) 单臂组合设备调度方法、系统、移动终端及存储介质
Mahdavi et al. A review of simulation-based intelligent decision support system architecture for the adaptive control of flexible manufacturing systems
Ahn et al. A branch and bound algorithm for scheduling of flexible manufacturing systems
CN111290360A (zh) 一种铸造生产线多目标优化方法
Jiang et al. Improved heuristic algorithm for modern industrial production scheduling

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