一种基于人工鱼群的任务调度方法及其系统与流程

未命名 08-15 阅读:73 评论:0


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.编号确定模块,用于基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,并基于所述移动策略,确定所述第一目标人工鱼执行第二任务时的第二执行单元编号;所述第一任务和所述第二任务为相邻任务;
42.第二执行时间确定模块,用于基于所述第二任务和所述第二执行单元编号,确定所述第一目标人工鱼的第二执行时间,并基于所述第一执行时间和所述第二执行时间,确定出所述第一目标人工鱼的总执行时间;
43.任务调度模块,用于将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过所述第一最优任务分配策略执行任务调度。
44.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述基于人工鱼群的任务调度方法。
45.第四方面,本发明还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述基于人工鱼群的任务调度方法。
46.本发明提供的基于人工鱼群的任务调度方法及其系统,获取生产规划中任务调度的任务分配策略集合的参数;基于第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间;基于参数、第一执行单元编号和第一修正编号,确定第一目标人工鱼的移动增量;基于移动增量和参数,确定第一目标人工鱼的移动策略,并基于移动策略,确定第一目标人工鱼执行第二任务时的第二执行单元编号;基于第二任务和第二执行单元编号,确定第一目标人工鱼的第二执行时间,并基于第一执行时间和第二执行时间,确定出第一目标人工鱼的总执行时间;将任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过第一最优任务分配策略执行任务调度。在执行任务调度的过程中,第一目标人工鱼的移动增量是通过任务分配策略集合的参数、第一执行单元编号和第一修正编号确定的,使得第一目标人工鱼能够在执行第二任务前,根据自身参数与第二目标人工鱼的分配策略制定执行时间更短的分配策略,从而实现了将社学认知引入到人工鱼群中,使得第一目标人工鱼的第二任务的分配策略趋向最优分配策略,再通过将总执行时间最短的第一目标人工鱼,确定为最优任务分配策略,从整体分配策略上筛选出总
执行时间最短的第一目标人工鱼,从而提高了任务调度的准确度。
附图说明
47.为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1是本发明提供的基于人工鱼群的任务调度方法的流程图;
49.图2是本发明提供的最终人工鱼获取流程示意图;
50.图3是本发明提供的基于人工鱼群的任务调度系统的结构图;
51.图4示例了一种电子设备的实体结构示意图。
具体实施方式
52.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.本发明实施例提供了基于人工鱼群的任务调度方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些数据下,可以以不同于此处的顺序完成所示出或描述的步骤。
54.参照图1,图1是本发明提供的基于人工鱼群的任务调度方法的流程图。本发明实施例提供的基于人工鱼群的任务调度方法包括:
55.步骤101,获取生产规划中任务调度的任务分配策略集合的参数;
56.步骤102,基于第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间;
57.步骤103,基于所述参数、所述第一执行单元编号和第一修正编号,确定所述第一目标人工鱼的移动增量;
58.步骤104,基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,并基于所述移动策略,确定所述第一目标人工鱼执行第二任务时的第二执行单元编号;
59.步骤105,基于所述第二任务和所述第二执行单元编号,确定所述第一目标人工鱼的第二执行时间,并基于所述第一执行时间和所述第二执行时间,确定出所述第一目标人工鱼的总执行时间;
60.步骤106,将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过所述第一最优任务分配策略执行任务调度。
61.需要说明的是,本发明实施例以任务调度系统作为执行主体对基于人工鱼群的任务调度方法进行描述,在实际操作中执行主体并不限制于任务调度系统。进一步需要说明的是,本发明实施例的基于人工鱼群的任务调度方法可以应用于公交车线路安排的最优化场景、道路规划的最优化场景、企业中的生产安排的最优化场景、信号定位的最优化场景和投资组合最优化场的景。本技术以生产规划中的任务调度进行距离说明,具体为:
62.需要确定最优任务分配策略时,用户需要将每一个任务及其难度输入至任务调度系统,同时,还需要将每一个执行单元的编号及其运算能力输入至任务调度系统。
63.进一步地,任务调度系统根据每一个执行单元的运算能力,确定每一个执行单元执行每一个任务所需要的执行时间。
64.进一步地,用户向任务调度系统输入生产规划中任务调度的人工鱼群的参数,其中,人工鱼群为任务分配策略集合,人工鱼群的参数至少包括人工鱼群的规模、第一视野、拥挤度因子和第一迭代次数。
65.进一步地,任务调度系统根据输入的人工鱼群的参数,生成人工鱼,其中,人工鱼为一种任务分配策略。
66.需要说明的是,人工鱼内设置有一串由任务调度系统预先设定的编号,其中,每一个编号代表执行该任务的执行单元,例如,第i人工鱼xi=(1,2,5,2,3),则表明第i人工鱼的任务分配策略为:通过执行单元1完成第一任务,通过执行单元2完成第二任务,通过执行单元5完成第三任务,通过执行单元2完成第四任务,通过执行单元3完成第五任务。
67.进一步需要说明的是,为了便于区分,本发明实施例将预设执行第i任务的执行单元编号确定为预设第i执行单元编号,对应的执行时间确定为预测第i执行时间;将实际执行第i任务的执行单元编号确定为第i执行单元编号,对应的执行时间确定为第i执行时间。
68.进一步地,任务调度系统根据第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间,其中,第一目标人工鱼为人工鱼群中的任一人工鱼,即第一目标人工鱼为任务分配策略集合中的任意一个任务分配策略。
69.进一步地,任务调度系统根据第一目标人工鱼的第一步长、第一执行单元编号和第一修正编号,确定第一目标人工鱼的移动增量,其中,第一修正编号为第二目标人工鱼执行第一任务时的编号,第二目标人工鱼为人工鱼群中第一执行时间最短的人工鱼,即第二目标人工鱼为任务分配策略集合中第一执行时间最短的任务分配策略,移动增量的计算公式为:
[0070][0071]
其中,d为移动增量,rand()为获取随机数,step为第一步长,为第一修正编号,为第一执行单元编号。
[0072]
进一步地,任务调度系统得到移动增量后,根据移动增量和第一视野,确定第一目标人工鱼的移动策略。
[0073]
进一步地,任务调度系统根据第一执行单元编号和第一目标人工鱼的移动策略,确定第一目标人工鱼的第二执行单元编号。
[0074]
进一步地,任务调度系统得到第二执行单元编号后,根据第二任务和第二执行单元编号,确定第一目标人工鱼的第二执行时间。
[0075]
进一步地,上述实施例中的第一执行时间和第二执行时间为相邻两个任务的执行时间,也就是说,任务调度系统可以通过上述实施例获得每一个任务的执行时间。
[0076]
进一步地,任务调度系统将每一个任务的执行时间进行相加,得到第一目标人工鱼的总执行时间,并将人工鱼群中总执行时间最短的第一目标人工鱼,确定为第一最优人
工鱼,第一最优人工鱼可以理解为第一最优任务分配策略。因此,任务调度系统将每一个任务的执行时间进行相加,得到第一目标人工鱼的总执行时间,并将人工鱼群中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略。
[0077]
本发明提供的基于人工鱼群的任务调度方法及其系统,获取生产规划中任务调度的任务分配策略集合的参数;基于第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间;基于参数、第一执行单元编号和第一修正编号,确定第一目标人工鱼的移动增量;基于移动增量和参数,确定第一目标人工鱼的移动策略,并基于移动策略,确定第一目标人工鱼执行第二任务时的第二执行单元编号;基于第二任务和第二执行单元编号,确定第一目标人工鱼的第二执行时间,并基于第一执行时间和第二执行时间,确定出第一目标人工鱼的总执行时间;将任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过第一最优任务分配策略执行任务调度。在执行任务调度的过程中,第一目标人工鱼的移动增量是通过任务分配策略集合的参数、第一执行单元编号和第一修正编号确定的,使得第一目标人工鱼能够在执行第二任务前,根据自身参数与第二目标人工鱼的分配策略制定执行时间更短的分配策略,从而实现了将社学认知引入到人工鱼群中,使得第一目标人工鱼的第二任务的分配策略趋向最优分配策略,再通过将总执行时间最短的第一目标人工鱼,确定为最优任务分配策略,从整体分配策略上筛选出总执行时间最短的第一目标人工鱼,从而提高了任务调度的准确度。
[0078]
进一步地,步骤104记载的基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,包括:
[0079]
基于所述第一视野和所述第一执行单元编号,确定所述第一目标人工鱼的第一待测执行单元编号;
[0080]
基于第一步长、所述移动增量、所述第一待测执行单元编号和所述第一执行单元编号,确定所述第一目标人工鱼的第一移动距离;所述第一步长为所述第一目标人工鱼的步长;
[0081]
基于所述第一移动距离,确定所述第一目标人工鱼的移动策略。
[0082]
具体地,任务调度系统得到移动增量后,将第一执行单元编号与第一视野进行相加,得到的和确定为第一搜索终点,并将第一执行单元编号与第一视野进行相减,得到的差确定为第一搜索起点。
[0083]
进一步地,任务调度系统将编号处于第一搜索起点和第一搜索终点之间的执行单元,确定为第一待测执行单元。
[0084]
进一步地,任务调度系统根据第一步长、移动增量、第一执行单元编号和第一待测执行单元编号,确定第一目标人工鱼的第一移动距离,其中,第一移动距离的计算公式如下:
[0085][0086]
其中,move为第一移动距离,rand()为获取随机数,step为第一步长,为第一修正编号,为第一执行单元编号,为第一待测执行单元编号。
[0087]
进一步地,任务调度系统得到第一移动距离后,根据第一预设规则确定第一目标
人工鱼执行的移动策略,其中,第一预设规则为任务调度系统根据实际需要进行设定,移动策略包括觅食行为、聚群行为和追尾行为。
[0088]
在一实施例中,第一目标人工鱼执行完一个任务后,随机执行移动策略中的聚群行为或追尾行为。
[0089]
具体地,任务调度系统根据第一移动距离确定第一目标人工鱼执行的觅食行为,具体为:任务调度系统获取第一待测执行单元编号,若第一待测执行单元编号不存在,即第一搜索起点和第一搜索终点之间不存在执行单元编号,则将预测第二执行单元编号确定为第二执行单元编号。若第一待测执行单元编号存在,任务调度系统则根据从小到大的顺序,获取每一个第一待测执行单元编号,并确定第一待测执行单元执行第二任务的执行时间。若某一个第一待测执行单元的执行时间小于预测第二执行时间,则将该第一待测执行单元编号确定为第二执行单元编号。若每一个第一待测执行单元的执行时间均大于预测第二执行时间,则随机将一个第一待测执行单元编号确定为第二执行单元编号。其中,觅食行为的计算公式如下:
[0090][0091]
其中,move为第一移动距离,rand()为获取随机数,step为第一步长,为第一执行单元编号,为第一待测执行单元编号,为觅食行为,为预测第二执行时间,为待测执行单元执行第二任务的执行时间。
[0092]
任务调度系统根据第一移动距离确定第一目标人工鱼执行的聚群行为,具体为:任务调度系统确定每一个执行单元执行第二任务的执行时间,并将执行时间最短的执行单元的编号确定为聚群执行单元编号。进一步地,任务调度系统获取聚群执行单元执行第一任务的次数,并将其确定为聚群执行次数。进一步地,任务调度系统获取聚群执行单元执行第一任务的执行时间,并将其确定为聚群执行时间。进一步地,任务调度系统将聚群执行次数的倒数和聚群执行时间的倒数进行相乘,得到聚群执行单元的当前运算能力。进一步地,任务调度系统将拥挤度因子和第一执行时间的倒数进行相乘,得到第一执行单元编号的当前运算能力。进一步地,若聚群执行单元的当前运算能力大于第一执行单元编号的当前运算能力,则将聚群执行单元编号确定为第二执行单元编号;若聚群执行单元的当前运算能力小于第一执行单元编号的当前运算能力,则执行觅食行为。其中,聚群行为的计算公式如下:
[0093][0094]
其中,move为第一移动距离,为第一执行单元编号,为聚群执行单元编号,为聚群行为,为觅食行为,nf为聚群执行次数,为聚群执行时间的倒数,为第一执行时间的倒数,δ为拥挤度因子。
[0095]
任务调度系统根据第一移动距离确定第一目标人工鱼执行的追尾行为,具体为:
任务调度系统将待测执行单元中执行第一任务最快的执行单元编号,确定为追尾执行单元编号。进一步地,任务调度系统获取追尾执行单元执行第一任务的次数,并将其确定为追尾执行次数。进一步地,任务调度系统获取追尾执行单元执行第一任务的执行时间,并将其确定为追尾执行时间。进一步地,任务调度系统将追尾执行次数的倒数和追尾执行时间的倒数进行相乘,得到追尾执行单元的当前运算能力。进一步地,任务调度系统将拥挤度因子和第一执行时间的倒数进行相乘,得到第一执行单元编号的当前运算能力。进一步地,若追尾执行单元的当前运算能力大于第一执行单元编号的当前运算能力,则将追尾执行单元编号确定为第二执行单元编号;若追尾执行单元的当前运算能力小于第一执行单元编号的当前运算能力,则执行觅食行为。其中,追尾行为的计算公式如下:
[0096][0097]
其中,move为第一移动距离,为第一执行单元编号,为追尾执行单元编号,为追尾行为,为觅食行为,nf为追尾执行次数,为追尾执行时间的倒数,为第一执行时间的倒数,δ为拥挤度因子。
[0098]
本发明实施例根据第一视野和第一步长,确定第一移动距离,并根据第一移动距离确定不同的移动策略,使得人工鱼在各种情况下都能执行最优的移动策略,从而缩短了人工鱼的总执行时间,提高了任务调度的准确度。
[0099]
进一步地,在将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为最优任务分配策略之后,还包括:
[0100]
将所述第一最优任务分配策略确定为第一代最优人工鱼,并将所述第一目标人工鱼确定为第一代目标人工鱼;
[0101]
基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼;所述第一代目标人工鱼和所述第二代目标人工鱼为相邻的两代人工鱼;
[0102]
以所述第二代目标人工鱼执行所述获取生产规划中任务调度的任务分配策略集合的参数的步骤,直至所述将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略的步骤,确定出第二代最优人工鱼;
[0103]
基于所述第一代最优人工鱼和所述第二代最优人工鱼,输出最优任务分配策略列表,并将所述最优任务分配策略列表中总执行时间最短的最优任务分配策略,确定为最终任务分配策略。
[0104]
具体地,任务调度系统得到第一最优人工鱼(第一最优任务分配策略)后,将第一最优人工鱼确定为第一代最优人工鱼,并将第一目标人工鱼确定为第一代目标人工鱼。因此,第一代目标人工鱼的参数与第一目标人工鱼的参数相同。
[0105]
进一步地,任务调度系统将第一代最优人工鱼和第一代目标人工鱼进行随机拆分,并重新组合,得到第二代目标人工鱼,其中,第一代目标人工鱼和第二代目标人工鱼为相邻的两代人工鱼。因此,第二代目标人工鱼的参数与第一代目标人工鱼的参数相同。
[0106]
进一步地,任务调度系统根据第一任务和第二代目标人工鱼的第一执行单元编号,确定第二代目标人工鱼的第一执行时间。
[0107]
进一步地,任务调度系统根据第二代目标人工鱼的步长、第二修正编号和第二代目标人工鱼的第一执行单元编号,确定第二代目标人工鱼的移动增量,其中,第二修正编号为第二代目标人工鱼中第一执行时间最短的执行单元的编号。
[0108]
进一步地,任务调度系统根据第二代目标人工鱼的移动增量及其参数,确定第二代目标人工鱼的移动策略。
[0109]
进一步地,任务调度系统根据第二代目标人工鱼的移动策略,确定第二代目标人工鱼的第二执行单元编号。
[0110]
进一步地,任务调度系统根据第二任务和第二代目标人工鱼的第二执行单元编号,确定第二代目标人工鱼的第二执行时间。任务调度系统根据第二代目标人工鱼的第一执行时间及其第二执行时间,确定出第二代目标人工鱼的总执行时间,并将第二代目标人工鱼中总执行时间最短的人工鱼,确定为第二代最优人工鱼,其中,第二代最优人工鱼可以理解为任务分配策略集合中的第二最优任务分配策略。
[0111]
进一步地,上述实施例中的第一代最优人工鱼和第二代最优人工鱼为相邻的两代最优人工鱼,也就是说,任务调度系统可以通过上述实施例获得每一代最优人工鱼。
[0112]
进一步地,任务调度系统将每一代最优人工鱼进行集合,构建出最优人工鱼列表,并将最优人工鱼列表中总执行时间最短的最优人工鱼,确定为最终人工鱼。最优人工鱼列表即最优任务分配策略列表,因此可以理解为,任务调度系统将每一代最优人工鱼进行集合,构建出最优任务分配策略列表,并将最优任务分配策略列表中总执行时间最短的最优任务分配策略,确定为最终任务分配策略。
[0113]
本发明实施例通过第一代最优人工鱼确定第二代目标人工鱼,使得第二代目标人工鱼内含有第一代最优人工鱼的策略,从而使得第二代最优人工鱼更有可能优于第一代最优人工鱼;同时,本发明实施例通过迭代的方式确定每一代最优人工鱼,并通过最优任务分配策略列表确定最终任务分配策略,提高了任务调度的准确度。
[0114]
进一步地,所述基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼,包括:
[0115]
确定任务分配策略的分段点位;
[0116]
根据所述分段点位对所述第一代最优人工鱼进行分段,得到最优人工鱼片段,并根据所述分段点位对所述第一代目标人工鱼进行分段,得到目标人工鱼片段;
[0117]
根据所述最优人工鱼片段或所述目标人工鱼片段,得到待组合片段,并对所述待组合片段进行组合,得到所述第二代目标人工鱼。
[0118]
具体地,任务调度系统得到第一代最优人工鱼和第一代目标人工鱼后,根据第二预设规则确定人工鱼(任务分配策略)的分段点位,其中,第二预设规则为任务调度系统根据实际需要进行设定。
[0119]
进一步地,任务调度系统标记出第一代最优人工鱼上的分段点位,并通过分段点位对第一代最优人工鱼进行分段,得到最优人工鱼片段。
[0120]
进一步地,任务调度系统根据第二预设规则标记出第一代目标人工鱼上的分段点位,得到目标人工鱼片段。
[0121]
进一步地,任务调度系统随机将最优人工鱼片段或目标人工鱼片段,确定为待组合片段。
[0122]
进一步地,任务调度系统将每一段待组合片段进行组合,得到第二代目标人工鱼。
[0123]
需要说明的是,任务调度系统将最优人工鱼片段或目标人工鱼片段组合成第二代目标人工鱼的方式有两种:第一种为正序组合,第二种为倒序组合。
[0124]
正序组合具体为:任务调度系统随机将第一段最优人工鱼片段或第一段目标人工鱼片段,确定为第一段待组合片段。进一步地,任务调度系统随机将第二段最优人工鱼片段或第二段目标人工鱼片段,确定为第二段待组合片段。进一步地,任务调度系统随机将第三段最优人工鱼片段或第三段目标人工鱼片段,确定为第三段待组合片段。以此类推,直至确定出每一段待组合片段。进一步地,任务调度系统将每一段待组合片段按顺序进行拼接,得到第二代目标人工鱼。
[0125]
在一实施例中,任务调度系统得到的第一代最优人工鱼x
best
=(1,2,5,2,3,5,3,4,1,4),第一代目标人工鱼x1=(3,1,4,5,2,3,1,3,4,1)。进一步地,任务调度系统确定分段点位为第三位和第八位,并通过分段点位对第一代最优人工鱼进行分段,得到三段最优人工鱼片段x
best1
=(1,2,5),x
best2
=(2,3,5,3,4),x
best3
=(1,4)。进一步地,任务调度系统通过分段点位对第一代目标人工鱼进行分段,得到三段目标人工鱼片段x
11
=(3,1,4),x
12
=(5,2,3,1,3),x
13
=(4,1)。进一步地,任务调度系统将第一段最优片段x
best1
确定为第一段待组合片段x
21
,将第二段目标片段x
12
确定为第二段二代片段x
22
,将第三段最优片段x
best1
确定为第三段二代片段x
23
。进一步地,任务调度系统将每一段二代片段进行组合,得到第二代目标人工鱼x2=(1,2,5,5,2,3,1,3,1,4)。
[0126]
倒序组合具体为:任务调度系统随机将第一段最优人工鱼片段或第一段目标人工鱼片段,确定为第一段待组合片段。进一步地,任务调度系统随机将第二段最优人工鱼片段或第二段目标人工鱼片段,确定为第二段待组合片段。进一步地,任务调度系统随机将第三段最优人工鱼片段或第三段目标人工鱼片段,确定为第三段待组合片段。以此类推,直至确定出每一段待组合片段。进一步地,任务调度系统随机将一段待组合片段内的编号进行倒序处理,得到倒序后的待组合片段。进一步地,任务调度系统将倒序后的待组合片段和其他待组合片段按顺序进行拼接,得到第二代目标人工鱼。
[0127]
在一实施例中,任务调度系统得到的待组合片段为x
21
=(1,2,5),x
22
=(5,2,3,1,3),x
23
=(1,4)。进一步地,任务调度系统将第二段待组合片段中的编号进行倒序,得到倒序后的第二段待组合片段x’22
=(3,1,3,2,5)。进一步地,任务调度系统将每一段待组合片段进行组合,得到第二代目标人工鱼x2=(1,2,5,3,1,3,2,5,1,4)。
[0128]
本发明实施例通过将最优人工鱼片段和目标人工鱼片段进行随机组合,使得每一次迭代只有最优人工鱼才能和其他人工鱼进行交叉重组,实现了增强种群的多样性的同时,将上一代最优人工鱼的分配策略保留了下来,从而准确地确定出最优任务分配策略,提高了任务调度的准确度。
[0129]
进一步地,所述参数还包括第一迭代次数;
[0130]
所述基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼之前,还包括:
[0131]
基于所述第一迭代次数和第二迭代次数,确定自适应算子;所述第二迭代次数为第二代目标人工鱼的迭代次数;
[0132]
基于所述自适应算子、所述第一视野和所述第一代目标人工鱼的视野,确定所述
第二代目标人工鱼的第二视野;
[0133]
基于所述自适应算子和所述第一代目标人工鱼的步长,确定所述第二代目标人工鱼的第二步长。
[0134]
需要说明的是,任务调度系统得到第一代最优人工鱼和第一代目标人工鱼后,根据人工鱼群参数中的第一迭代次数重新确定第二代目标人工鱼的参数。
[0135]
具体地,任务调度系统根据第一代目标人工鱼的迭代次数确定第二代目标人工鱼的迭代次数,并将其确定为第二迭代次数。
[0136]
进一步地,任务调度系统获取人工鱼群参数中的第一迭代次数,并根据第一迭代次数和第二迭代次数,计算出自适应算子,其中,自适应算子的计算公式如下:
[0137][0138]
其中,e为自然常数,β为自适应参数,t为第一迭代次数,t为第二迭代次数,a为自适应算子。
[0139]
进一步地,任务调度系统将自适应算子和第一代目标人工鱼的视野进行相乘,并将得到的积与第一视野进行相加,得到第二视野,其中,第二视野的计算公式如下:
[0140]
visual
t+1
=visual
t
*a+visual
min

[0141]
其中,visual
t+1
为第二代目标人工鱼的视野,visual
t
为第一代目标人工鱼的视野,a为自适应算子,visual
min
为第一视野。
[0142]
进一步地,任务调度系统获取第一代目标人工鱼的步长,并将自适应算子和第一代目标人工鱼的步长进行相乘,得到第二代目标人工鱼的第二步长,其中,第二步长的计算公式如下:
[0143]
step
t+1
=step
t
*a;
[0144]
其中,step
t+1
为第二步长,step
t
为第一步长,a为自适应算子。
[0145]
本发明实施例通过第一迭代次数和第二迭代次数,确定自适应算子,并根据自适应算子得到第二视野和第二步长,使得人工鱼的视野和步长能够随着迭代次数发生变化,让人工鱼群算法在前期能以较大的步长和视野进行探索,在后期以很小的步长和视野进行探索,增加了最优任务分配策略的收敛精度,从而提高了任务调度的准确度。
[0146]
进一步地,在基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼之后,还包括:
[0147]
基于所述第二视野,确定所述第二代目标人工鱼的第二待测执行单元编号;
[0148]
基于所述第二步长和所述第二待测执行单元编号,确定所述第二代目标人工鱼的第二移动距离;
[0149]
基于所述第二移动距离,确定所述第二代目标人工鱼的移动策略。
[0150]
具体地,任务调度系统得到第二修正编号、第二视野和第二步长后,根据第二代目标人工鱼的第一执行单元编号、第二步长和第二修正编号,确定第二代目标人工鱼的移动增量。
[0151]
进一步地,任务调度系统得到移动增量后,将第二视野与第二代目标人工鱼的第一执行单元编号进行相加,得到的和确定为第二搜索终点,并将第二代目标人工鱼的第一执行单元编号与第二视野进行相减,得到的差确定为第二搜索起点。
[0152]
进一步地,任务调度系统将编号处于第二搜索起点和第二搜索终点之间的执行单元,确定为第二待测执行单元。
[0153]
进一步地,任务调度系统根据第二代目标人工鱼的移动增量、第二代目标人工鱼的第一执行单元编号、第二步长和第二待测执行单元编号,确定第二代目标人工鱼的第二移动距离,其中,第二移动距离的计算公式如下:
[0154][0155]
其中,move为第二移动距离,rand()为获取随机数,step为第二步长,为第二修正编号,为第二代目标人工鱼的第一执行单元编号,为第二待测执行单元编号。
[0156]
进一步地,任务调度系统得到第二移动距离后,根据第一预设规则确定第二代目标人工鱼执行的移动策略。
[0157]
本发明实施例根据第二视野和第二步长,确定第二移动距离,并根据第二移动距离确定不同的移动策略,使得第二代目标人工鱼在各种情况下都能执行最优的移动策略,从而缩短了第二代目标人工鱼的总执行时间,从而准确地确定出最优任务分配策略,提高了任务调度的准确度。
[0158]
进一步地,在基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼之后,还包括:
[0159]
获取所述第二代目标人工鱼的规模;
[0160]
若所述第二代目标人工鱼的规模大于预设阈值,则删除所述第二代目标人工鱼中总执行时间最长的任务分配策略。
[0161]
具体地,任务调度系统得到第二代目标人工鱼后,获取第二代目标人工鱼的规模,并将预设阈值与第二代目标人工鱼的规模进行比较,其中,预设阈值为任务调度系统根据执行单元的运算能力确定。
[0162]
进一步地,若第二代目标人工鱼的规模小于预设阈值,任务调度系统则基于第一代最优人工鱼和第一代目标人工鱼,确定第二代目标人工鱼。若第二代目标人工鱼的规模大于预设阈值,任务调度系统则删除第二代目标人工鱼中预测总执行时间最长的人工鱼。若第二代目标人工鱼的规模等于预设阈值,任务调度系统则确定出第二代最优人工鱼。
[0163]
在一实施例中,任务调度系统在人工鱼群中筛选出最优人工鱼,并通过迭代获取最终人工鱼的示意图如图2所示,图2是本发明提供的最终人工鱼获取流程示意图。具体地,任务调度系统根据参数初始化人工鱼群,并通过迭代计算器让人工鱼执行聚群行为或追尾行为。进一步地,任务调度系统通过人工鱼的执行时间,确定最优人工鱼。进一步地,任务调度系统将人工鱼群的规模与预设阈值进行比较,若人工鱼群的规模小于预设阈值,任务调度系统则基于最优人工鱼和第一代目标人工鱼,确定第二代目标人工鱼;若人工鱼群的规模大于预设阈值,任务调度系统则删除总执行时间最长的人工鱼。进一步地,任务调度系统执行禁忌搜索,获取最优人工鱼列表中的当前最优策略和最短执行时间,并将最优人工鱼的的总执行时间与最短执行时间进行对比,若最优人工鱼的总执行时间小于最短执行时间,则将当前最短时间替换为最优人工鱼的的总执行时间,并将当前最优策略替换为最优人工鱼的策略。进一步地,任务调度系统通过迭代次数和预设值判断迭代是否结束,若迭代
次数未达到预设值,则迭代未结束,继续获取第二代最优人工鱼;若迭代次数已达到预设值,则迭代结束,任务调度系统则输出当前最优策略,并将其确定为最终人工鱼。
[0164]
本发明实施例通过控制第二代目标人工鱼的规模,保障了执行单元不会处于过载运行的状态,从而保证了执行单元的运算能力,进一步提高了任务调度的准确度。
[0165]
进一步地,本发明提供的基于人工鱼群的任务调度系统与本发明提供的基于人工鱼群的任务调度方法互对应参照。
[0166]
参照图3所示,图3是本发明提供的基于人工鱼群的任务调度系统的结构图,基于人工鱼群的任务调度系统,包括:
[0167]
参数获取模块301,用于获取生产规划中任务调度的任务分配策略集合的参数;
[0168]
第一执行时间确定模块302,用于基于第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间;所述第一执行单元编号为所述第一目标人工鱼执行所述第一任务时的编号,所述第一目标人工鱼为所述任务分配策略集合中的任意一个任务分配策略;
[0169]
移动增量确定模块303,用于基于所述参数、所述第一执行单元编号和第一修正编号,确定所述第一目标人工鱼的移动增量;所述第一修正编号为第二目标人工鱼执行第一任务时的编号,第二目标人工鱼为所述任务分配策略集合中第一执行时间最短的任务分配策略;
[0170]
编号确定模块304,用于基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,并基于所述移动策略,确定所述第一目标人工鱼执行第二任务时的第二执行单元编号;所述第一任务和所述第二任务为相邻任务;
[0171]
第二执行时间确定模块305,用于基于所述第二任务和所述第二执行单元编号,确定所述第一目标人工鱼的第二执行时间,并基于所述第一执行时间和所述第二执行时间,确定出所述第一目标人工鱼的总执行时间;
[0172]
任务调度模块306,用于将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过所述第一最优任务分配策略执行任务调度。
[0173]
进一步地,所述编号确定模块304还用于:
[0174]
基于所述第一视野和所述第一执行单元编号,确定所述第一目标人工鱼的第一待测执行单元编号;
[0175]
基于第一步长、所述移动增量、所述第一待测执行单元编号和所述第一执行单元编号,确定所述第一目标人工鱼的第一移动距离;所述第一步长为所述第一目标人工鱼的步长;
[0176]
基于所述第一移动距离,确定所述第一目标人工鱼的移动策略。
[0177]
进一步地,所述基于人工鱼群的任务调度系统还用于:
[0178]
将所述第一最优任务分配策略确定为第一代最优人工鱼,并将所述第一目标人工鱼确定为第一代目标人工鱼;
[0179]
基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼;所述第一代目标人工鱼和所述第二代目标人工鱼为相邻的两代人工鱼;
[0180]
以所述第二代目标人工鱼执行所述获取生产规划中任务调度的任务分配策略集合的参数的步骤,直至所述将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略的步骤,确定出第二代最优人工鱼;所述第二代最优人工
鱼为所述任务分配策略集合中的第二最优任务分配策略;
[0181]
基于所述第一代最优人工鱼和所述第二代最优人工鱼,输出最优任务分配策略列表,并将所述最优任务分配策略列表中总执行时间最短的最优任务分配策略,确定为最终任务分配策略。
[0182]
进一步地,所述基于人工鱼群的任务调度系统还用于:
[0183]
确定任务分配策略的分段点位;
[0184]
根据所述分段点位对所述第一代最优人工鱼进行分段,得到最优人工鱼片段,并根据所述分段点位对所述第一代目标人工鱼进行分段,得到目标人工鱼片段;
[0185]
根据所述最优人工鱼片段或所述目标人工鱼片段,得到待组合片段,并对所述待组合片段进行组合,得到所述第二代目标人工鱼。
[0186]
进一步地,所述基于人工鱼群的任务调度系统还用于:
[0187]
基于所述第一迭代次数和第二迭代次数,确定自适应算子;所述第二迭代次数为第二代目标人工鱼的迭代次数;
[0188]
基于所述自适应算子、所述第一视野和所述第一代目标人工鱼的视野,确定所述第二代目标人工鱼的第二视野;
[0189]
基于所述自适应算子和所述第一代目标人工鱼的步长,确定所述第二代目标人工鱼的第二步长。
[0190]
进一步地,所述基于人工鱼群的任务调度系统还用于:
[0191]
基于所述第二视野,确定所述第二代目标人工鱼的第二待测执行单元编号;
[0192]
基于所述第二步长和所述第二待测执行单元编号,确定所述第二代目标人工鱼的第二移动距离;
[0193]
基于所述第二移动距离,确定所述第二代目标人工鱼的移动策略。
[0194]
进一步地,所述基于人工鱼群的任务调度系统还用于:
[0195]
获取所述第二代目标人工鱼的规模;
[0196]
若所述第二代目标人工鱼的规模大于预设阈值,则删除所述第二代目标人工鱼中总执行时间最长的任务分配策略。
[0197]
本发明提供的基于人工鱼群的任务调度系统的具体实施例与上述基于人工鱼群的任务调度方法各实施例基本相同,在此不作赘述。
[0198]
图4示例了一种电子设备的实体结构示意图,如图4所示,电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行基于人工鱼群的任务调度方法,该方法包括:
[0199]
获取生产规划中任务调度的任务分配策略集合的参数;
[0200]
基于第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间;所述第一执行单元编号为所述第一目标人工鱼执行所述第一任务时的编号,所述第一目标人工鱼为所述任务分配策略集合中的任意一个任务分配策略;
[0201]
基于所述参数、所述第一执行单元编号和第一修正编号,确定所述第一目标人工鱼的移动增量;所述第一修正编号为第二目标人工鱼执行第一任务时的编号,所述第二目
标人工鱼为所述任务分配策略集合中第一执行时间最短的任务分配策略;
[0202]
基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,并基于所述移动策略,确定所述第一目标人工鱼执行第二任务时的第二执行单元编号;所述第一任务和所述第二任务为相邻任务;
[0203]
基于所述第二任务和所述第二执行单元编号,确定所述第一目标人工鱼的第二执行时间,并基于所述第一执行时间和所述第二执行时间,确定出所述第一目标人工鱼的总执行时间;
[0204]
将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过所述第一最优任务分配策略执行任务调度。
[0205]
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0206]
另一方面,本发明还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于人工鱼群的任务调度方法,该方法包括:
[0207]
获取生产规划中任务调度的任务分配策略集合的参数;
[0208]
基于第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间;所述第一执行单元编号为所述第一目标人工鱼执行所述第一任务时的编号,所述第一目标人工鱼为所述任务分配策略集合中的任意一个任务分配策略;
[0209]
基于所述参数、所述第一执行单元编号和第一修正编号,确定所述第一目标人工鱼的移动增量;所述第一修正编号为第二目标人工鱼执行第一任务时的编号,所述第二目标人工鱼为所述任务分配策略集合中第一执行时间最短的任务分配策略;
[0210]
基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,并基于所述移动策略,确定所述第一目标人工鱼执行第二任务时的第二执行单元编号;所述第一任务和所述第二任务为相邻任务;
[0211]
基于所述第二任务和所述第二执行单元编号,确定所述第一目标人工鱼的第二执行时间,并基于所述第一执行时间和所述第二执行时间,确定出所述第一目标人工鱼的总执行时间;
[0212]
将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过所述第一最优任务分配策略执行任务调度。
[0213]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于人工鱼群的任务调度方法,该方法包括:
[0214]
获取生产规划中任务调度的任务分配策略集合的参数;
[0215]
基于第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间;所述第一执行单元编号为所述第一目标人工鱼执行所述第一任务时的编号,所述第一目标人工鱼为所述任务分配策略集合中的任意一个任务分配策略;
[0216]
基于所述参数、所述第一执行单元编号和第一修正编号,确定所述第一目标人工鱼的移动增量;所述第一修正编号为第二目标人工鱼执行第一任务时的编号,所述第二目标人工鱼为所述任务分配策略集合中第一执行时间最短的任务分配策略;
[0217]
基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,并基于所述移动策略,确定所述第一目标人工鱼执行第二任务时的第二执行单元编号;所述第一任务和所述第二任务为相邻任务;
[0218]
基于所述第二任务和所述第二执行单元编号,确定所述第一目标人工鱼的第二执行时间,并基于所述第一执行时间和所述第二执行时间,确定出所述第一目标人工鱼的总执行时间;
[0219]
将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过所述第一最优任务分配策略执行任务调度。
[0220]
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0221]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0222]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种基于人工鱼群的任务调度方法,其特征在于,包括:获取生产规划中任务调度的任务分配策略集合的参数;基于第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间;所述第一执行单元编号为所述第一目标人工鱼执行所述第一任务时的编号,所述第一目标人工鱼为所述任务分配策略集合中的任意一个任务分配策略;基于所述参数、所述第一执行单元编号和第一修正编号,确定所述第一目标人工鱼的移动增量;所述第一修正编号为第二目标人工鱼执行第一任务时的编号,所述第二目标人工鱼为所述任务分配策略集合中第一执行时间最短的任务分配策略;基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,并基于所述移动策略,确定所述第一目标人工鱼执行第二任务时的第二执行单元编号;所述第一任务和所述第二任务为相邻任务;基于所述第二任务和所述第二执行单元编号,确定所述第一目标人工鱼的第二执行时间,并基于所述第一执行时间和所述第二执行时间,确定出所述第一目标人工鱼的总执行时间;将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过所述第一最优任务分配策略执行任务调度。2.根据权利要求1所述的基于人工鱼群的任务调度方法,其特征在于,所述参数包括第一视野;所述基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,包括:基于所述第一视野和所述第一执行单元编号,确定所述第一目标人工鱼的第一待测执行单元编号;基于第一步长、所述移动增量、所述第一待测执行单元编号和所述第一执行单元编号,确定所述第一目标人工鱼的第一移动距离;所述第一步长为所述第一目标人工鱼的步长;基于所述第一移动距离,确定所述第一目标人工鱼的移动策略。3.根据权利要求2所述的基于人工鱼群的任务调度方法,其特征在于,在将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为最优任务分配策略之后,还包括:将所述第一最优任务分配策略确定为第一代最优人工鱼,并将所述第一目标人工鱼确定为第一代目标人工鱼;基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼;所述第一代目标人工鱼和所述第二代目标人工鱼为相邻的两代人工鱼;以所述第二代目标人工鱼执行所述获取生产规划中任务调度的任务分配策略集合的参数的步骤,直至所述将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略的步骤,确定出第二代最优人工鱼;所述第二代最优人工鱼为所述任务分配策略集合中的第二最优任务分配策略;基于所述第一代最优人工鱼和所述第二代最优人工鱼,输出最优任务分配策略列表,并将所述最优任务分配策略列表中总执行时间最短的最优任务分配策略,确定为最终任务分配策略。4.根据权利要求3所述的基于人工鱼群的任务调度方法,其特征在于,所述基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼,包括:
确定任务分配策略的分段点位;根据所述分段点位对所述第一代最优人工鱼进行分段,得到最优人工鱼片段,并根据所述分段点位对所述第一代目标人工鱼进行分段,得到目标人工鱼片段;根据所述最优人工鱼片段或所述目标人工鱼片段,得到待组合片段,并对所述待组合片段进行组合,得到所述第二代目标人工鱼。5.根据权利要求3所述的基于人工鱼群的任务调度方法,其特征在于,所述参数还包括第一迭代次数;所述基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼之前,还包括:基于所述第一迭代次数和第二迭代次数,确定自适应算子;所述第二迭代次数为第二代目标人工鱼的迭代次数;基于所述自适应算子、所述第一视野和所述第一代目标人工鱼的视野,确定所述第二代目标人工鱼的第二视野;基于所述自适应算子和所述第一代目标人工鱼的步长,确定所述第二代目标人工鱼的第二步长。6.根据权利要求5所述的基于人工鱼群的任务调度方法,其特征在于,在基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼之后,还包括:基于所述第二视野,确定所述第二代目标人工鱼的第二待测执行单元编号;基于所述第二步长和所述第二待测执行单元编号,确定所述第二代目标人工鱼的第二移动距离;基于所述第二移动距离,确定所述第二代目标人工鱼的移动策略。7.根据权利要求3所述的基于人工鱼群的任务调度方法,其特征在于,在基于所述第一代最优人工鱼和所述第一代目标人工鱼,确定第二代目标人工鱼之后,还包括:获取所述第二代目标人工鱼的规模;若所述第二代目标人工鱼的规模大于预设阈值,则删除所述第二代目标人工鱼中总执行时间最长的任务分配策略。8.一种基于人工鱼群的任务调度系统,其特征在于,包括:参数获取模块,用于获取生产规划中任务调度的任务分配策略集合的参数;第一执行时间确定模块,用于基于第一任务和第一执行单元编号,确定第一目标人工鱼的第一执行时间;所述第一执行单元编号为所述第一目标人工鱼执行所述第一任务时的编号,所述第一目标人工鱼为所述任务分配策略集合中的任意一个任务分配策略;移动增量确定模块,用于基于所述参数、所述第一执行单元编号和第一修正编号,确定所述第一目标人工鱼的移动增量;所述第一修正编号为第二目标人工鱼执行第一任务时的编号,所述第二目标人工鱼为所述任务分配策略集合中第一执行时间最短的任务分配策略;编号确定模块,用于基于所述移动增量和所述参数,确定所述第一目标人工鱼的移动策略,并基于所述移动策略,确定所述第一目标人工鱼执行第二任务时的第二执行单元编号;所述第一任务和所述第二任务为相邻任务;第二执行时间确定模块,用于基于所述第二任务和所述第二执行单元编号,确定所述
第一目标人工鱼的第二执行时间,并基于所述第一执行时间和所述第二执行时间,确定出所述第一目标人工鱼的总执行时间;任务调度模块,用于将所述任务分配策略集合中总执行时间最短的第一目标人工鱼,确定为第一最优任务分配策略,并通过所述第一最优任务分配策略执行任务调度。9.一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的基于人工鱼群的任务调度方法。10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的基于人工鱼群的任务调度方法。

技术总结
本发明涉及计算机技术领域,提供一种基于人工鱼群的任务调度方法及其系统,该方法包括:获取任务分配策略集合的参数;基于第一任务和第一执行单元编号,确定第一执行时间;基于参数、第一执行单元编号和第一修正编号,确定第一目标人工鱼的移动增量以及移动策略;基于移动策略,确定第二执行单元编号以及第二执行时间;基于第一执行时间和第二执行时间,确定总执行时间以及第一最优任务分配策略,通过第一最优任务分配策略执行任务调度。本发明提供的基于人工鱼群的任务调度方法通过参数、第一执行单元编号和第一修正编号确定第一目标人工鱼的移动增量,从而修正了第一目标人工鱼的移动策略,确定出最优任务分配策略,提高了任务调度的准确度。任务调度的准确度。任务调度的准确度。


技术研发人员:王金桥 姚明钊 梅文卓 郭子江 朱贵波
受保护的技术使用者:广东杰创智能科技有限公司
技术研发日:2023.05.05
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐