基于maximin函数多目标优化算法的多机器人调度方法转让专利

申请号 : CN202110254680.X

文献号 : CN113050422B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马连博杨舒钧王兴伟黄敏

申请人 : 东北大学

摘要 :

本发明提供一种基于maximin函数多目标优化算法的多机器人调度方法,涉及多机器人调度技术领域。该方法首先将多机器人任务调度问题转化为四个目标函数,并获取仓库内任务清单和机器人所处位置情况,建造数据集;根据数据集创建新型的组合染色体模型;利用maximin函数对种群中的个体进行评估,确定下一代种群的选择范围;通过maximin函数和逐一选择策略对种群进行优化;针对组合染色体模型的顺序交叉操作和单点变异操作也为种群迭代提供了更快的收敛速度;在优化过程中通过逐一选择策略改善种群中解的收敛性和多样性;通过小生境技术提供了更进一步的选择方案,实现更深入地寻找了更适合多机器人调度问题的方案。

权利要求 :

1.一种基于maximin函数多目标优化算法的多机器人调度方法,其特征在于:包括以下步骤:

步骤1:将多机器人任务调度问题转化为四个目标函数:分别为最大化单个机器人的能量消耗、最小化机器人的总能量消耗、最小化每个机器人承担任务的标准差、最大化每个机器人完成任务的任务优先级权重;

步骤2:获取仓库中的任务清单和机器人所处位置情况,统计仓库内货架空闲位置,为任务安排货物存放地点;获取仓库面积大小、机器人数量、机器人的初始地点、任务的起始地点、任务的终止地点、任务种类以及任务的优先级信息,由此构成多机器人任务调度模型的基础数据集;

步骤3:通过对多机器人任务调度模型基础数据的整理,构建适用于多机器人调度问题的组合染色体模型,组合染色体模型的染色体个数由仓库内机器人数量和任务总数的总和决定,组合染色体模型分为两部分,前一部分由任务序号组成,染色体数量由任务的总数决定,任务序号的排列顺序表示机器人执行任务的顺序,后一部分由机器人承担的任务数量构成,染色体数量由机器人的总数决定;

步骤4:根据组合染色体模型确定决策变量的上下限,随机生成初始种群,并代入到多机器人调度问题转换的四个目标函数中,求得目标函数值,并将求得的目标函数值保存在生成的初始种群的尾部;一个种群包含若干个体,每个个体包含一组随机生成的一组任务序列和机器人承担任务数的决策变量以及决策变量通过目标函数计算得出的目标变量;

步骤5:对经过步骤4后生成的种群采用基于maximin函数的多目标优化算法进行求解,直到达到规定的迭代次数;

步骤5.1:根据当前种群的若干个个体,通过交叉变异生成相同数量的个体,生成新种群,最后让生成的新种群与原种群合并得到合并种群;

步骤5.2:对当前得到的合并种群进行环境选择,在环境选择中采用maximin函数和角度判别方法以及欧式距离判别方法将种群中的个体进行筛选,得到一个满足条件的种群;

步骤5.3:重复执行步骤5.2直到达到设定的最大迭代次数;

所述步骤5.1的具体方法为:

步骤5.1.1:将种群中的个体的决策变量分为两部分,任务序列部分和每个机器人承担的任务数量部分;

步骤5.1.2:对任务序列部分进行顺序交叉操作;

首先,在一对亲本染色体上随机选取两个基因作为两个染色体要保留的染色体结构的起始位置和结束位置,每个亲本染色体选择的基因位置相同;然后产生两个后代,起始和结束基因位置之间的基因与亲本染色体一致;最后,找出前面随机选择出的基因在另一个亲本中的位置,并将剩下的基因按顺序排列在上一步所产生的后代中;

步骤5.1.3:对任务数量部分进行模拟二项式交叉,并保证交叉任务数量的和为任务序列部分的染色体长度;

步骤5.1.4:对任务序列部分和每个机器人承担的任务数量部分这两部分的决策变量进行变异操作得到合并种群;对任务序列部分采用替换突变算子进行变异;对于每个自主机器人分配的任务数量部分,采用高斯变异,并保证任务数量的总数不变;

对任务序列部分采用替换突变算子进行变异的具体方法为:首先,从个体中随机抽取一段染色体基因;然后,在剩余的染色体基因中选择一个突变位点;最后,将选择出的这段染色体基因插入到突变位点,形成一串新的基因;

所述步骤5.2的具体方法为:

步骤5.2.1:将进行环境选择的合并种群中个体的目标函数值进行归一化操作,目标函数值上限是1,下限是0;

步骤5.2.2:对合并种群中个体的目标函数值进行相似度检测;首先将合并后种群作为原种群,并将其中的第一个个体加到新种群中,原种群中剩余个体依次与已加入到新种群中的个体在每个目标函数上进行对位相减,如果在某一个目标函数上两者相减后的值小于等于规定值阈值,则从原种群中删除该个体,否则将该个体加入到新种群中,通过逐一排查的方式,选择出满足条件的个体,组成新种群;

步骤5.2.3:通过maximin函数对新种群中的个体进行排序找到当前种群中非支配个体的数量,如果非支配个体数量大于环境选择最终要求的个体数目N,则执行步骤5.2.4,如果非支配个体的数量小于或等于环境选择中最终要求的种群的个体数目N,则进行5.2.5;

步骤5.2.4:首先从所有非支配个体上取出每个目标上的最小值,组合形成一个理想点*

z ,将这个理想点作为选择新种群的第一个个体的参考点,通过maximin函数计算种群中的所有非支配个体与理想点之间的maximin适应度值,选择适应度值最小的个体加入到新种群中;然后以这个新种群作为参考点,通过计算未加入新种群的所有非支配个体与新种群的maximin适应度值,逐一选择其中适应度值最小的个体加入新种群中,直到满足种群大小N;如果适应度值最小的个体数量大于1,则执行5.2.6进行更进一步的选择;

步骤5.2.5:首先将未满足新种群数量的非支配个体加入到新种群中,然后通过逐一选择的方式寻找剩余N‑ND个个体;再通过maximin函数找到当前剩余个体中与新种群的maximin适应度值最小的个体,将其加入到新种群中,然后将该个体从剩余个体中去掉,直到满足种群大小N;如果出现多个个体的适应度值相等,则执行步骤5.2.6进行进一步选择;

步骤5.2.6:通过小生境技术从适应度值相等的多个个体中进一步选择个体加入到新种群;

首先,通过欧氏距离公式对适应度值相等的个体进行计算,找出到目标空间坐标轴原点的欧氏距离最小的个体,如果欧氏距离最小的个体数量仍大于1,则比较这些个体到新种群的角度,角度最小的个体被选出加入到新种群中;

步骤6:当迭代次数达到设定的最大迭代次数时,优化结束,求解多机器人调度问题完成,最终种群中的决策变量部分为当前多机器人调度问题的解决方案。

2.根据权利要求1所述的基于maximin函数多目标优化算法的多机器人调度方法,其特征在于:

所述最大化单个机器人的能量消耗,是指完成任务的机器人中的单个机器人的最大能量消耗MRC,如下公式所示:

MRC=Max{TC(ri,ti)}其中,TC表示机器人执行任务消耗的成本,ri表示第i个机器人,i=1、2、…、N,N为执行任务的机器人总数,ti表示第i个机器人需要执行的任务; 表示第i个机器人执行第j个任务时的能量消耗, 表示第i个机器人执行任务间隔时所消耗的能量,k表示第i个机器人总共执行的任务数量,n表示正在执行的第n个任务;

所述最小化机器人的总能量消耗,是指最小化所有机器人在完成任务过程中的总能量消耗MTC,如下公式所示:

所述最小化每个机器人承担任务的标准差,是指最小化每个机器人承担的任务数之间的标准差MTSD,如下公式所示:MTSD=std(T)

其中,T表示由每个机器人承担任务的集合,std表示标准差公式;

所述最大化每个机器人完成任务的任务优先级权重,是指机器人在完成任务时应该从高优先级的任务开始完成任务,最大化所有机器人完成任务时的优先级权重MRW,如下公式所示:

其中,wij表示第i个机器人执行的第j个任务的权重。

说明书 :

基于maximin函数多目标优化算法的多机器人调度方法

技术领域

[0001] 本发明涉及多机器人调度技术领域,尤其涉及基于maximin函数多目标优化算法的多机器人调度方法。

背景技术

[0002] 近年来,随着自主机器人的广泛应用,那些廉价、小巧、智能的机器人被广泛应用于物流行业的智能仓储管理中。如何对智能仓库中的机器人进行管理是一项重要的工作,
也是相关人员研究的关键问题之一。原则上,智能仓储管理中仓库系统的基本任务是高效
的分配任务给机器人,让它们协调完成运输货物、储存货物和配送货物等任务。因此,如何
高效的分配任务给机器人就成了智能仓库管理系统的关键问题。在多机器人协调任务中,
需要对一组独立的任务进行最优的调度(如分配和执行)。这样的多机器人调度问题可以转
化为一个任务分配模型,即一组自主机器人在满足一定条件的最优路径下满足一组订单。
近年来,研究人员提出了许多方法来解决仓库内的机器人调度问题。比如:利用鲸鱼优化算
法来解决单个单机器人在货物运输过程中的调度问题;采用模拟退火方法解决混合车间的
机器人调度问题;针对自动化仓库的管理问题,提出了一种多目标进化算法。
[0003] 这些方法虽然能解决一些智能仓库中的机器人调度问题,但还是存在一些问题:现有的研究大多关注于最小化多个机器人的总时间消耗,而没有平衡每个机器人的时间消
耗。如何将任务均匀地分配给每个机器人,降低仓库中机器人的能耗,也是一个关键问题。
对于这个问题,我们需要考虑两个关于机器人能量消耗的目标,即最小化所有机器人的总
能量,以及在仓库中每个机器人不被过度使用的情况下最小化单个机器人的能量消耗,同
时还要注意每个机器人承担的任务数,应该让每个机器人承担的任务数比较平均,不出现
任务过少或者过多的情况。所以,目前对智能仓库的机器人调度问题没有一个更加准确高
效的问题模型和更加合理高效准确的解决方法。
[0004] 多目标进化优化属于进化计算、群智能计算领域,现如今常被用来解决现实世界中的实际多目标优化问题。在多目标进化优化过程中,用决策变量表示真实世界中一个问
题的参数,目标函数表示这个问题的数学模型,目标函数值表示对这个问题进行求解以后
得到的解。多目标进化优化算法通过交叉变异的方式产生新的解,然后通过环境选择、小生
境技术等方法选择解,通过规定次数的迭代以后得到最终的解集。
[0005] 现有技术中,其中一种有效的解决多目标优化问题的方法是基于指标的进化算法,该算法采用性能评价指标来保证解集的收敛性和分布性,如HypE、R2‑MOEA和MOBI‑II
等。特别是相对于其他类型MOEAs算法,如基于Pareto支配的算法和基于分解的算法,IBEAs
在求解多目标优化问题时不会失去Pareto优势等高维空间的选择压力,也不需要大量参考
向量的支持,因此在解决实际问题时更有效。然而,IBEAs中的指标在计算上相当昂贵,特别
是在处理大量目标问题时。

发明内容

[0006] 本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于maximin函数多目标优化算法的多机器人调度方法,将maximin函数和逐一选择策略相结合对机器人
调度问题进行求解。
[0007] 为解决上述技术问题,本发明所采取的技术方案是:基于maximin函数多目标优化算法的多机器人调度方法,包括以下步骤:
[0008] 步骤1:将多机器人任务调度问题转化为四个目标函数:分别为最大化单个机器人的能量消耗、最小化机器人的总能量消耗、最小化每个机器人承担任务的标准差、最大化每
个机器人完成任务的任务优先级权重;
[0009] 所述最大化单个机器人的能量消耗,是指完成任务的机器人中的单个机器人的最大能量消耗MRC,如下公式所示:
[0010] MRC=Max{TC(ri,ti)}
[0011]
[0012] 其中,TC表示机器人执行任务消耗的成本,ri表示第i个机器人,i=1、2、…、N,N为执行任务的机器人总数,ti表示第i个机器人需要执行的任务; 表示第i个机器人执行第
j个任务时的能量消耗, 表示第i个机器人执行任务间隔时所消耗的能量,k表示第i
个机器人总共执行的任务数量,n表示正在执行的第n个任务;
[0013] 所述最小化机器人的总能量消耗,是指最小化所有机器人在完成任务过程中的总能量消耗MTC,如下公式所示:
[0014]
[0015] 所述最小化每个机器人承担任务的标准差,是指最小化每个机器人承担的任务数之间的标准差MTSD,如下公式所示:
[0016] MTSD=std(T)
[0017] 其中,T表示由每个机器人承担任务的集合,std表示标准差公式;
[0018] 所述最大化每个机器人完成任务的任务优先级权重,是指机器人在完成任务时应该从高优先级的任务开始完成任务,最大化所有机器人完成任务时的优先级权重MRW,如下
公式所示:
[0019]
[0020] 其中,wij表示第i个机器人执行的第j个任务的权重;
[0021] 步骤2:获取仓库中的任务清单和机器人所处位置情况,统计仓库内货架空闲位置,为任务安排货物存放地点;获取仓库面积大小、机器人数量、机器人的初始地点、任务的
起始地点、任务的终止地点、任务种类以及任务的优先级信息,由此构成多机器人任务调度
模型的基础数据集;
[0022] 步骤3:通过对多机器人任务调度模型基础数据的整理,构建适用于多机器人调度问题的组合染色体模型,组合染色体模型的染色体个数由仓库内机器人数量和任务总数的
总和决定,组合染色体模型分为两部分,前一部分由任务序号组成,染色体数量由任务的总
数决定,任务序号的排列顺序表示机器人执行任务的顺序,后一部分由机器人承担的任务
数量构成,染色体数量由机器人的总数决定;
[0023] 步骤4:根据组合染色体模型确定决策变量的上下限,随机生成初始种群,并代入到多机器人调度问题转换的四个目标函数中,求得目标函数值,并将求得的目标函数值保
存在生成的初始种群的尾部;一个种群包含若干个体,每个个体包含一组随机生成的一组
任务序列和机器人承担任务数的决策变量以及决策变量通过目标函数计算得出的目标变
量;
[0024] 步骤5:对经过步骤4后生成的种群采用基于maximin函数的多目标优化算法进行求解,直到达到规定的迭代次数;
[0025] 步骤5.1:根据当前种群的若干个个体,通过交叉变异生成相同数量的个体,生成新种群,最后让生成的新种群与原种群合并得到合并种群;
[0026] 步骤5.1.1:将种群中的个体的决策变量分为两部分,任务序列部分和每个机器人承担的任务数量部分;
[0027] 步骤5.1.2:对任务序列部分进行顺序交叉操作;
[0028] 首先,在一对亲本染色体上随机选取两个基因作为两个染色体要保留的染色体结构的起始位置和结束位置,每个亲本染色体选择的基因位置相同;然后产生两个后代,起始
和结束基因位置之间的基因与亲本染色体一致;最后,找出前面随机选择出的基因在另一
个亲本中的位置,并将剩下的基因按顺序排列在上一步所产生的后代中;
[0029] 步骤5.1.3:对任务数量部分进行模拟二项式交叉,并保证交叉任务数量的和为任务序列部分的染色体长度;
[0030] 步骤5.1.4:对任务序列部分和每个机器人承担的任务数量部分这两部分的决策变量进行变异操作得到合并种群;对任务序列部分采用替换突变算子进行变异;对于每个
自主机器人分配的任务数量部分,采用高斯变异,并保证任务数量的总数不变;
[0031] 对任务序列部分采用替换突变算子进行变异的具体方法为:首先,从个体中随机抽取一段染色体基因;然后,在剩余的染色体基因中选择一个突变位点;最后,将选择出的
这段染色体基因插入到突变位点,形成一串新的基因;
[0032] 步骤5.2:对当前得到的合并种群进行环境选择,在环境选择中采用maximin函数和角度判别方法以及欧式距离判别方法将种群中的个体进行筛选,得到一个满足条件的种
群;
[0033] 步骤5.2.1:将进行环境选择的合并种群中个体的目标函数值进行归一化操作,目标函数值上限是1,下限是0;
[0034] 步骤5.2.2:对合并种群中个体的目标函数值进行相似度检测;首先将合并后种群作为原种群,并将其中的第一个个体加到新种群中,原种群中剩余个体依次与已加入到新
种群中的个体在每个目标函数上进行对位相减,如果在某一个目标函数上两者相减后的值
小于等于规定值阈值,则从原种群中删除该个体,否则将该个体加入到新种群中,通过逐一
排查的方式,选择出满足条件的个体,组成新种群;
[0035] 步骤5.2.3:通过maximin函数对新种群中的个体进行排序找到当前种群中非支配个体的数量,如果非支配个体数量大于环境选择最终要求的个体个数N,则执行步骤5.2.4,
如果非支配个体的数量小于或等于环境选择中最终要求的种群的个体数目N,则进行
5.2.5;
[0036] 步骤5.2.4:首先从所有非支配个体上取出每个目标上的最小值,组合形成一个理*
想点z ,将这个理想点作为选择新种群的第一个个体的参考点,通过maximin函数计算种群
中的所有非支配个体与理想点之间的maximin适应度值,选择适应度值最小的个体加入到
新种群中;然后以这个新种群作为参考点,通过计算未加入新种群的所有非支配个体与新
种群的maximin适应度值,逐一选择其中适应度值最小的个体加入新种群中,直到满足种群
大小N;如果适应度值最小的个体数量大于1,则执行5.2.6进行更进一步的选择;
[0037] 步骤5.2.5:首先将未满足新种群数量的非支配个体加入到新种群中,然后通过逐一选择的方式寻找剩余N‑ND个个体;再通过maximin函数找到当前剩余个体中与新种群的
maximin适应度值最小的个体,将其加入到新种群中,然后将该个体从剩余个体中去掉,直
到满足种群大小N;如果出现多个个体的适应度值相等,则执行步骤5.2.6进行进一步选择;
[0038] 步骤5.2.6:通过小生境技术从适应度值相等的多个个体中进一步选择个体加入到新种群;
[0039] 首先,通过欧氏距离公式对适应度值相等的个体进行计算,找出到目标空间坐标轴原点的欧氏距离最小的个体,如果欧氏距离最小的个体数量仍大于1,则比较这些个体到
新种群的角度,角度最小的个体被选出加入到新种群中;
[0040] 步骤5.3:重复执行步骤5.2直到达到设定的最大迭代次数;
[0041] 步骤6:当迭代次数达到设定的最大迭代次数时,优化结束,求解多机器人调度问题完成,最终种群中的决策变量部分为当前多机器人调度问题的解决方案。
[0042] 采用上述技术方案所产生的有益效果在于:本发明提供的基于maximin函数多目标优化算法的多机器人调度方法,针对智能仓库中存在的多机器人调度问题,利用maximin
函数和逐一选择策略,解决了传统多目标优化算法中的问题,与现有解决多机器人调度问
题的优化算法有明显的不同,可以更深入地寻找了更适合多机器人调度问题的方案,给管
理者提供更好的一组解决方案,使仓库管理者能够得到更适合于当前仓库情况和任务情况
的解决方案。

附图说明

[0043] 图1为本发明实施例提供的基于Pareto的多目标进化算法的一般流程图;
[0044] 图2为本发明实施例提供的基于maximin函数多目标优化算法的多机器人调度方法的流程图;
[0045] 图3为本发明实施例提供的组合染色体的示意图;
[0046] 图4为本发明实施例提供的顺序交叉的原理示意图;
[0047] 图5为本发明实施例提供的位移变异的原理示意图;
[0048] 图6为本发明实施例提供的对合并种群进行环境选择过程的流程图;
[0049] 图7为本发明实施例提供的采用maximin函数通过逐一选择的方式进行选解的过程示意图,其中,(a)表示采用原先maximin函数直接计算时得到的结果的示意图,(b)表示
采用改进后的方式优先从种群中选择了A,D两个个体的示意图,(c)表示进一步通过计算选
择了B个体加入到了新种群的示意图;
[0050] 图8为本发明实施例提供的小生境技术的流程图。

具体实施方式

[0051] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0052] 在现实世界中,优化问题通常是多属性的,也就是一般对多个目标的同时优化。多数情况下,被同时优化的多个目标之间是相互作用且相互冲突的。其中一个典型例子就是,
在企业生产活动中,产品质量与生产成本是两个相互冲突的目标,为达到总目标的最优化,
需要对多个相互冲突的子目标进行综合考虑,即对子目标进行折中。这种问题一般被称为
多目标优化问题。
[0053] 为了解决多目标优化问题,多目标进化优化算法MOEA被提出。在此之后,MOEA在各行各业得到了广泛应用,如环境与资源配置、电子与电气工程、通信与网络、机器人、航空航
天、交通运输、金融以及科学研究等。同时有许多多目标问题测试集被提出,它们被用来对
这些MOEAs测试,来衡量算法的效果。
[0054] 多目标优化算法的基础是进化算法,它的处理对象则是多目标优化问题(multi‑objective problem,MOP)。由于MOEA种类较多,所采用的方法和技术有较大的差异,难以用
一般框架来刻画,为了便于理解,本实施例给出一类基于Pareto的多目标进化算法的一般
流程,如图1所示。首先产生初始种群P,接着选择某个进化算法(如遗传算法)对P进行进化
操作(如交叉、变异和选择),得到新的进化种群R。然后采用某种策略构造P∪R的非支配集
NDset,(非支配解就是在当前种群中相对来说好的解),一般情况下在设计算法时已设置非
支配集的大小(如N),若当前非支配集的大小大于或小于N时,按照某种策略对解集进行调
整,调整时一方面满足NDset的大小要求,同时必须使NDset满足分布性要求。然后判断迭代
循环是否满足终止条件,若满足终止条件则循环结束,否则进行下一轮循环。在设计MOEA
时,一般用进化代数来控制算法运行。
[0055] 本实施例中,基于maximin函数多目标优化算法的多机器人调度方法,如图2所示,包括以下步骤:
[0056] 步骤1:将多机器人任务调度问题转化为四个目标函数:分别为最大化单个机器人的能量消耗、最小化机器人的总能量消耗、最小化每个机器人承担任务的标准差、最大化每
个机器人完成任务的任务优先级权重;
[0057] 所述最大化单个机器人的能量消耗,是指完成任务的机器人中的单个机器人的最大能量消耗MRC(max robot cost),如下公式所示:
[0058] MRC=Max{TC(ri,ti)}  (1)
[0059]
[0060] 其中,TC表示机器人执行任务消耗的成本(travel cost),ri表示第i个机器人,i=1、2、…、N,N为执行任务的机器人总数,ti表示第i个机器人需要执行的任务; 表示第i
个机器人执行第j个任务时的能量消耗, 表示第i个机器人执行任务间隔时所消耗
的能量,k表示第i个机器总共执行的任务数量,n表示正在执行的第n个任务;
[0061] 所述最小化机器人的总能量消耗,是指最小化所有机器人在完成任务过程中的总能量消耗MTC(min travel cost),如下公式所示:
[0062]
[0063] 所述最小化每个机器人承担任务的标准差,是指最小化每个机器人承担的任务数之间的标准差MTSD,如下公式所示:
[0064] MTSD=std(T)  (4)
[0065] 其中,T表示由每个机器人承担任务的集合,std表示标准差公式;
[0066] 所述最大化每个机器人完成任务的任务优先级权重,是指机器人在完成任务时应该从高优先级的任务开始完成任务,最大化所有机器人完成任务时的优先级权重MRW,如下
公式所示:
[0067]
[0068] 其中,wij表示第i个机器人执行的第j个任务的权重;
[0069] 步骤2:获取仓库中的任务清单和机器人所处位置情况,统计仓库内货架空闲位置,为任务安排货物存放地点;获取仓库面积大小、机器人数量、机器人的初始地点、任务的
起始地点、任务的终止地点、任务种类以及任务的优先级信息,由此构成多机器人任务调度
模型的基础数据集;
[0070] 本实施例中,将获取的信息通过数字形成的数组来表示,比如机器人的初始地点在仓库中(0,100)的坐标上,数据集中就会记录该机器人初始位置为[0,100],或者一个任
务的情况为从(5,66)货架的位置搬运货物到(80,5)的货架位置,任务优先级为9(优先级最
高为10)那么该任务在数据集中就会记录为[5,66,80,5,3,9],其中,3表示该任务是排第三
的任务,通过这种形式将仓库内的情况总结归纳为一个矩阵数组。
[0071] 步骤3:通过对多机器人任务调度模型基础数据的整理,构建适用于多机器人调度问题的组合染色体模型,组合染色体模型的染色体个数由仓库内机器人数量和任务总数的
总和决定,组合染色体模型分为两部分,前一部分由任务序号组成,染色体数量由任务的总
数决定,任务序号的排列顺序表示机器人执行任务的顺序,后一部分由机器人承担的任务
数量构成,染色体数量由机器人的总数决定,具体如图3所示,图中前面20个数字表示任务
编号,每个任务都包含任务的各种信息,后4个数字表示每个机器人承担的任务数,与前面
的20个数字相对应,如第一个机器人承担5个任务,就与最前面的5个数字对应,以此类推。
[0072] 步骤4:根据组合染色体模型确定决策变量的上下限,随机生成初始种群,并代入到多机器人调度问题转换的四个目标函数中,求得目标函数值,并将求得的目标函数值保
存在生成的初始种群的尾部;一个种群包含若干个体,每个个体包含一组随机生成的一组
任务序列和机器人承担任务数的决策变量以及决策变量通过目标函数计算得出的目标变
量;
[0073] 本实施例设定仓库中有100个任务,同时有10个机器人,该染色体的决策变量数目为110,同时要注意生成初始种群时任务数字不能重复,且10个机器人承担的任务总数必须
是100,然后将初始决策变量代入到目标函数中进行计算,求出目标函数值;
[0074] 步骤5:对经过步骤4后生成的种群采用基于maximin函数的多目标优化算法进行求解,直到达到规定的迭代次数;
[0075] 步骤5.1:根据当前种群的若干个个体,通过交叉变异生成相同数量的个体,生成新种群最后让生成的新种群与原种群合并得到合并种群;
[0076] 本实施例中,首先对前100个决策变量使用顺序交叉和单点变异方式生成一组新的决策变量,同时后10个决策变量采用模拟二进制交叉和高斯变异的方式生成决策变量,
生成的个体数目等于进行交叉变异操作的种群的个体数,生成新种群最后让生成的新种群
与原种群合并;
[0077] 步骤5.1.1:将种群中的个体的决策变量分为两部分,任务序列部分和每个机器人承担的任务数量部分;
[0078] 步骤5.1.2:对任务序列部分进行顺序交叉操作;
[0079] 首先,在一对亲本染色体(本发明指第i个机器人中代表要进行交叉变异的种群中的两个不同的个体,即父代染色体)上随机选取两个基因(即个体的一个决策变量的位置)
作为两个染色体要保留的染色体结构的起始位置和结束位置,每个亲本染色体选择的基因
位置相同;然后产生两个后代,起始和结束基因位置之间的基因与亲本染色体一致;最后,
找出前面随机选择出的基因在另一个亲本中的位置,并将剩下的基因按顺序排列在上一步
所产生的后代中,顺序交叉的原理如图4所示;
[0080] 步骤5.1.3:对任务数量部分进行模拟二项式交叉(SBX),即模拟二进制的交叉方式,并保证交叉任务数量的和为任务序列部分的染色体长度;
[0081] 步骤5.1.4:对任务序列部分和每个机器人承担的任务数量部分这两部分的决策变量进行变异操作得到合并种群;对任务序列部分采用替换突变算子进行变异;对于每个
自主机器人分配的任务数量部分,采用高斯变异,并保证任务数量的总数不变;
[0082] 对任务序列部分采用替换突变算子进行变异如图5所示,具体方法为:首先,从个体中随机抽取一段染色体基因;然后,在剩余的染色体基因中选择一个突变位点;最后,将
选择出的这段染色体基因插入到突变位点,形成一串新的基因;
[0083] 步骤5.2:对当前得到的合并种群进行环境选择,在环境选择中采用maximin函数和角度判别方法以及欧式距离判别方法将种群中的个体进行筛选,得到一个满足条件的种
群,如图6所示;
[0084] 步骤5.2.1:将进行环境选择的合并种群中个体的目标函数值进行归一化操作,目标函数值上限是1,下限是0;
[0085] 将个体的目标函数值进行归一化的公式如下所示:
[0086]
[0087] 其中,f'm(x)表示归一化后个体中的第m个目标的目标函数值, 表示第m个目标的最差点, 表示第m个目标的理想点,fm(x)表示归一化前第m个目标的目标函数值。
[0088] 步骤5.2.2:对合并种群中个体的目标函数值进行相似度检测;首先将合并后种群作为原种群,并将其中的第一个个体加到新种群中,原种群中剩余个体依次与已加入到新
种群中的个体在每个目标函数上进行对位相减,即两个个体的第一个目标函数值对应相
减,第二个函数目标值对应相减,以此类推,如果在某一个目标函数上两者相减后的值小于
等于规定值阈值0.001,则从原种群中删除该个体,否则将该个体加入到新种群中,通过逐
一排查的方式,选择出满足条件的个体,组成新种群;
[0089] 例如,如果一个种群中两个个体一共有三个目标,其中目标函数值分别为(5.01,6.525,100.12)和(4.52,6.524,99.98),两个个体在每个目标函数上进行对位相减后得到
(0.49,0.001,0.14),其中包含小于等于0.001的值,则从该种群中删除两个个体中后加入
的个体。
[0090] 步骤5.2.3:通过maximin函数对新种群中的个体进行排序找到当前种群中非支配个体的数量,如果非支配个体数量大于环境选择最终要求的个体个数N,则执行步骤5.2.4,
如果非支配个体的数量小于或等于环境选择中最终要求的种群的个体数目N,则进行
5.2.5;
[0091] maximin函数特性包括以下几点:
[0092] (1)如果个体的适应度值小于或等于0,意味着个体是非支配或者弱支配的,如果个体的适应度值大于0,意味着个体是被支配的。
[0093] (2)支配个体的maximin适应度值衡量了他们到非支配前沿的距离。
[0094] 根据特性1可以找到当前种群中的非支配解的数量,并以此作为找到种群中非支配解的依据。
[0095] 步骤5.2.4:首先从所有非支配个体上取出每个目标上的最小值,组合形成一个理*
想点z ,将这个理想点作为选择新种群的第一个个体的参考点,通过maximin函数计算种群
中的所有非支配个体与理想点之间的maximin适应度值,选择适应度值最小的个体加入到
新种群中;然后以这个新种群作为参考点,通过计算未加入新种群的所有非支配个体与新
种群的maximin适应度值,逐一选择其中适应度值最小的个体加入新种群中,直到满足种群
大小N;如果适应度值最小的个体数量大于1,则执行5.2.6进行更进一步的选择;
[0096] 以上过程可以进行举例,如图7所示,图中为一个种群,其包括A、B、C、D四个个体,首先通过公式(7)选出一个种群中的A,D两个个体加入新种群,然后通过公式(8)计算出个
体B的适应度值为‑1.5,个体C的适应度值为‑0.5,通过比较选择将个体B加入到新种群中,
在这个过程中,如果出现适应度值相等的情况,就通过小生境技术选择出更适合新种群的
个体,小生境技术具体见步骤5.2.6;
[0097]
[0098] fitnessi=maxj≠i,j∈ND(mink(fk(xi)‑fk(xj))  (8)
[0099] 其中,i表示个体,k表示个体的第k个目标,ND表示非支配个体的集合,f(x)表示目标函数, 表示第k个目标的理想点。
[0100] 步骤5.2.5:首先将未满足新种群数量的非支配个体加入到新种群中,然后通过逐一选择的方式寻找剩余N‑ND个个体(ND表示非支配个体的数量);再通过maximin函数找到
当前剩余个体中与新种群的maximin适应度值最小的个体,将其加入到新种群中,然后将该
个体从剩余个体中去掉,直到满足种群大小N;如果出现多个个体的适应度值相等,则执行
步骤5.2.6,通过小生境技术进行进一步选择;
[0101] 步骤5.2.6:通过小生境技术从适应度值相等的多个个体中进一步选择个体加入到新种群,如图8所示;
[0102] 首先,通过欧氏距离公式对适应度值相等的个体进行计算,找出到目标空间坐标轴原点的欧氏距离最小的个体,如果欧氏距离最小的个体数量仍大于1,则比较这些个体到
新种群的角度,角度最小的个体被选出加入到新种群中;
[0103] 首先将maximin适应度值相等的个体选择出来,然后通过公式(9)的欧式距离公式,计算每个个体到目标空间坐标轴原点的欧式距离,欧式距离越小,说明它离目标空间坐
标轴原点越近,它在目标空间中的收敛性就越强,选择到目标空间坐标轴原点欧氏距离最
小的个体到新种群中,如果在这个过程中仍存在一个以上的欧氏距离相等的个体,就通过
公式(10)将欧氏距离相等的个体与新种群中的个体计算这些个体到新种群的角度,与新种
群的角度大的个体意味着分布性更好,则选择角度大的个体到新种群中,通过这样两个公
式进行进一步的选择是小生境技术的主要过程。
[0104]
[0105]
[0106] 其中,公式5中的m表示第m个目标,M表示目标函数个数,公式6中的f(x)表示要计算角度的个体i,f(y)表示当前的新种群,arccos表示计算余弦角度。
[0107] 步骤5.3:重复执行步骤5.2直到达到设定的最大迭代次数;
[0108] 步骤6:当迭代次数达到设定的最大迭代次数时,优化结束,求解多机器人调度问题完成,最终种群中的决策变量部分为当前多机器人调度问题的解决方案,管理者可以在
这些方案中进行选择,根据偏好选择适合仓库当前情况的方案。
[0109] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同
替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范
围。