CN115952942A - 多目标巡检调度规划方法、装置、电子设备及存储介质 - Google Patents
多目标巡检调度规划方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115952942A CN115952942A CN202310232693.6A CN202310232693A CN115952942A CN 115952942 A CN115952942 A CN 115952942A CN 202310232693 A CN202310232693 A CN 202310232693A CN 115952942 A CN115952942 A CN 115952942A
- Authority
- CN
- China
- Prior art keywords
- chromosome
- inspection
- population
- robot
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本申请属于机器人控制技术领域,公开了一种多目标巡检调度规划方法、装置、电子设备及存储介质,通过采用群体智能的多目标进化算法对多个巡检机器人调度过程中存在的多目标复杂优化问题进行求解,以实现巡检任务的分配,能够对巡检机器人群体系统进行合理的优化分配调度以优化系统效率,而且不强依赖于机器人之间的实时通信协调,具有良好的适应性。
Description
技术领域
本申请涉及机器人控制技术领域,具体而言,涉及一种多目标巡检调度规划方法、装置、电子设备及存储介质。
背景技术
传统的人工巡检存在劳动强度大、巡检效率低、巡检不到位、巡检标准不统一等问题,很难做到客观、全面、准确的评判,给园区、设备的运行埋下安全隐患,而机器人基于更敏锐的动态感应,每次巡检具有定时、定点、定角度的程序化作业特色,因而,巡检安防工作正走向以人工智能技术为依托的“智能巡检”及“立体巡检”。用巡检机器人来代替巡检人员工作,不仅可以提高巡检的工作效率,还解决了巡检质量不高、手段单一的问题,保证了巡检到位率和及时性,大大提高了巡检的便利性。
然而,当系统中存在多台巡检机器人,考虑各巡检机器人执行不同任务的能力以及容错能力的不同,如何合理分配和调度巡检机器人,使得系统效率最优成为一个复杂的多目标优化问题。目前,解决该问题的方法包括基于博弈论的协商算法、任务分配的随机策略等,然而,这些方法通常强依赖于通信网络,需要机器人之间进行广泛协调,一旦有部分机器人发生故障,则会导致分配调度过程无法顺利进行。
发明内容
本申请的目的在于提供一种多目标巡检调度规划方法、装置、电子设备及存储介质,能够对巡检机器人群体系统进行合理的优化分配调度以优化系统效率,而且不强依赖于机器人之间的实时通信协调,具有良好的适应性。
第一方面,本申请提供了一种多目标巡检调度规划方法,用于向多个巡检机器人分配巡检任务,包括步骤:
A1.获取巡检区域的路网矢量图;
A2.根据所述路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;
A3.基于预设的编码规则,根据各所述巡检机器人的所述状态信息和所述目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;所述染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;
A4.执行至少一次:对最新的所述父代染色体种群中的各所述染色体编码进行交叉和变异操作以得到子代染色体种群,并从所述父代染色体种群和所述子代染色体种群中进行精英选取,生成新的父代染色体种群;
A5.提取最新的所述父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。
该多目标巡检调度规划方法,通过采用群体智能的多目标进化算法对多个巡检机器人调度过程中存在的多目标复杂优化问题进行求解,以实现巡检任务的分配,能够对巡检机器人群体系统进行合理的优化分配调度以优化系统效率,而且不强依赖于机器人之间的实时通信协调,具有良好的适应性。
具体地,所述路网矢量图包含多个路网节点的节点信息;所述节点信息包括本路网节点的节点号、本路网节点的节点坐标、后继节点的节点号以及本路网节点至所述后继节点的航向角。
具体地,所述状态信息包括所述巡检机器人的机器人编号、机器人坐标、当前的航向、当前位于所述巡检机器人前侧且与所述巡检机器人最近的所述路网节点的节点号、机器人运行状态和机器人参数;
所述机器人运行状态包括空闲状态和故障状态,所述空闲状态为表示空闲的第一状态或表示非空闲的第二状态,所述故障状态为表示故障的第三状态或表示非故障的第四状态;
所述机器人参数包括所述巡检机器人的最大移动速度和当前电量;
所述目标巡检点为待巡检的所述路网节点,所述目标巡检点集合为所述目标巡检点的所述节点号的集合。
优选地,所述可调度巡检机器人是指当前处于所述第一状态和第四状态且当前电量大于预设电量阈值的所述巡检机器人;
所述编码规则为:所述染色体编码包括第一部分和第二部分,所述第一部分为所有所述目标巡检点的节点号序列,所述第二部分包括各所述可调度巡检机器人所分配到的所述目标巡检点的巡检点数量数据;在所述第一部分中,分配于同一巡检机器人的所有所述目标巡检点的节点号在所述节点号序列中连续排序形成一个子序列段,且各所述子序列段在所述第一部分中的排序与对应的巡检机器人的所述巡检点数量数据在所述第二部分中的排序相同。
仅向空闲、非故障且电量足够的巡检机器人进行任务分配,可保证分配后的任务被全部完成的可靠性,从而提高任务分配结果的合理性;通过该编码规则可以有效地记录各可调度巡检机器人与分配到的目标巡检点的对应关系,便于后续进行快速解码得到分配结果。
优选地,步骤A3包括:
A301.根据各所述巡检机器人的所述状态信息获取各所述巡检机器人的所述机器人运行状态和所述机器人参数,以确定可调度巡检机器人;
A302.基于聚类算法,根据各所述目标巡检点的节点坐标,把所述目标巡检点集合划分为k个子集合, k为可调度巡检机器人的数量;
A303.根据各所述子集合的聚类中心与各所述可调度巡检机器人之间的距离,把各所述子集合分配给各所述可调度巡检机器人,并统计各所述子集合的目标巡检点的巡检点数量数据;
A304.循环执行以下步骤多次以生成预设数量的所述染色体编码,组成父代染色体种群:对各所述子集合中的目标巡检点的节点号进行随机排列后,合并为一个所述染色体编码的所述第一部分,并用各所述子集合的所述巡检点数量数据组成所述染色体编码的所述第二部分。
通过聚类可使相对距离较近的目标巡检点聚类为一个子集合,再根据各子集合的聚类中心与各所述可调度巡检机器人之间的距离,把各所述子集合分配给各所述可调度巡检机器人,有利于保证各可调度巡检机器人以较短的移动路径完成分配到的目标巡检点的巡检工作,从而有利于提高巡检效率。
优选地,所述对最新的所述父代染色体种群中的各所述染色体编码进行交叉和变异操作以得到子代染色体种群的步骤,包括循环执行多次的步骤:
B1.在最新的所述父代染色体种群中,选取并复制两条染色体编码,分别记为第一染色体编码和第二染色体编码;
B2.针对所述第一部分,随机选取两个第一交叉点,并针对所述第二部分,随机选取一个第二交叉点;
B3.删除所述第一染色体编码的所述第一部分中不在两个所述第一交叉点之间的片段,并在保证基因互斥性的条件下用所述第二染色体编码的所述第一部分填充所述第一染色体编码的所述第一部分中被删除的片段;根据所述第一染色体编码和所述第二染色体编码的所述第二交叉点的数值,对所述第一染色体编码的所述第二部分进行算术交叉处理;从而由所述第一染色体编码得到所述子代染色体种群的一个染色体编码;
B4.删除所述第二染色体编码的所述第一部分中不在两个所述第一交叉点之间的片段,并在保证基因互斥性的条件下用所述第一染色体编码的所述第一部分填充所述第二染色体编码的所述第一部分中被删除的片段;根据所述第一染色体编码和所述第二染色体编码的所述第二交叉点的数值,对所述第二染色体编码的所述第二部分进行算术交叉处理;从而由所述第二染色体编码得到所述子代染色体种群的一个染色体编码;
B5.在最新的所述父代染色体种群中,选取并复制一条染色体编码,记为第三染色体编码;
B6.针对所述第一部分,随机选取两个第一变异点,并针对所述第二部分,随机选取两个第二变异点;
B7.把所述第三染色体编码的所述第一部分中的两个所述第一变异点的位置互相交换;根据所述第三染色体编码的所述第二部分中的两个所述第二变异点的数值,对所述第三染色体编码的所述第二部分进行算术变异处理;从而由所述第三染色体编码得到所述子代染色体种群的一个染色体编码。
优选地,所述从所述父代染色体种群和所述子代染色体种群中进行精英选取,生成新的父代染色体种群的步骤包括:
C1.把所述父代染色体种群和所述子代染色体种群的集合记为组合种群;
C2.根据所述组合种群中的各染色体编码获取所有所述可调度巡检机器人的运行路径长度总和以及各所述可调度巡检机器人的运行时间中的最大值,分别记为全局路径长度和最长运行时间;
C3.以全局路径长度最小化和最长运行时间最小化为目标,对所述组合种群进行快速非支配排序处理,得到多个依次排序的非支配集合;
C4.根据各所述非支配集合的排序,并考虑各所述非支配集合中的各染色体编码的拥挤度,从各所述非支配集合中选取精英染色体编码,组成规模与所述父代染色体种群的规模相同的新种群,作为新的父代染色体种群。
第二方面,本申请提供了一种多目标巡检调度规划装置,用于向多个巡检机器人分配巡检任务,包括:
第一获取模块,用于获取巡检区域的路网矢量图;
第二获取模块,用于根据所述路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;
第一生成模块,用于基于预设的编码规则,根据各所述巡检机器人的所述状态信息和所述目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;所述染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;
第二生成模块,用于执行至少一次:对最新的所述父代染色体种群中的各所述染色体编码进行交叉和变异操作以得到子代染色体种群,并从所述父代染色体种群和所述子代染色体种群中进行精英选取,生成新的父代染色体种群;
分配模块,用于提取最新的所述父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。
该多目标巡检调度规划装置,通过采用群体智能的多目标进化算法对多个巡检机器人调度过程中存在的多目标复杂优化问题进行求解,以实现巡检任务的分配,能够对巡检机器人群体系统进行合理的优化分配调度以优化系统效率,而且不强依赖于机器人之间的实时通信协调,具有良好的适应性。
第三方面,本申请提供了一种电子设备,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如前文所述多目标巡检调度规划方法中的步骤。
第四方面,本申请提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如前文所述多目标巡检调度规划方法中的步骤。
有益效果:
本申请提供的多目标巡检调度规划方法、装置、电子设备及存储介质,通过采用群体智能的多目标进化算法对多个巡检机器人调度过程中存在的多目标复杂优化问题进行求解,以实现巡检任务的分配,能够对巡检机器人群体系统进行合理的优化分配调度以优化系统效率,而且不强依赖于机器人之间的实时通信协调,具有良好的适应性。
附图说明
图1为本申请实施例提供的多目标巡检调度规划方法的流程图。
图2为本申请实施例提供的多目标巡检调度规划装置的结构示意图。
图3为本申请实施例提供的电子设备的结构示意图。
图4为染色体编码的示意图。
标号说明:1、第一获取模块;2、第二获取模块;3、第一生成模块;4、第二生成模块;5、分配模块;301、处理器;302、存储器;303、通信总线。
实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请一些实施例中的一种多目标巡检调度规划方法,用于向多个巡检机器人分配巡检任务,包括步骤:
A1.获取巡检区域的路网矢量图;
A2.根据该路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;
A3.基于预设的编码规则,根据各巡检机器人的状态信息和目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;
A4.执行至少一次:对最新的父代染色体种群中的各染色体编码进行交叉和变异操作以得到子代染色体种群,并从父代染色体种群和子代染色体种群中进行精英选取,生成新的父代染色体种群;
A5.提取最新的父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。
该多目标巡检调度规划方法,通过采用群体智能的多目标进化算法对多个巡检机器人调度过程中存在的多目标复杂优化问题进行求解,以实现巡检任务的分配,能够对巡检机器人群体系统进行合理的优化分配调度以优化系统效率,而且不强依赖于机器人之间的实时通信协调,具有良好的适应性。
具体地,路网矢量图是由路网节点构成的集合,路网矢量图包含多个路网节点的节点信息;节点信息包括本路网节点的节点号、本路网节点的节点坐标、后继节点的节点号以及本路网节点至后继节点的航向角。
其中,节点坐标可以为二维坐标或三维坐标;一路网节点的后继节点,是指以该路网节点为源节点,从该源节点指向的下一个路网节点。例如,路网节点的节点信息可表示为:
具体地,状态信息包括巡检机器人的机器人编号、机器人坐标、当前的航向、当前位于巡检机器人前侧且与巡检机器人最近的路网节点的节点号(位于巡检机器人前侧的路网节点是指满足以下条件的路网节点:从该巡检机器人当前位置指向该路网节点在该巡检机器人当前航向直线上的投影点的矢量的方向,与该巡检机器人当前航向相同;该位于巡检机器人前侧且与巡检机器人最近的路网节点可根据路网矢量图确定,进而可从该路网节点的节点信息中提取对应的节点号)、机器人运行状态和机器人参数;
机器人运行状态包括空闲状态和故障状态,空闲状态为表示空闲的第一状态或表示非空闲的第二状态,故障状态为表示故障的第三状态或表示非故障的第四状态;
机器人参数包括巡检机器人的最大移动速度(即能够达到的最大速度)和当前电量(即剩余电量);
目标巡检点为待巡检的路网节点,目标巡检点集合为目标巡检点的节点号的集合。
例如, 状态信息可表示为:
其中,为第i个巡检机器人的状态信息,为该巡检机器人的机器人编号,为该巡检机器人的机器人坐标,为机器人坐标的三个坐标值,为该巡检机器人当前的航向,该航向基于四元素表示,分别为基于四元素表示该航向时的四个元素值,为当前位于该巡检机器人前侧且与巡检机器人最近的路网节点的节点号,为该巡检机器人的机器人运行状态(可包括两个状态值,分别为空闲状态值和故障状态值,空闲状态值用于表示是否空闲,故障状态值用于表示是否故障,例如,空闲状态值为0表示不空闲,为1表示空闲,故障状态值为0表示故障,为1表示不故障,但不限于此),为该巡检机器人的机器人参数,为最大移动速度,为当前电量。
优选地,可调度巡检机器人是指当前处于第一状态和第四状态且当前电量大于预设电量阈值的巡检机器人(例如,空闲状态值为1,故障状态值为1且当前电量大于预设电量阈值的巡检机器人,其中,预设电量阈值可根据实际需要设置);
编码规则为:染色体编码包括第一部分和第二部分,第一部分为所有目标巡检点的节点号序列,第二部分包括各可调度巡检机器人所分配到的目标巡检点的巡检点数量数据;在第一部分中,分配于同一巡检机器人的所有目标巡检点的节点号在节点号序列中连续排序形成一个子序列段,且各子序列段在第一部分中的排序与对应的巡检机器人的巡检点数量数据在第二部分中的排序相同。
例如图4所示的染色体编码,其中Robot_1、Robot_2、Robot_3分别代表三个巡检机器人,在第一部分总共包括11个目标巡检点的节点号,第二部分包括三个巡检机器人的巡检点数量数据,其中,第一个巡检机器人的巡检点数量数据为3,对应的目标巡检点的节点号为第一部分中的第1至第3个节点号;第二个巡检机器人的巡检点数量数据为4,对应的目标巡检点的节点号为第一部分中的第4至第7个节点号;第三个巡检机器人的巡检点数量数据为4,对应的目标巡检点的节点号为第一部分中的第8至第11个节点号。
其中,在第二部分中,各可调度巡检机器人的巡检点数量数据的排序,可依据各可调度巡检机器人的机器人编号的前后顺序进行排序(在生成染色体编码时,可先确定各可调度巡检机器人的巡检点数量数据在第二部分中的排序,然后根据该排序结果确定第一部分中各子序列段的排序),但不限于此。
此处,仅向空闲、非故障且电量足够的巡检机器人进行任务分配,可保证分配后的任务被全部完成的可靠性,从而提高任务分配结果的合理性;通过该编码规则可以有效地记录各可调度巡检机器人与分配到的目标巡检点的对应关系,便于后续进行快速解码得到分配结果。
优选地,步骤A3包括:
A301.根据各巡检机器人的状态信息获取各巡检机器人的机器人运行状态和机器人参数,以确定可调度巡检机器人;
A302.基于聚类算法,根据各目标巡检点的节点坐标,把目标巡检点集合划分为k个子集合, k为可调度巡检机器人的数量;
A303.根据各子集合的聚类中心与各可调度巡检机器人之间的距离,把各子集合分配给各可调度巡检机器人,并统计各子集合的目标巡检点的巡检点数量数据;
A304.循环执行以下步骤多次以生成预设数量的染色体编码,组成父代染色体种群:对各子集合中的目标巡检点的节点号进行随机排列后,合并为一个染色体编码的第一部分,并用各子集合的巡检点数量数据组成染色体编码的第二部分。
通过聚类可使相对距离较近的目标巡检点聚类为一个子集合,再根据各子集合的聚类中心与各可调度巡检机器人之间的距离,把各子集合分配给各可调度巡检机器人,有利于保证各可调度巡检机器人以较短的移动路径完成分配到的目标巡检点的巡检工作,从而有利于提高巡检效率。另外,利用聚类算法,对可调度巡检机器人附近的巡检任务进行聚类分析生成初始种群,可加快算法的收敛性,能够更快地得到最优的任务分配方案。
例如,步骤A301中,可提取巡检机器人的状态信息中的中的空闲状态值和故障状态值,并提取巡检机器人的状态信息中的中的当前电量,若空闲状态值为1且故障状态值为1,并且当前电量大于预设电量阈值(可根据实际需要设置),则判定该巡检机器人为可调度巡检机器人。
其中,步骤A302中,可基于k-means聚类算法对各目标巡检点的节点坐标进行聚类,以把目标巡检点集合划分为k个子集合;其中k-means聚类算法为现有技术,此处不对其进行详述。在实际应用中,不限于使用k-means聚类算法对各目标巡检点的节点坐标进行聚类,还可根据实际需要选用现有技术中的其它聚类算法进行聚类处理。
其中,各子集合的聚类中心可在聚类处理过程中得到;步骤A303中,可依次把各子集合分配给与本子集合之间的距离最小的可调度巡检机器人;具体地,可根据各子集合的大小对各子集合进行降序排序(即子集合包含的目标巡检点数量越多则排序越靠前),用所有可调度巡检机器人组成候选机器人集合,按各子集合的排序结果,依次以各子集合为目标子集,计算目标子集的聚类中心与候选机器人集合中未被选取的可调度巡检机器人的距离,并选取该距离最小的可调度巡检机器人与该目标子集配对,直到所有子集合均配对完毕,最后把各子集合分配给配对的可调度巡检机器人。
其中,步骤A304中,预设数量GroupSize可根据实际需要设置。在步骤A304中可循环执行GroupSize次染色体编码的生成操作,从而得到GroupSize个染色体编码,组成父代染色体种群;也可循环执行多于GroupSize次染色体编码的生成操作,从而得到多个染色体编码,再从中选取GroupSize个染色体编码以组成父代染色体种群。
例如图4所示的染色体编码中,第一部分中的第1至第3个节点号、第4至第7个节点号、第8至第11个节点号分别为三个子集合的目标巡检点的节点号,在图中,第1至第3个节点号(279、875、547)的排序、第4至第7个节点号(1001、1305、1510、1240)的排序、第8至第11个节点号(9、700、100、1870)的排序均是随机排列的结果。
需要说明的是,对子集合的目标巡检点的节点号进行随机排列的排序结果,实际上代表了巡检机器人在进行巡检时对各目标巡检点的巡检次序,会影响巡检机器人的移动路径和执行任务的耗时;因此,不同排序的染色体编码实际上代表了巡检机器人对同一子集合的目标巡检点的不同巡检路径方案。
其中,步骤A4中的执行操作的次数可以是一次或多次,具体可根据实际需要设置;对于第一次执行操作,最新的父代染色体种群即为步骤A3得到的父代染色体种群,对于后续的操作,最新的父代染色体种群为上一次执行操作生成的新的父代染色体种群。
在一些实施方式中,步骤A4中,对最新的父代染色体种群中的各染色体编码进行交叉和变异操作以得到子代染色体种群的步骤,包括循环执行多次的步骤:
B1.在最新的父代染色体种群中,选取并复制两条染色体编码,分别记为第一染色体编码和第二染色体编码(后续是对复制出的两条染色体编码进行交叉操作,因此不会改变父代染色体种群中的染色体编码);
B2.针对第一部分,随机选取两个第一交叉点,并针对第二部分,随机选取一个第二交叉点;
B3.删除第一染色体编码的第一部分中不在两个第一交叉点之间的片段,并在保证基因互斥性的条件下用第二染色体编码的第一部分填充第一染色体编码的第一部分中被删除的片段;根据第一染色体编码和第二染色体编码的第二交叉点的数值,对第一染色体编码的第二部分进行算术交叉处理;从而由第一染色体编码得到子代染色体种群的一个染色体编码;
B4.删除第二染色体编码的第一部分中不在两个第一交叉点之间的片段,并在保证基因互斥性的条件下用第一染色体编码的第一部分填充第二染色体编码的第一部分中被删除的片段;根据第一染色体编码和第二染色体编码的第二交叉点的数值,对第二染色体编码的第二部分进行算术交叉处理;从而由第二染色体编码得到子代染色体种群的一个染色体编码;
B5.在最新的父代染色体种群中,选取并复制一条染色体编码,记为第三染色体编码(后续是对复制出的第三染色体编码进行变异操作,因此不会改变父代染色体种群中的染色体编码);
B6.针对第一部分,随机选取两个第一变异点,并针对第二部分,随机选取两个第二变异点;
B7.把第三染色体编码的第一部分中的两个第一变异点的位置互相交换;根据第三染色体编码的第二部分中的两个第二变异点的数值,对第三染色体编码的第二部分进行算术变异处理;从而由第三染色体编码得到子代染色体种群的一个染色体编码。
其中,步骤B1中,选取两条染色体编码的过程包括:
在0-1的范围内随机生成一个随机数;
若该随机数不小于预设的交叉概率阈值(可根据实际需要设置),则根据各染色体编码在最新的父代染色体种群中的排序序号(该排序序号可以是以任意方式排序的排序序号),把该随机数分配给当前未分配到交叉概率且排序序号最靠前的染色体编码,作为该染色体编码的交叉概率;
若该随机数小于预设的交叉概率阈值,则根据各染色体编码在最新的父代染色体种群中的排序序号,选取当前未分配到交叉概率且排序序号前二的两个染色体编码作为复制目标,并把该随机数分配给该两个染色体编码,作为两个染色体编码的交叉概率。
例如,两个第一交叉点分别为第一部分中的第c1个点(简称c1点)和第c2个点(简称c2点),在步骤B3中,保留第一染色体编码中第一部分的c1点到c2点的部分(可包含或不包含c1点和c2点,以下把该部分称为保留部分),并删除第一部分中的其他部分,然后在保证基因互斥性(即保证填充后的第一染色体编码的第一部分不存在重复的节点号,且第一部分的节点号总数量与删除处理前的节点号总数量相同)的条件下用第二染色体编码的第一部分填充第一染色体编码的第一部分中被删除的片段。具体地,在进行填充时,可执行:提取第二染色体编码的第一部分,并从中删除第一染色体编码的保留部分所包含的节点号,得到可填编码(即删除第一染色体编码的保留部分所包含的节点号后,剩余的节点号组成的编码),然后用可填编码的第1至第c1q个节点号(对于保留部分包含c1点的情况,c1q=c1-1,对于保留部分不包含c1点的情况,c1q=c1)填充第一染色体编码的第一部分位于保留部分前的片段,并用可填编码的剩余的部分填充第一染色体编码的第一部分位于保留部分后的片段。
例如,第二交叉点为第二部分中的第ck个点(简称ck点),在步骤B3中,根据第一染色体编码和第二染色体编码的第二交叉点的数值(例如图4中的染色体编码,其第二部分包括三个点,第一个点的数值为3、第二个点的数值为4、第三个点的数值为4,假设第二部分中的第二个点为第二交叉点,则该染色体编码的第二交叉点的数值为4),对第一染色体编码的第二部分进行算术交叉处理的步骤包括:
根据以下公式计算第一染色体编码的ck点的新数值:
然后,用第一染色体编码的ck点的新数值替换该ck点的原数值;
接着根据第一染色体编码的ck点的原数值与新数值之间的偏差(即减去),对第一染色体编码的第二部分的其它点的数值进行调整,以保证调整后的第一染色体编码的第二部分所有点的数值总和等于第一染色体编码的第一部分的节点总数。具体的调整方法可根据实际需要设置,例如:若第一染色体编码的ck点的原数值与新数值之间的偏差为正,则采用循环方式,从前到后依次对第一染色体编码的第二部分除ck点以外的点的数值加1,直到第一染色体编码的第二部分除ck点以外的点增加的总数值(该总数值为正)等于第一染色体编码的ck点的原数值与新数值之间的偏差;若第一染色体编码的ck点的原数值与新数值之间的偏差为负,则采用循环方式,从前到后依次对第一染色体编码的第二部分除ck点以外的点的数值减1,直到第一染色体编码的第二部分除ck点以外的点增加的总数值(该总数值为负)等于第一染色体编码的ck点的原数值与新数值之间的偏差;但调整方法不限于此。需要说明的是,第二部分中各可调度巡检机器人的巡检点数量数据的排序不会因为对第二部分进行算术交叉处理而变化,例如,第二部分的第一个巡检点数量数据为巡检机器人Robot_1的巡检点数量数据、第二个巡检点数量数据为巡检机器人Robot_2的巡检点数量数据、第三个巡检点数量数据为巡检机器人Robot_3的巡检点数量数据,则对第二部分进行算术交叉处理后,即使各个巡检点数量数据发生变化,第一个巡检点数量数据依然为巡检机器人Robot_1的巡检点数量数据、第二个巡检点数量数据依然为巡检机器人Robot_2的巡检点数量数据、第三个巡检点数量数据依然为巡检机器人Robot_3的巡检点数量数据,进而,若在进行算术交叉处理后各巡检点数量数据发生变化,则在第一部分中对应各可调度巡检机器人的子序列段对应的重新划分,例如,在进行算术交叉处理前,第二部分中的各巡检点数量数据分别为3、4、4,巡检机器人Robot_1的子序列段为第一部分中第1-3个节点号、巡检机器人Robot_2的子序列段为第一部分中第4-7个节点号、巡检机器人Robot_3的子序列段为第一部分中第8-11个节点号,在进行算术交叉处理后,第二部分中的各巡检点数量数据变为4、3、4,则巡检机器人Robot_1的子序列段变为为第一部分中第1-4个节点号、巡检机器人Robot_2的子序列段变为第一部分中第5-7个节点号、巡检机器人Robot_3的子序列段变为第一部分中第8-11个节点号。
步骤B4中对第二染色体编码的处理过程可参考步骤B3中对第一染色体编码的处理过程,其中,公式(1)变为:
步骤B5中,选取染色体编码的过程包括:
在0-1的范围内随机生成一个随机数;
根据各染色体编码在最新的父代染色体种群中的排序序号,把该随机数分配给当前未分配到变异概率且排序序号最靠前的染色体编码,作为该染色体编码的变异概率;
若该随机数小于预设的交叉概率阈值,则选取当前未分配到变异概率且排序序号最靠前的染色体编码作为复制目标。
例如,两个第一变异点分别为第一部分中的第n1个点(简称n1点)和第n2个点(简称n2点),第二变异点分别为第二部分中的第m1个点(简称m1点)和第m2个点(简称m2点),在步骤B7中,把第三染色体编码的第一部分中的n1点和n2点的位置对调,并根据以下公式对第三染色体编码的第二部分进行算术变异处理:
接着根据第三染色体编码的m1点和m2点的原数值之和与m1点和m2点的新数值之和之间的偏差(即与之和减去与之和,以下把该偏差称为第一偏差),对第三染色体编码的第二部分的其它点的数值进行调整,以保证调整后的第三染色体编码的第二部分所有点的数值总和等于第三染色体编码的第一部分的节点总数。具体的调整方法可根据实际需要设置,例如:若第一偏差为正,则采用循环方式,从前到后依次对第一染色体编码的第二部分除m1点和m2点以外的点的数值加1,直到第三染色体编码的第二部分除m1点和m2点以外的点增加的总数值(该总数值为正)等于该第一偏差;若该第一偏差为负,则采用循环方式,从前到后依次对第三染色体编码的第二部分除m1点和m2点以外的点的数值减1,直到第三染色体编码的第二部分除m1点和m2点以外的点增加的总数值(该总数值为负)等于该第一偏差;但调整方法不限于此。需要说明的是,第二部分中各可调度巡检机器人的巡检点数量数据的排序不会因为对第二部分进行算术变异处理而变化,例如,第二部分的第一个巡检点数量数据为巡检机器人Robot_1的巡检点数量数据、第二个巡检点数量数据为巡检机器人Robot_2的巡检点数量数据、第三个巡检点数量数据为巡检机器人Robot_3的巡检点数量数据,则对第二部分进行算术变异处理后,即使各个巡检点数量数据发生变化,第一个巡检点数量数据依然为巡检机器人Robot_1的巡检点数量数据、第二个巡检点数量数据依然为巡检机器人Robot_2的巡检点数量数据、第三个巡检点数量数据依然为巡检机器人Robot_3的巡检点数量数据,进而,若在进行算术变异处理后各巡检点数量数据发生变化,则在第一部分中对应各可调度巡检机器人的子序列段对应的重新划分,例如,在进行算术变异处理前,第二部分中的各巡检点数量数据分别为3、4、4,巡检机器人Robot_1的子序列段为第一部分中第1-3个节点号、巡检机器人Robot_2的子序列段为第一部分中第4-7个节点号、巡检机器人Robot_3的子序列段为第一部分中第8-11个节点号,在进行算术变异处理后,第二部分中的各巡检点数量数据变为4、3、4,则巡检机器人Robot_1的子序列段变为为第一部分中第1-4个节点号、巡检机器人Robot_2的子序列段变为第一部分中第5-7个节点号、巡检机器人Robot_3的子序列段变为第一部分中第8-11个节点号。
其中,步骤B1至B7的循环次数可根据实际需要设置,子代染色体种群的染色体编码数量可根据实际需要设置。在一些实施方式中,子代染色体种群的染色体编码数量与父代染色体种群的染色体编码数量相等,均为GroupSize;通过循环执行步骤B1至B7,保证得到的新染色体编码的数量不小于GroupSize,再从中选取GroupSize个组成子代染色体种群。
在一些实施方式中,步骤A4中,从父代染色体种群和子代染色体种群中进行精英选取,生成新的父代染色体种群的步骤包括:
C1.把父代染色体种群和子代染色体种群的集合记为组合种群;
C2.根据组合种群中的各染色体编码获取所有可调度巡检机器人的运行路径长度总和以及各可调度巡检机器人的运行时间中的最大值,分别记为全局路径长度和最长运行时间;
C3.以全局路径长度最小化和最长运行时间最小化为目标,对组合种群进行快速非支配排序处理,得到多个依次排序的非支配集合;
C4.根据各非支配集合的排序,并考虑各非支配集合中的各染色体编码的拥挤度,从各非支配集合中选取精英染色体编码,组成规模与父代染色体种群的规模相同的新种群,作为新的父代染色体种群。
其中,步骤C2包括:
依次以组合种群中的各染色体编码作为目标编码,并针对各目标编码执行:
从目标编码的第一部分中提取对应各可调度巡检机器人的编码片段;
以当前位于可调度巡检机器人前侧且与该可调度巡检机器人最近的路网节点作为路径起点,利用A*算法规划从该路径起点依次经过对应编码片段的各目标巡检点的子路径,使该子路径按对应编码片段的各目标巡检点的排序依次经过各目标巡检点;
计算各可调度巡检机器人的子路径的长度;
计算所有可调度巡检机器人的子路径的长度之和,得到全局路径长度;
根据以下公式计算各可调度巡检机器人的运行时间:
提取各可调度巡检机器人的运行时间的最大值作为最长运行时间。
针对组合种群中的每个染色体编码均通过上述过程得到一个全局路径长度和一个最长运行时间。
步骤C3中,以全局路径长度最小化和最长运行时间最小化为目标,从组合种群S中找出第一个非支配集合F1(寻找非支配集合的具体过程为现有技术,此处不对其进行详述),然后从组合种群S中删除非支配集合F1包含的个体(指染色体编码);接着以全局路径长度最小化和最长运行时间最小化为目标,再从组合种群S中找出第二个非支配集合F2,然后从组合种群S中删除非支配集合F2包含的个体;以此类推,直到组合种群S为空,从而得到依次排序的非支配集合F1、F2…Fn,n为非支配集合的总个数。
步骤C4包括:
若第一个非支配集合F1的规模(指所包含的染色体编码的数量)等于父代染色体种群的规模(GroupSize),则以第一个非支配集合的所有染色体编码作为精英染色体编码,组成新的父代染色体种群;
若第一个非支配集合F1的规模大于父代染色体种群的规模,则计算第一个非支配集合F1中各染色体编码的拥挤度,并根据拥挤度对第一个非支配集合F1中各染色体编码进行降序排序,按排序结果选取前GroupSize个染色体编码作为精英染色体编码,组成新的父代染色体种群;
若在第一个非支配集合F1之后存在一个目标非支配集合,使该目标非支配集合前的所有非支配集合以及该目标非支配集合的染色体编码总数量等于父代染色体种群的规模,则以该目标非支配集合前的所有非支配集合以及该目标非支配集合的所有染色体编码作为精英染色体编码,组成新的父代染色体种群;
若在第一个非支配集合F1之后存在一个目标非支配集合,使该目标非支配集合前的所有非支配集合的染色体编码总数量小于父代染色体种群的规模,且该目标非支配集合前的所有非支配集合以及该目标非支配集合的染色体编码总数量大于父代染色体种群的规模,则计算该目标非支配集合中各染色体编码的拥挤度,并根据拥挤度对该目标非支配集合中各染色体编码进行降序排序,最后选取该目标非支配集合前的所有非支配集合的全部染色体编码作为精英染色体编码,并按排序结果从该目标非支配集合选取排序在前的部分染色体编码作为精英染色体编码,得到GroupSize个精英染色体编码以组成新的父代染色体种群。
其中,拥挤度是指非支配集合中的染色体编码按其中一个目标函数进行排序(例如按全局路径长度进行升序排序,或按最长运行时间进行升序排序)时,一染色体编码周围的染色体编码密度,可用以下公式表示:
其中, 为非支配集合中第I个染色体编码的拥挤度,为非支配集合中第2个染色体编码的拥挤度,为非支配集合中第P-1个染色体编码的拥挤度,P为非支配集合的染色体编码总个数,M为目标函数的个数,此处,M=2(两个目标函数分别为全局路径长度最小化函数和最长运行时间最小化函数),为与第j个目标函数相关的染色体编码函数值,为非支配集合中第I+1个染色体编码与第j个目标函数相关的染色体编码函数值, 为非支配集合中第I-1个染色体编码与第j个目标函数相关的染色体编码函数值。例如,若第j个目标函数为全局路径长度最小化函数,则为全局路径长度,非支配集合中第I+1个染色体编码的全局路径长度,为非支配集合中第I-1个染色体编码的全局路径长度;若第j个目标函数为最长运行时间最小化函数,则为最长运行时间,非支配集合中第I+1个染色体编码的最长运行时间,为非支配集合中第I-1个染色体编码的最长运行时间。
实际上,采用非支配集合的排序并基于拥挤度来选取精英染色体编码,有利于提高算法的收敛速度,有利于父代染色体种群更快地迭代更新至最优。
步骤A5中,可计算最新的父代染色体种群中各染色体编码的优劣度,然后以优劣度最高的染色体编码作为最优染色体编码,并对该最优染色体编码进行解码(具体根据编码规则进行反向解码),得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。其中,可根据以下公式来计算各染色体编码的优劣度:
其中, 为最新的父代染色体种群中第J个染色体编码的优劣度,、为两个预设的加权系数, 为最新的父代染色体种群中第J个染色体编码的全局路径长度, 为最新的父代染色体种群中第J个染色体编码的最长运行时间。但优劣度的计算方式不限于此。
由上可知,该多目标巡检调度规划方法,通过获取巡检区域的路网矢量图;根据该路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;基于预设的编码规则,根据各巡检机器人的状态信息和目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;执行至少一次:对最新的父代染色体种群中的各染色体编码进行交叉和变异操作以得到子代染色体种群,并从父代染色体种群和子代染色体种群中进行精英选取,生成新的父代染色体种群;提取最新的父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列;从而,能够对巡检机器人群体系统进行合理的优化分配调度以优化系统效率,而且不强依赖于机器人之间的实时通信协调,具有良好的适应性。
参考图2,本申请提供了一种多目标巡检调度规划装置,用于向多个巡检机器人分配巡检任务,包括:
第一获取模块1,用于获取巡检区域的路网矢量图;
第二获取模块2,用于根据该路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;
第一生成模块3,用于基于预设的编码规则,根据各巡检机器人的状态信息和目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;
第二生成模块4,用于执行至少一次:对最新的父代染色体种群中的各染色体编码进行交叉和变异操作以得到子代染色体种群,并从父代染色体种群和子代染色体种群中进行精英选取,生成新的父代染色体种群;
分配模块5,用于提取最新的父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。
该多目标巡检调度规划装置,通过采用群体智能的多目标进化算法对多个巡检机器人调度过程中存在的多目标复杂优化问题进行求解,以实现巡检任务的分配,能够对巡检机器人群体系统进行合理的优化分配调度以优化系统效率,而且不强依赖于机器人之间的实时通信协调,具有良好的适应性。
具体地,路网矢量图是由路网节点构成的集合,路网矢量图包含多个路网节点的节点信息;节点信息包括本路网节点的节点号、本路网节点的节点坐标、后继节点的节点号以及本路网节点至后继节点的航向角。
其中,节点坐标可以为二维坐标或三维坐标;一路网节点的后继节点,是指以该路网节点为源节点,从该源节点指向的下一个路网节点。例如, 路网节点的节点信息可表示为:
具体地,状态信息包括巡检机器人的机器人编号、机器人坐标、当前的航向、当前位于巡检机器人前侧且与巡检机器人最近的路网节点的节点号(位于巡检机器人前侧的路网节点是指满足以下条件的路网节点:从该巡检机器人当前位置指向该路网节点在该巡检机器人当前航向直线上的投影点的矢量的方向,与该巡检机器人当前航向相同;该位于巡检机器人前侧且与巡检机器人最近的路网节点可根据路网矢量图确定,进而可从该路网节点的节点信息中提取对应的节点号)、机器人运行状态和机器人参数;
机器人运行状态包括空闲状态和故障状态,空闲状态为表示空闲的第一状态或表示非空闲的第二状态,故障状态为表示故障的第三状态或表示非故障的第四状态;
机器人参数包括巡检机器人的最大移动速度(即能够达到的最大速度)和当前电量(即剩余电量);
目标巡检点为待巡检的路网节点,目标巡检点集合为目标巡检点的节点号的集合。
例如, 状态信息可表示为:
其中,为第i个巡检机器人的状态信息,为该巡检机器人的机器人编号,为该巡检机器人的机器人坐标,为机器人坐标的三个坐标值,为该巡检机器人当前的航向,该航向基于四元素表示,分别为基于四元素表示该航向时的四个元素值,为当前位于该巡检机器人前侧且与巡检机器人最近的路网节点的节点号,为该巡检机器人的机器人运行状态(可包括两个状态值,分别为空闲状态值和故障状态值,空闲状态值用于表示是否空闲,故障状态值用于表示是否故障,例如,空闲状态值为0表示不空闲,为1表示空闲,故障状态值为0表示故障,为1表示不故障,但不限于此),为该巡检机器人的机器人参数,为最大移动速度,为当前电量。
优选地,可调度巡检机器人是指当前处于第一状态和第四状态且当前电量大于预设电量阈值的巡检机器人(例如,空闲状态值为1,故障状态值为1且当前电量大于预设电量阈值的巡检机器人,其中,预设电量阈值可根据实际需要设置);
编码规则为:染色体编码包括第一部分和第二部分,第一部分为所有目标巡检点的节点号序列,第二部分包括各可调度巡检机器人所分配到的目标巡检点的巡检点数量数据;在第一部分中,分配于同一巡检机器人的所有目标巡检点的节点号在节点号序列中连续排序形成一个子序列段,且各子序列段在第一部分中的排序与对应的巡检机器人的巡检点数量数据在第二部分中的排序相同。
例如图4所示的染色体编码,其中Robot_1、Robot_2、Robot_3分别代表三个巡检机器人,在第一部分总共包括11个目标巡检点的节点号,第二部分包括三个巡检机器人的巡检点数量数据,其中,第一个巡检机器人的巡检点数量数据为3,对应的目标巡检点的节点号为第一部分中的第1至第3个节点号;第二个巡检机器人的巡检点数量数据为4,对应的目标巡检点的节点号为第一部分中的第4至第7个节点号;第三个巡检机器人的巡检点数量数据为4,对应的目标巡检点的节点号为第一部分中的第8至第11个节点号。
其中,在第二部分中,各可调度巡检机器人的巡检点数量数据的排序,可依据各可调度巡检机器人的机器人编号的前后顺序进行排序(在生成染色体编码时,可先确定各可调度巡检机器人的巡检点数量数据在第二部分中的排序,然后根据该排序结果确定第一部分中各子序列段的排序),但不限于此。
此处,仅向空闲、非故障且电量足够的巡检机器人进行任务分配,可保证分配后的任务被全部完成的可靠性,从而提高任务分配结果的合理性;通过该编码规则可以有效地记录各可调度巡检机器人与分配到的目标巡检点的对应关系,便于后续进行快速解码得到分配结果。
优选地,第一生成模块3在基于预设的编码规则,根据各巡检机器人的状态信息和目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群的时候,执行:
根据各巡检机器人的状态信息获取各巡检机器人的机器人运行状态和机器人参数,以确定可调度巡检机器人;
基于聚类算法,根据各目标巡检点的节点坐标,把目标巡检点集合划分为k个子集合, k为可调度巡检机器人的数量;
根据各子集合的聚类中心与各可调度巡检机器人之间的距离,把各子集合分配给各可调度巡检机器人,并统计各子集合的目标巡检点的巡检点数量数据;
循环执行以下步骤多次以生成预设数量的染色体编码,组成父代染色体种群:对各子集合中的目标巡检点的节点号进行随机排列后,合并为一个染色体编码的第一部分,并用各子集合的巡检点数量数据组成染色体编码的第二部分。
通过聚类可使相对距离较近的目标巡检点聚类为一个子集合,再根据各子集合的聚类中心与各可调度巡检机器人之间的距离,把各子集合分配给各可调度巡检机器人,有利于保证各可调度巡检机器人以较短的移动路径完成分配到的目标巡检点的巡检工作,从而有利于提高巡检效率。另外,利用聚类算法,对可调度巡检机器人附近的巡检任务进行聚类分析生成初始种群,可加快算法的收敛性,能够更快地得到最优的任务分配方案。
例如,可提取巡检机器人的状态信息中的中的空闲状态值和故障状态值,并提取巡检机器人的状态信息中的中的当前电量,若空闲状态值为1且故障状态值为1,并且当前电量大于预设电量阈值(可根据实际需要设置),则判定该巡检机器人为可调度巡检机器人。
其中,可基于k-means聚类算法对各目标巡检点的节点坐标进行聚类,以把目标巡检点集合划分为k个子集合;其中k-means聚类算法为现有技术,此处不对其进行详述。在实际应用中,不限于使用k-means聚类算法对各目标巡检点的节点坐标进行聚类,还可根据实际需要选用现有技术中的其它聚类算法进行聚类处理。
其中,各子集合的聚类中心可在聚类处理过程中得到;可依次把各子集合分配给与本子集合之间的距离最小的可调度巡检机器人;具体地,可根据各子集合的大小对各子集合进行降序排序(即子集合包含的目标巡检点数量越多则排序越靠前),用所有可调度巡检机器人组成候选机器人集合,按各子集合的排序结果,依次以各子集合为目标子集,计算目标子集的聚类中心与候选机器人集合中未被选取的可调度巡检机器人的距离,并选取该距离最小的可调度巡检机器人与该目标子集配对,直到所有子集合均配对完毕,最后把各子集合分配给配对的可调度巡检机器人。
其中,预设数量GroupSize可根据实际需要设置。第一生成模块3可循环执行GroupSize次染色体编码的生成操作,从而得到GroupSize个染色体编码,组成父代染色体种群;也可循环执行多于GroupSize次染色体编码的生成操作,从而得到多个染色体编码,再从中选取GroupSize个染色体编码以组成父代染色体种群。
例如图4所示的染色体编码中,第一部分中的第1至第3个节点号、第4至第7个节点号、第8至第11个节点号分别为三个子集合的目标巡检点的节点号,在图中,第1至第3个节点号(279、875、547)的排序、第4至第7个节点号(1001、1305、1510、1240)的排序、第8至第11个节点号(9、700、100、1870)的排序均是随机排列的结果。
需要说明的是,对子集合的目标巡检点的节点号进行随机排列的排序结果,实际上代表了巡检机器人在进行巡检时对各目标巡检点的巡检次序,会影响巡检机器人的移动路径和执行任务的耗时;因此,不同排序的染色体编码实际上代表了巡检机器人对同一子集合的目标巡检点的不同巡检路径方案。
其中,第二生成模块4执行操作的次数可以是一次或多次,具体可根据实际需要设置;对于第一次执行操作,最新的父代染色体种群即为第一生成模块3得到的父代染色体种群,对于后续的操作,最新的父代染色体种群为上一次执行操作生成的新的父代染色体种群。
在一些实施方式中,第二生成模块4在对最新的父代染色体种群中的各染色体编码进行交叉和变异操作以得到子代染色体种群的时候,循环执行多次以下步骤:
B1.在最新的父代染色体种群中,选取并复制两条染色体编码,分别记为第一染色体编码和第二染色体编码(后续是对复制出的两条染色体编码进行交叉操作,因此不会改变父代染色体种群中的染色体编码);
B2.针对第一部分,随机选取两个第一交叉点,并针对第二部分,随机选取一个第二交叉点;
B3.删除第一染色体编码的第一部分中不在两个第一交叉点之间的片段,并在保证基因互斥性的条件下用第二染色体编码的第一部分填充第一染色体编码的第一部分中被删除的片段;根据第一染色体编码和第二染色体编码的第二交叉点的数值,对第一染色体编码的第二部分进行算术交叉处理;从而由第一染色体编码得到子代染色体种群的一个染色体编码;
B4.删除第二染色体编码的第一部分中不在两个第一交叉点之间的片段,并在保证基因互斥性的条件下用第一染色体编码的第一部分填充第二染色体编码的第一部分中被删除的片段;根据第一染色体编码和第二染色体编码的第二交叉点的数值,对第二染色体编码的第二部分进行算术交叉处理;从而由第二染色体编码得到子代染色体种群的一个染色体编码;
B5.在最新的父代染色体种群中,选取并复制一条染色体编码,记为第三染色体编码(后续是对复制出的第三染色体编码进行变异操作,因此不会改变父代染色体种群中的染色体编码);
B6.针对第一部分,随机选取两个第一变异点,并针对第二部分,随机选取两个第二变异点;
B7.把第三染色体编码的第一部分中的两个第一变异点的位置互相交换;根据第三染色体编码的第二部分中的两个第二变异点的数值,对第三染色体编码的第二部分进行算术变异处理;从而由第三染色体编码得到子代染色体种群的一个染色体编码。
其中,步骤B1中,选取两条染色体编码的过程包括:
在0-1的范围内随机生成一个随机数;
若该随机数不小于预设的交叉概率阈值(可根据实际需要设置),则根据各染色体编码在最新的父代染色体种群中的排序序号(该排序序号可以是以任意方式排序的排序序号),把该随机数分配给当前未分配到交叉概率且排序序号最靠前的染色体编码,作为该染色体编码的交叉概率;
若该随机数小于预设的交叉概率阈值,则根据各染色体编码在最新的父代染色体种群中的排序序号,选取当前未分配到交叉概率且排序序号前二的两个染色体编码作为复制目标,并把该随机数分配给该两个染色体编码,作为两个染色体编码的交叉概率。
例如,两个第一交叉点分别为第一部分中的第c1个点(简称c1点)和第c2个点(简称c2点),在步骤B3中,保留第一染色体编码中第一部分的c1点到c2点的部分(可包含或不包含c1点和c2点,以下把该部分称为保留部分),并删除第一部分中的其他部分,然后在保证基因互斥性(即保证填充后的第一染色体编码的第一部分不存在重复的节点号,且第一部分的节点号总数量与删除处理前的节点号总数量相同)的条件下用第二染色体编码的第一部分填充第一染色体编码的第一部分中被删除的片段。具体地,在进行填充时,可执行:提取第二染色体编码的第一部分,并从中删除第一染色体编码的保留部分所包含的节点号,得到可填编码(即删除第一染色体编码的保留部分所包含的节点号后,剩余的节点号组成的编码),然后用可填编码的第1至第c1q个节点号(对于保留部分包含c1点的情况,c1q=c1-1,对于保留部分不包含c1点的情况,c1q=c1)填充第一染色体编码的第一部分位于保留部分前的片段,并用可填编码的剩余的部分填充第一染色体编码的第一部分位于保留部分后的片段。
例如,第二交叉点为第二部分中的第ck个点(简称ck点),在步骤B3中,根据第一染色体编码和第二染色体编码的第二交叉点的数值(例如图4中的染色体编码,其第二部分包括三个点,第一个点的数值为3、第二个点的数值为4、第三个点的数值为4,假设第二部分中的第二个点为第二交叉点,则该染色体编码的第二交叉点的数值为4),对第一染色体编码的第二部分进行算术交叉处理的步骤包括:
根据以下公式计算第一染色体编码的ck点的新数值:
然后,用第一染色体编码的ck点的新数值替换该ck点的原数值;
接着根据第一染色体编码的ck点的原数值与新数值之间的偏差(即减去),对第一染色体编码的第二部分的其它点的数值进行调整,以保证调整后的第一染色体编码的第二部分所有点的数值总和等于第一染色体编码的第一部分的节点总数。具体的调整方法可根据实际需要设置,例如:若第一染色体编码的ck点的原数值与新数值之间的偏差为正,则采用循环方式,从前到后依次对第一染色体编码的第二部分除ck点以外的点的数值加1,直到第一染色体编码的第二部分除ck点以外的点增加的总数值(该总数值为正)等于第一染色体编码的ck点的原数值与新数值之间的偏差;若第一染色体编码的ck点的原数值与新数值之间的偏差为负,则采用循环方式,从前到后依次对第一染色体编码的第二部分除ck点以外的点的数值减1,直到第一染色体编码的第二部分除ck点以外的点增加的总数值(该总数值为负)等于第一染色体编码的ck点的原数值与新数值之间的偏差;但调整方法不限于此。需要说明的是,第二部分中各可调度巡检机器人的巡检点数量数据的排序不会因为对第二部分进行算术交叉处理而变化,例如,第二部分的第一个巡检点数量数据为巡检机器人Robot_1的巡检点数量数据、第二个巡检点数量数据为巡检机器人Robot_2的巡检点数量数据、第三个巡检点数量数据为巡检机器人Robot_3的巡检点数量数据,则对第二部分进行算术交叉处理后,即使各个巡检点数量数据发生变化,第一个巡检点数量数据依然为巡检机器人Robot_1的巡检点数量数据、第二个巡检点数量数据依然为巡检机器人Robot_2的巡检点数量数据、第三个巡检点数量数据依然为巡检机器人Robot_3的巡检点数量数据,进而,若在进行算术交叉处理后各巡检点数量数据发生变化,则在第一部分中对应各可调度巡检机器人的子序列段对应的重新划分,例如,在进行算术交叉处理前,第二部分中的各巡检点数量数据分别为3、4、4,巡检机器人Robot_1的子序列段为第一部分中第1-3个节点号、巡检机器人Robot_2的子序列段为第一部分中第4-7个节点号、巡检机器人Robot_3的子序列段为第一部分中第8-11个节点号,在进行算术交叉处理后,第二部分中的各巡检点数量数据变为4、3、4,则巡检机器人Robot_1的子序列段变为为第一部分中第1-4个节点号、巡检机器人Robot_2的子序列段变为第一部分中第5-7个节点号、巡检机器人Robot_3的子序列段变为第一部分中第8-11个节点号。
步骤B4中对第二染色体编码的处理过程可参考步骤B3中对第一染色体编码的处理过程,其中,公式(1)变为:
步骤B5中,选取染色体编码的过程包括:
在0-1的范围内随机生成一个随机数;
根据各染色体编码在最新的父代染色体种群中的排序序号,把该随机数分配给当前未分配到变异概率且排序序号最靠前的染色体编码,作为该染色体编码的变异概率;
若该随机数小于预设的交叉概率阈值,则选取当前未分配到变异概率且排序序号最靠前的染色体编码作为复制目标。
例如,两个第一变异点分别为第一部分中的第n1个点(简称n1点)和第n2个点(简称n2点),第二变异点分别为第二部分中的第m1个点(简称m1点)和第m2个点(简称m2点),在步骤B7中,把第三染色体编码的第一部分中的n1点和n2点的位置对调,并根据以下公式对第三染色体编码的第二部分进行算术变异处理:
接着根据第三染色体编码的m1点和m2点的原数值之和与m1点和m2点的新数值之和之间的偏差(即与之和减去与之和,以下把该偏差称为第一偏差),对第三染色体编码的第二部分的其它点的数值进行调整,以保证调整后的第三染色体编码的第二部分所有点的数值总和等于第三染色体编码的第一部分的节点总数。具体的调整方法可根据实际需要设置,例如:若第一偏差为正,则采用循环方式,从前到后依次对第一染色体编码的第二部分除m1点和m2点以外的点的数值加1,直到第三染色体编码的第二部分除m1点和m2点以外的点增加的总数值(该总数值为正)等于该第一偏差;若该第一偏差为负,则采用循环方式,从前到后依次对第三染色体编码的第二部分除m1点和m2点以外的点的数值减1,直到第三染色体编码的第二部分除m1点和m2点以外的点增加的总数值(该总数值为负)等于该第一偏差;但调整方法不限于此。需要说明的是,第二部分中各可调度巡检机器人的巡检点数量数据的排序不会因为对第二部分进行算术变异处理而变化,例如,第二部分的第一个巡检点数量数据为巡检机器人Robot_1的巡检点数量数据、第二个巡检点数量数据为巡检机器人Robot_2的巡检点数量数据、第三个巡检点数量数据为巡检机器人Robot_3的巡检点数量数据,则对第二部分进行算术变异处理后,即使各个巡检点数量数据发生变化,第一个巡检点数量数据依然为巡检机器人Robot_1的巡检点数量数据、第二个巡检点数量数据依然为巡检机器人Robot_2的巡检点数量数据、第三个巡检点数量数据依然为巡检机器人Robot_3的巡检点数量数据,进而,若在进行算术变异处理后各巡检点数量数据发生变化,则在第一部分中对应各可调度巡检机器人的子序列段对应的重新划分,例如,在进行算术变异处理前,第二部分中的各巡检点数量数据分别为3、4、4,巡检机器人Robot_1的子序列段为第一部分中第1-3个节点号、巡检机器人Robot_2的子序列段为第一部分中第4-7个节点号、巡检机器人Robot_3的子序列段为第一部分中第8-11个节点号,在进行算术变异处理后,第二部分中的各巡检点数量数据变为4、3、4,则巡检机器人Robot_1的子序列段变为为第一部分中第1-4个节点号、巡检机器人Robot_2的子序列段变为第一部分中第5-7个节点号、巡检机器人Robot_3的子序列段变为第一部分中第8-11个节点号。
其中,步骤B1至B7的循环次数可根据实际需要设置,子代染色体种群的染色体编码数量可根据实际需要设置。在一些实施方式中,子代染色体种群的染色体编码数量与父代染色体种群的染色体编码数量相等,均为GroupSize;通过循环执行步骤B1至B7,保证得到的新染色体编码的数量不小于GroupSize,再从中选取GroupSize个组成子代染色体种群。
在一些实施方式中,第二生成模块4在从父代染色体种群和子代染色体种群中进行精英选取,生成新的父代染色体种群的时候,执行:
C1.把父代染色体种群和子代染色体种群的集合记为组合种群;
C2.根据组合种群中的各染色体编码获取所有可调度巡检机器人的运行路径长度总和以及各可调度巡检机器人的运行时间中的最大值,分别记为全局路径长度和最长运行时间;
C3.以全局路径长度最小化和最长运行时间最小化为目标,对组合种群进行快速非支配排序处理,得到多个依次排序的非支配集合;
C4.根据各非支配集合的排序,并考虑各非支配集合中的各染色体编码的拥挤度,从各非支配集合中选取精英染色体编码,组成规模与父代染色体种群的规模相同的新种群,作为新的父代染色体种群。
其中,步骤C2包括:
依次以组合种群中的各染色体编码作为目标编码,并针对各目标编码执行:
从目标编码的第一部分中提取对应各可调度巡检机器人的编码片段;
以当前位于可调度巡检机器人前侧且与该可调度巡检机器人最近的路网节点作为路径起点,利用A*算法规划从该路径起点依次经过对应编码片段的各目标巡检点的子路径,使该子路径按对应编码片段的各目标巡检点的排序依次经过各目标巡检点;
计算各可调度巡检机器人的子路径的长度;
计算所有可调度巡检机器人的子路径的长度之和,得到全局路径长度;
根据以下公式计算各可调度巡检机器人的运行时间:
提取各可调度巡检机器人的运行时间的最大值作为最长运行时间。
针对组合种群中的每个染色体编码均通过上述过程得到一个全局路径长度和一个最长运行时间。
步骤C3中,以全局路径长度最小化和最长运行时间最小化为目标,从组合种群S中找出第一个非支配集合F1(寻找非支配集合的具体过程为现有技术,此处不对其进行详述),然后从组合种群S中删除非支配集合F1包含的个体(指染色体编码);接着以全局路径长度最小化和最长运行时间最小化为目标,再从组合种群S中找出第二个非支配集合F2,然后从组合种群S中删除非支配集合F2包含的个体;以此类推,直到组合种群S为空,从而得到依次排序的非支配集合F1、F2…Fn,n为非支配集合的总个数。
步骤C4包括:
若第一个非支配集合F1的规模(指所包含的染色体编码的数量)等于父代染色体种群的规模(GroupSize),则以第一个非支配集合的所有染色体编码作为精英染色体编码,组成新的父代染色体种群;
若第一个非支配集合F1的规模大于父代染色体种群的规模,则计算第一个非支配集合F1中各染色体编码的拥挤度,并根据拥挤度对第一个非支配集合F1中各染色体编码进行降序排序,按排序结果选取前GroupSize个染色体编码作为精英染色体编码,组成新的父代染色体种群;
若在第一个非支配集合F1之后存在一个目标非支配集合,使该目标非支配集合前的所有非支配集合以及该目标非支配集合的染色体编码总数量等于父代染色体种群的规模,则以该目标非支配集合前的所有非支配集合以及该目标非支配集合的所有染色体编码作为精英染色体编码,组成新的父代染色体种群;
若在第一个非支配集合F1之后存在一个目标非支配集合,使该目标非支配集合前的所有非支配集合的染色体编码总数量小于父代染色体种群的规模,且该目标非支配集合前的所有非支配集合以及该目标非支配集合的染色体编码总数量大于父代染色体种群的规模,则计算该目标非支配集合中各染色体编码的拥挤度,并根据拥挤度对该目标非支配集合中各染色体编码进行降序排序,最后选取该目标非支配集合前的所有非支配集合的全部染色体编码作为精英染色体编码,并按排序结果从该目标非支配集合选取排序在前的部分染色体编码作为精英染色体编码,得到GroupSize个精英染色体编码以组成新的父代染色体种群。
其中,拥挤度是指非支配集合中的染色体编码按其中一个目标函数进行排序(例如按全局路径长度进行升序排序,或按最长运行时间进行升序排序)时,一染色体编码周围的染色体编码密度,可用以下公式表示:
其中, 为非支配集合中第I个染色体编码的拥挤度,为非支配集合中第2个染色体编码的拥挤度,为非支配集合中第P-1个染色体编码的拥挤度,P为非支配集合的染色体编码总个数,M为目标函数的个数,此处,M=2(两个目标函数分别为全局路径长度最小化函数和最长运行时间最小化函数),为与第j个目标函数相关的染色体编码函数值,为非支配集合中第I+1个染色体编码与第j个目标函数相关的染色体编码函数值, 为非支配集合中第I-1个染色体编码与第j个目标函数相关的染色体编码函数值。例如,若第j个目标函数为全局路径长度最小化函数,则为全局路径长度,非支配集合中第I+1个染色体编码的全局路径长度,为非支配集合中第I-1个染色体编码的全局路径长度;若第j个目标函数为最长运行时间最小化函数,则为最长运行时间,非支配集合中第I+1个染色体编码的最长运行时间,为非支配集合中第I-1个染色体编码的最长运行时间。
实际上,采用非支配集合的排序并基于拥挤度来选取精英染色体编码,有利于提高算法的收敛速度,有利于父代染色体种群更快地迭代更新至最优。
分配模块5在提取最新的父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列的时候,可计算最新的父代染色体种群中各染色体编码的优劣度,然后以优劣度最高的染色体编码作为最优染色体编码,并对该最优染色体编码进行解码(具体根据编码规则进行反向解码),得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。其中,可根据以下公式来计算各染色体编码的优劣度:
其中, 为最新的父代染色体种群中第J个染色体编码的优劣度,、为两个预设的加权系数, 为最新的父代染色体种群中第J个染色体编码的全局路径长度, 为最新的父代染色体种群中第J个染色体编码的最长运行时间。但优劣度的计算方式不限于此。
由上可知,该多目标巡检调度规划装置,通过获取巡检区域的路网矢量图;根据该路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;基于预设的编码规则,根据各巡检机器人的状态信息和目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;执行至少一次:对最新的父代染色体种群中的各染色体编码进行交叉和变异操作以得到子代染色体种群,并从父代染色体种群和子代染色体种群中进行精英选取,生成新的父代染色体种群;提取最新的父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列;从而,能够对巡检机器人群体系统进行合理的优化分配调度以优化系统效率,而且不强依赖于机器人之间的实时通信协调,具有良好的适应性。
请参照图3,图3为本申请实施例提供的一种电子设备的结构示意图,本申请提供一种电子设备,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当电子设备运行时,处理器301执行该计算机程序,以执行上述实施例的任一可选的实现方式中的多目标巡检调度规划方法,以实现以下功能:获取巡检区域的路网矢量图;根据该路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;基于预设的编码规则,根据各巡检机器人的状态信息和目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;执行至少一次:对最新的父代染色体种群中的各染色体编码进行交叉和变异操作以得到子代染色体种群,并从父代染色体种群和子代染色体种群中进行精英选取,生成新的父代染色体种群;提取最新的父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。
本申请实施例提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的多目标巡检调度规划方法,以实现以下功能:获取巡检区域的路网矢量图;根据该路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;基于预设的编码规则,根据各巡检机器人的状态信息和目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;执行至少一次:对最新的父代染色体种群中的各染色体编码进行交叉和变异操作以得到子代染色体种群,并从父代染色体种群和子代染色体种群中进行精英选取,生成新的父代染色体种群;提取最新的父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read OnlyMemory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种多目标巡检调度规划方法,用于向多个巡检机器人分配巡检任务,其特征在于,包括步骤:
A1.获取巡检区域的路网矢量图;
A2.根据所述路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;
A3.基于预设的编码规则,根据各所述巡检机器人的所述状态信息和所述目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;所述染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;
A4.执行至少一次:对最新的所述父代染色体种群中的各所述染色体编码进行交叉和变异操作以得到子代染色体种群,并从所述父代染色体种群和所述子代染色体种群中进行精英选取,生成新的父代染色体种群;
A5.提取最新的所述父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。
2.根据权利要求1所述的多目标巡检调度规划方法,其特征在于,所述路网矢量图包含多个路网节点的节点信息;所述节点信息包括本路网节点的节点号、本路网节点的节点坐标、后继节点的节点号以及本路网节点至所述后继节点的航向角。
3.根据权利要求2所述的多目标巡检调度规划方法,其特征在于,所述状态信息包括所述巡检机器人的机器人编号、机器人坐标、当前的航向、当前位于所述巡检机器人前侧且与所述巡检机器人最近的所述路网节点的节点号、机器人运行状态和机器人参数;
所述机器人运行状态包括空闲状态和故障状态,所述空闲状态为表示空闲的第一状态或表示非空闲的第二状态,所述故障状态为表示故障的第三状态或表示非故障的第四状态;
所述机器人参数包括所述巡检机器人的最大移动速度和当前电量;
所述目标巡检点为待巡检的所述路网节点,所述目标巡检点集合为所述目标巡检点的所述节点号的集合。
4.根据权利要求3所述的多目标巡检调度规划方法,其特征在于,所述可调度巡检机器人是指当前处于所述第一状态和第四状态且当前电量大于预设电量阈值的所述巡检机器人;
所述编码规则为:所述染色体编码包括第一部分和第二部分,所述第一部分为所有所述目标巡检点的节点号序列,所述第二部分包括各所述可调度巡检机器人所分配到的所述目标巡检点的巡检点数量数据;在所述第一部分中,分配于同一巡检机器人的所有所述目标巡检点的节点号在所述节点号序列中连续排序形成一个子序列段,且各所述子序列段在所述第一部分中的排序与对应的巡检机器人的所述巡检点数量数据在所述第二部分中的排序相同。
5.根据权利要求4所述的多目标巡检调度规划方法,其特征在于,步骤A3包括:
A301.根据各所述巡检机器人的所述状态信息获取各所述巡检机器人的所述机器人运行状态和所述机器人参数,以确定可调度巡检机器人;
A302.基于聚类算法,根据各所述目标巡检点的节点坐标,把所述目标巡检点集合划分为k个子集合, k为可调度巡检机器人的数量;
A303.根据各所述子集合的聚类中心与各所述可调度巡检机器人之间的距离,把各所述子集合分配给各所述可调度巡检机器人,并统计各所述子集合的目标巡检点的巡检点数量数据;
A304.循环执行以下步骤多次以生成预设数量的所述染色体编码,组成父代染色体种群:对各所述子集合中的目标巡检点的节点号进行随机排列后,合并为一个所述染色体编码的所述第一部分,并用各所述子集合的所述巡检点数量数据组成所述染色体编码的所述第二部分。
6.根据权利要求4所述的多目标巡检调度规划方法,其特征在于,所述对最新的所述父代染色体种群中的各所述染色体编码进行交叉和变异操作以得到子代染色体种群的步骤,包括循环执行多次的步骤:
B1.在最新的所述父代染色体种群中,选取并复制两条染色体编码,分别记为第一染色体编码和第二染色体编码;
B2.针对所述第一部分,随机选取两个第一交叉点,并针对所述第二部分,随机选取一个第二交叉点;
B3.删除所述第一染色体编码的所述第一部分中不在两个所述第一交叉点之间的片段,并在保证基因互斥性的条件下用所述第二染色体编码的所述第一部分填充所述第一染色体编码的所述第一部分中被删除的片段;根据所述第一染色体编码和所述第二染色体编码的所述第二交叉点的数值,对所述第一染色体编码的所述第二部分进行算术交叉处理;从而由所述第一染色体编码得到所述子代染色体种群的一个染色体编码;
B4.删除所述第二染色体编码的所述第一部分中不在两个所述第一交叉点之间的片段,并在保证基因互斥性的条件下用所述第一染色体编码的所述第一部分填充所述第二染色体编码的所述第一部分中被删除的片段;根据所述第一染色体编码和所述第二染色体编码的所述第二交叉点的数值,对所述第二染色体编码的所述第二部分进行算术交叉处理;从而由所述第二染色体编码得到所述子代染色体种群的一个染色体编码;
B5.在最新的所述父代染色体种群中,选取并复制一条染色体编码,记为第三染色体编码;
B6.针对所述第一部分,随机选取两个第一变异点,并针对所述第二部分,随机选取两个第二变异点;
B7.把所述第三染色体编码的所述第一部分中的两个所述第一变异点的位置互相交换;根据所述第三染色体编码的所述第二部分中的两个所述第二变异点的数值,对所述第三染色体编码的所述第二部分进行算术变异处理;从而由所述第三染色体编码得到所述子代染色体种群的一个染色体编码。
7.根据权利要求4所述的多目标巡检调度规划方法,其特征在于,所述从所述父代染色体种群和所述子代染色体种群中进行精英选取,生成新的父代染色体种群的步骤包括:
C1.把所述父代染色体种群和所述子代染色体种群的集合记为组合种群;
C2.根据所述组合种群中的各染色体编码获取所有所述可调度巡检机器人的运行路径长度总和以及各所述可调度巡检机器人的运行时间中的最大值,分别记为全局路径长度和最长运行时间;
C3.以全局路径长度最小化和最长运行时间最小化为目标,对所述组合种群进行快速非支配排序处理,得到多个依次排序的非支配集合;
C4.根据各所述非支配集合的排序,并考虑各所述非支配集合中的各染色体编码的拥挤度,从各所述非支配集合中选取精英染色体编码,组成规模与所述父代染色体种群的规模相同的新种群,作为新的父代染色体种群。
8.一种多目标巡检调度规划装置,用于向多个巡检机器人分配巡检任务,其特征在于,包括:
第一获取模块,用于获取巡检区域的路网矢量图;
第二获取模块,用于根据所述路网矢量图获取当前时刻的多个巡检机器人的状态信息和当前时刻的目标巡检点集合;
第一生成模块,用于基于预设的编码规则,根据各所述巡检机器人的所述状态信息和所述目标巡检点集合生成预设数量的染色体编码,组成父代染色体种群;所述染色体编码包含各可调度巡检机器人与所分配到的目标巡检点的对应关系信息;
第二生成模块,用于执行至少一次:对最新的所述父代染色体种群中的各所述染色体编码进行交叉和变异操作以得到子代染色体种群,并从所述父代染色体种群和所述子代染色体种群中进行精英选取,生成新的父代染色体种群;
分配模块,用于提取最新的所述父代染色体种群中的最优染色体编码进行解码,得到各可调度巡检机器人所最终分配到的目标巡检点的巡检点序列。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如权利要求1-7任一项所述多目标巡检调度规划方法中的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-7任一项所述多目标巡检调度规划方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310232693.6A CN115952942B (zh) | 2023-03-13 | 2023-03-13 | 多目标巡检调度规划方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310232693.6A CN115952942B (zh) | 2023-03-13 | 2023-03-13 | 多目标巡检调度规划方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115952942A true CN115952942A (zh) | 2023-04-11 |
CN115952942B CN115952942B (zh) | 2023-06-02 |
Family
ID=85891311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310232693.6A Active CN115952942B (zh) | 2023-03-13 | 2023-03-13 | 多目标巡检调度规划方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115952942B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116245257A (zh) * | 2023-05-06 | 2023-06-09 | 季华实验室 | 一种多机器人调度方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140875B1 (en) * | 2017-05-27 | 2018-11-27 | Hefei University Of Technology | Method and apparatus for joint optimization of multi-UAV task assignment and path planning |
CN109872010A (zh) * | 2019-03-15 | 2019-06-11 | 深圳供电局有限公司 | 变电站巡检机器人任务分配方法 |
CN110610556A (zh) * | 2018-06-15 | 2019-12-24 | 北京京东尚科信息技术有限公司 | 机器人巡检管理方法及系统、电子设备、存储介质 |
CN111220159A (zh) * | 2020-02-10 | 2020-06-02 | 合肥工业大学 | 多无人机协同巡检任务的路径优化方法 |
CN111352417A (zh) * | 2020-02-10 | 2020-06-30 | 合肥工业大学 | 异构多无人机协同路径的快速生成方法 |
CN111426323A (zh) * | 2020-04-16 | 2020-07-17 | 南方电网科学研究院有限责任公司 | 一种巡检机器人路线规划方法及装置 |
WO2021022637A1 (zh) * | 2019-08-06 | 2021-02-11 | 南京赛沃夫海洋科技有限公司 | 一种基于改进遗传算法的无人艇路径规划方法及系统 |
CN114020005A (zh) * | 2021-09-02 | 2022-02-08 | 安徽有云智能科技有限公司 | 多无人机协同巡检配网线路的航迹规划方法和系统 |
CN114442644A (zh) * | 2022-04-11 | 2022-05-06 | 季华实验室 | 多机器人避障方法、装置、电子设备及存储介质 |
CN114721403A (zh) * | 2022-06-02 | 2022-07-08 | 中国海洋大学 | 基于OpenCV的自动驾驶控制方法、装置及存储介质 |
CN115079704A (zh) * | 2022-08-01 | 2022-09-20 | 中国电信股份有限公司 | 路径规划方法、装置、存储介质及电子设备 |
CN115471110A (zh) * | 2022-09-28 | 2022-12-13 | 大连理工大学 | 一种基于条件概率的考虑多目标进化算法的多异构无人机系统协同任务分配方法 |
-
2023
- 2023-03-13 CN CN202310232693.6A patent/CN115952942B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140875B1 (en) * | 2017-05-27 | 2018-11-27 | Hefei University Of Technology | Method and apparatus for joint optimization of multi-UAV task assignment and path planning |
CN110610556A (zh) * | 2018-06-15 | 2019-12-24 | 北京京东尚科信息技术有限公司 | 机器人巡检管理方法及系统、电子设备、存储介质 |
CN109872010A (zh) * | 2019-03-15 | 2019-06-11 | 深圳供电局有限公司 | 变电站巡检机器人任务分配方法 |
WO2021022637A1 (zh) * | 2019-08-06 | 2021-02-11 | 南京赛沃夫海洋科技有限公司 | 一种基于改进遗传算法的无人艇路径规划方法及系统 |
CN111220159A (zh) * | 2020-02-10 | 2020-06-02 | 合肥工业大学 | 多无人机协同巡检任务的路径优化方法 |
CN111352417A (zh) * | 2020-02-10 | 2020-06-30 | 合肥工业大学 | 异构多无人机协同路径的快速生成方法 |
CN111426323A (zh) * | 2020-04-16 | 2020-07-17 | 南方电网科学研究院有限责任公司 | 一种巡检机器人路线规划方法及装置 |
CN114020005A (zh) * | 2021-09-02 | 2022-02-08 | 安徽有云智能科技有限公司 | 多无人机协同巡检配网线路的航迹规划方法和系统 |
CN114442644A (zh) * | 2022-04-11 | 2022-05-06 | 季华实验室 | 多机器人避障方法、装置、电子设备及存储介质 |
CN114721403A (zh) * | 2022-06-02 | 2022-07-08 | 中国海洋大学 | 基于OpenCV的自动驾驶控制方法、装置及存储介质 |
CN115079704A (zh) * | 2022-08-01 | 2022-09-20 | 中国电信股份有限公司 | 路径规划方法、装置、存储介质及电子设备 |
CN115471110A (zh) * | 2022-09-28 | 2022-12-13 | 大连理工大学 | 一种基于条件概率的考虑多目标进化算法的多异构无人机系统协同任务分配方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116245257A (zh) * | 2023-05-06 | 2023-06-09 | 季华实验室 | 一种多机器人调度方法及装置 |
CN116245257B (zh) * | 2023-05-06 | 2023-09-12 | 季华实验室 | 一种多机器人调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115952942B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Legillon et al. | Cobra: A cooperative coevolutionary algorithm for bi-level optimization | |
Chutima et al. | Multi-objective two-sided mixed-model assembly line balancing using particle swarm optimisation with negative knowledge | |
Shang et al. | A multi-population cooperative coevolutionary algorithm for multi-objective capacitated arc routing problem | |
CN105929690B (zh) | 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 | |
Deep et al. | Combined mutation operators of genetic algorithm for the travelling salesman problem | |
Shim et al. | A hybrid estimation of distribution algorithm for solving the multi-objective multiple traveling salesman problem | |
CN111368999B (zh) | 一种物流调度系统 | |
CN115600774B (zh) | 一种装配式建筑构件产线的多目标生产调度优化方法 | |
CN115952942A (zh) | 多目标巡检调度规划方法、装置、电子设备及存储介质 | |
Giacomel et al. | An algorithmic trading agent based on a neural network ensemble: a case of study in North American and Brazilian stock markets | |
Berghida et al. | EBBO: an enhanced biogeography-based optimization algorithm for a vehicle routing problem with heterogeneous fleet, mixed backhauls, and time windows | |
Konak et al. | A multi-objective approach to the competitive facility location problem | |
Samarghandi et al. | Metaheuristics for fuzzy dynamic facility layout problem with unequal area constraints and closeness ratings | |
CN108594079A (zh) | 一种配电网故障定位方法、装置和计算机可读介质 | |
Rifai et al. | Reentrant FMS scheduling in loop layout with consideration of multi loading-unloading stations and shortcuts | |
CN106126727A (zh) | 一种推荐系统大数据处理方法 | |
Gong et al. | Evolutionary computation in China: A literature survey | |
Ghosh et al. | Non-dominated rank based sorting genetic algorithms | |
Ławrynowicz | Genetic algorithms for solving scheduling problems in manufacturing systems | |
CN107239853B (zh) | 一种基于云计算的智慧管家系统及其工作方法 | |
CN109242141A (zh) | 一种商品库存数量的预测方法及装置 | |
Bhargava | A Note on Evolutionary Algorithms and Its Applications. | |
Dominik | Solving multi-objective job shop problem using nature-based algorithms: new Pareto approximation features | |
CN106406082A (zh) | 一种系统控制方法、装置,控制器及控制系统 | |
CN114678114A (zh) | 应用于智慧医疗的大数据挖掘评估方法及大数据挖掘系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |