[发明专利]一种基于矩阵的作业车间调度死锁检测与修复方法在审
申请号: | 201611206622.5 | 申请日: | 2016-12-23 |
公开(公告)号: | CN106776053A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 石飞;赵诗奎 | 申请(专利权)人: | 济南大学 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 济南誉丰专利代理事务所(普通合伙企业)37240 | 代理人: | 李茜 |
地址: | 250022 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 矩阵 作业 车间 调度 死锁 检测 修复 方法 | ||
技术领域
本发明涉及生产调度技术领域,具体涉及一种基于矩阵的作业车间调度死锁检测与修复方法。
背景技术
作业车间调度问题(Job Shop Scheduling Problem,JSP)是制造执行系统研究的核心和重点之一,其研究具有重要的理论意义和应用价值。目前,以遗传算法、差分进化算法、禁忌搜索算法、人工蜂群算法等为代表的智能算法在求解JSP问题中得到了成功应用。研究发现,各种高效智能算法的一个共同点是总会融入基于邻域结构的邻域搜索技术,因为邻域结构能够体现问题本身的特征领域知识,结合问题本身的特点,可以有效的指导搜索方向。但是,在基于邻域结构的关键工序移动过程中,可能会导致已有可行解不可行,即死锁状态。死锁是相互竞争资源的事务间相互等待、各事物的资源请求在现行的并发控制机制下永远得不到满足的一种停滞状态。反映在JSP问题上,是工件工序的加工顺序约束关系得不到满足。进而使得加工进程不能顺利进行,甚至造成新的加工进程不能开始,因此,有必要研究死锁问题。
目前,解决JSP死锁问题有三种策略:死锁预防,死锁避免,死锁检测与修复。其中,针对死锁检测与修复,大多数的研究都是基于图模型理论,尤其涉及一种析取图模型,即构造能描述问题特征的析取图模型,如果发现该模型中存在有向回路,则发生死锁。死锁修复的关键在于拆断有向回路,使各工件工序的加工顺序约束关系得到满足。目前文献中的各种修复策略,只是将其修复为一个可行解,本发明拟实现一种更为先进的修复策略,在得到可行解的前提下,尽可能修复为目标函数值更为优良的可行解。
发明内容
本发明的目的是将数学中的邻接矩阵和可达矩阵引入作业车间调度问题的研究中,进而从数学矩阵运算和性质的角度进行相关的理论研究,提出一种基于矩阵的作业车间调度死锁检测与修复方法,以期通过数学逻辑运算能快速检测出由工序移动引发的死锁,并给出死锁时,导致死锁的信息。然后结合JSP问题的领域知识,根据工序类型信息,拆断导致死锁的有向回路,实现更为先进的修复,不但修复为可行解,而且尽可能修复为目标函数值更好的可行解,进而使得各种基于邻域结构搜索的高效智能算法在求解JSP问题时更加高效可行。
本发明的目的采用如下技术方案实现。
一种基于矩阵的作业车间调度死锁检测与修复方法,其特征在于包括如下步骤:
步骤1:根据调度结果对应的析取图模型G构建邻接矩阵A;
步骤2:根据邻接矩阵A,计算可达矩阵M;
步骤3:死锁检测,如果发现死锁则寻找导致死锁的矩阵元素,并标记,否则,结束;
步骤4:根据死锁信息,结合JSP问题的领域知识,拆断导致死锁的有向回路,打破死锁;
步骤5:根据步骤4中修改的结果修正析取图模型G,返回步骤1。
步骤1中所述析取图模型G=<V,E>,其中:V是节点集合,V={v1,v2,…,vn},包括一个虚拟的开始节点S和一个虚拟的结束节点F;E是有向边的集合;V中除节点S和节点F以外的节点均表示工序;E包括连接弧和析取弧,连接弧表示工件工序的二元关系,析取弧表示机器工序的二元关系。
步骤1中所述邻接矩阵A是n阶方阵,A=(aij)n×n,aij的值通过下式确定:
矩阵最左边和最上边的元素代表工序号,当i等于j时,xi和yj表示相同工序。
步骤2中所述可达矩阵M是根据所构建的邻接矩阵A计算得到,M也是n阶0-1方阵,且符合布尔代数运算法则,其计算公式为 : ,其中I为与A同阶次的单位矩阵,反映元素自身到达,最大传递次数(路长)r根据下式确定:
。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南大学,未经济南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611206622.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:共享资源访问方法和装置
- 下一篇:一种死锁检测方法、装置和电路