CN110110402B - 基于二叉决策图的资源分配系统可达状态的快速求解方法 - Google Patents

基于二叉决策图的资源分配系统可达状态的快速求解方法 Download PDF

Info

Publication number
CN110110402B
CN110110402B CN201910318045.6A CN201910318045A CN110110402B CN 110110402 B CN110110402 B CN 110110402B CN 201910318045 A CN201910318045 A CN 201910318045A CN 110110402 B CN110110402 B CN 110110402B
Authority
CN
China
Prior art keywords
transition
library
petri network
identification
solving
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
Application number
CN201910318045.6A
Other languages
English (en)
Other versions
CN110110402A (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.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
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 Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201910318045.6A priority Critical patent/CN110110402B/zh
Publication of CN110110402A publication Critical patent/CN110110402A/zh
Application granted granted Critical
Publication of CN110110402B publication Critical patent/CN110110402B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/22Design optimisation, verification or simulation using Petri net models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于二叉决策图的资源分配系统可达状态的快速求解方法,包括以下步骤:利用Petri网对资源分配系统进行建模;利用布尔变量对Petri网中的库所进行表示,获得标识向量;基于标识变量,获取标识向量集合M的特征函数,之后根据该特征函数对Petri网中库所、弧权值以及Petri网的状态标识进行压缩表示;求解变迁的使能条件的特征函数;通过镜像计算求取Petri网的可达状态集。本发明的方法能缓解在系统模型分析中存在的状态爆炸问题,以较小的时间和空间,快速求解系统可达集,对于较大规模该类系统的应用具有重要意义。

Description

基于二叉决策图的资源分配系统可达状态的快速求解方法
技术领域
本发明属于自动制造系统建模与控制技术领域,特别是一种基于二叉决策图的资源分配系统可达状态的快速求解方法。
背景技术
二叉决策图(Binary Decision Diagram,BDD)的本质是一种数据结构,是可对等实现布尔函数的一种压缩表现形式,实现由特定的二叉表现形式以较少的数据结构表示和运算大数据集。随着BDD被引入越来越多的领域,其本身也得到了较好的发展。例如,基于BDD开发得到的有序二叉决策图(OBDD)、压缩有序二叉决策图(ROBDD)等,都是一些压缩性更好、处理更加快速的后续数据结构。
Petri网是使用库所、变迁和二者间的关系弧来描述异步离散事件动态系统的图形化、数学化工具。其中,可达集是Petri网模型中最基础的一种状态集,它的本质是经由一定变迁序列以特定的顺序触发后生成的标识,它是由Petri网依据关联矩阵运行最直接的表现。因此,在使用Petri网进行分析和模拟系统时,通过求解和分析可达集就可获得许多相关的系统信息。
Pastor在《Symbolic Analysis of Bounded Petri Nets》(IEEE TRANSACTIONSON COMPUTERS,VOL.50,NO.5,MAY 2001)一文中建立了基于OBDD的Petri网符合分析方法,使用OBDD表示Petri网的库所标识的特征函数,对Petri网的各种性能进行分析,提出了一种基于OBDD求解Petri网可达集的算法。但其算法存在一定不足:在进行镜像计算的过程中利用单个变迁进行传参和处理,导致频繁调用子函数,大大降低了处理的效率,无法解决大规模Petri网可达集求解的时间消耗问题。
发明内容
本发明的目的在于提供一种能缓解Petri网在系统模型分析时的状态组合爆炸问题,且提高Petri网分析方法在其他问题分析中的有效性、广泛性的可达状态的快速求解方法。
实现本发明目的的技术解决方案为:一种基于二叉决策图的资源分配系统可达状态的快速求解方法,包括以下步骤:
步骤1、利用Petri网对资源分配系统进行建模;
步骤2、利用布尔变量对Petri网中的库所进行表示,获得标识向量;
步骤3、基于步骤2获得的标识变量,获取标识向量集合M的特征函数,之后根据该特征函数对Petri网中库所、弧权值以及Petri网的状态标识进行压缩表示;
步骤4、求解变迁的使能条件的特征函数;
步骤5、基于步骤3和步骤4,通过镜像计算求取Petri网的可达状态集。
本发明与现有技术相比,其显著优点为:1)通过采用BDD符号化表示技术,有效减小系统模型表示的结构大小,并能加快模型计算分析的速度;2)在进行镜像计算时,通过采用将当前可达集下可使能的所有变迁共同作为参数的方法,实现批量传参大幅度,减少了子函数的调用次数,高效地解决了Petri网状态组合爆炸问题;对于Petri网这种具有大规模数据集的模型来说,这样的操作必能带来较为显著的优化效果。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为本发明基于二叉决策图的资源分配系统可达状态的快速求解方法的流程图。
图2为本发明实施例中的自动制造系统实例示意图。
图3为图2自动制造系统的Petri网模型示意图。
具体实施方式
结合图1,本发明一种基于二叉决策图的资源分配系统可达状态的快速求解方法,包括以下步骤:
步骤1、利用Petri网对资源分配系统进行建模;
步骤2、利用布尔变量对Petri网中的库所进行表示,获得标识向量;
步骤3、基于步骤2获得的标识变量,获取标识向量集合M的特征函数,之后根据该特征函数对Petri网中库所、弧权值以及Petri网的状态标识进行压缩表示;
步骤4、求解变迁的使能条件的特征函数;
步骤5、基于步骤3和步骤4,通过镜像计算求取Petri网的可达状态集。
进一步地,步骤1利用Petri网对资源分配系统进行建模,具体为:
利用Petri网子类S3PN网对自动制造系统进行建模:由库所中的托肯数表示资源数,由变迁表示工作部件,由库所与变迁间的关系弧表示生产系统中的规则。该种方式即可将现实的自动生产系统模型化,进而可以分析、处理Petri网模型来实现对实际系统的研究和控制。其中,S3PR网是由多个网结构共享资源复合而成的一种弧权值为一的普通Petri网,它将库所分为资源库所、活动库所和空闲库所。自动制造系统主要有工作部件和共享资源,工作部件按照一定的规则并发执行和共享系统的资源。
进一步地,步骤2利用布尔变量对Petri网中的库所进行表示,获得标识向量,具体为:
针对安全Petri网,若库所中有托肯,则用pi表示;若库所中无托肯,则用pi'表示;pi、pi'均为布尔变量;
针对有界Petri网,若库所为k有界,由一个长度为
Figure BDA0002033764500000031
的二进制编码向量表示该库所:
Figure BDA0002033764500000032
或p'ij,其中pij代表该位为1,p'ij代表该位为0;其中i的取值范围为1~n,j的取值范围为
Figure BDA0002033764500000033
n为Petri网中的库所数。例如,对于一个包含五个位置(p1,p2,p3,p4,p5)的Petri网,若位置p1、p2、p3、p4、p5分别是3,4,1,2,1有界的,则位置p1和p4需要两个二进制变量编码,位置p3和p5需要一个二进制变量编码,位置p2需要三个二进制变量编码;
进一步地,步骤3具体为:
步骤3-1、利用布尔表达式对所有库所的标识向量进行表示;例如:若位置p1、p2、p3、p4、p5分别是3,4,1,2,1有界的,则标识向量(3,4,1,2,1)可表示为p11p12p21p22p23p3p'41p'42p5
步骤3-2、针对每一次变迁触发前的标识向量和变迁触发产生的标识向量组成的标识向量集合M,利用布尔表达式将M表示为XM,XM即为标识向量集合M的特征函数;
步骤3-3、通过对特征函数进行布尔运算,实现对Petri网中库所、弧权值以及Petri网的状态标识进行压缩表示,具体为:假设存在两个标识向量集合M1、M2,进行压缩表示的公式为:
M1∪M2=M1+M2
M1∩M2=M1·M2
进一步优选地,步骤3-2中M若为空标识向量集,其特征函数XM为逻辑“0”;M若为标识的全集(不一定与可达标识集相等),其特征函数为逻辑“1”。
进一步地,步骤4所述求解变迁的使能条件的特征函数,具体为:
(1)若只有一个变迁满足使能条件,其使能条件的特征函数Et为:
Figure BDA0002033764500000041
式中,pi表示库所的布尔变量,·t表示变迁t的前集;
(2)若多个变迁同时满足使能条件,其使能条件的特征函数
Figure BDA0002033764500000042
为:
Figure BDA0002033764500000043
式中,·tk表示变迁tk的前集,tl·表示变迁tl的后集。
进一步地,步骤5具体为:
用Reached表示可达状态集;From表示变迁触发前的标识向量集,New表示变迁触发后的标识向量集,且初始时刻三者相同;
步骤5-1、开始遍历Petri网模型中变迁集EnabledT中的变迁,对变迁触发前的标识向量集From进行镜像计算,获得的集合记为To;其中镜像计算具体为:
步骤5-1-1、遍历Petri网模型中的每一个库所,确定库所中托肯个数的上下阈值;
步骤5-1-2、遍历变迁触发前的标识向量集From中的所有库所,在变迁触发的过程中,若当前变迁的触发需要消耗托肯,对应库所中的托肯数进行减一操作:需要判断当前处理的位是否为最高位,如果是则需要确认是否需要被借位,若需要就将该位自身进行bddNot操作然后返回结果,若不需要则直接返回所得结果;而如果当前位不是最高位时,则应当判断该位是否做减操作,以及该位是否需要被借位减一。同时,在非最高位处需要做迭代操作,遍历当前库所中所有托肯数的表示位。若当前变迁的触发会产生托肯,对应库所中的托肯数进行加一操作:与减一操作类似,加一操作需要判断当前处理的位是否为最高位,如果是则需要判断是否要被进位加一,若需要就将该位设为1,并且返回最终求解结果,若不需要进位则直接返回结果;但是如果当前处理并非为最高位,则需要确认该位是否需要做加操作,以及该位是否需要被进位加一;然后,在非最高位处需要做迭代操作,遍历当前库所中所有托肯数表示位。
进行库所托肯数减一的算法SubtractOne的如下:
Figure BDA0002033764500000044
Figure BDA0002033764500000051
Figure BDA0002033764500000061
步骤5-2、根据步骤5-1获得的集合To,更新Reached、From、New三个集合,具体更新公式为:
New=TO-Reached
From=New
Reached=Reached+New
步骤5-3、重复步骤5-1至步骤5-2,直至Reached集不再更新,最终的Reached集合即为Petri网的可达状态集。
完整的Petri网模型可达状态集求解算法Get_ReachableMarking如下:
Figure BDA0002033764500000071
实施例
本实施例以一个自动制造(AMS)的系统实例为例如图2所示,包括三个机器人(R1,R2,R3:每个机器人同时刻可以处理一个产品)和以及两个输入缓存(I1,I2)和两个输出缓存(O1,O2)。系统主要以三个机器人为核心分为两条生产线,它的运行流程为:
J1:I1→R1→R2(or R3)→R3→O1
J2:I2→R3→R2→R1→O2
本发明基于二叉决策图的资源分配系统可达状态的快速求解方法,包括以下内容:
1、对图2所示的自动制造系统进行建模,获得如图3所示的Petri网模型,包括12个库所和10个变迁。它的全部库所集合P={p1,p2,p3…p12},变迁集合T={t1,t2,t3…t10};
2、利用布尔变量对Petri网中库所进行表示:例如,p10、p11、p12中有托肯,则分别可用p10、p11、p12表示;p2-p5、p7-p9中无托肯,则用p2'、p3'等表示;p1和p6为3有界,各需两个二进制编码变量,分别用p11p12、p61p62表示;
3、用布尔表达式对Petri网的初始标识集合M0进行表示,获得标识集合M0的特征函数:初始集合M0的标识向量为:(3,0,0,0,0,3,0,0,0,1,1,1),特征函数为:
Figure BDA0002033764500000081
4、求解变迁t的使能条件的特征函数:
Figure BDA0002033764500000082
Figure BDA0002033764500000083
5、通过镜像计算求取Petri网的可达状态集;
当M=M0时:
Reached=from={M0},
Figure BDA0002033764500000084
Figure BDA0002033764500000085
Figure BDA0002033764500000086
M=From=New=To-Reached={{2p1,p2,p6,p11,p12}},
Reached=Reached+New={{3p1,p6,p10,p11,p12},{2p1,p2,p6,p11,p12}}
依次令M=From=New=To-Reached,Reached=Reached+New;
6、重复上述5,直至Reached集不再更新,最终的Reached集合即为Petri网的可达状态集。
经求解,本发明基于BDD的资源分配系统可达状态的快速求解方法的具体结果如下表1所示,具有30个可达状态集。
表1可达集结果明细
Figure BDA0002033764500000091
表2中,|P|表示对应Petri网模型中的库所数;T表示Petri网模型中的变迁数;NR表示对应Petri网模型的可达集数;NRBDD表示需要多少个BDD节点表示可达集结果;CPUtime(s)表示使用本发明方法所需的时间;INA time(s)表示Petri网分析软件INA求解可达集所消耗时间。
由分析结果显然可知,本发明基于BDD进行求解的效果较软件INA更优。本发明的方法能缓解在系统模型分析中存在的状态爆炸问题,以较小的时间和空间,快速求解系统可达状态集,对于较大规模的控制系统的应用具有重要意义。

Claims (4)

1.一种基于二叉决策图的资源分配系统可达状态的快速求解方法,其特征在于,包括以下步骤:
步骤1、利用Petri网对资源分配系统进行建模;具体为:
利用Petri网子类S3PN网对自动制造系统进行建模:由库所中的托肯数表示资源数,由变迁表示工作部件,由库所与变迁间的关系弧表示生产系统中的规则;
步骤2、利用布尔变量对Petri网中的库所进行表示,获得标识向量;具体为:
针对安全Petri网,若库所中有托肯,则用pi表示;若库所中无托肯,则用pi'表示;pi、pi'均为布尔变量;
针对有界Petri网,若库所为k有界,由一个长度为
Figure FDA0003994529400000011
的二进制编码向量表示该库所:
Figure FDA0003994529400000012
或p'ij,其中pij代表该位为1,p'ij代表该位为0;其中i的取值范围为1~n,j的取值范围为
Figure FDA0003994529400000013
n为Petri网中的库所数;
步骤3、基于步骤2获得的标识变量,获取标识向量集合M的特征函数,之后根据该特征函数对Petri网中库所、弧权值以及Petri网的状态标识进行压缩表示;具体为:
步骤3-1、利用布尔表达式对所有库所的标识向量进行表示;
步骤3-2、针对每一次变迁触发前的标识向量和变迁触发产生的标识向量组成的标识向量集合M,利用布尔表达式将M表示为XM,XM即为标识向量集合M的特征函数;
步骤3-3、通过对特征函数进行布尔运算,实现对Petri网中库所、弧权值以及Petri网的状态标识进行压缩表示,具体为:假设存在两个标识向量集合M1、M2,进行压缩表示的公式为:
M1∪M2=M1+M2
M1∩M2=M1·M2
步骤4、求解变迁的使能条件的特征函数;
步骤5、基于步骤3和步骤4,通过镜像计算求取Petri网的可达状态集。
2.根据权利要求1所述的基于二叉决策图的资源分配系统可达状态的快速求解方法,步骤3-2所述M若为空标识向量集,其特征函数XM为逻辑“0”;M若为标识的全集,其特征函数为逻辑“1”。
3.根据权利要求1所述的基于二叉决策图的资源分配系统可达状态的快速求解方法,其特征在于,步骤4所述求解变迁的使能条件的特征函数,具体为:
(1)若只有一个变迁满足使能条件,其使能条件的特征函数Et为:
Figure FDA0003994529400000021
式中,pi表示库所的布尔变量,·t表示变迁t的前集;
(2)若多个变迁同时满足使能条件,其使能条件的特征函数
Figure FDA0003994529400000022
为:
Figure FDA0003994529400000023
式中,·tk表示变迁tk的前集,tl·表示变迁tl的后集。
4.根据权利要求1所述的基于二叉决策图的资源分配系统可达状态的快速求解方法,其特征在于,步骤5具体为:
用Reached表示可达状态集;From表示变迁触发前的标识向量集,New表示变迁触发后的标识向量集,且初始时刻三者相同;
步骤5-1、开始遍历Petri网模型中变迁集EnabledT中的变迁,对变迁触发前的标识向量集From进行镜像计算,获得的集合记为To;其中镜像计算具体为:
步骤5-1-1、遍历Petri网模型中的每一个库所,确定库所中托肯个数的上下阈值;
步骤5-1-2、遍历变迁触发前的标识向量集From中的所有库所,在变迁触发的过程中,若当前变迁的触发需要消耗托肯,对应库所中的托肯数进行减一操作,若当前变迁的触发会产生托肯,对应库所中的托肯数进行加一操作;
步骤5-2、根据步骤5-1获得的集合To,更新Reached、From、New三个集合,具体更新公式为:
New=TO-Reached
From=New
Reached=Reached+New
步骤5-3、重复步骤5-1至步骤5-2,直至Reached集不再更新,最终的Reached集合即为Petri网的可达状态集。
CN201910318045.6A 2019-04-19 2019-04-19 基于二叉决策图的资源分配系统可达状态的快速求解方法 Active CN110110402B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910318045.6A CN110110402B (zh) 2019-04-19 2019-04-19 基于二叉决策图的资源分配系统可达状态的快速求解方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910318045.6A CN110110402B (zh) 2019-04-19 2019-04-19 基于二叉决策图的资源分配系统可达状态的快速求解方法

Publications (2)

Publication Number Publication Date
CN110110402A CN110110402A (zh) 2019-08-09
CN110110402B true CN110110402B (zh) 2023-04-18

Family

ID=67485953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910318045.6A Active CN110110402B (zh) 2019-04-19 2019-04-19 基于二叉决策图的资源分配系统可达状态的快速求解方法

Country Status (1)

Country Link
CN (1) CN110110402B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190711B (zh) * 2019-12-13 2023-06-09 南京理工大学 Bdd结合启发式a*搜索的多机器人任务分配方法
CN111401680B (zh) * 2020-02-06 2024-01-30 西安电子科技大学 具有复杂进程子网的自动制造系统的协同活性构建方法
CN113158386A (zh) * 2021-03-16 2021-07-23 山东建筑大学 基于pres网求精操作的嵌入式系统仿真方法及系统
CN113961752B (zh) * 2021-09-02 2024-01-30 西安电子科技大学 信息物理系统的基本可达图的分析方法和相关装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Petri网的符号分析技术及其应用研究;李凤英;《中国优秀博硕士学位论文全文数据库(博士) 信息科技辑》;20130415;全文 *
基于二叉决策图的Petri网可达集遍历和死锁研究;张加浪;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20170715;全文 *

Also Published As

Publication number Publication date
CN110110402A (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
CN110110402B (zh) 基于二叉决策图的资源分配系统可达状态的快速求解方法
Wang et al. Differential evolution based on covariance matrix learning and bimodal distribution parameter setting
Liu et al. Multilayer obstacle-avoiding X-architecture Steiner minimal tree construction based on particle swarm optimization
Iwan et al. Performance comparison of differential evolution and particle swarm optimization in constrained optimization
Fraca et al. Complexity analysis of continuous Petri nets
CN104915717A (zh) 数据处理方法、知识库推理方法及相关装置
CN111340493A (zh) 一种多维度分布式异常交易行为检测方法
CN114358319B (zh) 基于机器学习框架的分类方法及相关装置
Chaudhury et al. Algorithmic optimization of BDDs and performance evaluation for multi-level logic circuits with area and power trade-offs
Yang et al. Target shape design optimization by evolving B-splines with cooperative coevolution
Archibald et al. Probabilistic bigraphs
Michel et al. Weak interaction and strong interaction in agent based simulations
Guang et al. Benchmark datasets for stochastic Petri net learning
CN109472364A (zh) 量子程序的处理方法及装置、存储介质和电子装置
CN117669046A (zh) 一种面向汽车装配工艺智能决策的数据集成方法及系统
CN111190711B (zh) Bdd结合启发式a*搜索的多机器人任务分配方法
Wang et al. Behavior relations in synthesis process of Petri net models
Kuliev et al. Problem-oriented knowledge processing on the basis of hybrid approach
CN113034343B (zh) 参数自适应的高光谱图像分类gpu并行方法
CN110727249B (zh) 基于不可观事件自动制造系统最大许可行为信息控制方法
Chao et al. Nonblocking supervisory control of flexible manufacturing systems based on state tree structures
Xiong et al. Image classification based on quantum machine learning
CN110568826B (zh) 基于不可控事件的自动制造系统最大许可行为控制方法
CN115983392A (zh) 量子程序映射关系的确定方法、装置、介质及电子装置
CN107808214B (zh) 车间制造系统的启发式二叉决策图变量序优化表示方法

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