具有吸收式策略和分布式策略特征的Petri网稳健性控制方法与流程

文档序号:23068546发布日期:2020-11-25 17:56阅读:128来源:国知局
具有吸收式策略和分布式策略特征的Petri网稳健性控制方法与流程

本发明属于自动制造系统技术领域,涉及具有吸收式策略和分布式策略特征的petri网稳健性控制方法。



背景技术:

一个自动制造系统由不同的进程和不同种类的资源组成。由于有限数量共享资源的存在,就会导致循环等待。所谓的循环等待即是,一个进程中工件加工所需要的资源正好被另一个进程中的工件占有,与此同时,另一进程中工件向前加工正好需要上述进行中工件所占用的资源,最终导致了两个进程谁也无法完成彼此的加工。这种现象本发明称之为死锁。死锁的发生会导致整个系统没有成品输出。因此,本发明需要对自动制造系统进行监督控制,来保证系统避免死锁问题。

在过去的几十年中,研究者对死锁问题进行了大量研究。大部分的解决方法都是基于资源不会发生故障。然而在现实的自动制造系统中,诸如传感器、信号以及制动器等资源出现故障是不可避免的问题。例如,传感器故障、信号模糊以及破坏的制动器。根据它是否容易发生故障,本发明可以把资源分为可靠资源与不可靠资源。当系统中出现不可靠资源时,会导致系统阻塞问题的发生,即不使用不可靠资源的进程由于可靠资源的不足导致其停滞。而可靠资源的不足是由于未来要使用不可靠资源的工件占用而导致的。针对这一现象,原来解决死锁问题的方法将不再适用。所以针对上述问题,需要进一步进行研究。



技术实现要素:

为了解决上述问题,本发明的目的是提出一种基于petri网的结合了吸收式策略和分布式策略特征的稳健性控制方法。该方法适用于具有灵活路径和单个加工阶段可以使用多种类的单个数量的资源的系统。本发明将资源分为了可靠和不可靠两种。系统中只允许一个不可靠资源。针对存在不可靠资源的自动制造系统,本发明的监督控制策略希望通过其的控制,保证不使用不可靠资源的进程和目前及未来都不使用不可靠资源的工件可以顺利的加工。当资源发生故障前和资源故障修复后,系统都可以无阻塞的运行。

为了实现上述目的,本发明所采取的技术方案是,具有吸收式策略和分布式策略特征的petri网稳健性控制方法,其特征是:至少包括以下步骤:

1)对不使用不可靠资源的进程进行稳健算法;

1.1)初始化;

1.2)采集当前状态下不使用不可靠资源进程中每个库所的特肯数以及资源库所的特肯数,其中活动库所的特肯数表示的是当前库所中的工件数,资源库所的特肯数表示的是可使用的资源的数量;

1.3)令稳健变迁集合为空集,即

1.4)选择进程中的一个使能变迁ti,如果在当前的状态下,当前的资源足够支撑变迁ti对应的库所中特肯前进到其对应的第一类或第三类关键区域,则trn:=trn∪{ti};否则进行步骤1.4)。

2)对于使用不可靠资源的进程进行加强算法;

2.1)初始化;

2.2)采集当前状态下使用不可靠资源进程中每个库所的特肯数以及资源库所中的特肯数;

2.3)令加强变迁集合为空集,即

2.4)选择当前进程中的一个使能变迁ti,ti对应的库所为pi。

2.4.1)当pi在使用不可靠资源的库所pu之前时,如果当前的资源足够支持pi中的工件前进到其最近的第二类或第三类关键区域,那么tru:=tru∪{ti};否则进行步骤2.4);

2.4.2)当pi在使用不可靠资源的库所pu之后时,如果当前的资源足够支持pi中的工件前进到其最近的第一类或第三类关键区域,那么tru:=tru∪{ti};否则进行步骤2.4)

2.4.3)当pi使用不可靠资源时,如果当前的不可靠资源处于故障的状态,那么tru:=tru-{ti};如果当前的不可靠资源处于好的状态,那么进行步骤2.4.2)。

步骤2.4.1的具体步骤如下:

2.4.1.1)如果pi最近的关键区域是第三类关键区域,当当前的资源足够支持其中特肯前进到此关键区域,那么tru:=tru∪{ti};

2.4.1.2)如果pi最近的关键区域是第二类关键区域,当当前的资源足够支持其中特肯前进到此关键区域,同时还需满足:使用不可靠资源前所使用的共享可靠资源不能被需要使用不可靠资源的工件完全占有,则tru:=tru∪{ti},否则进行步骤2.4)。

与现有技术相比,本发明的有益成果:本发明基于关键区域,针对不使用不可靠资源的进程提出了稳健性算法,针对使用不可靠资源的进程提出了加强算法。两个算法共同组成了系统的稳健性加强算法。该算法有一个特征,当判定一个工件是否可以前进进行加工时,其余的进程或工价都要处于停止的状态,无论资源对于它们是否充足。在某个合理标识的状态下,通过稳健性加强算法得到了一组可以发射的变迁集合。当其中任何一个变迁发射,该算法将需要重新执行。本发明结合了lawley吸收策略和分布式策略的优势,优点具体体现在以下的几个方面:

1.相比于lawley的吸收策略,本发明的吸收策略,不受不可靠资源和故障依靠资源的限制,提高了系统了生产率。

2.相比于lawley分布式策略,本发明的分布式策略通过第三类关键区域减小了算法的复杂度同时提高了系统的生产率。

附图说明

图1是es3pr模型的结构图;

图2是本发明实施例的流程图。

具体实施方式

下面结合附图对本发明进行详细说明。为此,对本发明中的符号和公式进行定义:权利要求书引自说明书,因此,如下定义同样适应权利要求书。

定义1:一个系统是稳健的当它满足不需要不可靠资源的进程和在当前及后续路径都只需要可靠资源的工件都可以无中断的顺利加工。

定义2:一个扩展的带有资源的简单有序进程系统(extendedsystemsofsimplesequentialprocesseswithresources,es3pr)是一个普通的、强联通和纯净的petri网(pn),其中:

(1)库所集合p=p0∪pa∪pr,p0、pa以及pr分别代表空闲库所集合、活动库所集合以及资源库所集合,三个分区互不相交。并且nl和nk都是自然数集合,nl={1,2,3,…l},nk={1,2,3,…k}。

(2)变迁集合其中对于并且对于i,j∈nk,i≠j,则

(3)表示有向弧或数据流关系的集合。

(4)w:(p×t)∪(t×p)→n,w表示一个映射,称为petri网n的权函数,为每一条有向弧分配一个权值,其中n={1,2,3,...}表示自然数集合。

(5)子网是一个强连通的状态机,满足每一个回路都包含n=(p,t,f,w)。nx=(px,tx,fx,wx)是n的一个子网,当它满足:并且wx(x,y)=w(x,y)如果否则wx(x,y)=0。

(6)存在一个唯一的最小p-半流,即,xr∈n|p|,满足{r}=||xr||∩pr,以及有xr(p)=1。n|p|表示的是|p|维向量,它的每一个组成部分都属于n。

(7)

(8)资源集合其中分别代表可靠资源集合和不可靠资源集合。

定义3:设x∈p∪t是petri网(n,m0)的一个节点,那么x的前置集·x定义为·x={y∈p∪t|(y,x)∈f},x的后置集x·定义为x·={y∈p∪t|(x,y)∈f}。

定义4:令n=(p,t,f,w)是一个petri网,称变迁t∈t在标识m下是使能的(enabled),当且仅当m(p)≥w(p,t),记为m[t>。若m[t>成立,则变迁t发射后,网系统可以达到一个新的状态,此时标识变为m',并且满足m'(p)=m(p)-w(p,t)+w(t,p)。在标识m下,发射变迁t,得到一个新的标识m',本发明说由标识m可得到m',记为m[t>m'。

定义5:资源r的拥有者其中表示资源r的拥有者在中并且是资源r的一个拥有者。

定义6:给定一个es3pr网(n,m0),若对于任意资源r∈pr,满足则称标识m是可容许的(admissible)。所有可容许的标识m的集合记为r(n,m0)。

定义7:在一个es3pr中,一个初始标识是合理的,当(1)m0(p0)≥1;(2)m0(p)=0;和(3)

定义8:是一组使用资源ri的加工阶段。

定义9:rus是非共享资源的集合。

定义10:在一个es3pr(n,m0)中,资源ru的故障依靠资源,记为属于共享可靠资源,满足每一个其中c≥0,j∈nk。是故障依靠库所,pjk属于在使用不可靠资源前的库所的集合,记为pjf。所有的在使用不可靠资源前的库所的集合记为pf。

定义11:在一个es3pr(n,m0)中,pa=<p,t1,p1,…,tm,pm>是一条从p到pm的路径。记p(p-pm)={p,p1,p2,…,pm}。

定义12:在一个es3pr(n,m0)中,它的关键区域定义为使得px<p<py,并且有ap≥ap'}

其中ap是一个l维的向量,表示完成加工阶段p所需要的资源。进一步进行解释,关键区域指的是进程的关键区域,它可以分成三类。第一类关键区域是一段连续的库所。这段连续库所的第一个库所是从在当前库所开始到不使用任何资源的库所之间使用资源最多的库所,最后一个库所是不使用任何资源的库所之间的库所。第二类关键区域包含两类库所,一类是需要使用不可靠资源的库所。另一类是只使用一个种类资源的故障依靠资源。第三类关键区域是只使用非共享资源的库所。

根据上述的定义,在两个连续不使用任何资源的库所中,第一类关键区域不可能在第二类关键区域之前。原因如下:第一类关键区域的第一个库所是当前库所到不使用资源库所之间使用资源最多的库所,如果它不使用不可靠资源,那么后续的库所也不会使用不可靠资源。

定义11:在一个es3pr(n,m0)中,它的邻域定义为关键路径定义为pa=<p,t1,p1,…,tn,pn>,其中并且pn是的第一个库所。定义n'(p)={p1,p2,…,pn}。

显然,当一个库所是其邻域使用资源最多的库所,那么它的邻域就是第一类关键区域。

定义12:在一个es3pr(n,m0)中,定义rjf是被pjm使用的共享可靠资源,其中pjm是在使用不可靠资源库所前的库所。rf是所有被在使用不可靠资源库所前的库所所使用的所有的共享可靠资源。

上述定义是对说明书中所有相关使用公式和符号的定义。

本发明分为两个具体的步骤:

1)针对使用不使用不可靠资源的进程实施稳健性算法:

1.1)初始化;

1.2)采集当前状态下不使用不可靠资源进程中每个库所的特肯数以及资源库所的特肯数,其中活动库所的特肯数表示的是当前库所中的工件数,资源库所的特肯数表示的是可使用的资源的数量;

1.3)令稳健变迁集合为空集,

1.4)选择进程中的一个使能变迁ti,如果在当前的状态下,当前的资源足够支撑变迁ti对应的库所中特肯前进到其对应的第一类或第三类关键区域,则trn:=trn∪{ti};否则进行步骤1.4);

2)针对使用不可靠资源的进程实施加强算法

根据库所的位置不同,本发明定义了pf是使用不可靠资源的库所前的库所集合。pu是使用不可靠资源的库所的集合。pa是使用不可靠资源的库所后的库所集合。很显然,不可靠资源是否发生故障对集合pa的库所没有影响,它们相当于没有使用不可靠资源的进程中的库所。对于集合pf和pu中的库所,需要对其的特肯数进行限制,防止这些库所中的特肯完全占有可靠共享资源导致不使用不可靠资源的进程或工件无法获得这些资源而停止加工。

2.1)初始化;

2.2)采集当前状态下使用不可靠资源进程中每个库所的特肯数以及资源库所中的特肯数;

2.3)令加强变迁集合为空集,即

2.4)选择当前进程中的一个使能变迁ti,ti对应的库所为pi,

2.4.1)当pi∈pf如果当前的资源足够支持pi中的工件前进到其最近的时,

2.4.1.1)如果pi最近的关键区域是当当前的资源足够支持其中特肯前进到此关键区域,那么tru:=tru∪{ti};

2.4.1.2)如果pi最近的关键区域是当当前的资源足够支持其中特肯前进到此关键区域,同时还需满足以下条件,当条件满足时,tru:=tru∪{ti}。否则进行步骤2.4)。

对于使用不可靠资源的方式存在以下两种情况:1)库所pi只使用不可靠资源ru;2)库所pi使用不可靠资源ru和可靠资源rr。

1)库所pi只使用不可靠资源ru,需要满足:

其中分别表示资源rx和ry容量。分别表示库所中的特肯数。

2)库所pi使用不可靠资源ru和可靠资源rr。

时,限制条件与公式(1)相同。同一库所使用多个种类的资源时,约束条件只需对容量小的资源进行限制。

时,需要满足

其中pm是同时使用不可靠资源rr和ru的库所。

2.4.2)当pi∈pa,如果当前的资源足够支持pi中的工件前进到其最近那么tru:=tru∪{ti};否则进行步骤2.4)

2.4.3)当pi∈pu,如果当前的不可靠资源处于故障的状态,那么tru:=tru-{ti};如果当前的不可靠资源处于好的状态,那么进行步骤2.4.2)。

本发明关注于带有不可靠资源的自动制造系统的稳健性,提出了一种分布式的方法,希望当系统中不可靠资源发生故障的时候,保证不使用不可靠资源的进程以及当前及后续加工阶段都不使用不可靠资源的工件可以顺利地完成加工。通过稳健算法和加强算法的实施,整个系统将会产生一个可以发射的变迁集合trb。很显然,trb=trn∪tru,发射其中的任何一个都可以保证实现定义1中的稳健性。

下面将上述算法在一个自动制造系统中进行演示。首先对自动制造系统进行描述。它包含三条生产加工流水线。它们需要九个机器来完成各个流水线的加工。其中机器5属于容易发生故障的机器。本发明所说的机器由加工部分和存储空间组成。其中一个机器只有一个加工部分进行加工,有多个存储空间。机器故障指的是加工部分发生故障无法加工但存储空间仍然可以存储。第一条生产加工流水线共有6个加工阶段。零件进入流水线在机器1完成第一个加工阶段,随后面临两种后续的加工过程,其中一条需要机器2,3,4和5进行加工分别完成加工阶段2,3,4和5,另一条加工过程同时需要机器8和机器1完成加工阶段2,机器1、机器6、机器8和机器9的同时完成加工阶段3,机器6和机器9同时完成加工阶段4。前面的加工过程需要5个加工阶段,而后面的加工过程只存在三个加工阶段。无论选择哪条加工过程,在其加工完成的工件需要到机器6进行加工,完成加工阶段6,即最后一个加工阶段。该零件完成了其加工过程成为了一件成品。第二条生产加工流水线具有4个加工阶段。零件进入流水线后,依次经过机器6,4,5和1加工从而成为成品。第三条生产加工流水线具有2个加工阶段。零件进入流水线后,依次经过机器7和机器8分别完成了加工阶段一和二,完成该流水线的生产。第二条和第三条生产加工流水线是线性流水线,而第一条生产加工流水线是非线性的。除特殊说明默认一个加工阶段在机器中只使用一个存储空间。共享机器1,4,5,6和8分别有3个存储空间,剩余的机器2,机器3和机器7都具有2个存储空间并且是非共享机器。所谓的共享机器是它可以用于多个几个加工阶段的加工,而非共享机器只用于一个加工阶段的加工。

图1所示的模型是用petri网详细的描述了上述自动制造系统。它由三种类型的加工进程j1,j2,j3竞争九种资源r1-r9。其中进程j1具有两条分支,右分支包含六个加工阶段而左分支包含五个加工阶段。进程j2包含四个加工阶段,进程j3包含两个加工阶段。资源r1,r4-r6,r8,r9是共享资源,剩余的r2,r3,r7是非共享资源。它们的容量分别是c(r1)=c(r4)=c(r5)=c(r6)=c(r8)=c(r9)=3,c(r2)=c(r3)=c(r7)=2,其中r5是不可靠资源。p0={p01,p02,p03},不同加工阶段的资源需求是

对于如图1所示的es3pr,假设在标识m=3·p01+p11+p13+p14+2·p15+p17+p19+2·p02+p21+p23+p24+3·p03+p31+p32+r2+2·r4+2·r3+r5+r6+r7+r8+2·r9。p01,p02,p03分别有3、2、3个加工原料。在p11,p13,p14,p17,p19,p21,p23,p24,p31和p32分别只有一个工件,然而在p15有两个工件。资源r1-r9分别剩余0,1,0,2,1,1,1,1,2个缓冲器。假设不可靠资源r5此时发生了故障。

根据进程对资源r5的使用情况,进程可以分为以下两类;1)进程j1的左分支后路和进程j3,即不需要使用r5的进程和分支,需要对其实施稳健性算法来保证它们的顺利加工。2)进程j1的右分支和进程j2,即需要使用r5的分支和进程,需要对其实施加强算法来保证1)中的进程及分支和2)中当前及后续路径不需要还用不可靠资源的工件的顺利加工。

通过对1)中的进程和分支实施稳健算法,可以得到trn={t2,t6,t17,t18,t19}。t2可以发射是因为在当前资源的支持下工件在p11可以前进到p14,p14是p11最近的关键区域的第一个库所。t6可以发射是因为p14属于左分支回路中的第一类关键区域中的库所。只要它可以被使能那么它就可以被发射。对于t17,它可以发射,是因为在p03中的加工原料可以前进到p31,它属于第三类关键库所。工件可以存储到p31而不占用可靠的共享资源。对于t18和t19,它们可以发射的原因分别和t2和t6可以发射的原因相同。

通过对2)中的进程和分支实施加强算法,可以得到tru={t3,t7,t9,t12,t13,t16}。

t16可以发射是因为库所p24中的工件在当前加工阶段直到完成对它的加工都不需要使用不可靠资源,并且p24是进程j2的第一类关键区域中的库所。t3可以发射是因为在p11中的特肯在当前资源的支持下可以前进到p13存储到资源r2中,其中p13是第三类关键区域中的库所。t7可以发射是因为在p15中的一个特肯在当前资源的支持下可以前进到p17,p17属于第二类关键区域。同时满足了n(p17)+n(p19)+n(p22)+n(p23)=1+1+1+0+1=4<c(r4)+c(r5)=3+3=6。不等式最左侧的“1”指的是从p15将要前进到p17的特肯。根据算法,只允许一个特肯向前走一步的特征,此时只需判断p15中的一个特肯。针对t12,t13,方法与p15相同。对于t9,由于它属于第二类关键区域中的库所,此时只要它可以被使能,那么它就可以发射。

根据trn和tru,最终可以得到在状态m下,图1中系统可以发射的变迁的集合trb=trn∪tru={t2,t3,t6,t7,t9,t12,t13,t16,t17,t18,t19}。发射集合中的任何一个都可以保证不需要使用故障资源的进程j3、进程j1的左分支、以及库所p24中的工件顺利完成加工。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1