流水车间调度方法、装置及电子设备

文档序号:32340792发布日期:2022-11-26 09:42阅读:150来源:国知局
流水车间调度方法、装置及电子设备

1.本发明涉及车间调度技术领域,尤其涉及一种流水车间调度方法、装置及电子设备。


背景技术:

2.车间调度是车间生产过程的关键环节,流水车间调度问题(flow shop scheduling problem,fsp),特别是无等待流水车间调度问题(no-wait flow shop scheduling problem,nwfssp)的研究,可以帮助企业提高生产效率和资源利用率,增强生产的可靠性。
3.在nwfssp中,待加工工件包含多道工序,每道工序在一台加工设备上加工,所有待加工工件在各加工设备上的加工顺序相同,同时约定,一个待加工工件在同一时刻只能在一台加工设备上加工,且一台加工设备在同一时刻只能加工一个待加工工件;同时,对于nwfssp,同一待加工工件的加工必须连续完成。在满足这些要求的前提下,如何安排待加工工件的生产工序以得到较小的生产周期是目前车间调度领域面临的重要问题。


技术实现要素:

4.针对现有技术存在的上述问题,本发明提供一种流水车间调度方法、装置及电子设备,实现流水车间待加工工件的最大完工时间的优化。
5.本发明提供一种流水车间调度方法,包括:
6.基于启发式算法获取所有待加工工件的初始排列序列和初始最大完工时间;
7.从所述初始排列序列中获取目标组合序列,所述目标组合序列中包括至少一个目标组合子序列,所述目标组合子序列为所述初始排列序列中的至少两个相邻序列;
8.将所述目标组合序列依次插入剩余序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,所述剩余序列为所述初始排列序列中除去所述目标组合序列后的排列序列;
9.获取所有临时排列序列的最大完工时间和所述初始最大完工时间中最小的最大完工时间,并将所述最小的最大完工时间对应的排列序列确定为所述待加工工件的生产调度方案。
10.根据本发明提供的一种流水车间调度方法,所述从所述初始排列序列中获取目标组合序列包括:
11.从所述初始排列序列中选取至少两个相邻的序列进行组合,得到所述目标组合序列。
12.根据本发明提供的一种流水车间调度方法,所述从所述初始排列序列中获取目标组合序列包括:
13.从所述初始排列序列中选取至少两个相邻的序列进行组合,得到第一组合序列;
14.从所述初始排列序列中除去所述第一组合序列后的排列序列中选取至少两个相
邻的序列进行组合,得到第二组合序列;
15.对所述第一组合序列和所述第二组合序列进行排列组合,基于排列组合结果确定所述目标组合序列。
16.根据本发明提供的一种流水车间调度方法,所述基于排列组合结果确定所述目标组合序列包括:
17.将所述排列组合结果中的至少一种确定为所述目标组合序列;
18.或者,将所述排列组合结果中的至少一种和所述第一组合序列分别确定为所述目标组合序列。
19.根据本发明提供的一种流水车间调度方法,所述基于启发式算法获取所有待加工工件的初始排列序列和初始最大完工时间包括:
20.获取初始作业列表,所述初始作业列表中包括每个待加工工件在所有加工设备上的总加工时间;
21.采用启发式算法求解所述初始作业列表的初始解,得到所有待加工工件的初始排列序列和初始最大完工时间。
22.根据本发明提供的一种流水车间调度方法,所述启发式算法为neh算法。
23.本发明还提供一种流水车间调度装置,包括:
24.第一获取模块,用于基于启发式算法获取所有待加工工件的初始排列序列和初始最大完工时间;
25.第二获取模块,用于从所述初始排列序列中获取目标组合序列,所述目标组合序列中包括至少一个目标组合子序列,所述目标组合子序列为所述初始排列序列中的至少两个相邻序列;
26.计算模块,用于将所述目标组合序列依次插入剩余序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,所述剩余序列为所述初始排列序列中除去所述目标组合序列后的排列序列;
27.确定模块,用于获取所有临时排列序列的最大完工时间和所述初始最大完工时间中最小的最大完工时间,并将所述最小的最大完工时间对应的排列序列确定为所述待加工工件的生产调度方案。
28.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述流水车间调度方法。
29.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述流水车间调度方法。
30.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述流水车间调度方法。
31.本发明提供的流水车间调度方法、装置及电子设备,从基于启发式算法获取的所有待加工工件的初始排列序列中获取目标组合序列,该目标组合序列中包括至少一个目标组合子序列,目标组合子序列为初始排列序列中的至少两个相邻序列,再将目标组合序列依次插入初始排列序列中除去目标组合序列后的排列序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,实现对初始排列序
列的多种排列组合及最大完工时间的计算,然后获取所有临时排列序列的最大完工时间和初始最大完工时间中最小的最大完工时间,并将最小的最大完工时间对应的排列序列确定为待加工工件的生产调度序列,能够对启发式算法求解的生产调度序列进行进一步的排列组合,获得多种可能的生产调度序列,最小的最大完工时间是从这些所有可能的生产调度序列及初始排列序列的最大完工时间中确定的,得到的最大完工时间更优,从而实现了流水车间待加工工件的最大完工时间的优化,提高了生产效率。
附图说明
32.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1是本发明提供的置换流水车间的工作原理示意图;
34.图2是本发明提供的无等待流水车间的工作原理示意图;
35.图3是本发明提供的流水车间调度方法的流程示意图之一;
36.图4是本发明提供的从初始排列序列中获取目标组合序列方法的原理示意图之一;
37.图5是本发明提供的从初始排列序列中获取目标组合序列方法的原理示意图之二;
38.图6是本发明提供的流水车间调度方法的流程示意图之二;
39.图7是本发明提供的采用第一优化策略对初始排列序列进行第一优化排列的原理示意图;
40.图8是本发明提供的采用第二优化策略对初始排列序列进行第二优化排列的原理示意图;
41.图9是本发明提供的采用第三优化策略对初始排列序列进行第三优化排列的原理示意图;
42.图10是本发明提供的流水车间调度装置的结构示意图;
43.图11是本发明提供的电子设备的结构示意图。
具体实施方式
44.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.流水车间调度问题(fsp)一直是企业生产的一个重要的研究问题,也是智能工厂调度问题的重要组成部分。流水车间调度问题是强非确定性多项式(np-hard)问题,通常难以求解,因此,研究流水线调度算法对于减少运行时间、提高生产效率以及兼顾计算时间和求解质量等非常重要。
46.在fsp中,置换流水车间问题(pfsp)是一类特殊的优化调度问题,其定义为:在给
定有限数量的加工设备和待加工工件且所有加工设备以相同的顺序完成每个待加工工件的条件下,寻找最佳的工作排序使得性能指标最大化,其中的性能指标比如可以包括总延迟、制造时间、总流程时间、生产成本和能源消耗等其中至少之一。例如,图1示例性示出了置换流水车间的工作原理示意图,参照图1所示,以工件1~工件4共4件待加工工件在加工设备m1~m3中完成加工为例,每个待加工工件以相同的顺序依次经过加工设备m1~m3进行加工,每个待加工工件在各加工设备中有其对应的加工时间。
47.当置换流水车间的所有工序必须不间断地完成时,称其为无等待流水车间调度问题(nwfssp),例如在钢铁行业中铁水不能等待。基于此,nwfssp可以描述为:给定m台加工设备和n个待加工工件,每台加工设备上所有待加工工件的处理顺序是相同的;同时约定一台加工设备在同一时间只能处理1个待加工工件,1个待加工工件在同一时间只能在1台加工设备上处理;而且,同一待加工工件的加工必须连续完成,即同一待加工工件的相邻工序没有等待时间,由每道工序的加工时间确定。基于此,所要求解的问题是,在满足上述要求的情况下,如何安排生产工序以获得最小的生产周期。例如,图2示例性示出了无等待流水车间的工作原理示意图,参照图2所示,以工件1~工件4共4件待加工工件在加工设备m1~m3中完成加工为例,每个待加工工件在各加工设备中有其对应的加工时间,每个待加工工件以相同的顺序依次经过加工设备m1~m3进行加工,且在各加工设备上的加工连续完成。
48.相关技术中,可以采用启发式算法处理流水车间调度问题,比如可以采用nawaz-enscore-ham(neh)算法、帕尔玛(palmer)算法或快速进入(rapid access,ra)算法等启发式算法处理流水车间调度问题。启发式算法利用问题特定知识和经验产生求解方案,可以在较短的时间内得到次优解,在一定程度上保证加工序列的局部最优性,但不一定能够给出最短或者最优的加工序列。而对启发式算法做进一步的改进,对于保持初始算法的建设性特征以获得清晰和可重复的结果非常重要。通过进一步优化启发式算法生成的解来求解nwfssp将有助于最大完工时间的优化及生产效率的提高。
49.基于此,在本发明实施例中,可以对启发式算法求解的生产调度序列进行进一步的排列组合优化,从所有的排列组合序列及启发式算法求解的生产调度序列中确定出最大完工时间最小的序列作为待加工工件的生产调度方案。可以在启发式算法求解的生产调度序列的基础上,对其中的至少两个相邻序列进行组合,得到目标组合子序列,将至少一个目标组合子序列组合为目标组合序列,然后将该目标组合序列与剩余的序列进行组合排列并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,从所有临时排列序列及最小的最大完工时间启发式算法求解的生产调度序列中确定出最大完工时间最小的序列作为最终的生产调度方案。
50.下面结合图3-图9描述本发明的流水车间调度方法。该流水车间调度方法可以应用于服务器、手机、电脑等电子设备或流水车间调度系统中,也可以应用于设置在该电子设备中的流水车间调度装置中,该流水车间调度装置可以通过软件、硬件或两者的结合来实现。
51.图3示例性示出了本发明实施例提供的流水车间调度方法的流程示意图之一,参照图3所示,该流水车间调度方法可以包括如下的步骤310~步骤340。
52.步骤310:基于启发式算法获取所有待加工工件的初始排列序列和初始最大完工时间。
53.给定m台加工设备和n个待加工工件,可以基于启发式算法求解这n个待加工工件在这m台加工设备上进行加工的最小的最大完工时间和该最大完工时间对应的加工序列,得到这n个待加工工件在这m台加工设备上进行加工的初始最大完工时间和初始排列序列。
54.一种示例实施例中,基于启发式算法获取所有待加工工件的初始排列序列和初始最大完工时间可以包括:获取初始作业列表,初始作业列表中包括每个待加工工件在所有加工设备上的总加工时间;采用启发式算法求解初始作业列表的初始解,得到所有待加工工件的初始排列序列和初始最大完工时间。
55.示例性的,启发式算法比如可以是neh算法。
56.步骤320:从初始排列序列中获取目标组合序列,目标组合序列中包括至少一个目标组合子序列,目标组合子序列为初始排列序列中的至少两个相邻序列。
57.基于启发式算法获取到所有待加工工件的初始排列序列和初始最大完工时间之后,可以将初始排列序列中的至少两个相邻序列进行组合,获得目标组合子序列,获取一个或多个不同的目标组合子序列进行组合,得到目标组合序列。
58.一种示例实施例中,可以将任意一个目标组合子序列作为目标组合序列,相应的,从初始排列序列中获取目标组合序列可以包括:从初始排列序列中选取至少两个相邻的序列进行组合,得到目标组合序列。可以理解的是,可以从初始排列序列中获取到多个不同的目标组合序列。例如,图4示例性示出了本发明提供的从初始排列序列中获取目标组合序列方法的原理示意图之一,参照图4所示,以初始排列序列中包括4个序列为例,按顺序编号为1至4,则可以确定出如图4所示的5种目标组合子序列,可以分别将这些目标组合子序列作为目标组合序列,然后与各自对应的剩余序列进行排列组合,并计算各排列组合序列的最大完工时间,比如可以将第一目标子序列分别插入编号3和4之间及编号4的后面,得到第一目标子序列对应的两个排列组合。其中的剩余序列为初始排列序列中除去目标组合序列后的排列序列。
59.一种示例实施例中,也可以将至少两组目标组合子序列进行组合作为目标组合序列,比如可以将相邻的至少两组目标组合子序列进行组合。相应的,从初始排列序列中获取目标组合序列可以包括:从初始排列序列中选取至少两个相邻的序列进行组合,得到第一组合序列;从初始排列序列中除去第一组合序列后的排列序列中选取至少两个相邻的序列进行组合,得到第二组合序列;对第一组合序列和第二组合序列进行排列组合,基于排列组合结果确定目标组合序列。
60.示例性的,基于排列组合结果确定目标组合序列可以包括:将排列组合结果中的至少一种确定为目标组合序列;或者,将排列组合结果中的至少一种和第一组合序列分别确定为目标组合序列。例如,图5示例性示出了本发明提供的从初始排列序列中获取目标组合序列方法的原理示意图之二,参照图5所示,初始排列序列中有10个序列,按照顺序编号为1~10,比如可以将其中编号2和3的序列进行组合,得到第一组合序列,接着从除去2和3的剩余序列中选取编号7~9的序列进行组合,得到第二组合序列,然后可以将第一组合序列排在第二组合序列之前进行组合,得到如图5所示的目标组合序列“2-3-7-8-9”,后续可以将该目标组合序列与剩余序列进行排列组合,并计算各排列组合序列的最大完工时间,直至遍历这种组合方式得到的所有目标组合序列;进一步的,可以将第一组合序列排在第二组合序列之后进行组合,扩展出更多的目标组合序列。或者,可以将图5对应的排列组合
方式与图4对应的排列组合方式合并,将两种排列组合方式得到的组合序列分别作为目标组合序列。
61.步骤330:将目标组合序列依次插入剩余序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,剩余序列为初始排列序列中除去目标组合序列后的排列序列。
62.无论是采用如图4对应的排列组合方式得到的多个目标组合序列,还是采用如图5对应的排列组合方式得到的多个目标组合序列,或者是将图4对应的排列组合方式与图5对应的排列组合方式合并得到的多个目标组合序列,对于每个目标组合序列,可以将该目标组合序列依次插入初始排列序列中除去该目标组合序列后的排列序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列。
63.步骤340:获取所有临时排列序列的最大完工时间和初始最大完工时间中最小的最大完工时间,并将最小的最大完工时间对应的排列序列确定为待加工工件的生产调度方案。
64.对于每个目标组合序列,通过与初始排列序列中除去该目标组合序列后的排列序列进行排列组合,可以得到该目标组合序列对应的多个临时排列序列。一种示例实施例中,可以从每个目标组合序列对应的多个临时排列序列的最大完工时间中确定出最小的时间,得到每个目标组合序列对应的最小的最大完工时间,然后从初始最大完工时间和所有目标组合序列对应的最小的最大完工时间中取最小的时间,得到最终所需的最小的最大完工时间。一种示例实施例中,可以先计算所有目标组合序列的所有临时排列序列的最大完工时间,然后从这些最大完工时间及初始最大完工时间中确定最小的时间,得到最终所需的最小的最大完工时间。一种示例实施例中,可以设置一个变量用来保存最小的最大完工时间,该变量初始化保存初始最大完工时间,之后,将每次得到的临时排列序列的最大完工时间与该变量的当前值进行比较,使该变量中一直保存对比得到的最小值,直至遍历所有的排列组合序列,该变量最终的值即为所需的最小的最大完工时间。
65.得到最小的最大完工时间之后,可以将该最小的最大完工时间对应的排列序列确定为待加工工件的生产调度方案,基于该生产调度方案进行待加工工件的加工时,可以以最小的生产周期完成待加工工件的加工,提高了生产效率,降低了生产成本。
66.本发明提供的流水车间调度方法、装置及电子设备,从基于启发式算法获取的所有待加工工件的初始排列序列中获取目标组合序列,该目标组合序列中包括至少一个目标组合子序列,目标组合子序列为初始排列序列中的至少两个相邻序列,再将目标组合序列依次插入初始排列序列中除去目标组合序列后的排列序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,实现对初始排列序列的多种排列组合及最大完工时间的计算,然后获取所有临时排列序列的最大完工时间和初始最大完工时间中最小的最大完工时间,并将最小的最大完工时间对应的排列序列确定为待加工工件的生产调度序列,能够对启发式算法求解的生产调度序列进行进一步的排列组合,获得多种可能的生产调度序列,最小的最大完工时间是从这些所有可能的生产调度序列及初始排列序列的最大完工时间中确定的,得到的最大完工时间更优,从而实现了流水车间待加工工件的最大完工时间的优化,提高了生产效率。
67.基于图3对应实施例的流水车间调度方法,下面以启发式算法是neh算法为例,对
本发明提供的流水车间调度方法作进一步的举例说明。图6示例性示出了本发明实施例提供的流水车间调度方法的流程示意图之二,该流水车间调度方法通过对neh算法求解的生产调度方案进行进一步的优化提升,可以得到更优的最大完工时间。参照图6所示,该流水车间调度方法可以包括如下的步骤601~步骤612。
68.步骤601:获取初始作业列表。
69.初始作业列表中包括每个待加工工件在所有加工设备上的总加工时间,该初始作业列表可以由用户进行创建。比如,需要在m台加工设备上加工n个待加工工件,可以创建长度为n的初始作业列表,在该初始作业列表中保存每个待加工工件在m台加工设备上加工的总加工时间。
70.步骤602:采用neh算法求解初始作业列表的初始解,得到所有待加工工件的初始排列序列和初始最大完工时间makespan。
71.获取到初始作业列表之后,可以采用neh算法对初始作业列表中保存的每个待加工工件在m台加工设备上加工的总加工时间进行排列组合,并获取这些排列组合序列的最大完工时间中的最小时间,得到初始最大完工时间makespan,并将该最小时间对应的排列组合序列确定为初始排列序列。
72.步骤603:采用第一优化策略对初始排列序列进行第一优化排列,并确定第一优化排列的最大完工时间makespan1。
73.得到初始排列序列之后,可以采用第一优化策略对初始排列序列进行第一优化排列,并确定第一优化排列的最大完工时间makespan1。具体的,可以将初始排列序列中的至少两个相邻序列进行组合,得到多个目标组合序列。从第一个目标组合序列开始,将该目标组合序列插入初始排列序列中除去该目标组合序列后的排列序列的新位置,每次插入后,计算得到的临时排列序列的完工时间,并将该完工时间与上次获得的完工时间进行比较并保存其中的最小值,直至遍历所有的目标组合序列,最后保存的完工时间即为经过第一优化排列后得到的最大完工时间makespan1。
74.例如,图7示例性示出了本发明实施例提供的采用第一优化策略对初始排列序列进行第一优化排列的原理示意图,参照图7所示,初始排列序列中包括8个序列,按顺序编号为1~8,可以将其中至少两个相邻序列作为目标组合序列,得到所有可能的目标组合序列,对于每个目标组合序列,可以将其插入其余序列的前后新位置,重新进行排列,获得多个临时排列序列。比如,在图7中,可以将编号3和4的序列组合到一起,插入编号5和6的序列之间,得到一个临时排列序列。可以理解的是,编号3和4的序列可以插入1的前后位置、5与6之间、6与7之间、7与8之间以及8的后面,遍历所有能够插入的新位置,得到多个临时排列序列。可以理解的是,对于图7的初始排列序列,可以将相邻的2个、3个直至7个序列组合为目标组合序列,遍历所有可能的相邻序列组合。
75.步骤604:判断makespan1是否小于makespan。若小于,则执行步骤605;否则执行步骤606。这样,可以对neh算法求解的最大完工时间进行进一步的优化,缩短最大完工时间,提高生产效率。
76.步骤605:将makespan1的值赋给makespan。然后继续执行步骤606。
77.步骤606:采用第二优化策略对初始排列序列进行第二优化排列,并确定第二优化排列的最大完工时间makespan2。
78.得到初始排列序列之后,可以采用第二优化策略对初始排列序列进行第二优化排列,并确定第二优化排列的最大完工时间makespan2。具体的,可以按照步骤603选取相邻序列的方式从初始排列序列中确定目标组合子序列,即将初始排列序列中的至少两个相邻序列确定为目标组合子序列。基于此,可以先确定出一个目标组合子序列,然后从剩余的序列中确定出第二个目标组合子序列,然后将这两个目标组合子序列组合到一起作为一个目标组合序列,如此可确定出多个目标组合序列。从第一个目标组合序列开始,将该目标组合序列插入初始排列序列中除去该目标组合序列后的排列序列的新位置,每次插入后,计算得到的临时排列序列的完工时间,并将该完工时间与上次获得的完工时间进行比较并保存其中的最小值,直至遍历所有的目标组合序列,最后保存的完工时间即为经过第二优化排列后得到的最大完工时间makespan2。
79.例如,图8示例性示出了本发明实施例提供的采用第二优化策略对初始排列序列进行第二优化排列的原理示意图,参照图8所示,初始排列序列中包括10个序列,按顺序编号为1~10,可以从中选择编号2和3两个相邻的序列组合为第一目标组合子序列,从剩余序列中可以选择编号7、8和9三个相邻的序列组合为第二目标组合子序列,可以将这两个目标组合子序列组合到一起,得到一个目标组合序列,然后将该目标组合序列插入剩余序列中所有可能插入的新位置,比如在图8中可以插入编号5和6之间,得到图8所示的一个临时排列序列,通过插入不同的新位置可以获得该目标组合序列对应的多个临时排列序列。如此,可以获得多个目标组合序列及其对应的多个临时排列序列。
80.步骤607:判断makespan2是否小于makespan。若小于,则执行步骤608;否则执行步骤609。这样,可以对第一次优化排列后获得的最大完工时间进行进一步的优化,进一步缩短最大完工时间,提高生产效率。
81.步骤608:将makespan2的值赋给makespan。然后继续执行步骤609。
82.步骤609:采用第三优化策略对初始排列序列进行第三优化排列,并确定第三优化排列的最大完工时间makespan3。
83.按照第二优化策略对初始排列序列进行第二优化排列并确定第二优化排列的最大完工时间之后,可以采用第三优化策略对初始排列序列进行第三优化排列并确定第三优化排列的最大完工时间makespan3。具体的,可以将步骤606中确定的目标组合序列中的两个目标组合子序列的顺序颠倒,组成新的目标组合序列,然后将该新的目标组合序列分别插入剩余序列中所有可能插入的新位置,每次插入后,计算得到的临时排列序列的完工时间,并将该完工时间与上次获得的完工时间进行比较并保存其中的最小值,直至遍历所有的目标组合序列,最后保存的完工时间即为经过第三优化排列后得到的最大完工时间makespan3。
84.例如,基于图8的排列组合方式,图9示例性示出了本发明实施例提供的采用第三优化策略对初始排列序列进行第三优化排列的原理示意图,参照图9所示,可以对图8中的第一目标组合子序列“2-3”和第二目标组合子序列“7-8-9”的前后顺序进行颠倒,得到新的目标组合序列分别插入到剩余序列中所有可能插入的新位置,比如在图9中,可以插入编号5和6的序列之间,得到如图9所示的又一个临时排列序列,通过插入不同的新位置可以获得该目标组合序列对应的多个临时排列序列。如此,可以进一步获得多个目标组合序列及其对应的多个临时排列序列。
85.可以理解的是,基于图8及图9的计算方式可以将最大完工时间的优化问题转换为非对称旅行商问题进行计算,有利于最小生产周期的确定。
86.步骤610:判断makespan3是否小于makespan。若小于,则执行步骤611;否则执行步骤612。这样,可以对第二次优化排列后获得的最大完工时间进行进一步的优化,进一步缩短最大完工时间,提高生产效率。
87.步骤611:将makespan3的值赋给makespan。然后继续执行步骤612。
88.步骤612:保存当前的makespan和该makespan对应的排列序列。
89.经过多次的优化处理,最终makespan的值即为确定出的最小的最大完工时间,按照该makespan对应的排列序列进行待加工工件的加工时可以缩短生产周期,提高生产效率,节约生产成本。
90.本示例实施例提供的流水车间调度方法,通过对neh算法求解的初始排列序列分别进行第一优化排列、第二优化排列和第三优化排列,并基于每次的优化排列对neh算法求解的最大完工时间依次进行不断的优化调度,可以得到更优的最大完工时间,以此最大完工时间对应的排列序列加工待加工工件可以有效缩短生产周期,获得最小的生产周期,提高生产效率,降低生产成本。
91.下面对本发明提供的流水车间调度装置进行描述,下文描述的流水车间调度装置与上文描述的流水车间调度方法可相互对应参照。
92.图10示例性示出了本发明实施例提供的流水车间调度装置的结构示意图,参照图10所示,该流水车间调度装置1000可以包括第一获取模块1010、第二获取模块1020、计算模块1030和确定模块1040。其中:第一获取模块1010可以用于基于启发式算法获取所有待加工工件的初始排列序列和初始最大完工时间;第二获取模块1020可以用于从初始排列序列中获取目标组合序列,目标组合序列中包括至少一个目标组合子序列,目标组合子序列为初始排列序列中的至少两个相邻序列;计算模块1030可以用于将目标组合序列依次插入剩余序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,剩余序列为初始排列序列中除去目标组合序列后的排列序列;确定模块1040可以用于获取所有临时排列序列的最大完工时间和初始最大完工时间中最小的最大完工时间,并将最小的最大完工时间对应的排列序列确定为待加工工件的生产调度方案。
93.一种示例实施例中,第二获取模块1020可以具体用于从初始排列序列中选取至少两个相邻的序列进行组合,得到目标组合序列。
94.一种示例实施例中,第二获取模块1020可以包括第一选择单元、第二选择单元和确定单元。其中:第一选择单元可以用于从初始排列序列中选取至少两个相邻的序列进行组合,得到第一组合序列;第二选择单元可以用于从初始排列序列中除去第一组合序列后的排列序列中选取至少两个相邻的序列进行组合,得到第二组合序列;确定单元可以用于对第一组合序列和第二组合序列进行排列组合,基于排列组合结果确定目标组合序列。
95.一种示例实施例中,确定单元可以具体用于将排列组合结果中的至少一种确定为目标组合序列,或者,将排列组合结果中的至少一种和第一组合序列分别确定为目标组合序列。
96.一种示例实施例中,第一获取模块1010可以包括获取单元和解算单元。其中:获取
单元可以用于获取初始作业列表,初始作业列表中包括每个待加工工件在所有加工设备上的总加工时间;解算单元可以用于采用启发式算法求解初始作业列表的初始解,得到所有待加工工件的初始排列序列和初始最大完工时间。
97.一种示例实施例中,启发式算法为neh算法。
98.图11示例了一种电子设备的实体结构示意图,如图11所示,该电子设备1100可以包括:处理器(processor)1110、通信接口(communication interface)1120、存储器(memory)1130和通信总线1140,其中,处理器1110、通信接口1120和存储器1130通过通信总线1140完成相互间的通信。处理器1110可以调用存储器1130中的逻辑指令,以执行上述各方法实施例所提供的流水车间调度方法的步骤,该流水车间调度方法可以包括:基于启发式算法获取所有待加工工件的初始排列序列和初始最大完工时间;从初始排列序列中获取目标组合序列,目标组合序列中包括至少一个目标组合子序列,目标组合子序列为初始排列序列中的至少两个相邻序列;将目标组合序列依次插入剩余序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,剩余序列为初始排列序列中除去目标组合序列后的排列序列;获取所有临时排列序列的最大完工时间和初始最大完工时间中最小的最大完工时间,并将最小的最大完工时间对应的排列序列确定为待加工工件的生产调度方案。
99.此外,上述的存储器1130中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
100.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法实施例所提供的流水车间调度方法的步骤,该流水车间调度方法可以包括:基于启发式算法获取所有待加工工件的初始排列序列和初始最大完工时间;从初始排列序列中获取目标组合序列,目标组合序列中包括至少一个目标组合子序列,目标组合子序列为初始排列序列中的至少两个相邻序列;将目标组合序列依次插入剩余序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,剩余序列为初始排列序列中除去目标组合序列后的排列序列;获取所有临时排列序列的最大完工时间和初始最大完工时间中最小的最大完工时间,并将最小的最大完工时间对应的排列序列确定为待加工工件的生产调度方案。
101.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例所提供的流水车间调度方法的步骤,该流水车间调度方法可以包括:基于启发式算法获取所有待加工工件的初始排列序列和初始最大完工时间;从初始排列序列中获取目标组合序列,目标组合序列中包括至少一个目标组合子序列,目标组合子序列为初始排列序列中的至少两个相邻序列;将目标组合
序列依次插入剩余序列中所有可能的新位置,并计算每次得到的临时排列序列的最大完工时间,直至遍历所有目标组合序列,剩余序列为初始排列序列中除去目标组合序列后的排列序列;获取所有临时排列序列的最大完工时间和初始最大完工时间中最小的最大完工时间,并将最小的最大完工时间对应的排列序列确定为待加工工件的生产调度方案。
102.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
103.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
104.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1