[发明专利]一种基于矩阵的作业车间调度死锁检测与修复方法在审
申请号: | 201611206622.5 | 申请日: | 2016-12-23 |
公开(公告)号: | CN106776053A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 石飞;赵诗奎 | 申请(专利权)人: | 济南大学 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 济南誉丰专利代理事务所(普通合伙企业)37240 | 代理人: | 李茜 |
地址: | 250022 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 矩阵 作业 车间 调度 死锁 检测 修复 方法 | ||
1.一种基于矩阵的作业车间调度死锁检测与修复方法,其特征在于包括如下步骤:
步骤1:根据调度结果对应的析取图模型G构建邻接矩阵A;
步骤2:根据邻接矩阵A,计算可达矩阵M;
步骤3:死锁检测,如果发现死锁则寻找导致死锁的矩阵元素,并标记,否则,结束;
步骤4:根据死锁信息,结合JSP问题的领域知识,拆断导致死锁的有向回路,打破死锁;
步骤5:根据步骤4中修改的结果修正析取图模型G,返回步骤1。
2.根据权利要求1所述的一种基于矩阵的作业车间调度死锁检测与修复方法,其特征在于所述析取图模型G=<V,E>,其中:V是节点集合,V={v1,v2,…,vn},包括一个虚拟的开始节点S和一个虚拟的结束节点F;E是有向边的集合;V中除节点S和节点F以外的节点均表示工序;E包括连接弧和析取弧,连接弧表示工件工序的二元关系,析取弧表示机器工序的二元关系。
3.根据权利要求1所述的一种基于矩阵的作业车间调度死锁检测与修复方法,其特征在于所述邻接矩阵A是n阶方阵,A=(aij)n×n,aij的值通过下式确定:
矩阵最左边和最上边的元素代表工序号,当i等于j时,xi和yj表示相同工序。
4.根据权利要求1所述的一种基于矩阵的作业车间调度死锁检测与修复方法,其特征在于所述可达矩阵M是根据所构建的邻接矩阵A计算得到,M也是n阶0-1方阵,且符合布尔代数运算法则,其计算公式为: ,其中I为与A同阶次的单位矩阵,反映元素自身到达,最大传递次数(路长)r根据下式确定:
。
5.根据权利要求1所述的一种基于矩阵的作业车间调度死锁检测与修复方法,其特征在于所述死锁检测是在计算得到的可达矩阵M的基础上,检测以矩阵主对角线为对称线的对称位置是否存在两两相等且等于1的元素,即:Mij=Mji=1,如果不存在,说明在析取图模型G中无有向回路,则此调度结果可行;如果存在,说明在析取图模型G中必存在有向回路,此调度结果不可行,判为死锁,并标记导致死锁的矩阵元素。
6.根据权利要求1所述的一种基于矩阵的作业车间调度死锁检测与修复方法,其特征在于所述拆断导致死锁的有向回路的原理为:死锁信息包括导致死锁的元素及元素间的二元关系,反映在作业车间调度问题上是工序及工序间的二元关系,由于同工件工序间二元关系是不能改变的,所以要拆断有向回路需改变同机器工序间二元关系,由于作业车间调度的最后完工时间是由关键路径的长度所确定,因此,对同机器工序中的关键工序进行优先操作,改变其二元关系,打破死锁,其具体步骤如下:
步骤6.1:将所得到的死锁信息分成两类:同工件工序间二元关系和同机器工序间二元关系;
步骤6.2:对同机器工序根据其是否是关键工序也分成两类,优先选择关键工序,改变其二元关系,打破死锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南大学,未经济南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611206622.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:共享资源访问方法和装置
- 下一篇:一种死锁检测方法、装置和电路