论文部分内容阅读
离散事件系统具有离散的状态空间和分段的稳定轨迹的特性,其在制造业、交通运输业、机器人等领域中有着诸多体现,对离散事件系统的研究与应用是社会生产低能耗、高效率的必然要求。Petri网能够简洁直观地描述系统资源的并发、互斥、冲突、共享等行为,并且能够对这些行为进行定性和定量的研究。因此,使用Petri网对离散事件系统进行建模、分析和资源调度,已经成为学术界对离散事件系统研究的主流方法之一。然而在现有的理论框架下,Petri网对离散事件系统的分析存在着状态爆炸问题,即Petri网的可达状态集合随着系统规模的增大呈指数级增长。传统的Petri网分析方法在应对较大规模的系统时,存在计算时间过长或内存溢出等问题。本文主要研究基于Petri网的离散事件系统建模与分析方法,针对系统规模较大而出现的状态爆炸问题,提出几种加快分析速度、减小系统模型的优化方法,并将Petri网高效的建模能力应用于实际的工业系统中。本文的主要研究内容与创新点如下:(1)针对已有的Petri网分析软件INA在计算可达状态集时求解速度较慢的问题,提出了一种基于GPU+CPU的并行可达状态集生成方法。该方法充分应用GPU高效的协同计算能力,快速的并行扩展后继状态。并且改进了可达状态集在内存中的存储结构,极大加快了重复状态的检测工作。实验结果表明,基于GPU+CPU的可达状态集生成方法在计算规模较大的Petri网模型时,其运算速度相对于INA软件有上百倍的提升。(2)针对在使用BDD分析Petri网时,BDD节点数量对变量序极为敏感的问题,提出了两种Petri网符号分析时变量序生成方法。第一种方法依据Petri网模型本身的结构信息,依据Petri网库所之间的关联度来生成启发式的BDD变量序。第二种方法首先构建Petri网因果关系图,然后利用TSP问题求解方法来寻找一种最大化因果关系的变量序列。实验证明,这两种方法均可以在极短时间内得出较好的变量序,有效缓解了Petri网模型分析时的状态爆炸问题。(3)针对模型的硬件实现过程中,Petri网转换为PLC编程语言时存在的雪崩效应,提出了预先侦测所有变迁使能情况,再发射使能变迁的方法,用于防止雪崩效应的发生。该方法为存在冲突结构的变迁设置不同的优先级,优先级较高的变迁优先发射,有效避免了Petri网冲突结构带来的逻辑上的歧义。