一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于遗传算法的生产线调度方法、装置及设备

2022-08-27 02:27:42 来源:中国专利 TAG:


1.本发明涉及自动控制及信息技术领域,尤其涉及一种基于遗传算法的生产线调度方法、装置及设备。


背景技术:

2.生产线调度问题是工业生产领域中的重要问题,其主要任务是在实际生产条件的约束下(例如设备、原料、人工以及工序间的依赖关系),合理调度配置生产线对各生产步骤的执行次序,从而实现对生产资源的高效利用,提高生产效率。
3.遗传算法是一种通过模拟自然进化过程搜索最优解的方法,该算法可以通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。遗传算法在优化问题的求解中往往可以获得较好的优化结果,因此常被用来求解生产线调度问题。通过编码映射确定与调度方案对应的个体,将多个个体组合为种群,通过挑选种群中适应度较高的个体,基于适应度较高个体进行交叉变异,依次迭代,得到终止迭代时种群中适应度最高的个体,将该个体对应的调度方案确定为生产线调度问题的解。
4.然而,上述基于遗传算法求解生产线调度问题时,只考虑了对单一问题的求解,针对每一个新的生产线调度问题,需要花费较长时间获得较优的调度方案,即存在工业生产效率较低的问题。


技术实现要素:

5.本技术提供一种基于遗传算法的生产线调度方法、装置及设备,以解决现有的因无法快速获得较优的针对待求解调度问题的调度方案,而引起的工业生产效率较低的问题。
6.第一方面,本技术提供一种基于遗传算法的生产线调度方法,所述方法包括:
7.根据生产线中待求解的第一调度问题,通过预设编码映射机制初始化所述第一调度问题对应的第一种群,并根据所述预设编码机制确定第二调度问题对应的第二种群;其中,所述第二调度问题为所述生产线中与所述第一调度问题相匹配的、且已求解的调度问题;所述第一种群中包括多个第一个体;所述第二种群中包括多个第二个体;所述第二个体对应所述第二调度问题的调度方案;
8.根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新;
9.根据更新后的第一种群,确定所述第一调度问题对应的调度方案。
10.可选的,根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新之前,还包括:
11.确定用于对所述第二个体进行特征映射的特征映射函数;所述特征映射函数表示特征映射后的第二个体组成的第二种群与对应的第一种群具有最小的统计距离;
12.根据所述特征映射函数对所述第二个体进行特征映射,得到映射后的第二个体,
基于映射后的第二个体得到更新的第二种群。
13.可选的,确定用于对所述第二个体进行特征映射的特征映射函数,包括:
14.将所述第二个体作为神经网络模型的输入,将映射后的第二个体组成的第二种群作为神经网络模型的输出,将特征映射后的第二个体组成的第二种群与对应的第一种群的统计距离最小作为优化目标进行神经网络模型训练;
15.将训练后的神经网络模型对应的函数确定为所述特征映射函数。
16.可选的,根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新,包括:
17.分别从所述第一种群和所述第二种群中筛选适应度最大的多个第一个体和多个第二个体;
18.根据筛选的所述多个第一个体和所述多个第二个体更新与所述第一调度问题对应的第一种群。
19.可选的,分别从所述第一种群和所述第二种群中筛选适应度最大的多个第一个体和多个第二个体,包括:
20.通过所述编码映射机制确定每一第一个体和每一第二个体对应的调度方案;
21.确定每一调度方案对应的完成所述生产线调度的所有生产步骤的总时间,根据所述总时间确定所述调度方案对应的适应度;所述适应度与所述总时间呈负相关;
22.根据所述每一调度方案对应的适应度确定每一第一个体和每一第二个体对应的适应度,并分别从所述第一种群中按照适应度由大到小的顺序筛选m个第一个体以及从所述第二种群中按照适应度由大到小的顺序筛选n个第二个体。
23.可选的,根据筛选的所述多个第一个体和所述多个第二个体更新与所述第一调度问题对应的第一种群,包括:
24.从筛选的m个第一个体中选择适应度最大的m1个第一个体,将m1个第一个体加入到更新的第一种群;所述更新的第一种群为下一代第一种群;
25.从筛选的n个第二个体中选择适应度最大的n1个第二个体,将n1个第二个体加入到更新的第一种群;
26.根据m2个第一个体和n2个第二个体通过基因片段交叉互换和/或基因片段扰动变异的方式得到新个体,将所述新个体加入到所述更新的第一种群;其中,所述m2个第一个体为m个第一个体中除去m1个第一个体以外的多个第一个体;所述n2个第二个体为n个第二个体中除去n1个第二个体以外的多个第二个体。
27.可选的,所述根据更新后的第一种群,确定所述第一调度问题对应的调度方案,包括:
28.获取预先设置的终止条件;所述预先设置的终止条件为迭代次数达到预设次数或第一种群中第一个体的适应度的最大值达到预设适应度;
29.当所述终止条件为迭代次数达到预设次数时,获取当前迭代执行步骤对应的迭代次数,当所述迭代次数达到预设次数时,确定满足迭代的终止条件;当所述迭代次数未达到预设次数时,更新所述迭代次数,并继续执行对所述第一种群进行更新的步骤;和/或,
30.当所述终止条件为第一种群中第一个体的适应度的最大值达到预设适应度时,获取所述第一种群中第一个体的适应度最大值,当所述适应度最大值达到预设适应度时,确
定满足迭代的终止条件;当所述适应度最大值未达到预设适应度时,继续执行对所述第一种群进行更新的步骤;
31.当满足迭代的终止条件时,执行从所述第一种群中选择最大适应度个体,并得到与所述最大适应度个体对应的调度方案,将确定的所述调度方案确定为所述第一调度问题对应的调度方案。
32.第二方面,本技术提供一种基于遗传算法的生产线调度装置,所述装置包括:
33.种群确定模块,用于根据生产线中待求解的第一调度问题,通过预设编码映射机制初始化所述第一调度问题对应的第一种群,并根据所述预设编码机制确定第二调度问题对应的第二种群;其中,所述第二调度问题为所述生产线中与所述第一调度问题相匹配的、且已求解的调度问题;所述第一种群中包括多个第一个体;所述第二种群中包括多个第二个体;所述第二个体对应所述第二调度问题的调度方案;
34.更新模块,用于根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新;
35.方案确定模块,用于根据更新后的第一种群,确定所述第一调度问题对应的调度方案。
36.第三方面,本技术提供一种基于遗传算法的生产线调度设备,包括:至少一个处理器和存储器;
37.所述存储器存储计算机执行指令;
38.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的方法。
39.第四方面,本技术提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面任一项所述的方法。
40.本发明提供一种基于遗传算法的生产线调度方法、装置及设备,所述方法包括:根据生产线中待求解的第一调度问题,通过预设编码映射机制初始化所述第一调度问题对应的第一种群,并根据所述预设编码机制确定第二调度问题对应的第二种群;其中,所述第二调度问题为所述生产线中与所述第一调度问题相匹配的、且已求解的调度问题;所述第一种群中包括多个第一个体;所述第二种群中包括多个第二个体;所述第二个体对应所述第二调度问题的调度方案;根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新;根据更新后的第一种群,确定所述第一调度问题对应的调度方案,通过得到已求解的第二调度问题对应的调度方案的群体,该群体提供了更优的待求解的第一调度问题的求解方向,从而快速得到针对待求解问题的调度方案,进而提高工业生产效率。
附图说明
41.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1为本发明提供的一种应用场景示意图;
43.图2为本发明提供的一种基于遗传算法的生产线调度方法的流程示意图;
44.图3为本发明提供的一种对第二种群进行修正的流程示意图;
45.图4为本发明提供的一种筛选第一种群和第二种群中适应度最大的多个个体方法的流程示意图;
46.图5为本发明提供的一种基于遗传算法的生产线调度装置的结构示意图;
47.图6为本发明提供的一种基于遗传算法的生产线调度设备的硬件结构示意图。
具体实施方式
48.下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
50.图1为本发明提供的一种应用场景示意图,如图1所示,针对生产线调度问题,通常是给定一个包含多个生产步骤的生产任务,每一步骤都有其对应的生产时间和生产资源的需求量。对调度问题的求解是指在生产条件的约束下,求解各生产步骤的起始时间和完成时间,以最小化生产总时间的优化问题。其中,生产条件包括各生产步骤的次序约束和资源约束(设备、原料以及人工等资源)。当对待求解问题进行求解时,生产线调度设备可以先确定该待求解问题对应的随机初始化的第一种群,同时根据已求解问题对应的调度方案得到第二种群,基于第一种群和第二种群采样遗传算法对第一种群进行更新,最终根据更新后的第一种群确定待求解调度问题的调度方案。
51.在现有技术中,在确定待求解问题对应的调度方案时,通常仅仅是根据遗传算法进行求解,这就使得当我们每次面对新的待求解问题时,总是需要基于遗传算法从随机初始化的种群开始搜索并得到调度方案。这就会导致在确定一个较优的调度方案时需要花费较长时间。
52.我们考虑到当我们在面对待求解问题时,往往已经拥有了相关的已求解的调度问题的调度方案,而已确定的调度方案中包含了针对调度问题的知识,如果可以将已得到的调度方案对应的知识应用到待求解问题的求解过程,则会加快确定待求解问题的求解方向,从而快速得到待求解问题的调度方案,从而提高工业生产效率。其中,已求解的调度问题与待求解的调度问题存在一定的相关性,如生产线的生产条件发生变化前后分别对应的调度问题可以分别作为已求解的调度问题与待求解的调度问题。
53.基于上述问题,本发明提供的基于遗传算法的生产线调度方法通过保留了从随机初始化的第一种群中开始搜索的过程,同时又引入了已求解的调度问题对应的第二种群,基于第二种群可以为第一种群的更新过程提供更优的搜索方向,从而实现快速得到待求解
问题的调度方案的目的。
54.下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
55.图2为本发明提供的一种基于遗传算法的生产线调度方法的流程示意图,如图2所示,所述方法的执行主体为基于遗传算法的生产线调度装置,该装置设置在基于遗传算法的生产线调度设备上,所述方法包括:
56.步骤s201、根据生产线中待求解的第一调度问题,通过预设编码映射机制初始化所述第一调度问题对应的第一种群,并根据所述预设编码机制确定第二调度问题对应的第二种群;其中,所述第二调度问题为所述生产线中与所述第一调度问题相匹配的、且已求解的调度问题;所述第一种群中包括多个第一个体;所述第二种群中包括多个第二个体;所述第二个体对应所述第二调度问题的调度方案。
57.其中,第一调度问题是指待求解的生产线调度问题,第二调度问题是已求解的生产线调度问题,且第二调度问题和第一调度问题为相匹配关系,相匹配是指第一调度问题与第二调度问题相似,例如第二调度问题对应第二生产条件,而第一调度问题对应的第一生产条件与第二生产条件差异较小,如生产资源的总量发生变化,或者,各生产步骤的顺序发生变化等。
58.对于第一调度问题与第二调度问题是否存在相似性,可以基于人工对分别对应的生产条件进行判断,或者,还可以获取第一调度问题和第二调度问题分别对应的生产条件,基于预设的评价指标确定两个生产条件的相似性,当相似性大于预设值时表示第二调度问题和第一调度问题相匹配,即可以利用第二调度问题对应的调度方案对第一调度问题的求解过程进行指导。
59.在对第一调度问题进行求解时,采用遗传算法进行实现,需要先确定针对第一调度问题的预设编码映射机制m,其中,基于编码映射机制可以实现将任一调度方案对应到遗传算法中的具有特定基因特征的第一个体,即g=m(s),s表示调度方案,g表示个体,每一个体表示为一个指定维度的向量。其中,得到的第一个体的个数为多个,得到的多个第一个体可以组合为第一种群p(0)。此处获取的第一个体是基于预设编码机制随机生成的个体。
60.此外,为了实现采用第二调度问题对应的调度方案对第一调度问题的求解过程进行指导,可以采用针对第一调度问题的预设编码机制对第二调度问题的调度方案进行映射,得到对应的多个第二个体,基于多个第二个体得到第二种群。其中第二调度问题对应的调度方案的个数可以为多个。第二种群表示与第二调度问题对应的知识种群。从而后续通过知识迁移的方法将知识种群中包含的知识对到第一调度问题的求解进行指导。
61.步骤s202、根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新;
62.在得到第一种群和第二种群后,可以采用遗传算法根据两个种群对第一种群p(t)进行多次的更新,t表示迭代次数,直至满足终止条件。这个过程主要是指:分别从第一种群和第二种群中得到适应度较高的多个个体,根据得到的适应度较高的多个个体通过遗传变异得到更新的第一种群,也就是得到下一代第一种群p(t 1)。其中,适应度是遗传算法中的一个概念,是指在某种环境条件下,是指某一个体将基因传递到其后代基因库中的相对能力,是衡量个体存活和生殖机会的尺度。其中,基因具体表现为与个体对应的具有特定维度
的特征向量。
63.通过该过程可以实现在对第一种群进行更新时,能够将第二种群的个体对应的基因遗传到下一代第一种群中,从而将第二种群中的知识进行迁移,快速得到第一调度问题的调度方案。
64.步骤s203、根据更新后的第一种群,确定所述第一调度问题对应的调度方案。
65.判断在某次对第一种群的更新后是否满足终止条件,当满足终止条件时,可以根据最后更新的第一种群确定第一调度问题对应的调度方案。其中终止条件可以为迭代次数,也可以为预设适应度。具体的,可以从第一种群中筛选适应度较大的多个第一个体,作为第一调度问题的最优解。根据得到的第一个体,通过预设编码映射机制m将第一个体重新映射会调度方案空间,得到最优解对应的调度方案。其中,编码映射机制为一对一的一种映射机制,即一种调度方案对应一个个体,反之亦然。
66.在本实施例中,为了实现对待求解的第一调度问题进行求解,利用知识迁移的遗传算法,通过预设编码映射机制初始化第一调度问题对应的第一种群,同时根据第二调度问题对应的调度方案通过与第一调度问题对应的预设编码映射机制确定第二种群,并根据第一种群和第二种群通过遗传算法对第一种群进行更新,并根据更新后的第一种群确定第一调度问题对应的调度方案,通过得到已求解的第二调度问题对应的调度方案的群体,该群体提供了更优的待求解的第一调度问题的求解方向,能够使得更新后的第一群体中的个体更快趋近于最终筛选的个体,从而快速得到针对待求解问题的调度方案,进而提高工业生产效率。
67.上述方法中,第一调度问题和第二调度问题需要满足相匹配的关系,对于两个调度问题的匹配度较低时,可以增加对第二种群中的第二个体进行特征映射的步骤,实现对第二种群的修正,使得修正后的第二种群能够在一定程度上提高在更新第一种群时的指导作用。
68.图3为本发明提供的一种对第二种群进行修正的流程示意图。
69.可选的,根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新之前,还包括:
70.步骤s301、确定用于对所述第二个体进行特征映射的特征映射函数;所述特征映射函数表示特征映射后的第二个体组成的第二种群与对应的第一种群具有最小的统计距离。
71.其中,在根据第一种群和第二种群通过遗传算法对第一种群进行更新之前,还可以执行步骤s204和步骤s205。其中,在对第二种群进行更新时,需要先确定特征映射函数f(t),基于特征映射函数可以将个体g(i)进行映射,根据映射后的个体得到更新后的第二种群f(t)(q)。其中,特征映射函数需要满足的要求为映射后的第二种群和第一种群具有最小的统计距离。其中,第二种群中每一个体对应一个特征向量,因此包含多个特征向量,同时第一种群也对应多个特征向量,可以基于统计学中的统计距离来度量第二种群与第一种群之间的距离,通过对特征映射函数的学习得到统计距离最小时对应的特征映射函数。
72.其中,特征映射函数的学习可以通过函数优化的方式确定还可以基于神经网络的方法确定。下面对采用神经网络的方法确定特征映射函数的过程进行详细说明。
73.可选的,确定用于对所述第二个体进行特征映射的特征映射函数,包括:
74.将所述第二个体作为神经网络模型的输入,将映射后的第二个体组成的第二种群作为神经网络模型的输出,将特征映射后的第二个体组成的第二种群与对应的第一种群的统计距离最小作为优化目标进行神经网络模型训练;将训练后的神经网络模型对应的函数确定为所述特征映射函数。
75.其中,在采用神经网络的方法确定特征映射函数时,可以采用传统神经网络模型,如bp神经网络模型、卷积神经网络模型、循环神经网络模型等。将每一第二个体对应的特征向量作为神经网络模型的输入,经过神经网络模型的学习得到特征映射后的第二个体组成的第二种群,第二种群为神经网络模型的输出。模型学习的过程为,确定特征映射后的第二种群与对应的第一种群之间的统计距离(初次为随机初始化时对应的第一种群p(0),后续对应的每次更新的第一种群p(t)),通过将统计距离最小化作为优化目标,经过多次的学习后将神经网络模型确定为对应的特征映射函数。
76.通过神经网络的方法能够快速及准确的确定特征映射函数,从而减少确定更新后的第二种群的时间。
77.步骤s302、根据所述特征映射函数对所述第二个体进行特征映射,得到映射后的第二个体,基于映射后的第二个体得到更新的第二种群。
78.其中,在确定特征映射函数后,可以基于确定的特征映射函数对每一第二个体进行特征映射,得到映射后的每一第二个体,并进一步得到更新后的第二种群。
79.需要说明的是,若要增加对第二种群进行修正的步骤,则当每次在对第一种群进行迭代更新时,也需要每次都执行步骤s301和步骤s302。
80.通过上述两个步骤,可以实现对第二种群的更新,使得更新后的第二种群与第一种群之间的距离更小,进而加强第二种群对第一种群的指导作用。
81.下面对如何采用遗传算法对第一种群更新的过程进行详细说明。
82.可选的,根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新,包括:
83.分别从所述第一种群和所述第二种群中筛选适应度最大的多个第一个体和多个第二个体;
84.根据筛选的所述多个第一个体和所述多个第二个体更新与所述第一调度问题对应的第一种群。
85.其中,在得到第一种群和第二种群后,可以计算第一种群中每一第一个体的适应度,以及第二种群中每一第二个体的适应度,并分别从第一种群中筛选适应度最大的多个第一个体,从第二种群中筛选适应度最大的多个第二个体。其中,适应度表示为该个体经过预设编码映射机制后对应的调度方案的优劣。
86.图4为本发明提供的一种筛选第一种群和第二种群中适应度最大的多个个体方法的流程示意图。
87.可选的,分别从所述第一种群和所述第二种群中筛选适应度最大的多个第一个体和多个第二个体,包括:
88.步骤s401、通过所述编码映射机制确定每一第一个体和每一第二个体对应的调度方案。
89.其中,在筛选适应度最大的多个第一个体和多个第二个体时,需要先计算每一个
体的适应度。具体的,可以采用编码映射机制确定每一第一个体对应的调度方案,由于编码映射机制为一对一的映射过程,即个体与调度方案之间为一对一的关系,因此,可以采用预设编码映射机制将个体映射至调度方案空间,从而得到每一第一个体和每一第二个体对应的调度方案。
90.步骤s402、确定每一调度方案对应的完成所述生产线调度的所有生产步骤的总时间,根据所述总时间确定所述调度方案对应的适应度;所述适应度与所述总时间呈负相关。
91.调度方案表示每一生产步骤的起始时间和完成时间,从而当调度方案确定后可以得到完成生产线调度所有生产步骤的总时间。基于总时间可以衡量调度方案的适应度。当总时间越长时,表示该调度方案的适应度越低;当总时间越短时,表示该调度方案的适应度越大。即调度方案的适应度与总时间呈负相关的关系。
92.此外,还可以设置其他衡量调度方案的优劣性的指标,基于多个指标,可以采用加权求和的方式确定每一调度方案对应的适应度。
93.步骤s403、根据所述每一调度方案对应的适应度确定每一第一个体和每一第二个体对应的适应度,并分别从所述第一种群中按照适应度由大到小的顺序筛选m个第一个体以及从所述第二种群中按照适应度由大到小的顺序筛选n个第二个体。
94.其中,在确定每一调度方案对应的适应度后可以对应确定每一第一个体和每一第二个体对应的适应度。对于第一种群,可以将所有的第一个体按照适应度由大到小的顺序进行排列,并筛选适应度最大的前m个第一个体。同样的,对于第二种群,可以将所有的第二个体按照适应度由大到小的顺序进行排列,并筛选适应度最大的前n个第二个体。
95.通过上述方法可以快速及准确的确定第一群体和第二群体中适应度较大的个体,为后续的更新第一种群提供基础。
96.在得到适应度较大的多个第一个体和多个第二个体后,可以基于遗传变异的方法得到更新后的第一种群。
97.通过获取适应度最大的多个第一个体和多个第二个体,基于确定的多个第一个体和多个第二个体更新下一代第一种群,使得下一代第一种群中不仅包含初始化的第一种群中第一个体的基因,还包括蕴含知识的第二种群中第二个体的基因。
98.下面对具体的基于遗传变异的方法得到更新后的第一种群的过程进行详细说明。
99.可选的,根据筛选的所述多个第一个体和所述多个第二个体更新与所述第一调度问题对应的第一种群,包括:
100.从筛选的m个第一个体中选择适应度最大的m1个第一个体,将m1个第一个体加入到更新的第一种群;所述更新的第一种群为下一代第一种群;
101.从筛选的n个第二个体中选择适应度最大的n1个第二个体,将n1个第二个体加入到更新的第一种群;
102.根据m2个第一个体和n2个第二个体通过基因片段交叉互换和/或基因片段扰动变异的方式得到新个体,将所述新个体加入到所述更新的第一种群;其中,所述m2个第一个体为m个第一个体中除去m1个第一个体以外的多个第一个体;所述n2个第二个体为n个第二个体中除去n1个第二个体以外的多个第二个体。
103.其中,在筛选出第一种群中的多个第一个体和第二种群中的多个第二个体后,可以分别将部分第一个体和第二个体直接加入到下一代第一种群中;此外,还可以将部分第
一个体和第二个体通过变异的方式得到新个体,将得到的新个体加入到下一代第一种群中。
104.具体的,由于筛选的第一个体的个数为m,则可以从中筛选出适应度最大的m1个个体,将该m1个个体直接加入到下一代第一种群中。其中m和m1的数值可以根据实际情况进行设置,此处不做限定。
105.同样的,对于筛选的n个第二个体,直接从中筛选出适应度最大的n1个第二个体,将该n1个第二个体直接加入到下一代第一种群中。其中,n和n1的数值可以根据实际情况进行设置,此处不做限定。
106.经过上述操作后,筛选的m第一个体还剩余m2个第一个体,筛选的n个第二个体还剩余n2个第二个体,通过将m2个第一个体和n2个第二个体进行基因片段交叉互换和/或基因片段扰动变异的方式得到新个体,并将新个体加入到下一代第一种群中。
107.其中,根据m2个第一个体和n2个第二个体得到新个体的方式如下。
108.将m2个第一个体和n2个第二个体组成个体池,从确定的个体池中选择两个个体,将选中的两个个体分别对应的特征向量中同一位置的数值进行替换得到两个新个体;和/或,针对个体池中的每一个体,通过随机选取所述个体对应的特征向量的预设维度,将所述预设维度的原始数值替换为目标数值以得到新个体;所述目标数值为随机数值或原始数值与随机噪声扰动数值之和。
109.需要说明的是,上述进行基因片段交叉互换和/或基因片段扰动变异得到新个体时,有可能会存在得到的新个体不符合生产线中调度方案的实际条件,例如,生产线调度问题中包含6个步骤,分别用1-6表示各个步骤,当通过编码映射机制得到的个体为各个步骤的执行顺序时,如个体对应的特征向量为236514,当进行基因片段交叉互换或基因片段扰动变异后,得到的个体对应的特征向量为234514,则可以对得到的个体进一步校正,得到234516,从而符合生产线调度方案的实际条件。
110.上述通过遗传变异的方式确定新个体时,得到的新个体同时融合了第一种群中适应度较大的个体的基因,以及第二种群中适应度较大的个体的基因,从而能够快速得到与调度问题对应的调度方案。
111.下面对基于更新后的第一种群确定第一调度问题对应的调度方案的过程进行详细说明。
112.可选的,所述根据更新后的第一种群,确定所述第一调度问题对应的调度方案,包括:
113.获取预先设置的终止条件;所述预先设置的终止条件为迭代次数达到预设次数或第一种群中第一个体的适应度的最大值达到预设适应度;
114.当所述终止条件为迭代次数达到预设次数时,获取当前迭代执行步骤对应的迭代次数,当所述迭代次数达到预设次数时,确定满足迭代的终止条件;当所述迭代次数未达到预设次数时,更新所述迭代次数,并继续执行对所述第一种群进行更新的步骤;和/或,
115.当所述终止条件为第一种群中第一个体的适应度的最大值达到预设适应度时,获取所述第一种群中第一个体的适应度最大值,当所述适应度最大值达到预设适应度时,确定满足迭代的终止条件;当所述适应度最大值未达到预设适应度时,继续执行对所述第一种群进行更新的步骤;
116.当满足迭代的终止条件时,执行从所述第一种群中选择最大适应度个体,并得到与所述最大适应度个体对应的调度方案,将确定的所述调度方案确定为所述第一调度问题对应的调度方案。
117.其中,在迭代更新第一种群之前需要先确定迭代的终止条件,其中迭代的终止条件可以为迭代次数达到预设值或适应度达到预设适应度。
118.当采用迭代次数作为终止条件时,则可以在随机初始化第一种群时,初始化迭代次数,使得迭代次数t=0,并设置预设次数。当每次对第一种群进行更新时,更新迭代次数,使得迭代次数加1。当更新完第一种群后,判断当前迭代步骤对应的迭代次数是否达到预设次数,如预设次数为10,当迭代步骤对应的迭代次数也为10时,则确定满足迭代的终止条件。当迭代步骤对应的迭代次数未达到预设次数时,则更新迭代次数,并对第一种群进行更新。
119.当采用适应度作为终止条件时,则可以在随机初始化第一种群时,设置预设适应度。当每次对第一种群进行更新后,获取第一种群中每一个体的适应度,得到适应度最大的个体,若最大的适应度达到预设适应度时,则表示满足迭代的终止条件。若最大的适应度未达到预设适应度,则继续执行对所述第一种群进行更新的步骤。
120.其中,在满足迭代的终止条件时,可以执行从第一种群中选择适应度最大的个体,并基于预设编码映射机制得到该适应度最大的个体对应的调度方案,并将确定的调度方案作为第一调度问题最优的调度方案。
121.通过设置迭代的终止条件,并判断在达到终止条件时停止更新第一种群,能够根据用户的需求得到第一调度问题对应的调度方案。
122.在本实施例中,利用知识迁移的遗传算法,若已求解的第二调度问题与待求解的第一调度问题存在相匹配的关系,则已求解的第二调度问题对应的求解知识可以促进对待求解的第一调度问题的求解。将已求解的第二调度问题的求解知识表示为遗传算法求解过程中的个体的形式,通过将已求解的第二调度问题的求解知识所对应的基因加入到待求解的第一调度问题的遗传算法的求解过程中,从而实现从已求解的第二调度问题中迁移知识,从而促进对待求解的第一调度问题的求解。
123.现有的基于遗传算法的方法求解第一调度问题时,需要从随机初始化的第一种群中开始搜索,需要花费较多的迭代步骤才能得到较优的解。而本技术中基于知识迁移的遗传算法能够实现在保留从随机初始化的第一种群开始搜索的过程,又引入了已求解的第二调度问题对应的第二种群,提供了更优的搜索方向,从而设置较小的迭代次数即可得到较优的解;或者,经过较少次数的迭代即可从更新后的第一种群中得到适应度较大的个体,从而快速得到调度方案,实现快速适应生产条件的变化,提高工业生产效率。
124.图5为本发明提供的一种基于遗传算法的生产线调度装置的结构示意图。如图5所示,本实施例的基于遗传算法的生产线调度装置50可以包括:
125.种群确定模块501,用于根据生产线中待求解的第一调度问题,通过预设编码映射机制初始化所述第一调度问题对应的第一种群,并根据所述预设编码机制确定第二调度问题对应的第二种群;其中,所述第二调度问题为所述生产线中与所述第一调度问题相匹配的、且已求解的调度问题;所述第一种群中包括多个第一个体;所述第二种群中包括多个第二个体;所述第二个体对应所述第二调度问题的调度方案;
126.更新模块502,用于根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新;
127.方案确定模块503,用于根据更新后的第一种群,确定所述第一调度问题对应的调度方案。
128.可选的,更新模块502在根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新之前,还用于:
129.确定用于对所述第二个体进行特征映射的特征映射函数;所述特征映射函数表示特征映射后的第二个体组成的第二种群与对应的第一种群具有最小的统计距离;
130.根据所述特征映射函数对所述第二个体进行特征映射,得到映射后的第二个体,基于映射后的第二个体得到更新的第二种群。
131.可选的,更新模块502在确定用于对所述第二个体进行特征映射的特征映射函数时,具体用于:
132.将所述第二个体作为神经网络模型的输入,将映射后的第二个体组成的第二种群作为神经网络模型的输出,将特征映射后的第二个体组成的第二种群与对应的第一种群的统计距离最小作为优化目标进行神经网络模型训练;
133.将训练后的神经网络模型对应的函数确定为所述特征映射函数。
134.可选的,更新模块502在根据所述第一种群和第二种群,通过遗传算法对所述第一种群进行更新时,具体用于:
135.分别从所述第一种群和所述第二种群中筛选适应度最大的多个第一个体和多个第二个体;
136.根据筛选的所述多个第一个体和所述多个第二个体更新与所述第一调度问题对应的第一种群。
137.可选的,更新模块502在分别从所述第一种群和所述第二种群中筛选适应度最大的多个第一个体和多个第二个体时,具体用于:
138.通过所述编码映射机制确定每一第一个体和每一第二个体对应的调度方案;
139.确定每一调度方案对应的完成所述生产线调度的所有生产步骤的总时间,根据所述总时间确定所述调度方案对应的适应度;所述适应度与所述总时间呈负相关;
140.根据所述每一调度方案对应的适应度确定每一第一个体和每一第二个体对应的适应度,并分别从所述第一种群中按照适应度由大到小的顺序筛选m个第一个体以及从所述第二种群中按照适应度由大到小的顺序筛选n个第二个体。
141.可选的,更新模块502在根据筛选的所述多个第一个体和所述多个第二个体更新与所述第一调度问题对应的第一种群时,具体用于:
142.从筛选的m个第一个体中选择适应度最大的m1个第一个体,将m1个第一个体加入到更新的第一种群;所述更新的第一种群为下一代第一种群;
143.从筛选的n个第二个体中选择适应度最大的n1个第二个体,将n1个第二个体加入到更新的第一种群;
144.根据m2个第一个体和n2个第二个体通过基因片段交叉互换和/或基因片段扰动变异的方式得到新个体,将所述新个体加入到所述更新的第一种群;其中,所述m2个第一个体为m个第一个体中除去m1个第一个体以外的多个第一个体;所述n2个第二个体为n个第二个
体中除去n1个第二个体以外的多个第二个体。
145.可选的,方案确定模块503具体用于:
146.获取预先设置的终止条件;所述预先设置的终止条件为迭代次数达到预设次数或第一种群中第一个体的适应度的最大值达到预设适应度;
147.当所述终止条件为迭代次数达到预设次数时,获取当前迭代执行步骤对应的迭代次数,当所述迭代次数达到预设次数时,确定满足迭代的终止条件;当所述迭代次数未达到预设次数时,更新所述迭代次数,并继续执行对所述第一种群进行更新的步骤;和/或,
148.当所述终止条件为第一种群中第一个体的适应度的最大值达到预设适应度时,获取所述第一种群中第一个体的适应度最大值,当所述适应度最大值达到预设适应度时,确定满足迭代的终止条件;当所述适应度最大值未达到预设适应度时,继续执行对所述第一种群进行更新的步骤;
149.当满足迭代的终止条件时,执行从所述第一种群中选择最大适应度个体,并得到与所述最大适应度个体对应的调度方案,将确定的所述调度方案确定为所述第一调度问题对应的调度方案。
150.本发明提供的基于遗传算法的生产线调度装置,可以实现上述如图2至图4所示的实施例的基于遗传算法的生产线调度方法,其实现原理和技术效果类似,此处不再赘述。
151.图6为本发明提供的一种基于遗传算法的生产线调度设备的硬件结构示意图。如图6所示,本实施例提供的基于遗传算法的生产线调度设备60包括:至少一个处理器601和存储器602。其中,处理器601、存储器602通过总线603连接。
152.在具体实现过程中,至少一个处理器601执行所述存储器602存储的计算机执行指令,使得至少一个处理器601执行上述方法实施例中的基于遗传算法的生产线调度方法。
153.处理器601的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
154.在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
155.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。
156.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
157.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述方法实施例的基于遗传算法的生产线调度方法。
158.上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非
易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
159.一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
160.本技术一个实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本技术图2至图5所对应的实施例中任意实施例提供的基于遗传算法的生产线调度方法。
161.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
162.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献