公开/公告号CN113283819A
专利类型发明专利
公开/公告日2021-08-20
原文格式PDF
申请/专利权人 武汉科技大学;
申请/专利号CN202110826615.X
申请日2021-07-21
分类号G06Q10/06(20120101);G06Q50/04(20120101);G06N3/00(20060101);G06N3/12(20060101);
代理机构42247 武汉红观专利代理事务所(普通合伙);
代理人陈凯
地址 430081 湖北省武汉市青山区和平大道947号
入库时间 2023-06-19 12:18:04
技术领域
本发明属于智能制造技术领域,具体涉及一种基于规则解码的Job Shop调度问题求解方法及系统。
背景技术
Job Shop调度问题是一种典型的制造系统调度问题,该问题的快速、有效和高质量求解对于智能制造领域的发展具有重要意义。由于该问题属于NP困难问题,其求解算法绝大多数为近似算法,如启发算法、元启发式算法、邻域搜索类算法等。其中,遗传算法是应用最多和最有效的算法之一。
为求解各类Job Shop的变体问题及提高算法的性能,现有研究对遗传算法进行了各种改进,但主要集中于算子的改进、控制参数的改进和算法流程的改造等方面:如提出各种交叉算子、变异算子、自适应交叉与变异概率、添加免疫算子、融合禁忌搜索算法等。
遗传算法求解过程中的一个重要步骤为染色体解码,常规的染色体解码目的是得到一个满足问题各种约束的活动调度解,解的质量改进和优化主要通过算子的作用在逐步迭代过程中实现。然而,目前的染色体解码方式,获得的调度方案的质量有待提高,工件总拖期、工件总完工时间等有待优化,且在多次迭代中要付出的计算成本较高。
发明内容
有鉴于此,本发明提出了一种基于规则解码的Job Shop调度问题求解方法及系统,用于解决求解Job Shop调度问题的过程中工件总拖期过长的问题。
本发明第一方面,公开一种基于规则解码的Job Shop调度问题求解方法,所述方法包括:
基于工件编号进行染色体编码,生成初始种群;
按照从左至右解码的总体原则,按基于规则解码的方式对部分基因进行错序解码;
按基于规则解码的方式进行染色体重组,得到与解码对应的新染色体;
对新染色体进行选择、交叉和变异操作,生成新一代种群,迭代运算并保存最优解作为Job Shop调度问题的解。
优选的,所述基于工件编号进行染色体编码具体包括:
将染色体上每个基因设为工件编号,染色体编码的长度为需要调度的所有工件的工序数量总和,染色体中相同工件编号出现的次数与对应工件所含工序的数量相等,在相同的工件编号中,基因按照对应工件的工序顺序从左至右依次排列。
优选的,所述基于规则解码的方式为基于修正交货期规则的解码。
优选的,按照从左至右解码的总体原则,按基于规则解码的方式对部分基因进行错序解码具体包括:
按照从左至右的顺序提取基因座上的基因,若当前基因实际对应的工序为未调度状态,将工序加入对应加工机器的待加工队列;
按修正交货期规则对待加工队列中所有不迟于加工机器闲置时刻到达的工序进行优选,得到第一优选工序,若优选出的是当前基因座上的基因,遵循原有顺序,否则忽略当前顺序,错序提取第一优选工序对应的基因;
调度第一优选工序,若第一优选工序非工件末道工序,将第一优选工序同工件的下一道工序加入对应加工机器的待加工队列;
重复以上步骤,直到所有基因解码完成。
优选的,所有基因解码完成之后还包括:
计算性能指标,所述性能指标包括工件总拖期和工件总完工时间。
优选的,按基于规则解码的原则进行染色体重组,得到与解码对应的新染色体具体包括:
按从左至右的顺序提取基因座上的基因,若基因实际对应的工序为未调度状态,将工序加入对应加工机器的待加工队列;
按修正交货期规则对待加工队列中所有不迟于加工机器闲置时刻到达的工序进行优选,得到第二优选工序;
将第二优选工序对应基因放入重组染色体的第
调度第二 优选工序,若第二优选工序非工件末道工序,将第二优选工序同工件的下一道工序加入对应加工机器的待加工队列;
重复以上步骤,重组染色体的第
优选的,选择操作采用轮盘赌方式进行,交叉操作按POX算子进行,变异操作采用单点基因互换方式进行。
本发明第二方面,一种基于规则解码的Job Shop调度问题求解系统,所述系统包括:
编码模块:用于基于工件编号进行染色体编码,生成初始种群;
解码模块:用于按照从左至右解码的总体原则,按基于规则解码的方式对部分基因进行错序解码;
重组模块:用于按基于规则解码的方式进行染色体重组,得到与解码对应的新染色体;
求解模块:对新染色体进行选择、交叉和变异操作,生成新一代种群;迭代运算并保存最优解作为Job Shop调度问题的解。
本发明第三方面,公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;
其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现本发明第一方面所述的方法。
本发明第四方面,公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使计算机实现本发明第一方面所述的方法。
本发明相对于现有技术具有以下有益效果:
1)本发明对染色体解码时,采用基于规则的解码方式对部分基因进行错序解码,其按修正交货期规则对待加工队列中所有不迟于加工机器闲置时刻到达的工序进行优选,选出修正交货期最小的一道工序,然后错序提取优选工序对应的基因进行调度,并将优选工序同工件的下一道工序加入对应机器的待加工队列,基于规则解码的方法与常规解码方式对比,可有效改进工件总拖期和工件总完工时间这两个制造系统重要的性能指标;
2)本发明在基于规则的解码方式的基础上提出了相应的染色体重组算子,从而使得染色体解码可获得更加高质量的调度方案,并可大大加速遗传算法求解Job Shop调度问题的收敛过程,快速高质量的获得少拖期或无拖期的活动调度方案。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的基于规则解码的Job Shop调度问题求解方法流程图;
图2为采用常规解码得到的调度方案的甘特图;
图3为采用本发明的规则解码得到的调度方案的甘特图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
本发明针对遗传算法求解Job Shop调度问题过程中解码质量不高的问题,提出了一种基于规则的解码方式,并提出了相应的染色体重组算子,旨在提高遗传算法求解JobShop调度问题质量和速度。所求解的Job Shop调度问题具体应用场景为各类离散制造系统的加工过程:制造系统中包含各种不同类型工件,每个工件含多道需要加工的工序,工序加工需要遵循给定的技术和工艺约束,如工艺路线约束、工艺顺序约束、机器约束、等待时间约束等。本发明通过改进遗传算法,快速高质量的获得少拖期或无拖期的活动调度方案。
请参阅图1,本发明提出一种基于规则解码的Job Shop调度问题求解方法,所述方法包括:
S1、基于工件编号进行染色体编码,生成初始种群;
具体,染色体编码方式为基于工件编号的编码,染色体编码长度为需要调度的所有工件的工序数量总和。染色体上每个基因为工件的编号,染色体中同工件编号出现的次数与该工件所含工序的数量相等。在相同的工件编号中,从左至右,依次为相同工件的第一道工序、第二道工序,以此类推,最右出现的为该工件的最后一道工序。
染色体初始种群以满足上述情况为前提随机产生。
S2、按照从左至右解码的总体原则,按基于规则解码的方式对部分基因进行错序解码;
本发明在解码的过程中,同时考虑待加工队列和优先规则,对部分基因进行错序解码,从而获得更好的活动调度方案。
步骤S2具体包括如下步骤:
1)设
2)令
3)提取第
4)将工序加入对应加工机器的待加工队列;
5)对待加工队列中所有不迟于机器闲置时刻到达的工序,按修正交货期规则进行优选,得到第一优选工序,若优选的是当前基因座上的基因,遵循原有顺序,否则忽略当前顺序,错序提取第一优选工序对应的基因;
6)以满足前述5条假设为前提,按产生活动调度的方式调度第一优选工序,确定其加工时间区间,并置该工序为已调度状态;
7)若第一优选工序非对应工件的末道工序,转步骤8),否则,转步骤9);
8)将第一优选工序同工件的下一道工序加入对应机器的待加工队列;
9)若
10)计算性能指标,解码结束。
本发明在解码时按修正交货期规则(Modified due date,MDD)对待加工队列中的工序进行工序优选和错序解码,通过基于修正交货期规则解码的方式,优选出修正交货期最小的一道工序,可有效改进工件总拖期和工件总完工时间这两个制造系统重要的性能指标,提高解码质量。
S3、按基于规则解码的方式进行染色体重组,得到与解码对应的新染色体;
在解码的过程中,部分基因的错序解码更改了原染色体基因顺序,为进行后续的选择、交叉和变异操作,本发明按基于规则解码的原则进行染色体重组,得到与解码对应的新染色体。
步骤S3具体包括如下步骤:
1)设
2)令
3)令重组染色体基因座序号
4)提取第
5)将工序加入其加工机器的待加工队列;
6)对待加工队列中所有不迟于机器闲置时刻到达的工序,按修正交货期规则进行优选,得到第二优选工序;
7)将第二优选工序对应基因放入重组染色体的第
8)
9)按产生活动调度的方式调度优选工序,并置该工序为已调度状态;
10)若第二优选工序非对应工件的末道工序,转步骤11),否则,转步骤12);
11)将第二优选工序同工件的下一道工序加入对应机器的待加工队列;
12)若
13)染色体重组结束,输出重组后的染色体。
按类似的基于规则解码的方式进行染色体重组,得到与解码对应的新染色体,在重组以后的新染色体的基础上可进行后续选择、交叉和变异操作。
S4、对新染色体进行选择、交叉和变异操作,生成新一代种群;
本发明改进的遗传算法中,选择操作采用轮盘赌方式进行,交叉操作按POX(Precedence Operation Crossover)算子进行,变异算子采用单点基因互换方式进行。
S5、迭代运算并保存最优解作为Job Shop调度问题的解。
生成新一代种群后,返回步骤S2,进行迭代运算,以最大迭代次数或最大滞留次数作为算法的终止条件,二者满足其一迭代终止,算法运行过程中采用最优解保存策略。
基于规则解码的方法与常规解码方式对比,在工件总拖期和工件总完工时间两个制造系统重要的性能指标下表现出非常明显的优势,各种规模下的调度问题实验表明,两个性能指标的改进均达到20~30%。且随着问题规模的扩大,性能指标的改进效果越明显。此外,对于最大完工时间指标也有一定改进,在大规模问题上改进可达5~15%。
请参阅图2、图3,比较图2、图3可得到常规解码与本发明的规则解码效果对比图,其中,图2为采用常规解码得到的调度方案的甘特图,图3为采用本发明的规则解码得到的调度方案的甘特图。其中横坐标代表加工时间,其为无量纲时间,M1、M2、M3代表不同的加工机器,J1、J2、J3分别代表不同工件的加工任务。比较常规解码与本发明的规则解码完成加工任务的时间可知,本发明基于规则解码的方式可明显缩短加工时间,得到质量更高的调度方案。
本发明将基于规则的解码及染色体重组用于遗传算法中,求解Job Shop调度问题时,在保证解质量的前提下,收敛速度具有明显提高,达到收敛时的迭代次数减少30%以上。
与上述方法实施例相对应,本发明还提出一种基于规则解码的Job Shop调度问题求解系统,所述系统包括:
编码模块:用于基于工件编号进行染色体编码,生成初始种群;
其中,染色体上每个基因为工件编号,染色体编码的长度为需要调度的所有工件的工序数量总和,染色体中相同工件编号出现的次数与对应工件所含工序的数量相等,在相同的工件编号中,基因按照对应工件的工序顺序从左至右依次排列。
解码模块:用于按照从左至右解码的总体原则,按基于规则解码的方式对部分基因进行错序解码;所述解码模块具体包括:
加工等待单元:用于按照从左至右的顺序提取基因座上的基因,若当前基因实际对应的工序为未调度状态,将工序加入对应加工机器的待加工队列;
规则优选单元:用于按修正交货期规则对待加工队列中所有不迟于加工机器闲置时刻到达的工序进行优选,得到第一优选工序,错序提取第一优选工序对应的基因;
优选调度单元:用于调度第一优选工序,若第一优选工序非工件末道工序,将第一优选工序同工件的下一道工序加入对应加工机器的待加工队列;
循环单元:用于重复加工等待单元、规则优选单元、优选调度单元,直到每个基因解码完成。
重组模块:用于按基于规则解码的方式进行染色体重组,得到与解码对应的新染色体;该模块按照与解码模块对应的规则解码的方式进行染色体重组,得到与解码对应的新染色体。
求解模块:对新染色体进行选择、交叉和变异操作,生成新一代种群;迭代运算并保存最优解作为Job Shop调度问题的解。
以上方法实施例和系统实施例是一一对应的,系统实施例简述之处请参阅方法实施例即可,不再赘述。
本发明通过基于规则解码和染色体重组的方式来改进以遗传算法,通过改进的遗传算法求解制造系统的几种典型Job Shop调度问题,包括基本Job Shop调度问题、考虑等待时间受限的Job Shop调度问题和考虑无拖期的Job Shop调度问题。
本发明还公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现本发明前述的基于规则解码的Job Shop调度问题求解方法。
本发明还公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现本发明实施例所述基于规则解码的Job Shop调度问题求解方法的全部或部分步骤。所述存储介质包括:U盘、移动硬盘、只议存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以分布到多个网络单元上。本领域普通技术人员在不付出创造性的劳动的情况下,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 在宽带无线连接系统中有效发送广播消息的方法,该方法减少了获得终端广播消息调度信息的解码错误
机译: 具有部分列处理,排序和调度的比特翻转解码器的系统和方法
机译: 用于自适应睡眠调度以进行控制信号解码的设备,系统和方法