CN117035255A - 一种含不可靠资源制造系统的鲁棒调度方法 - Google Patents
一种含不可靠资源制造系统的鲁棒调度方法 Download PDFInfo
- Publication number
- CN117035255A CN117035255A CN202310633698.XA CN202310633698A CN117035255A CN 117035255 A CN117035255 A CN 117035255A CN 202310633698 A CN202310633698 A CN 202310633698A CN 117035255 A CN117035255 A CN 117035255A
- Authority
- CN
- China
- Prior art keywords
- sequence
- individuals
- population
- transition
- unreliable
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 53
- 210000000349 chromosome Anatomy 0.000 claims abstract description 41
- 238000004880 explosion Methods 0.000 claims abstract description 33
- 230000008439 repair process Effects 0.000 claims abstract description 20
- 230000035772 mutation Effects 0.000 claims abstract description 14
- 230000002068 genetic effect Effects 0.000 claims abstract description 7
- 230000007704 transition Effects 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 51
- 239000011159 matrix material Substances 0.000 claims description 10
- 239000012634 fragment Substances 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 9
- 230000037431 insertion Effects 0.000 claims description 9
- 108090000623 proteins and genes Proteins 0.000 claims description 9
- 239000000872 buffer Substances 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000003754 machining Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 238000010353 genetic engineering Methods 0.000 abstract description 6
- 238000001514 detection method Methods 0.000 abstract 2
- 238000005520 cutting process Methods 0.000 description 19
- 238000005498 polishing Methods 0.000 description 6
- 238000013468 resource allocation Methods 0.000 description 4
- 238000003466 welding Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008303 genetic mechanism Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06313—Resource planning in a project environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- General Health & Medical Sciences (AREA)
- Educational Administration (AREA)
- Mathematical Physics (AREA)
- General Factory Administration (AREA)
- Primary Health Care (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biodiversity & Conservation Biology (AREA)
- Software Systems (AREA)
- Manufacturing & Machinery (AREA)
Abstract
本发明属于制造系统生产调度技术领域,具体涉及一种含不可靠资源制造系统的鲁棒调度方法。本发明方法步骤包括:1、建立制造系统Petri网模型;2、编码和解码;3、生成初始种群;4、鲁棒检测和修复;5、计算加工时间和适应度;6、判断是否满足终止条件;7、改进遗传操作,其中包含选择、烟花爆炸、交叉、标准化变异操作;8、输出最优个体。本发明方法在鲁棒检测和修复部分,建立了一种鲁棒死锁避免策略,将所有染色体调整为控制可行染色体;在遗传操作部分,在选择操作之后加入烟花爆炸操作,增加算法的搜索效率,同时将传统的变异改为标准化变异,增加了种群的多样性,避免陷入局部最优。
Description
技术领域
本发明属于制造系统的生产调度技术领域,具体涉及一种含不可靠资源制造系统的鲁棒调度方法。
背景技术
智能制造系统是一种人机一体化智能系统,在制造过程中利用计算机模拟人类专家的智能活动,对生产过程进行分析、控制和决策等。该系统由多个并行、相关联的生产过程组成,不同类型工件在竞争有限资源时,若缺乏合理的资源分配机制,就会导致生产过程因争抢共享资源而造成资源循环等待现象,即死锁现象。除此之外,在实际生产过程中往往容易发生资源故障,例如自动切割机床的刀具始终与切屑工件保持接触,在接触区域有很强的摩擦力、压力和温度,刀具极易磨损,这会进一步加剧资源循环等待现象(又称堵塞现象)的发生。
制造系统的调度问题本质上就是寻找一种满足系统约束的最优生产排班和资源分配方案。遗传算法是一类借鉴自然选择和自然遗传机制的随机搜索算法,被广泛的用于调度问题中。智能制造系统大多对工件工序进行编码,可能会出现多条染色体解码后对应同一个资源分配方案的情况,降低了种群的多样性。因此需要找到一种策略确保同一种资源分配方案在一个种群中只会出现一次,确保种群的多样性,增加搜索效率。
发明内容
本发明的目的在于克服现有技术的缺点,提出一种含不可靠资源制造系统的鲁棒调度方法,针对含不可靠资源的制造系统本发明方法能够避免不可靠资源故障导致生产停滞,同时利用改进遗传算法,快速寻找出满足要求的调度序列,提升生产效率。
本发明为实现上述发明目的,采取的技术方案如下:
一种含不可靠资源制造系统的鲁棒调度方法,具体步骤包括:
步骤1、构建含不可靠资源制造系统的Petri网模型(NU,MU0)及其关联矩阵A,其中NU=(PU,TU,FU)是一个有向图,代表由m个机器组成且能加工n类工件的制造系统;PU=Psf∪P∪Pr∪Pu表示库所集,Psf代表毛胚品的上传和卸载缓冲区,P代表加工操作集,Pr代表资源集,Pu为虚拟修复库所集;TU=T∪Tu是变迁集,T代表能引发正常加工操作的变迁组成的集合,每一个变迁表示上一个操作的结束,下一个操作的开始,TU是由描述不可靠资源发生故障及修复过程的变迁组成的集合;MU0表示PU0→N,为初始标识集,其中N={0,1,2,…},代表系统的初始生产状态;A为关联矩阵,表示NU中变迁集TU和库所集PU的对应关系,是一个|TU|×|PU|的矩阵;
步骤2、进行编码和解码;
步骤3、随机生成初始种群,种群由固定规模的个体组成,每个个体对应一条染色体;令gen=0,gen为当前种群的迭代次数;随机生成的染色体满足步骤2的编码要求,若不满足,则进行更正;
步骤4、进行检测和修复;
步骤5、计算加工时间和适应度值;
步骤6、判断是否满足终止条件gen>Maxgen,gen为当前种群的迭代次数,Maxgen为最大迭代次数;若满足终止条件则输出最优个体,不满足则执行步骤7;
步骤7、改进遗传操作,令第gen代种群更新到第gen+1代,随后执行步骤4至步骤6;
步骤8、输出最优个体,输出种群中最优个体的染色体序列,变迁序列以及对应的加工时间Makespan。
优选地,步骤2中编码和解码包含以下步骤:
步骤2-1、进行编码,染色体由路径序列和工序序列组成;路径序列代表各个工件的路径选择,工序序列表示工件的加工顺序,长度为加工完所有工件需要的工序总数;用数字对各个工件和加工进行编号,得到染色体对应的一个数字串;
步骤2-2、进行解码,首先根据路径序列中的数字判断工件的加工路径,其次工序序列中工件j的第n次出现代表工件j的第n个操作,依次将每个数字解码到对应的变迁,从而将编码的数字串解码成变迁序列。
优选地,步骤4中检测和修复包含以下步骤:
步骤4-1、从解码得到的变迁序列中的第一个变迁t1开始,检查t1能否在当前标识M下使能,若使能,则直接执行步骤4-2,其中变迁使能的条件为前置操作库所和前置资源库所中都有token;若不能使能,则从t1之后随机选择一个能使能的变迁t2,将其移动到t1之前重新记为t1,再执行步骤4-2;
步骤4-2、在当前标识M下引发变迁t1,即M[t1>M1,将M1放入集合ζ,找出标识M1的所有后继标识,并将所有的后继标识放入集合ζ;
步骤4-3、判断集合ζ中任一标识是否是死锁标识,如果ζ中所有标识均不是死锁标识,则允许t1在M下引发,否则,禁止t1在M下引发,然后从排在t1后面的变迁中找一个新的使能变迁t2,将其移动至t1之前重新记为t1,对t1继续执行步骤4-2。
优选地,步骤5中计算加工时间和适应度值包含以下步骤:
步骤5-1、计算加工时间,依次计算每一道工序的开始时间,通过比较工序对应工件的上一步工序的预估完成时间,以及当前工序使用的资源的空闲时间,取两者较大值作为当前工序的开始时间,同时该开始时间也是该工件上一步工序的实际完成时间,以及上一步工序所使用资源的实际释放时间,开始时间加上当前工序的操作时间为当前工序的预估完成时间;当计算完工序序列中的所有工序后,比较所有工件的完成时间,最大值为整个工序序列的加工时间Makespan;
步骤5-2、计算适应度值adapt,计算公式如公式(1)所示:
其中Maxspan为当前种群的所有个体中最大的加工时间,Minspan为所有个体中最小的加工时间,k为任意常数。
优选地,步骤7中改进遗传操作包含以下步骤:
步骤7-1、选择操作,首先将种群中的个体按照适应度值从大到小排列,然后选择前Selectnum×Popsize个个体直接加入下一代,其中Selectnum为选择因子,Popsize为种群大小;
步骤7-2、烟花爆炸操作,选择适应度最优的个体,适应度最差的个体以及其余的N-2个随机个体,其中N为进行烟花爆炸操作的个体数量,对其进行烟花爆炸操作,爆炸半径SAi和爆炸火花数SNi的计算如公式(2)和(3)所示:
其中MA为爆炸半径基值,MN为爆炸火花数基值,Adapti为第i个个体的适应度值,Ymax和Ymin分别为最大适应度值和最小适应度值,ε为常数;
步骤7-3、交叉操作,首先从选择操作的个体中随机挑选一个个体,然后从其余个体中再随机挑选一个个体,随机选择两个插入点,将插入点之间两个个体的染色体片段进行交换;将原染色体中插入点之间的片段移动到工序序列的最前面,随后从前往后依次删除与插入的片段基因相同的基因;重复执行交叉操作,直到产生出完整的新一代种群;
步骤7-4、标准化变异操作,对种群中所有个体进行标准化操作,使得在调度中同一类并且选择同一条路径的工件中,编号较小的工件总是优先被处理;标准化后找出种群中所有相同的染色体,每类只保留一条,其余执行变异操作;
变异操作的具体步骤为:在染色体中随机选择一个变异点,然后随机确定一个变异长度,若变异的位置在工序序列中,则将变异点前后变异长度的基因进行对调,若变异位置在路径序列中,则令变异点后变异长度个工件的路径选择更改为可更改的其他路径。
优选地,步骤4-2中找出标识M1的所有后继标识的步骤包含:
步骤4-2-1、将所有不可靠资源在M1下分成两类,一类是在M1下非零,即该类不可靠资源在M1下仍有空闲单元,记成集合A类;另一类是在M1下为零,即该类不可靠资源在M1下所有单元都参与了加工操作,没有空闲,记成B类;
步骤4-2-2、对于任一A类资源,找出所有使用了该资源的非零操作库所,即该操作库所在M1下包含token,将该操作库所中所有token移至对应虚拟修复库所中,得到的新标识记为M1′;
步骤4-2-3、对于任一B类资源,找出M1′下所有使用了该资源的非零操作库所,记成集合Bnonzero,选择Bnonzero中任一库所,将其库所token保留一个,其余的移至对应虚拟修复库所中,将Bnonzero中其余库所中所有token同时移至对应虚拟修复库所;找出B类资源所有的故障可能性对应的标识,将其放入集合ζ中;随后对集合ζ中的标识进行筛选操作,只保留后继标识;
其中,后继标识表示在某个给定的可达标识下,如果一个不可靠资源的所有单元同时在进行生产操作,最坏情况下只有一个单元在正常工作,其它都发生了故障;如果不是所有单元都在参加生产操作,则最坏情况下参加生产操作的这些单元同时发生故障,将这些最坏情况对应的标识称为后继标识。
采用以上技术方案与现有技术相比,本发明具有以下有益效果:
1、本发明方法基于Petri网进行建模,将含不可靠资源的鲁棒死锁避免策略嵌入到调度方法中,在判断每一个变迁能否引发时,首先找出所有的后继标识,然后利用一步向前看方法,判断所有后继标识中是否存在死锁标识,确保系统在不可靠资源发生故障的情况下仍能继续进行;
2、本发明方法对遗传算法进行了优化改进,在选择操作后添加烟花爆炸操作,增加了算法的搜索效率,同时用标准化的变异操作替代普通的变异操作,去除种群中的等效个体,等效个体指染色体不同,但是解码后的变迁序列相同的个体,这样的个体操作顺序一样,加工时间一样,具有等效性,去除掉等效个体增加了种群的多样性,避免陷入局部死锁。
附图说明
图1为本发明提出的含不可靠资源制造系统的鲁棒调度方法流程示意图。
图2为本发明实施例中工件切削单元的Petri网模型。
图3为本发明实施例遗传操作中交叉操作示意图。
图4为本发明实施例遗传操作当变异位置发生在工序序列中变异操作示意图。
图5为本发明实施例遗传操作当变异位置发生在路径序列中变异操作示意图。
具体实施方式
下面结合附图详细的描述本发明的作进一步的解释说明,以使本领域的技术人员可以更深入地理解本发明并能够实施,但下面通过参考实例仅用于解释本发明,不作为本发明的限定。
本实施例为一种含不可靠资源制造系统的鲁棒调度方法在工件切削生产单元的应用。工件切削单元由自动切割机床,自动打磨机床以及自动焊接机器人组成,用来生产两种不同类型的工件,其中自动打磨机床分为普通打磨机床和精密打磨机床两种。由于自动切割机床的刀具始终与切屑工件保持接触,在接触区域有很强的摩擦力,压力和温度,刀具较易磨损。因此本文将自动切割机床设为不可靠资源。不同的工件加工顺序对应着不同的最大完工时间,调度方法的目标是在保证制造系统不会因为不可靠资源故障而停滞的前提下,实现对最大完工时间的快速寻优。如图1所示,本实施例的具体步骤如下:
步骤1、构建含不可靠资源制造系统的Petri网模型(NU,MU0)及其关联矩阵A:工件切削单元制造系统由四种机器—自动切割机床、普通打磨机床、精密打磨机床和自动焊接机器人组成,分别记为r1、r2、r3和r4;系统能够同时加工两种类型的工件;第一类工件有两种加工路径:第一种加工路径为切割机床、普通打磨机床,第二种加工路径为切割机床、精细打磨机床;第二类工件只有一条加工路径为精密打磨机床,切割机床,焊接机器人;切割机床的加工容量为2,普通打磨车床、精密打磨车床、焊接机器人的加工容量都为1,需要加工的两类工件数量都为3,每类工具毛胚经过上传缓冲区进入生产线,加工完通过卸载缓冲区离开。该系统对应的Petri网模型如图2所示,Petri网模型的符号解释如下:
PU=Psf∪P∪Pr∪Pu表示库所集,Psf代表毛胚品的上传和卸载缓冲区,P代表加工操作集,Pr代表资源集,Pu为虚拟修复库所集;
NU=(PU,TU,FU)是一个有向图,代表由m个机器组成且能加工n类工件的制造系统;
TU=T∪Tu是变迁集,T代表能引发正常加工操作的变迁组成的集合,每一个变迁表示上一个操作的结束,下一个操作的开始,TU是由描述不可靠资源发生故障及修复过程的变迁组成的集合;
FU=F∪Fu是弧集,代表着资源的分配和释放, 代表故障资源被移出去修复或者是修复完成重新回到加工过程;
MU0表示为PU0→N,为初始标识集,其中N={0,1,2,...},代表系统的初始生产状态;A:A为关联矩阵,表示NU中变迁集TU和库所集PU的对应关系,是一个|TU|×|PU|的矩阵;
t11表示第一类毛胚品从上传缓冲区进入自动切割机床r1进行加工,r1指向t11的弧表示机器r1被占用;t12表示第一类毛胚品离开自动切割机床,进入普通打磨机床r2进行加工,t12指向r1的弧表示机器r1被释放,r2指向t12的弧表示机器r2被占用;α1代表自动切割操作的机床故障,开始修复操作;β1代表故障的机床被修复完成,继续进行切割操作;Pu1代表故障的自动切割机床的修复操作;P11代表第一类工件的第一个操作—切割,旁边标注的数字4代表这个操作需要4个时间单位;P1s和P2s中的数字3代表两类工件各有3个在上传缓冲区中等待被加工;r1中的数字2代表机器r1的加工容量为2,其余库所中都没有token,代表初始标识下其他操作都没有在进行,因此初始标识MU0=(P1s,P1f,P2s,P2f,P11,P12,P21,P22,P31,P32,P33,Pu1,Pu2,Pu3,r1,r2,r3,r4)=(3,0,3,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1)。图2中每个符号的含义如表1所示。
表1工件切削生产单元Petri网模型中库所和变迁的含义
本实施例中Petri网关联矩阵A如下所示:
步骤2、编码和解码,具体编码和解码步骤如下:
步骤2-1、进行编码,染色体由路径序列和工序序列组成;路径序列代表各个工件的路径选择,工序序列表示工件的加工顺序,长度为加工完所有工件需要的工序总数;用数字对各个工件和加工进行编号,得到染色体对应的一个数字串;
步骤2-2、进行解码,首先根据路径序列中的数字判断工件的加工路径,其次工序序列中工件j的第n次出现代表工件j的第n个操作,依次将每个数字解码到对应的变迁,从而将编码的数字串解码成变迁序列;
根据图2所示的Petri网,一个可能的染色体为π=(1,1,2,1,1,1,2,5,1,1,1,5,6,2,6,4,2,5,4,5,6,3,3,3,6,4,4),该编码前六个数字为路径序列,代表六个工件选择的是第几条路径,随后为工序序列,工序序列中数字代表工件编号,其中数字1,2,3为第一类工件,4,5,6为第二类工件,工序序列中第一个1的出现意味着工件1的第一个操作开始,即t11引发,第二个1的出现代表着1的第二个操作t12引发,依次类推π可解码为如下变迁序列:a=t11t31t11t12t13t32t31t12t32t31t13t33t32t34t33t21t22t23t34t33t34。
步骤3、随机生成初始种群,种群由固定规模的个体组成,每个个体对应一条染色体;令gen=0,gen为当前种群的迭代次数;随机生成的染色体满足步骤2的编码要求,若不满足,则进行更正;
步骤4、检测和修复,具体步骤如下:
步骤4-1、从解码得到的变迁序列中的第一个变迁t1开始,检查t1能否在当前标识M下使能,若使能,则直接执行步骤4-2,其中变迁使能的条件为前置操作库所和前置资源库所中都有token;如果不能使能,则从t1之后随机选择一个能使能的变迁t2,将其移动到t1之前并重新记为t1,再执行步骤4-2;
步骤4-2、在当前标识M下引发变迁t1,即M[t1>M1,将M1放入集合ζ,找出标识M1的所有后继标识,并将所有的后继标识放入集合ζ;
步骤4-3、判断集合ζ中任一标识是否是死锁标识,如果ζ中所有标识均不是死锁标识,则允许t1在M下引发,否则,禁止t1在M下引发,然后从排在t1后面的变迁中找一个新的使能变迁t2,将其移动至t1之前并重新记为t1,对t1继续执行步骤4-2;
在步骤4-2中找出标识M1的所有后继标识的步骤包含:
步骤4-2-1、将所有不可靠资源在M1下分成两类,一类是在M1下非零,即该类不可靠资源在M1下仍有空闲单元,记成集合A类;另一类是在M1下为零,即该类不可靠资源在M1下所有单元都参与了加工操作,没有空闲,记成B类;
步骤4-2-2、对于任一A类资源,找出所有使用了该资源的非零操作库所,即该操作库所在M1下包含token,将该操作库所中所有token移至对应虚拟修复库所中,得到的新标识记为M1′;
步骤4-2-3、对于任一B类资源,找出M1′下所有使用了该资源的非零操作库所,记成集合Bnonzero,选择Bnonzero中任一库所,将其库所token保留一个,其余的移至对应虚拟修复库所中,将Bnonzero中其余库所中所有token同时移至对应虚拟修复库所;找出B类资源所有的故障可能性对应的标识,将其放入集合ζ中;随后对集合ζ中的标识进行筛选操作,只保留后继标识;
其中,后继标识表示在某个给定的可达标识下,如果一个不可靠资源的所有单元同时在进行生产操作,最坏情况下只有一个单元在正常工作,其它都发生了故障;如果不是所有单元都在参加生产操作,则最坏情况下参加生产操作的这些单元同时发生故障,将这些最坏情况对应的标识称为后继标识。
在本实施例中步骤4的具体流程如下:
选择一个染色体对应变迁序列π=t21t31t32t31t22t23t11t12t13t21t22t23t33t34t32t33t3 4t31t32t33t34,初始标识MU0=(3,0,3,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1),判断完变迁序列t21t31t32后,即MU0[t21t31t32>M,其中M=(2,0,2,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1),现在判断变迁t31能否引发,变迁t31的前置操作库所P2s中有一个token,前置资源库所r3中也含有token,则变迁t31使能,在标识M下引发变迁t31,即M[t31>M1,其中M1=(2,0,1,0,0,0,1,0,1,1,0,0,0,0,0,1,0,1),将其放入集合ζ,则ζ={(2,0,1,0,0,0,1,0,1,1,0,0,0,0,0,1,0,1)},然后找出M1的所有后继标识,将其加入集合ζ,M1的后继标识有M2=(2,0,1,0,0,0,0,0,1,1,0,0,1,0,0,1,0,1),M3=(2,0,1,0,0,0,1,0,1,0,0,0,0,1,0,1,0,1),则ζ={(2,0,1,0,0,0,1,0,1,1,0,0,0,0,0,1,0,1),(2,0,1,0,0,0,0,0,1,1,0,0,1,0,0,1,0,1),(2,0,1,0,0,0,1,0,1,0,0,0,0,1,0,1,0,1)},随后对ζ进行后继标识筛选,只保留后继标识,则ζ={(2,0,1,0,0,0,0,0,1,1,0,0,1,0,0,1,0,1),(2,0,1,0,0,0,1,0,1,0,0,0,0,1,0,1,0,1)},其中M3=(2,0,1,0,0,0,1,0,1,0,0,0,0,1,0,1,0,1)为死锁标识,则变迁t31不能在标识M下引发,随后从后续序列中找出一个可以引发的变迁将其移动到t31之前,下一个变迁t22满足条件,将其移到t31之前,继续进行鲁棒死锁与修复。
步骤5、计算加工时间和适应度值,包含以下步骤:
步骤5-1、计算加工时间:依次计算每一道工序的开始时间,通过比较工序对应工件的上一步工序的预估完成时间,以及当前工序使用的资源的空闲时间,取两者较大值即为当前工序的开始时间,同时该开始时间也是该工件上一步工序的实际完成时间,以及上一步工序所使用资源的实际释放时间,开始时间加上当前工序的操作时间即为当前工序的预估完成时间。当计算完工序序列中的所有工序后,比较所有工件的完成时间,最大值即为整个工序序列的加工时间Makespan;
步骤5-2、计算适应度值Adapt,计算公式如式(1),
其中Maxspan为当前种群的所有个体中最大的加工时间,Minspan为所有个体中最小的加工时间,k为任意常数;
取染色体π=(1,1,2,1,1,1,2,5,1,1,1,5,6,2,6,4,2,5,4,5,6,3,3,3,6,4,4),对应的变迁序列为a=t11t31t11t12t13t32t31t12t32t31t13t33t32t34t33t21t22t23t34t33t34,计算第一个变迁t11的开始时间,需要比较工件上一步操作的预估完成时间,以及所用资源的最小空闲时间,由于此为工件2的第一步操作,则上一步预估完成时间为0,所用资源r2的空闲时间都为0,任选一个资源r2(1)作为当前步骤使用的资源,则当前操作的开始时间为0,当前操作的操作时间为4,则当前操作的预估完成时间为0+4=4,设置r2(1)=∞,表示资源被占用,到工件2的下一步操作再被释放。依次计算完整个工序序列,比较所有工件的完成时间,取最大值即为整个序列的加工时间Makespan=17。计算完整个种群,加工时间最大值为23,最小值为17,则利用公式(1)计算的当前染色体的适应度值为1,其中k取0.02。
步骤6、判断是否满足终止条件gen>Maxgen,gen为当前种群的迭代次数,Maxgen为最大迭代次数;若满足终止条件则输出最优个体,不满足则执行步骤7;
步骤7、改进遗传操作,令第gen代种群更新到第gen+1代,随后执行步骤4至步骤6;其中改进的遗传操作包含:
步骤7-1、选择操作,首先将种群中的个体按照适应度值从大到小排列,然后选择前Selectnum×Popsize个个体直接加入下一代,这里Selectnum为选择因子,Popsize为种群大小,本例中Selectnum设为0.05,Popsize设置为100;;
步骤7-2、烟花爆炸操作,选择适应度最优的个体,适应度最差的个体以及其余的N-2个随机个体,对这些个体进行烟花爆炸操作,爆炸半径SAi和爆炸火花数SNi的计算如公式(2)和(3)所示;
其中,N为进行烟花爆炸操作的个体数量,MA为爆炸半径基值,MN为爆炸火花数基值,Ymax和Ymin分别为最大和最小适应度值,ε为常数;
爆炸半径对应为爆炸操作的最大执行次数,即对于烟花i,需要进行1~SAi次爆炸操作才能得到一个爆炸火花。爆炸操作为随机挑选染色体工序序列部分中Boomnum个工序,将其随机调换位置;最后将所有的爆炸火花加入下一代;
步骤7-3、交叉操作,首先从选择操作的个体中随机挑选一个个体,然后从其余个体中再随机挑选一个个体,随机选择两个插入点,将插入点之间两个个体的染色体片段进行交换。将原染色体中插入点之间的片段移动到工序序列的最前面,随后从前往后依次删除与插入的片段基因相同的基因,具体过程如图3所示;重复执行交叉操作,直到产生出完整的新一代种群;
步骤7-4、标准化变异操作,对种群中所有个体进行标准化操作,即确保在调度中同一类,并且选择同一条路径的工件中,编号较小的工件总是优先被处理。标准化后找出种群中所有相同的染色体,每类只保留一条,其余执行变异操作。变异操作具体操作为:在染色体中随机选择一个变异点,然后随机确定一个变异长度,若变异的位置在工序序列中,则将变异点前后变异长度的基因进行对调,具体过程如图4所示,变异长度为2,若变异位置在路径序列中,则令变异点后变异长度个工件的路径选择更改为可更改的其他路径,具体过程如图5所示,变异长度为2。
步骤8、输出最优个体,输出种群中最优个体的染色体序列:(1,1,2,1,1,1,2,5,1,1,1,5,6,2,6,4,2,5,4,5,6,3,3,3,6,4,4),变迁序列:t11t31t11t12t13t32t31t12t32t31t13t33t3 2t34t33t21t22t23t34t33t34以及对应的Makespan=17。
以上所述的具体实施方案,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述仅为本发明的具体实施方案而已,并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所做出的等同变化与修改,均应属于本发明保护的范围。
Claims (6)
1.一种含不可靠资源制造系统的鲁棒调度方法,其特征在于,包含以下步骤:
步骤1、构建含不可靠资源制造系统的Petri网模型(NU,MU0)及其关联矩阵A,其中NU=(PU,TU,FU)是一个有向图,代表由m个机器组成且能加工n类工件的制造系统;PU=Psf∪P∪Pr∪Pu表示库所集,Psf代表毛胚品的上传和卸载缓冲区,P代表加工操作集,Pr代表资源集,Pu为虚拟修复库所集;TU=T∪Tu是变迁集,T代表能引发正常加工操作的变迁组成的集合,每一个变迁表示上一个操作的结束,下一个操作的开始,TU是由描述不可靠资源发生故障及修复过程的变迁组成的集合;MU0表示为PU0→N,为初始标识集,其中N={0,1,2,…},代表系统的初始生产状态;A为关联矩阵,表示NU中变迁集TU和库所集PU的对应关系,是一个|TU|×|PU|的矩阵;
步骤2、进行编码和解码;
步骤3、随机生成初始种群,种群由固定规模的个体组成,每个个体对应一条染色体;令gen=0,gen表示当前种群的迭代次数;随机生成的染色体满足步骤2的编码要求,若不满足,则进行更正;
步骤4、进行检测和修复;
步骤5、计算加工时间和适应度值;
步骤6、判断是否满足终止条件gen>Maxgen,gen为当前种群的迭代次数,Maxgen为最大迭代次数;若满足终止条件则输出最优个体,不满足则执行步骤7;
步骤7、改进遗传操作,令第gen代种群更新到第gen+1代,随后执行步骤4至步骤6;
步骤8、输出最优个体,输出种群中最优个体的染色体序列,变迁序列以及对应的加工时间Makespan。
2.根据权利要求1所述的含不可靠资源制造系统的鲁棒调度方法,其特征在于,所述步骤2中编码和解码包含以下步骤:
步骤2-1、进行编码,染色体由路径序列和工序序列组成;路径序列代表各个工件的路径选择,工序序列表示工件的加工顺序,长度为加工完所有工件需要的工序总数;用数字对各个工件和加工进行编号,得到染色体对应的一个数字串;
步骤2-2、进行解码,首先根据路径序列中的数字判断工件的加工路径,其次工序序列中工件j的第n次出现代表工件j的第n个操作,依次将每个数字解码到对应的变迁,从而将编码的数字串解码成变迁序列。
3.根据权利要求2所述的含不可靠资源制造系统的鲁棒调度方法,其特征在于,所述步骤4中检测和修复包含以下步骤:
步骤4-1、从解码得到的变迁序列中的第一个变迁t1开始,检查t1能否在当前标识M下使能,若使能,则直接执行步骤4-2,其中变迁使能的条件为前置操作库所和前置资源库所中都有token;若不能使能,则从t1之后随机选择一个能使能的变迁t2,将其移动到t1之前重新记为t1,再执行步骤4-2;
步骤4-2、在当前标识M下引发变迁t1,即M[t1>M1,将M1放入集合ζ,找出标识M1的所有后继标识,并将所有的后继标识放入集合ζ;
步骤4-3、判断集合ζ中任一标识是否是死锁标识,如果ζ中所有标识均不是死锁标识,则允许t1在M下引发,否则,禁止t1在M下引发,然后从排在t1后面的变迁中找一个新的使能变迁t2,将其移动至t1之前重新记为t1,对t1继续执行步骤4-2。
4.根据权利要求3所述的含不可靠资源制造系统的鲁棒调度方法,其特征在于,所述步骤5中计算加工时间和适应度值包含以下步骤:
步骤5-1、计算加工时间,依次计算每一道工序的开始时间,通过比较工序对应工件的上一步工序的预估完成时间,以及当前工序使用的资源的空闲时间,取两者较大值作为当前工序的开始时间,同时该开始时间也是该工件上一步工序的实际完成时间,以及上一步工序所使用资源的实际释放时间,开始时间加上当前工序的操作时间为当前工序的预估完成时间;当计算完工序序列中的所有工序后,比较所有工件的完成时间,最大值为整个工序序列的加工时间Makespan;
步骤5-2、计算适应度值adapt,计算公式如公式(1)所示:
其中Maxspan为当前种群的所有个体中最大的加工时间,Minspan为所有个体中最小的加工时间,k为任意常数。
5.根据权利要求4所述的含不可靠资源制造系统的鲁棒调度方法,其特征在于,所述步骤7中改进遗传操作包含以下步骤:
步骤7-1、选择操作,首先将种群中的个体按照适应度值从大到小排列,然后选择前Selectnum×Popsize个个体直接加入下一代,其中Selectnum为选择因子,Popsize为种群大小;
步骤7-2、烟花爆炸操作,选择适应度最优的个体,适应度最差的个体以及其余的N-2个随机个体,其中N为进行烟花爆炸操作的个体数量,对其进行烟花爆炸操作,爆炸半径SAi和爆炸火花数SNi的计算如公式(2)和(3)所示:
其中MA为爆炸半径基值,MN为爆炸火花数基值,Adapti为第i个个体的适应度值,Ymax和Ymin分别为最大适应度值和最小适应度值,ε为常数;
步骤7-3、交叉操作,首先从选择操作的个体中随机挑选一个个体,然后从其余个体中再随机挑选一个个体,随机选择两个插入点,将插入点之间两个个体的染色体片段进行交换;将原染色体中插入点之间的片段移动到工序序列的最前面,随后从前往后依次删除与插入的片段基因相同的基因;重复执行交叉操作,直到产生出完整的新一代种群;
步骤7-4、标准化变异操作,对种群中所有个体进行标准化操作,使得在调度中同一类并且选择同一条路径的工件中,编号较小的工件总是优先被处理;标准化后找出种群中所有相同的染色体,每类只保留一条,其余执行变异操作;
变异操作的具体步骤为:在染色体中随机选择一个变异点,然后随机确定一个变异长度,若变异的位置在工序序列中,则将变异点前后变异长度的基因进行对调,若变异位置在路径序列中,则令变异点后变异长度个工件的路径选择更改为可更改的其他路径。
6.根据权利要求3所述的含不可靠资源制造系统的鲁棒调度方法,其特征在于步骤4-2中找出标识M1的所有后继标识包含以下步骤包含:
步骤4-2-1、将所有不可靠资源在M1下分成两类,一类是在M1下非零,即该类不可靠资源在M1下仍有空闲单元,记成A类;另一类是在M1下为零,即该类不可靠资源在M1下所有单元都参与了加工操作,没有空闲,记成B类;
步骤4-2-2、对于任一A类资源,找出所有使用了该资源的非零操作库所,即该操作库所在M1下包含token,将该操作库所中所有token移至对应虚拟修复库所中,得到的新标识记为M1′;
步骤4-2-3、对于任一B类资源,找出M1′下所有使用了该资源的非零操作库所,记成集合Bnonzero,选择Bnonzero中任一库所,将其库所token保留一个,其余的移至对应虚拟修复库所中,将Bnonzero中其余库所中所有token同时移至对应虚拟修复库所;找出B类资源所有的故障可能性对应的标识,将其放入集合ζ中;随后对集合ζ中的标识进行筛选操作,只保留后继标识;
其中,后继标识表示在某个给定的可达标识下,如果一个不可靠资源的所有单元同时在进行生产操作,最坏情况下只有一个单元在正常工作,其它都发生了故障;如果不是所有单元都在参加生产操作,则最坏情况下参加生产操作的这些单元同时发生故障,将这些最坏情况对应的标识称为后继标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310633698.XA CN117035255B (zh) | 2023-05-31 | 2023-05-31 | 一种含不可靠资源制造系统的鲁棒调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310633698.XA CN117035255B (zh) | 2023-05-31 | 2023-05-31 | 一种含不可靠资源制造系统的鲁棒调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117035255A true CN117035255A (zh) | 2023-11-10 |
CN117035255B CN117035255B (zh) | 2024-02-06 |
Family
ID=88626885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310633698.XA Active CN117035255B (zh) | 2023-05-31 | 2023-05-31 | 一种含不可靠资源制造系统的鲁棒调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117035255B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143725A1 (en) * | 2002-08-05 | 2004-07-22 | Edwin Addison | Knowledge-based methods for genetic network analysis and the whole cell computer system based thereon |
US6876894B1 (en) * | 2003-11-05 | 2005-04-05 | Taiwan Semiconductor Maufacturing Company, Ltd. | Forecast test-out of probed fabrication by using dispatching simulation method |
WO2018136903A1 (en) * | 2017-01-20 | 2018-07-26 | Lifefoundry, Inc. | Systems and methods for supporting multiple automated workflows |
WO2018138601A1 (en) * | 2017-01-25 | 2018-08-02 | Koninklijke Philips N.V. | Generating a process model |
CN111563336A (zh) * | 2020-04-30 | 2020-08-21 | 南通大学 | 一种基于改进遗传算法的柔性制造系统无死锁调度方法 |
CN111667113A (zh) * | 2020-06-04 | 2020-09-15 | 西北工业大学 | 一种柔性制造系统的快速无死锁分枝定界调度方法 |
CN113656156A (zh) * | 2021-07-30 | 2021-11-16 | 哈尔滨工业大学 | 一种基于禁忌搜索算法和遗传算法结合的调度优化方法 |
CN116069514A (zh) * | 2023-01-10 | 2023-05-05 | 南通大学 | 一种含不可靠资源的柔性制造系统的死锁避免方法 |
-
2023
- 2023-05-31 CN CN202310633698.XA patent/CN117035255B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143725A1 (en) * | 2002-08-05 | 2004-07-22 | Edwin Addison | Knowledge-based methods for genetic network analysis and the whole cell computer system based thereon |
US6876894B1 (en) * | 2003-11-05 | 2005-04-05 | Taiwan Semiconductor Maufacturing Company, Ltd. | Forecast test-out of probed fabrication by using dispatching simulation method |
WO2018136903A1 (en) * | 2017-01-20 | 2018-07-26 | Lifefoundry, Inc. | Systems and methods for supporting multiple automated workflows |
WO2018138601A1 (en) * | 2017-01-25 | 2018-08-02 | Koninklijke Philips N.V. | Generating a process model |
CN111563336A (zh) * | 2020-04-30 | 2020-08-21 | 南通大学 | 一种基于改进遗传算法的柔性制造系统无死锁调度方法 |
CN111667113A (zh) * | 2020-06-04 | 2020-09-15 | 西北工业大学 | 一种柔性制造系统的快速无死锁分枝定界调度方法 |
CN113656156A (zh) * | 2021-07-30 | 2021-11-16 | 哈尔滨工业大学 | 一种基于禁忌搜索算法和遗传算法结合的调度优化方法 |
CN116069514A (zh) * | 2023-01-10 | 2023-05-05 | 南通大学 | 一种含不可靠资源的柔性制造系统的死锁避免方法 |
Non-Patent Citations (5)
Title |
---|
HUIXIA LIU: "Robust Petri Net Controllers for Flexible Manufacturing Systems With Multitype and Multiunit Unreliable Resources", 《IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS 》, vol. 53, pages 1431 - 1444 * |
任磊: "基于Petri网的柔性制造系统无死锁遗传调度算法", 控制理论与应用, vol. 27, no. 01, pages 13 - 18 * |
刘慧霞: "具有不可靠资源柔性制造系统的鲁棒控制器设计", 《控制与决策》, vol. 37, no. 08, pages 2040 - 2048 * |
张新旭: "基于赋时Petri网和GA的柔性制造系统调度", 系统工程, vol. 28, no. 11, pages 86 - 94 * |
郑锋: "基于遗传算法和模型仿真的调度规则决策方法", 计算机集成制造系统-CIMS, no. 07, pages 808 - 814 * |
Also Published As
Publication number | Publication date |
---|---|
CN117035255B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111242503B (zh) | 一种基于两层遗传算法的多目标柔性作业车间调度方法 | |
CN112257296B (zh) | 基于改进遗传算法的带有缓存约束的作业车间调度方法 | |
CN111563336A (zh) | 一种基于改进遗传算法的柔性制造系统无死锁调度方法 | |
CN109034633A (zh) | 改进遗传算法求解带移动时间的柔性作业车间调度方法 | |
CN110738365B (zh) | 一种基于粒子群算法的柔性作业车间生产调度方法 | |
CN111966049B (zh) | 一种混合流水车间生产设备调度控制方法 | |
CN104808629B (zh) | 一种柔性机器人制造单元的调度方法 | |
CN111382915B (zh) | 一种共融agv的柔性作业车间调度方法 | |
CN108805403A (zh) | 一种基于改进遗传算法的单件车间调度方法 | |
CN111401693B (zh) | 一种带机器人运输的柔性车间调度优化方法及系统 | |
CN115796510A (zh) | 一种基于改进的变邻域遗传算法的多目标柔性作业车间调度方法 | |
CN117035364A (zh) | 基于改进混合模因算法的分布式异构流水车间调度方法 | |
CN114707294A (zh) | 有限运输能力约束的作业车间多目标调度方法 | |
CN112381273A (zh) | 一种基于u-nsga-iii算法的多目标作业车间节能优化方法 | |
CN112561225A (zh) | 一种基于标杆协同进化算法的柔性作业车间调度方法 | |
CN117314078B (zh) | 基于Petri网和神经网络的柔性制造系统的无死锁调度方法 | |
CN113689066A (zh) | 一种基于nsga-ii算法的物联网车间调度方法 | |
CN117035255B (zh) | 一种含不可靠资源制造系统的鲁棒调度方法 | |
CN114022028A (zh) | 一种自动化混合流水线调度布局集成优化方法 | |
CN114595633B (zh) | 一种基于多约束的多目标柔性作业车间节能调度方法 | |
CN116757411A (zh) | 一种面向航天复杂构件的双资源柔性作业车间调度方法 | |
CN115981262B (zh) | 基于imoea的液压缸零部件车间生产调度方法 | |
CN112926837A (zh) | 基于数据驱动改进遗传算法求解作业车间调度问题的方法 | |
CN113569484A (zh) | 基于改进人工蜂群算法的动态多目标柔性作业车间调度方法 | |
CN114676987B (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 |