1.本技术涉及计算机技术领域,特别涉及一种设备排配方法、设备排配装置、计算设备以及计算机可读存储介质。
背景技术:
2.在企业生产过程中,生产任务与产线和机器等生产设备进行任务排程,或设备排配,以便充分利用设备提高生产效率。
3.相关技术中,生产任务排程方案主要解决生产排程时长最短问题,有最短交货期算法、最短工序算法、神经网络、模拟退火法等,也有较简单的最短工期、最早交货期、按照工期和交货期之间的距离等方法。但是,这个方式仅仅关注生产工序排程时长最短的问题,未能解决任务时间确定、使排配与任务负责人绑定、使排配任务尽可能多的问题,降低了对设备进行排配的效果。
4.因此,如何尽可能的提高排配过程的效果是本领域技术人员关注的重点问题。
技术实现要素:
5.本技术的目的是提供一种设备排配方法、设备排配装置、计算设备以及计算机可读存储介质,以提高对设备和任务进行排配的效果,达到硬件资源利用率最大化。
6.为解决上述技术问题,本技术提供一种设备排配方法,包括:
7.基于每个任务的优先级对所有任务进行排序,得到任务队列;
8.基于任务数量、设备数量、所述任务队列进行随机结果集生成处理,得到多个结果集;
9.基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述结果集的适应度;
10.将所述适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集。
11.可选的,基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述结果集的适应度,包括:
12.获取同一个设备下的所有任务的开始时间和结束时间;
13.基于所述开始时间和所述结束时间之间的交叉情况进行适应度计算,得到适应度。
14.可选的,基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述结果集的适应度,包括:
15.基于每个所述结果集中每个任务的开始时间和结束时间判断所述结果集是否存在时间交叉;
16.若是,则将所述结果集删除;
17.若否,则基于所述结果集的任务数量进行适应度计算,得到对应的适应度。
18.可选的,基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述
结果集的适应度,包括:
19.基于每个结果集中的任务之间的优先序对所述结果集进行适应度计算,得到每个所述结果集的适应度。
20.可选的,基于每个任务的优先级对所有任务进行排序,得到任务队列,包括:
21.基于每个任务的优先级从大到小的顺序将所述所有任务进行排序,得到所述任务队列。
22.可选的,基于任务数量、设备数量、所述任务队列进行随机结果集生成处理,得到多个结果集,包括:
23.基于所述设备数量和所述任务队列进行随机结果集生成处理,得到所述设备数量个结果集。
24.可选的,将所述适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集,包括:
25.获取交叉概率和突变概率;
26.将所述适应度大于预设适应度的结果集作为待交叉结果集;
27.基于所述交叉概率和所述突变概率对所述待交叉结果集进行交叉处理,得到所述目标结果集。
28.本技术还提供一种设备排配装置,包括:
29.任务排序模块,用于基于每个任务的优先级对所有任务进行排序,得到任务队列;
30.结果集生成模块,用于基于任务数量、设备数量、所述任务队列进行随机结果集生成处理,得到多个结果集;
31.适应度计算模块,用于基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述结果集的适应度;
32.目标获取模块,用于将所述适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集。
33.本技术还提供一种计算设备,包括:
34.存储器,用于存储计算机程序;
35.处理器,用于执行所述计算机程序时实现如上所述的设备排配方法的步骤。
36.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的设备排配方法的步骤。
37.本技术所提供的一种设备排配方法,包括:基于每个任务的优先级对所有任务进行排序,得到任务队列;基于任务数量、设备数量、所述任务队列进行随机结果集生成处理,得到多个结果集;基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述结果集的适应度;将所述适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集。
38.通过对排序后的多个任务在随机生成多个结果集,在多个结果集的基础上,进行遗传算法计算,得到适应度,最后基于适应度进行交叉变异,得到目标结果集,使得排配任务数最大,大大节省了人力和时间,提高了设备的利用率,避免了资源浪费。
39.本技术还提供一种设备排配装置、计算设备以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
41.图1为本技术实施例所提供的一种设备排配方法的流程图;
42.图2为本技术实施例所提供的一种设备排配装置的结构示意图。
具体实施方式
43.本技术的核心是提供一种设备排配方法、设备排配装置、计算设备以及计算机可读存储介质,以提高对设备和任务进行排配的效果,达到硬件资源利用率最大化。
44.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.相关技术中,生产任务排程方案主要解决生产排程时长最短问题,有最短交货期算法、最短工序算法、神经网络、模拟退火法等,也有较简单的最短工期、最早交货期、按照工期和交货期之间的距离等方法。但是,这个方式仅仅关注生产工序排程时长最短的问题,未能解决任务时间确定、使排配与任务负责人绑定、使排配任务尽可能多的问题,降低了对设备进行排配的效果。
46.因此,本技术提供一种设备排配方法,通过对排序后的多个任务在随机生成多个结果集,在多个结果集的基础上,进行遗传算法计算,得到适应度,最后基于适应度进行交叉变异,得到目标结果集,使得排配任务数最大,大大节省了人力和时间,提高了设备的利用率,避免了资源浪费。
47.以下通过一个实施例,对本技术提供的一种设备排配方法进行说明。
48.请参考图1,图1为本技术实施例所提供的一种设备排配方法的流程图。
49.本实施例中,该方法可以包括:
50.s101,基于每个任务的优先级对所有任务进行排序,得到任务队列;
51.可见,本步骤中首先将所有的任务基于每个任务的优先级进行排序,得到该任务队列。也就是,将所有的任务按照优先级的大小进行排序,将优先级高的任务排在前面,防止设备不足导致较重要的任务未分配到设备。
52.进一步的,本步骤可以包括:
53.基于每个任务的优先级从大到小的顺序将所有任务进行排序,得到任务队列。
54.可见,本可选方案中主要是说明如何进行排序。本可选方案中,基于每个任务的优先级从大到小的顺序将所有任务进行排序,得到任务队列。
55.s102,基于任务数量、设备数量、任务队列进行随机结果集生成处理,得到多个结果集;
56.在s101的基础上,本步骤旨在基于任务数量、设备数量、任务队列进行随机结果集生成处理,得到多个结果集。
57.其中,多个结果集的数量可以基于实际的应用情况进行确认,以便提高适用度。
58.进一步的,本步骤可以包括:
59.基于设备数量和任务队列进行随机结果集生成处理,得到设备数量个结果集。
60.可见,本可选方案中主要是说明如何生成多个结果集。本可选方案中,基于设备数量和任务队列进行随机结果集生成处理,得到设备数量个结果集。也就是,一共生成任务数量个结果集,以便保持结果集的数量够用,避免出现高优先级任务被遗漏的问题。
61.s103,基于预设排配规则对多个结果集进行遗传算法计算,得到每个结果集的适应度;
62.在s102的基础上,本步骤旨在基于预设排配规则对多个结果集进行遗传算法计算,得到每个结果集的适应度。
63.其中,遗传算法是根据大自然中生物体进化规律而设计提出的。是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。在求解较为复杂的组合优化问题时,相对一些常规的优化算法,通常能够较快地获得较好的优化结果。
64.其中,适应度,是表示某一个体对环境的适应能力,也表示该个体繁殖后代的能力。遗传算法的适应度函数也叫评价函数,是用来判断群体中的个体的优劣程度的指标,它是根据所求问题的目标函数来进行评估的。可见,本实施例中该适应度描述的是该结果集的排配结果的效果。适应度越高,该结果集的效果越好。
65.进一步的,本步骤可以包括:
66.步骤1,获取同一个设备下的所有任务的开始时间和结束时间;
67.步骤2,基于开始时间和结束时间之间的交叉情况进行适应度计算,得到适应度。
68.可见,本可选方案中主要是说明如何进行适应度计算。本可选方案中,获取同一个设备下的所有任务的开始时间和结束时间,基于开始时间和结束时间之间的交叉情况进行适应度计算,得到适应度。
69.进一步的,本步骤可以包括:
70.步骤1,基于每个结果集中每个任务的开始时间和结束时间判断结果集是否存在时间交叉;
71.步骤2,若是,则将结果集删除;
72.步骤3,若否,则基于结果集的任务数量进行适应度计算,得到对应的适应度。
73.可见,本可选方案中主要是说明如何进行适应度计算。本可选方案中,基于每个结果集中每个任务的开始时间和结束时间判断结果集是否存在时间交叉,若是,则将结果集删除,若否,则基于结果集的任务数量进行适应度计算,得到对应的适应度。
74.进一步的,本步骤可以包括:
75.基于每个结果集中的任务之间的优先序对结果集进行适应度计算,得到每个结果集的适应度。
76.可见,本可选方案中主要是说明如何进行适应度计算。本可选方案中,基于每个结果集中的任务之间的优先序对结果集进行适应度计算,得到每个结果集的适应度。
77.s104,将适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集。
78.在s103的基础上,本步骤旨在将适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集。本步骤中,是在获取到多个相对较高好的结果集的基础上进行交叉处理,得到新的多个结果集,然后在选定排配效果最好的结果集作为该目标结果集。
79.进一步的,本步骤可以包括:
80.步骤1,获取交叉概率和突变概率;
81.步骤2,将适应度大于预设适应度的结果集作为待交叉结果集;
82.步骤3,基于交叉概率和突变概率对待交叉结果集进行交叉处理,得到目标结果集。
83.可见,本可选方案中主要是说明如何进行交叉处理。本可选方案中,获取交叉概率和突变概率,将适应度大于预设适应度的结果集作为待交叉结果集,基于交叉概率和突变概率对待交叉结果集进行交叉处理,得到目标结果集。
84.综上,本实施例通过对排序后的多个任务在随机生成多个结果集,在多个结果集的基础上,进行遗传算法计算,得到适应度,最后基于适应度进行交叉变异,得到目标结果集,使得排配任务数最大,大大节省了人力和时间,提高了设备的利用率,避免了资源浪费。
85.以下通过一个具体的实施例,对本技术提供的一种设备排配方法做进一步说明。
86.本实施例中,首先对所有待排配的任务按照优先级排序,确定排配先后顺序。然后根据任务和设备数量,初始化生成一定种群规模的结果集(即“染色体”)。最后使用遗传算法对x条结果集,根据排配策略进行适应度计算并交叉,直到求出符合排配策略且排配任务数最多的方案。
87.具体的,本实施例的步骤可以包括:
88.步骤1,对所有待排配任务进行优先级排序;
89.在任务有优先级的情况下,应将优先级高的任务排在前面,防止设备不足导致较重要的任务未分配到设备。若所有任务无优先级差别,则可省略此步骤。
90.步骤2,假设有n个任务、m个设备,则设初始化生成n条结果集(即“染色体”)。
91.一条结果集内容如表1所示。其中方格的个数是任务个数,方格的次序代表任务1、任务2依次往下,方格中的m1代表设备1,m2代表设备2以此类推。
92.表1结果集结构示意表
93.m1m3m6
……
m2m4m5
94.步骤3,使用遗传算法对n条结果集,根据排配策略进行适应度计算;
95.其中,适应度的计算规则可以包括三个规则。首先获取某条结果集,获取同一设备下所有任务的开始结束时间,时间有交叉的代表冲突,冲突越多,适应度的值就越小,反之越大,循环递归每一条任务,设每个任务的开始时间为starttimen,任务结束时间为endtimen,则时间有交叉的判定条件为:starttime1《=endtime2且endtime1》=starttime1;然后再计算排上的任务数量,任务数量越大则适应度越大,反之越小;有冲突的结果集不再计算任务数适应度;最后,计算符合优先序的任务数量,越符合优先序设定,适应度越大,反之越小。计算出结果后,将适应度存在一个数组中,数组下标为结果集序号,值为当前结果集的适应度值。
96.步骤4,定义交叉概率和突变概率,根据计算出来的适应度值,择优进行交叉,产生新的更优的结果集。
97.多次实验后可确定最优的收收敛条件,从而获得排配任务数量最多的方案。
98.可见,本实施例通过对排序后的多个任务在随机生成多个结果集,在多个结果集的基础上,进行遗传算法计算,得到适应度,最后基于适应度进行交叉变异,得到目标结果集,使得排配任务数最大,大大节省了人力和时间,提高了设备的利用率,避免了资源浪费。
99.下面对本技术实施例提供的设备排配装置进行介绍,下文描述的设备排配装置与上文描述的设备排配方法可相互对应参照。
100.请参考图2,图2为本技术实施例所提供的一种设备排配装置的结构示意图。
101.本实施例中,该装置可以包括:
102.任务排序模块100,用于基于每个任务的优先级对所有任务进行排序,得到任务队列;
103.结果集生成模块200,用于基于任务数量、设备数量、任务队列进行随机结果集生成处理,得到多个结果集;
104.适应度计算模块300,用于基于预设排配规则对多个结果集进行遗传算法计算,得到每个结果集的适应度;
105.目标获取模块400,用于将适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集。
106.可选的,该适应度计算模块300,具体用于获取同一个设备下的所有任务的开始时间和结束时间;基于开始时间和结束时间之间的交叉情况进行适应度计算,得到适应度。
107.可选的,该适应度计算模块300,具体用于基于每个结果集中每个任务的开始时间和结束时间判断结果集是否存在时间交叉;若是,则将结果集删除;若否,则基于结果集的任务数量进行适应度计算,得到对应的适应度。
108.可选的,该适应度计算模块300,具体用于基于每个结果集中的任务之间的优先序对结果集进行适应度计算,得到每个结果集的适应度。
109.可选的,该任务排序模块100,具体用于基于每个任务的优先级从大到小的顺序将所有任务进行排序,得到任务队列。
110.可选的,该结果集生成模块200,具体用于基于设备数量和任务队列进行随机结果集生成处理,得到设备数量个结果集。
111.可选的,该目标获取模块400,具体用于获取交叉概率和突变概率;将适应度大于预设适应度的结果集作为待交叉结果集;基于交叉概率和突变概率对待交叉结果集进行交叉处理,得到目标结果集。
112.本技术实施例还提供一种计算设备,包括:
113.存储器,用于存储计算机程序;
114.处理器,用于执行所述计算机程序时实现如以上实施例所述的设备排配方法的步骤。
115.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的设备排配方法的步骤。
116.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而
言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
117.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
118.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
119.以上对本技术所提供的一种设备排配方法、设备排配装置、计算设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
技术特征:
1.一种设备排配方法,其特征在于,包括:基于每个任务的优先级对所有任务进行排序,得到任务队列;基于任务数量、设备数量、所述任务队列进行随机结果集生成处理,得到多个结果集;基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述结果集的适应度;将所述适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集。2.根据权利要求1所述的设备排配方法,其特征在于,基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述结果集的适应度,包括:获取同一个设备下的所有任务的开始时间和结束时间;基于所述开始时间和所述结束时间之间的交叉情况进行适应度计算,得到适应度。3.根据权利要求1所述的设备排配方法,其特征在于,基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述结果集的适应度,包括:基于每个所述结果集中每个任务的开始时间和结束时间判断所述结果集是否存在时间交叉;若是,则将所述结果集删除;若否,则基于所述结果集的任务数量进行适应度计算,得到对应的适应度。4.根据权利要求1所述的设备排配方法,其特征在于,基于预设排配规则对所述多个结果集进行遗传算法计算,得到每个所述结果集的适应度,包括:基于每个结果集中的任务之间的优先序对所述结果集进行适应度计算,得到每个所述结果集的适应度。5.根据权利要求1所述的设备排配方法,其特征在于,基于每个任务的优先级对所有任务进行排序,得到任务队列,包括:基于每个任务的优先级从大到小的顺序将所述所有任务进行排序,得到所述任务队列。6.根据权利要求1所述的设备排配方法,其特征在于,基于任务数量、设备数量、所述任务队列进行随机结果集生成处理,得到多个结果集,包括:基于所述设备数量和所述任务队列进行随机结果集生成处理,得到所述设备数量个结果集。7.根据权利要求1所述的设备排配方法,其特征在于,将所述适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集,包括:获取交叉概率和突变概率;将所述适应度大于预设适应度的结果集作为待交叉结果集;基于所述交叉概率和所述突变概率对所述待交叉结果集进行交叉处理,得到所述目标结果集。8.一种设备排配装置,其特征在于,包括:任务排序模块,用于基于每个任务的优先级对所有任务进行排序,得到任务队列;结果集生成模块,用于基于任务数量、设备数量、所述任务队列进行随机结果集生成处理,得到多个结果集;适应度计算模块,用于基于预设排配规则对所述多个结果集进行遗传算法计算,得到
每个所述结果集的适应度;目标获取模块,用于将所述适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集。9.一种计算设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的设备排配方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的设备排配方法的步骤。
技术总结
本申请公开了一种设备排配方法,包括:基于每个任务的优先级对所有任务进行排序,得到任务队列;基于任务数量、设备数量、任务队列进行随机结果集生成处理,得到多个结果集;基于预设排配规则对多个结果集进行遗传算法计算,得到每个结果集的适应度;将适应度大于预设适应度的所有结果集进行交叉处理,得到目标结果集。通过对排序后的多个任务在随机生成多个结果集,在多个结果集的基础上,进行遗传算法计算,得到适应度,最后基于适应度进行交叉变异,得到目标结果集,使得排配任务数最大,大大节省了人力和时间,提高了设备的利用率,避免了资源浪费。本申请还公开了一种设备排配装置、计算设备以及计算机可读存储介质,具有以上有益效果。益效果。益效果。
技术研发人员:张悦 徐基法
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2021.11.25
技术公布日:2022/3/8