论文部分内容阅读
应用Petri网建模与分析柔性制造系统,死锁预防是一个不可回避的问题。行为许可性、结构复杂性与计算复杂性是衡量一个活性控制器性能优劣的三个通用标准。在现行许多基于Petri网的死锁预防技术中,结构分析与可达性分析是两种比较流行的技术。基于结构分析的死锁预防技术是通过找出一组特殊结构(通常是信标),然后在此结构上施加约束而达到阻止系统达到死锁状态的一种机制。信标是可以使网系统进入死锁状态的一组特殊的网节点。基于可达性分析的死锁预防技术是一种通常基于可达图的有效而准确的控制方法。可达图可以提供一个网系统的全局可达性信息。通过可达图可以准确找到一个使系统进入死锁的状态并对此状态施加约束使得系统远离死锁。基于结构分析得到的活性控制器往往拥有结构简单、计算复杂度低的特点但大部分都不是行为最大许可的。通过可达性分析可以得到行为许可较大甚至最大的活性控制器。但是,结构复杂、计算复杂度高仍然是制约其应用的重要因素。通过分析以上两种技术,考虑到两者的优势,本文分别提出了基于信标的死锁预防策略和计算Petri网可达状态数的方法。首先,针对一类Petri网,提出一种基于信标的死锁预防策略。其中,整数混合规划(MIP)技术被迭代地应用于检测网活性与获取信标。这个策略包含两个阶段:信标控制阶段和扩展的信标控制阶段。为了最大限度的获得合法行为,在第一阶段,控制库所被添加到信标的补集上面。但是,第一阶段添加的控制库所会与操作库所、资源库所组成新的可被清空的信标。因此,为了避免新的可被清空信标的出现,第二阶段添加的控制库所的输出弧指向了源变迁。此外,提出了一种移弧算法用于释放更多的合法行为。这个策略需要较少的计算量但可以得到一个控制结构相对简单、行为许可较大甚至最大的活性控制器。其次,针对一类只有基本信标与弱从属信标的Petri网子类,设计一种行为最大许可的活性控制器。如果条件满足的话,只要基本信标受控,那么从属信标也受控。控制库所添加到每个基本信标的补集上面,这样得到的控制器是最优的。最重要的是,由于添加控制库所到基本信标而产生的新信标被证明是受控的,也就是说,新信标是不会被清空的。因此,新产生的信标不需要添加控制库所。生成可达图是一项耗费大量时间与资源的工作。在最坏的情况下,它可能会在运行一周甚至一个月的时间之后由于内存耗尽而停止。因此,针对生成可达图存在的高计算复杂度问题,提出了一种计算Petri网子类—标识图的可达状态数的代数方法。一个标识图可以分成几个结构块。首先,选出一个结构块并确定此结构块与相邻结构块的连接关系。两个结构块组成一个新的结构块。重复以上过程直到没有新的结构块可被添加进来。最后得到的结构块就是此标识图。接下来,依次计算每个新生成的结构块的可达状态数。最后得到的最大结构块的可达状态数就是标识图的可达状态数。它可以在很短的时间内得到结果,因此可以被用于预测当前计算条件下得到可达图的可能性。最后,此状态数计算方法被应用到一类更复杂的Petri网—S3PR网中。首先,通过组合的方式确定一个S3PR网可达状态数的上限。不同于标识图,由于冲突的存在,计算s3PR网可达状态数时会有不可达标识的出现。因此,接下来通过包含两个资源库所的信标找出该S3PR网的不可达状态数。最后,从可达状态数上限中减去不可达状态的数量就是该S3PR网最终的可达状态数。例子计算与分析验证了此方法的有效性。