基于融合算法的多林区航线调度规划方法

文档序号:26009881发布日期:2021-07-23 21:29阅读:80来源:国知局
基于融合算法的多林区航线调度规划方法

本发明涉及林业管理技术领域,尤其涉及一种基于融合算法的多林区航线调度规划方法,本发明的算法是基于混合粒子群算法和遗传算法相融合的融合算法。



背景技术:

我国林区地形非常复杂,大面积林区和分散的小面积林地同时存在。我国北部地区多以大面积林地为主,然而东部地区则以道路、村庄以及农田等地区防护林为主,常为多个面积分散的小片林区,因此,多林区的航线调度规划尤为重要。植保飞机作业时,在每个小片林区施药完成后,进入下一个林区,直至完成所有林区的施药工作,再回到飞机起降点。不同的作业顺序和片区进出点,却导致飞机非施药航程存在较大差异。减少飞机非施药航程,意味着减少航空燃油消耗和作业时间,提升飞机植保作业效率,对实现精准农林作业都有重要意义。然而考虑飞机各片区进出入点的全局区域间最短路径求解非常复杂,尤其是当片区数较多时,传统的贪心法、深度搜索、广度搜索、分支限界搜索都很难求解出合理的调度方案。因此运用先进的人工智能算法,快速求解出合理的各林区间航线调度规划方案具有重要意义。目前对大型植保飞机航空施药作业调度航线规划研究较少,难以满足多林区航空施药的使用要求,给多林区施药作业带来了一些困扰。



技术实现要素:

本发明的目的是针对现有技术的不足,提供一种基于融合算法的多林区航线调度规划方法,操作简单、效率高。

为了实现上述目的,本发明的技术方案是:

一种基于融合算法的多林区航线调度规划方法,包括如下步骤:

s1、根据需要喷药的林区数量设置混合粒子群算法的进化次数nmax、个体数目和初始化粒子位置;

其中,种群的长度为个体数目加1,单个喷药区域采用全覆盖航线规划算法,从边界最长边根据飞机喷福宽度以此做平行线,到其它边界交界时,飞机掉头飞行,直至遍历完单个喷药区域所有面积,单个喷药区域有进入点和出入点,将单个喷药区域用进出入点连线的中点表示,飞机起降点作为一个点,放在种群长度最后一位;

s2、根据片区进出点中点生成的邻域表计算粒子适应度值,以各片区进出点中点坐标作为参考点计算各林区作业顺序路径距离;

s3、更新粒子,根据粒子适应度值更新个体最优粒子和群体最优粒子;

s4、个体最优交叉,将个体和个体最优粒子进行交叉得到新粒子;

s5、群体最优交叉,将个体和群体最优粒子进行交叉得到新粒子;

s6、粒子变异,粒子自身变异得到新粒子;

s7、检查迭代次数是否达到最大进化次数;当n≥nmax,执行步骤s8,否则执行步骤s2;

s8、输出作业顺序路径解集;

s9、设置第二层遗传算法种群大小、交叉概率、变异概率、第二层算法最大迭代次数genmax,并将迭代次数初值置1,即gen=1;

s10、第二层遗传算法初始化种群chrom2,编码方式采用二进制编码;

s11、计算第二层算法的适应度值;将各喷药区域进出点横坐标、纵坐标生成的邻域表,将飞机起降点看成2个点,但将坐标定为同一数值,以方便快速利用邻域表计算适应度值;适应度f2设计为针对每一种进出入状态下第一层算法得到的所有全局区域间调度航线的最短距离的倒数;

s12、对种群chrom2中进行选择、交叉、变异操作;然后重新插入后得更新后种群chrom2;

s13、检测迭代次数是否超过最大迭代次数genmax,当迭代次数未超过最大迭代次数时,返回步骤s11,否则进行步骤s14;

s14、输出最短的全局区域间调度路径,该最短调度路径即为多林区航线调度规划的最佳调度方案。

作为对上述技术方案的改进,所述步骤s9中,遗传算法种群中的种群大小设置为林区数与飞机起降点之和的4~6倍,代沟设置为常数,代沟设置为0.9~0.95;交叉概率pc和变异概率pm均设计为动态变化概率;其计算公式:

pm:

作为对上述技术方案的改进,其中pcmin=0.6,pcmax=0.9,pm0=0.1。

与现有技术相比,本发明具有的优点和积极效果是:

本发明公开了一种基于融合算法的多林区航线调度规划方法。通过将采用混合粒子群算法和遗传算法相融合的融合算法对多林区航线调度路径进行规划,特别针对载人大型植保飞机航空施药。第一层采用混合粒子群算法求解较优的作业顺序路径,该算法采用个体与个体最优交叉、个体与群体最优交叉、个体自身变异三种方式得到新粒子的方式,较传统混合粒子群算法和遗传算法相比提升了求解速度和全局搜索能力;第二层算法采用遗传算法,结合第一层得出的解集,考虑各片区进出点,从而得到最短全局区域间调度路径,其避免了第一层程序里面只求得最短作业顺序路径而陷入的全局区域间调度路径局部最优解,计算效率较高,从而提高了多林区施药的路径规划效率。遗传算法中采用了动态的交叉概率和变异概率,交叉概率和变异概率均随迭代次数增大而减小,在照顾全局搜索能力的前提下,提升了算法收敛速度,节约了搜索时间,提升了算法效率。本发明可以缩短植保作业飞机在单片区林区中的施药转弯次数,降低了飞行员驾驶操作难度;可缩短在多林区施药操作的全局区域间调度路径航程,节约了多林区航空施药的工作时间,并且有效减小了航空燃油的使用量,节约了林区施药作业的经济成本,给多林区施药操作带来了便利,提升了林区航空施药效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的流程示意图;

图2为多林区航线规划任务图;

图3为单片区内航线规划示意图;

图4为多林区全局航线调度规划结果示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

如图1至图4所示,本实施例公开了一种基于融合算法的多林区航线调度规划方法,其航线规划任务如下:直升机从图2中飞机起落点h出发,然后经过每个片区的进入点和出去点,遍历每个片区,然后回到h。要求区域间调度的航线最短。区域内部采用图3所示的全覆盖航线规划算法,即从边界最长边根据飞机喷福宽度以此做平行线,到其它边界交界时,飞机掉头飞行,直至遍历完片区所有面积。因此每个片区必有进入点和出入点。调度规划时必须从两点进出,但不具体哪一点。如从图2中a1进入后,必须从a2出,或者从a2进入后,必须从a1出。区域内部按照图3所示的航线规划。按照图1所示的融合算法进行路线规划,得到如图4所示的较优结果。

融合算法流程如图1所示,以下是算法实施过程:

步骤1:算法开始,根据需要喷药的林区数量设置混合粒子群算法的进化次数nmax、个体数目,初始化粒子位置。例如有18片林区需要施药,则种群的长度定为18+1=19。原因在于,将每个林区都用进出入点连线的中点表示,如图2中的a0所示,将图2中的飞机起降点也视为一个点,放在种群长度最后一位,则18片林区的调度任务看成是19片林区调度任务。采用随机初始化进行粒子初始位置的生成,为方便举例,假设种群中有五片林区和一个飞机起降点,则123456、213465、345216都是可以是该粒子群中的一个粒子,要求数字不重复。

步骤2:计算粒子适应度值。为方便快速计算,该算法适应度计算根据片区进出点中点生成的邻域表计算。以图2中的调度任务为例,其18个片区和飞机起降点的坐标如表1所示。其进出点中点生成的邻域表如表2所示。根据表2,可快速计算出该层混合粒子群算法中各个粒子的适应度。

表1各林区坐标表

单位:m

以各片区进出点中点坐标作为参考点计算各林区作业顺序路径距离。并以该18片区中点坐标和飞机起降点坐标生成距离邻域表。

表2各片区进出点中点生成的距离邻域表

步骤3:更新粒子。该模块根据粒子适应度值更新个体最优粒子和群体最优粒子。算法设置个体最优存储器和群体最优存储器。每一代的最优粒子,都存在群体最优存储器。

步骤4:粒子和该循环中粒子群中的粒子进行交叉,只有当交叉后的粒子适应度值高于交叉前的粒子适应度值,该粒子才被接受,然后替代该粒子进入该粒子群中。

步骤5:粒子和群体最优存储器最优粒子进行交叉。只有当交叉后的粒子适应度值高于交叉前的粒子适应度值,该粒子才被接受,然后替代该粒子进入该粒子群中。

步骤6:粒子变异。只有当变异后粒子适应度值高于变异前的粒子适应度值,该粒子才被接受,然后替代该粒子进入该粒子群中。

步骤7:检查迭代次数是否达到最大进化次数。当n≥nmax,执行步骤s8,否则执行步骤s2;

步骤8、输出作业顺序路径解集;

步骤9、设置遗传算法种群大小,交叉概率,变异概率。如种群大小设置为林区数与飞机起降点之和的4~6倍,如18片区,则设种群数为100;代沟均设置为常数;代沟设置为0.9~0.95,如0.9。交叉概率pc和变异概率pm均设计为动态变化概率。交叉概率随迭代次数增大而减小,变异概率随迭代次数增大而减小。其计算公式:pm:其中pcmin=0.6,pcmax=0.9,初始变异概率pm0=0.1。遗传算法最大迭代次数genmax,如2000。并将迭代次数初值置1,即gen=1;

步骤10、第二层遗传算法初始化种群chrom2,采用二进制编码的方式。编码方式采用二进制编码,以四片片区域为例,作业顺序假定为abcd,其中a表示飞机起降点。b区域的作业起始点可分别为b1与b2或b2与b1,两种状态分别用0与1表示。则a1a2b1b2c1c2d1d2的状态编码为0000,特别说明的是,飞机起降点a1和a2的坐标完全相同,表明作业顺序为从a出发,b1进,b2出,c1进,c2出,d1进,d2出,再回到a。则a1a2b2b1c1c2d2d1的状态编码即为0101。如此可以表示从飞机起降点出发的考虑各片区进出点的各片区间作业调度路径情况。

步骤11、计算第二层算法的适应度值。为方便第二层遗传算法适应度的计算,同样利用邻域表,该邻域表为将表1中的各片区进出点横坐标、纵坐标生成的邻域表,如表3所示。由于18个片区的考虑进出入点的邻域表太大,这里就展示4个片区和1个飞机起降点的领域距离矩阵。

作业顺序假定为abcd。b区域的作业起始点可分别为b1与b2或b2与b1,两种状态分别用0与1表示。则a1a2b1b2c1c2d1d2的状态编码为0000。表明作业顺序为从a1出发,进入a片区,从a2出,b1进,b2出,c1进,c2出,d1进,d2出,再回到a1。则a1a2b2b1c1c2d2d1的状态编码即为0101。五个片区分别a、b、c、d,将每个片区的进出点分别表示为两个代号,如a片区的进出点表示为a1和a2。飞机起降点坐标用h表示。18片区的考虑进出入点和飞机起降点的领域距离矩阵可参考本方法。

适应度f2设计为针对每一种进出入状态下第一层算法得到的所有全局区域间调度航线的最短距离的倒数。以状态编码10010为例,根据10010状态修正第一层算法得出的较优路径解集,修正方法如表4所示。假设算法第一层求得全局区域间调度航线有n种,则该适应度计算公式为公式(8)。

表3考虑片区进出入点和飞机起落点的领域距离矩阵

表4根据状态表chrom2修正第一层算法作业顺序路径的一个例子

需要说明的是,表4中的7对应于表3中的a2点,1对应表中的a1点。以此类推。具体可参考步骤16。

步骤12、对种群chrom2中进行选择、交叉、变异操作;然后重新插入后得更新后种群chrom2;

步骤13、检测迭代次数是否超过最大迭代次数genmax,当迭代次数未超过最大迭代次数时,返回步骤11,否则进行步骤14;

步骤14、输出最短的全局区域间调度路径,该最短调度路径即为多林区航线调度规划的最佳调度方案。

步骤s1-s8表示的为该融合算法第一层,该层采用混合粒子群算法求解作业顺序路径,该算法摒弃了传统粒子群算法通过跟踪极值来更新粒子的方法,而是借鉴了遗传算法中交叉、变异的思想,并在该基础上做了改进。粒子通过当前个体和该个体历史最优值进行交叉,如果适应度更优,则接受该个体交叉后新粒子;粒子与当前群体最优粒子进行交叉,如果适应度更优,则接受该交叉后新粒子;粒子自身产生变异,如果变异后适应度值更优,则接受新粒子。通过以上三种方法产生新粒子,表明粒子具有自身进化、向自己学习、向群体学习的能力。

步骤s9-s14表示的为该融合算法第二层,为一种实用的遗传算法,用来进一步在作业顺序路径的基础上考虑进入点机制。所述步骤s11中,依赖第一层混合粒子群算法的求解结果,第二层遗传算法适应度值计算采用针对chrom2中每一条染色体,对第一层算法得到的所有作业路径顺序进行扩展操作,并采用扩展领域表计算其全局区域间调度距离长度,该长度不包含片区内部的距离,以得到的最短距离的倒数作为该条染色体的适应度值。

所述步骤s9中的遗传算法种群中的种群大小设置为林区数与飞机起降点之和的4~6倍,代沟设置为常数,代沟设置为0.9~0.95;交叉概率pc和变异概率pm均设计为动态变化概率。交叉概率随迭代次数增大而减小,变异概率随迭代次数增大而减小。其计算公式:pm:其中pcmin=0.6,pcmax=0.9,pm0=0.1。

本发明通过采用混合粒子群算法和遗传算法相融合的融合算法对多林区航线调度路径进行规划,特别针对载人大型植保飞机航空施药。考虑到安全及各林区间调度无喷施飞行距离,因此将植保喷雾作业续航航程、载药量、植保喷雾作业续航时间参数的设置小于飞机自身性能参数。

本发明的融合算法采用串联式融合方法,迭代次数为两次算法各自迭代次数相加之和,速度较嵌套式融合更快。两层算法均收敛。第一层采用混合粒子群算法,摒弃了追踪极值来更新粒子位置的方法,而是采用个体与个体最优交叉、个体与群体最优交叉和个体变异三种方式产生新粒子的方法,从而提升了混合粒子群算法搜索速度和全局搜索能力,能够较快得出较优的作业顺序路径解集;第二层算法采用遗传算法,结合第一层得出的作业顺序路径解集,考虑各片区进出点,从而得到最短全局区域间调度路径,其避免了第一层程序里面只求得最短作业顺序路径而陷入的全局区域间调度路径局部最优解,计算效率较高,从而提高了多林区施药的路径规划效率。

本发明可以缩短植保作业飞机在单片区林区中的施药转弯次数,可缩短在多林区施药操作的区域间调度路径航程,节约了多林区施药操作的工作时间,提高了林区施药的施药效率,并且其有效减小了航空燃油的使用量,节约了林区施药作业的经济成本,给多林区施药操作带来了便利。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1