CN102788581B - 一种基于改进的微分进化算法的船舶航路规划方法 - Google Patents

一种基于改进的微分进化算法的船舶航路规划方法 Download PDF

Info

Publication number
CN102788581B
CN102788581B CN201210246581.8A CN201210246581A CN102788581B CN 102788581 B CN102788581 B CN 102788581B CN 201210246581 A CN201210246581 A CN 201210246581A CN 102788581 B CN102788581 B CN 102788581B
Authority
CN
China
Prior art keywords
air route
generation
route
population
vector
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.)
Active
Application number
CN201210246581.8A
Other languages
English (en)
Other versions
CN102788581A (zh
Inventor
张振兴
王重雷
刘厂
高峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Ship Navigation Technology Co., Ltd.
Original Assignee
Harbin Engineering University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN201210246581.8A priority Critical patent/CN102788581B/zh
Publication of CN102788581A publication Critical patent/CN102788581A/zh
Application granted granted Critical
Publication of CN102788581B publication Critical patent/CN102788581B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Navigation (AREA)

Abstract

本发明是一种基于改进的微分进化算法的船舶航路规划方法,首先对待规划区域进行环境建模,选取实数编码方式进行航路编码并基于航线网络方法完成航路种群的初始化;然后对航路种群采用改进的微分进化算法进行变异和交叉操作,根据总性能评价函数进行选择操作;最后获得最优航路解。本发明基于固定航路点库随机选取初始航路点,生成初始种群,保证了初始种群的质量并避免了规划结果局限于固定航路点库的缺陷;所采用的改进的微分进化算法通过邻域权重系数进行调节,并在全局邻域模型中使用抖动缩放因子,提高全局搜索能力,保证不同的航路点组合之间进行充分的信息交流,以产生更优的航路解。

Description

一种基于改进的微分进化算法的船舶航路规划方法
技术领域
本发明属于船舶航路规划技术领域,具体是一种基于改进的微分进化算法的船舶航路规划方法。
背景技术
船舶航路是指船舶从某一地点驶抵另一地点的海上航行路线。船舶航路规划,即在船舶航行前寻找一条航行时间最短、最为经济且足够安全的航线——计划航线。航路规划的原则是安全和经济,二者相互统一以保证航行经济效益和战略要求。因此航路规划是一项涉及知识面广,复杂而细致的工作。
目前应用于船舶航路规划的方法有很多种,基本上可以分为两大类:传统路径规划方法和智能路径规划方法。传统路径规划方法在复杂和非线性化的航路规划问题中缺乏自适应性、计算过于复杂、对不确定性因素很难做出正确响应、鲁棒性差。目前,随着新的智能算法的快速发展,使用智能性高、计算和自适应能力强的智能算法进行航路规划已经成为路径规划研究的主流。
R.Storn和K.V.Price在1995年完成的一份技术报告中首次对微分进化算法进行了介绍。作为一种简单、高效的连续空间内全局优化方法,微分进化算法(DE)可以认为是当前所使用的最强大的随机实参数优化算法之一。它在解决基准测试函数及部分实际问题时要优于部分进化算法和诸如粒子群优化(PSO)的启发式搜索算法。微分进化算法通过使用与标准进化算法相似的计算步骤来进行操作。然而,不同于传统进化算法,微分进化算法中用随机选择的独立种群成员之差乘以一定系数得到的值作为变异算子对当前种群成员进行扰动,并不只是用单独的概率分布来产生子代。
航路点指的是计划航路中包括出发点和到达点在内的各个转向点,两相邻航路点之间的连线为一航线段。这样的航路点串以及一定方向上两两航路点之间的连线就构成了航路。这种定义下的船舶航路规划可以认为是在航路点库所构成的航路群中进行搜索。基于航路点库搜索的船舶航路规划方法——航线网络方法等效于典型的全局多峰优化问题。可将微分进化算法应用来解决航线规划,但是,传统的微分进化算法仍不能完全避免优化速度慢和过早收敛(早熟)这样的问题,在进行航路规划时,会带来搜索时间较长、易陷入局部最优而得不到最优航路的缺陷。航线网络方法是在已知的航路点库中进行组合路径的搜索、优化,若单纯利用航线网络方法,所得到的最短航程仅仅是针对已知固定航路点库的最短,可能并非实际最短。
发明内容
本发明针对应用传统微分进化算法进行船舶航路规划时可能出现的易陷入局部最优、搜索时间较长的缺陷及单纯利用航线网络方法时所得到的最短航程仅仅是针对已知固定航路点库的最短,可能并非实际最短的缺陷,对传统微分进化算法进行改进,研究了一种新型微分进化算法——基于邻域变异的改进微分进化算法(DE With a Modified Neighborhood-BasedMutation Operator,简称为MNDE),并结合航线网络方法,提出一种基于改进的微分进化算法的船舶航路规划方法。
本发明提出的一种基于改进的微分进化算法的船舶航路规划方法,包括以下步骤:
步骤1、采用二维平面为待规划区域进行建模,将待规划区域内的固定航路点集作为航路点库。
步骤2、航路编码与种群初始化,包括步骤2.1和2.2。
步骤2.1:对每个航路点采用实数进行编码,航路点编码route_node={x,y},其中,x、y分别表示航路点的经度和纬度坐标;为每条航路和航路种群进行编码:每条航路为从初始点到目标点的一组有序的航路点序列,航路种群是由各条航路组成的矩阵。
步骤2.2:编码完成后,进行种群初始化:首先,在平面上旋转坐标系,将原坐标系转换为以起点到终点连线为横轴的新坐标系,然后垂直于旋转坐标系横轴将待规划区域等分为D个部分,第i部分区域标记为Point_i,i从1到D;然后,生成初始航路种群Path,初始航路种群包含NP个初始航路,每条初始航路都通过如下方法得到:顺次从区域Point_i中随机选取一点作为基准航路点,将各基准航路点顺序连接,得到一条连接起点与终点的初始航路;航路种群Path采用NP*D维的航路种群矩阵表示,航路种群矩阵中的元素为航路点,第j个行向量为第j条航路Path_j。
步骤3:首先设计航程最短性能指标和威胁代价最小性能指标,然后确定航路规划中判断航路优劣的总性能评价函数:C=k1Ct+(1-k1)Cu,代价权值k1∈[0,1],C表示航路的总性能评价值,Ct表示航路上各航路点的威胁代价,Cu表示航路上各航路点的油耗代价。
步骤4:采用微分进化算法,对G世代的航路种群内部进化变异、交叉操作,生成候选航路种群,G初始为1,具体步骤4包括:
步骤4.1:依据步骤3中给出的总性能评价函数,计算当前世代航路种群Path中各航路的总性能评价值,选取其中总性能评价值最小的航路,将该航路对应的行向量标记为最优参数向量定义NP*D维矩阵mutate_Path_glob用于存放每一世代的全局施予向量矩阵,G世代的全局施予向量矩阵的第i个行向量表示为
步骤4.2:对G世代的航路种群矩阵中每个行向量选取在下标号i的前后邻域范围内的总性能评价值最小的行向量作为向量的邻域最优参数向量邻域半径为R,NP个邻域最优参数向量构成NP*D维局部最优个体矩阵Path_nbm;定义NP*D维矩阵mutate_Path_loc,用于存放每一世代的局部施予向量矩阵,G世代的局部施予向量矩阵的第i个行向量表示为
步骤4.3:定义NP*D维矩阵mutate_Path,用于存放每一世代的最终施于向量矩阵,G世代的最终施于向量矩阵的第i个行向量为:
V i , G → = ω i , G ′ · g i , G → + ( 1 - ω i , G ′ ) · L i , G →
ωi′,G表示进化变异得到的G世代航路种群矩阵中第i个行向量的邻域权重系数;
步骤4.4:根据设置的交叉率Cr,将最终施予向量矩阵的行向量和当前时代航路种群矩阵的行向量进行交叉操作,生成试验向量矩阵cross_Path,试验向量矩阵就是候选航路种群。
步骤5:进行选择操作,具体是:
步骤5.1:将候选航路种群,按照步骤3中给出的总性能评价函数确定候选航路种群中各航路的总性能评价值,判断候选航路种群的第j条航路的总性能评价值是否小于当前世代的航路种群中的第j条航路的总性能评价值,若是,则将当前世代的航路种群中的第j条航路替换为侯选航路种群中的第j条航路;若否,保持当前世代的航路种群中的第j条航路不变;
步骤5.2:判断当前世代的航路种群的所有航路是否都进行了选择操作,若否,转步骤5.1;若是,航路种群中NP个航路均完成选择操作,构成新一代航路种群,更新G=G+1。
步骤6:判断G世代航路种群的各个航路的总性能评价值的均方差是否小于均方差阈值C0,若是,执行步骤7;若否,进一步判断当前代数G是否大于等于最大进化代数N,若是,则没有找到可行航路,结束本方法;若否,转步骤4执行。
步骤7:选取G世代航路种群中总性能评价值最小的航路作为最优航路,输出,结束本方法。
本发明方法的优点和积极效果在于:
(1)本发明采取基于固定航路点库随机选取初始航路点的方式生成初始航路种群,保证了初始航路种群的质量,并避免了规划结果局限于固定航路点库的缺陷。
(2)本发明采用基于邻域变异的改进微分进化算法(MNDE),通过对算法中的邻域权重系数进行调节,并在全局邻域模型中使用抖动缩放因子,增强传统微分进化算法的“探索”能力,即提高全局搜索能力,保证不同的航路点组合之间进行充分的信息交流,在全局邻域模型中利用MNDE在航路种群中通过进化得到一条最优或者近似最优的航路解。
附图说明
图1为本发明的船舶航路规划方法的整体流程图;
图2为本发明的船舶航路规划方法所采用的改进的微分进化算法的基本流程图;
图3为环境建模,准备种群初始化时规划环境D等分的示意图;
图4为基于改进的微分进化算法进行船舶航路规划的规划结果图;
图5为算法DE1,DE2,DEGL,本发明改进算法MNDE分别应用于舰船航路规划的进化曲线。
具体实施方式
下面结合附图举例对本发明做更详细地描述。
本发明的船舶航路规划方法,首先获取待规划区域内环境信息,对待规划区域进行环境建模。在环境建模完成的基础上进行航路编码,即航路表达,采取合理方式处理、表达航路信息,并生成一定规模的初始种群;之后具体设计进化操作中的变异、交叉算子对初始种群进行进化操作。设计航路的适应度评价函数,每次进化产生子代后进行适应度评估,并依照一定的选择机制选出较优个体,至此完成一个世代循环。在设定终止条件满足后得到最优或者次优航路解,完成一次航路规划。
下面结合图1对本发明的船舶航路规划方法的各步骤进行具体说明。
步骤1、对待规划区域进行建模。
由于船舶航行时始终处于二维平面,本发明采用二维平面对待规划区域进行建模,将待规划区域内的固定航路点集存储在二维数组中,该二维数组中存储的固定航路点集作为航路点库。
由于本发明着重考虑基于航路点库的航路搜索与优化,航程最短是首要考虑因素,为简单起见,待规划环境中的岛礁、沉船等障碍物一律采用最大包含的圆形禁航区表示,禁航区内航路不能通过,其他区域为可行域,航路可以通过。
步骤2、航路编码与种群初始化。
步骤2.1:本发明将航路编码分两步进行,先对航路中的航路点进行编码,然后对航路进行编码。
船舶航路可表示为从初始点到目标点的一组有序的航路点。船舶的每个航路点应该包括该点的经纬度值。由此,航路点编码route_node={x,y},其中,x、y分别表示该航路点的经度和纬度坐标,采用实数编码。
由航路点构成的航路为一维数组,航路种群则是由各条航路组成的矩阵,各条航路和航路种群中的各航路点均采用经纬度坐标编码。
步骤2.2:在航路点库的基础上,随机选取航路点构成初始航路,并进行初始种群的生成。假设航路种群的规模为NP,航路可行解维数为D,各航路可行解初始化为Path_j=zeros(1,D),j从1到NP,航路种群初始化为Path=zeros(NP,D)。航路种群Path采用NP*D维矩阵表示,称为航路种群矩阵,矩阵中的元素为航路点,第j个行向量为第j条航路Path_j。
编码完成后,首先在待规划区域内建立旋转坐标系,将原坐标系转换为以起点到终点连线为横轴的新的坐标系,然后垂直于旋转坐标系横轴将待规划区域D等分。这样待规划区域内的已知航路点同时也被分为D个部分,第i部分标记为Point_i(i从1到D)。如图3所示,将一个待规划区域分为五部分,并显示了两条航路Path1和Path2,图中F1~F5表示威胁源,黑色点表示航路点库中的航路点。
生成初始种群时,顺次从Point_i中随机选取一点作为基准航路点,根据航路点的分布密度,规划时使用的航路点可在基准航路点周围一定距离内随机选取,以确保初始种群的质量并增加种群多样性。将所选的各基准航路点按顺序连接,得到一条连接起点与终点的路径Path_j,即一个航路解。按种群规模选取NP个初始航路解,可得初始种群Path。至此,种群初始化的工作完成。
步骤3、评价函数设计。
步骤3.1:设计航程最短性能指标,航程最短性能指标是评价完成规定航行任务的燃油性能指标。航程最短性能指标可表示为:
min C u = ∫ 0 L ω l dl , L为航路长度
Cu表示航路上各航路点的油耗代价,是航路长度L的函数,L也表示所规划的航路的整体路径,由一系列的航路点连线而成。仿真实验中,设置l长度的航路的油耗代价ωl恒为1。设Lij表示相邻两个航路点i和j之间的路径,其值为该段路径的长度,则从航路点i到航路点j的航路油耗代价等于从航路点i到航路点j之间的航程的长度Lij,即:则所规划的航路的总长度值等价于航路油耗代价,即简单认为ωl=L。
步骤3.2:设计船舶航路规划的评价函数-性能指标中的完成规定航行任务的安全性能指标,即威胁代价最小性能指标。威胁代价最小性能指标可表示为:
min C t = ∫ 0 L ω t dl , L为航路长度
Ct表示航路上各航路点的威胁代价,ωt表示l段航路的威胁代价。当船舶沿路径Lij航行时,Nt个威胁源对其产生的总威胁代价为:
ω t , L ij = ∫ 0 L ij Σ k = 1 N t t k [ ( x - x k ) 2 + ( y - y k ) 2 ] 2 dl
其中,tk为第k个威胁源的威胁等级,(x,y)表示路径Lij上各航路点的经度和纬度坐标,(xk,yk)表示第k个威胁源中心的坐标。
为了简化计算,把每条边即航路上相邻两航路点的连线,如将路径Lij进行10等分,选取第1、3、5、7、9个1/10分点计算该边的威胁代价,若第k个威胁源中心到某个航路点的距离在威胁半径之内,则按下式计算其威胁代价:
ω t , L ij = L ij 5 5 Σ k = 1 N t t k ( 1 d 0.1 , k 4 + 1 d 0.3 , k 4 + 1 d 0.5 , k 4 + 1 d 0 . 7 , k 4 + 1 d 0.9 , k 4 )
式中,表示路径Lij上的第z分点距第k个威胁源中心的距离,例如,表示边上的第一个1/10分点距第k个威胁源中心的距离。
步骤3.3:结合航程最短性能指标和威胁代价最小性能指标,得到船舶航路的总性能评价函数:
C=k1Ct+(1-k1)Cl
代价权值k1∈[0,1],表示燃油性能与安全性能的权衡系数,其值可按照船舶航行需求进行更改,如果航行任务重视快速性和经济性,则k1选择较小值,如果航行任务重视安全性,则k1选择较大值。C表示航路的总性能评价值,C值越小,表明船舶航路的总性能越优。
步骤4、采用微分进化算法,对航路种群内部进化变异、交叉操作,生成新的航路种群。
步骤4.1:定义NP*D维矩阵mutate_Path_glob用于存放每一世代的全局施予向量矩阵。依据步骤3中给出的总性能评价函数的计算公式,计算当前世代航路种群Path中各航路的总性能评价值,选取出当前代中总性能评价值最小的航路,该航路对应当前航路种群矩阵的一个行向量,标记该行向量为最优参数向量将最优参数向量重复NP个,构成NP*D维全局最优个体矩阵Path_bm。
按照下式生成变异操作中用到的全局施予向量:
g i , G → = X g _ best , G → + α g · ( X g _ best , G → - X i , G → ) + β g · ( X r 1 , G → - X r 2 , G → )
表示G世代的全局施予向量矩阵的第i个行向量,表示G世代的整个种群中的最优参数向量,为G世代的全局最优个体矩阵中的第i个行向量。表示G世代的航路种群矩阵的第i个行向量, 为在G世代的航路种群矩阵中随机选取的相互独立的两个行向量,且r1,r2∈[1,NP](r1≠r2≠i)。αg、βg是基于固定缩放因子F的抖动缩放因子,αg=βg=(1-0.9999)*rand(1,D)+F;其中rand(1,D)是1*D维随机数组,固定缩放因子F依经验值一般选取0.4。
步骤4.2:定义NP*D维矩阵mutate_Path_loc,用于存放每一世代的局部施予向量矩阵。选取在当前目标向量下标号i的前后邻域范围内的总性能评价值最小的个体参数向量作为G世代向量的邻域最优参数向量邻域半径设置为R,本发明实施例中设置R=3,则针对G世代航路种群Path的第i个行向量比较 的总性能评价值,选取其中总性能评价值最小的行向量作为针对当前世代航路种群矩阵Path的各行向量,得到NP个邻域最优参数向量,NP个邻域最优参数向量构成NP*D维局部最优个体矩阵Path_nbm。
按照下式生成变异操作中用到的局部施予向量:
L i , G → = X i , G → + α · ( X n _ bes t i , G → - X i , G → ) + β · ( X p , G → - X q , G → )
表示G世代的局部施予向量矩阵的第i个行向量;表示G世代的航路种群矩阵的第i个行向量的邻域最优参数向量,选取为局部最优个体矩阵中的第i个行向量;为在G世代的航路种群矩阵中行向量的邻域内随机选取的相互独立的两个行向量,随机选取的下标p,q∈[i-R,i+R](p≠q≠i),R为邻域半径;固定缩放因子α=β=F。
步骤4.3:定义NP*D维矩阵mutate_Path,用于存放每一世代的最终施于向量矩阵,最终施于向量矩阵中的各行向量,使用邻域权重系数按照下式结合得到的全局施予向量及局部施予向量,生成最终施予向量
V i , G → = ω i , G ′ · g i , G → + ( 1 - ω i , G ′ ) · L i , G →
为G世代的最终施于向量矩阵的第i个行向量,ω′i,G表示进化变异得到的G世代航路种群矩阵中第i个行向量的邻域权重系数。邻域权重系数采取“自适应”方式进行设置。把邻域权重系数作为航路种群矩阵行向量的一个分量,每个行向量都具有独立的邻域权重系数,并随各行向量同时进化。初代邻域权重系数在[0.05,0.95]中随机进行选取。设G世代航路种群矩阵中第i个行向量的邻域权重系数为ωi,G,则对应G世代的最终施于向量矩阵第i个行向量的邻域权重参数ω′i,G的进化变异策略具体根据下式得到:
ω i , G ′ = ω i , G + F · ( ω g _ best , G - ω i , G ) + F · ( ω r 3 , G - ω r 4 , G )
其中ωg_best,G是G世代航路种群矩阵中最优参数向量的邻域权重系数。为在G世代航路种群矩阵中随机选取的相互独立的两个行向量的邻域权重系数,且r3,r4∈[1,NP](r3≠r4≠i),F是固定缩放因子,取值为0.4。新生成的ω′i,G取值范围限定为[0.05,0.95]。生成的ω′i,G将在G世代中作为新的邻域权重系数参与最终施予向量的生成,并作为G+1世代的航路种群矩阵中第i个行向量的邻域权重系数ωi,G+1
步骤4.4:根据设定的交叉率Cr,把最终施予向量矩阵的行向量和当前时代航路种群矩阵的行向量进行交叉操作,重组生成试验向量矩阵。本发明使用二项式分布概率进行交叉操作。交叉率Cr的交叉率的经验取值为0.5。
设交叉后所得试验向量矩阵为cross_Path,维数均为NP*D。具体试验向量矩阵的生成方法是:
首先,产生随机下标值jrand=ceil(D*rand),jrand∈[1,2,…,D],rand表示0到1之间的随机数,ceil表示对D*rand向正无穷方向取整。交叉率Cr在微分进化算法的整个流程中保持不变,rand、jrand在每个世代的交叉过程中保持不变,每个世代需重新生成。
然后,对航路种群矩阵中的第j条航路进行如下操作,j从1到NP:按顺序取当前航路的第s个航路点,s从1到D,判断条件:航路点的序号s=jrand或rand<=Cr是否成立,若成立,则将第s个航路点替换为第j个最终施予向量的第s个元素,否则,第s个航路点保持不变。通过该方法,完成整个航路种群的交叉操作。
最终,在航路种群的所有行里完成交叉操作后,得到的航路种群矩阵就是试验向量矩阵cross_Path。试验向量矩阵cross_Path就作为候选航路种群,参与新一代航路种群的生成。
步骤5、进行选择操作,包括步骤5.1和5.2。
步骤5.1:进入选择步骤时,父代个体与新产生的候选个体之间一对一地竞争、优胜劣汰,具体是:经过步骤4得到试验向量矩阵作为一个候选航路种群,按照步骤3中给出的总性能评价函数计算候选航路种群中各航路的总性能评价值,判断候选航路种群中第j条航路的总性能评价值是否小于当前世代的航路种群中的第j条航路的总性能评价值,若是,则将当前世代的航路种群中的第j条航路替换为侯选航路种群中的第j条航路,进入下一世代参与进化过程;若否,则保留当前世代的航路种群中的第j条航路不变。
步骤5.2:判断当前世代的航路种群的所有航路是否都进行了选择操作,若否,转步骤5.1,直至种群中NP个行向量均完成选择操作,构成新一代航路种群。并更新G=G+1。
步骤6、满足进化终止条件,求得最优或近似最优航路解。
设置最大进化代数N,当迭代计算了N次,强行终止算法。若没有找到可行航路,则重新启动算法,这里的最大进化代数N依据经验值选取为200。
设置航路解性能阈值判断:设定航路的总性能评价值的均方差阈值C0,在进化过程中,计算当前世代航路种群中各个航路的总性能评价值的均方差小于预先设定的航路的总性能评价值的均方差C0,,则找到了可行航路,执行步骤7;否则,没有找到可行航路,则需要重新启动本发明方法。
本发明步骤6中综合以上两种进化终止准则判断方法是否终止:判断G世代航路种群的各个航路的总性能评价值的均方差是否小于均方差阈值C0,若是,执行步骤7;否则,判断当前代数G是否大于等于最大进化代数N,若是,则没有找到可行航路,结束本方法;若否,则转步骤4执行。
步骤7:选取G世代航路种群中总性能评价值最小的航路,作为此次航路规划的最优航路解,并输出,结束本方法。
如图4所示,为采用本发明方法对船舶航路规划的一个规划结果图,图中可以看出采用本发明方法所得到的最优航路平滑度很好,可以有效、出色地解决船舶航路规划问题。
如图5所示,为采用微分进化算法变异策略DE1,DE2,DEGL,以及本发明MNDE分别应用于舰船航路规划的进化曲线示意图。(策略DEGL可具体参见文献1:DifferentialEvolution Using a Neighborhood-Based Mutation Operator,IEEE Transactions on EvolutionaryComputation,VOL.13,NO.3,JUNE2009;策略DE1和DE2,可具体参见文献2:苏海军等,微分进化算法的研究综述,系统工程与电子技术,第30卷第9期,2008年9月。)
DE1算法的变异策略为: DE / best / 1 &prime; &prime; &prime; &prime; : V i , G &RightArrow; = X best , G &RightArrow; + F &CenterDot; ( X r 1 i , G &RightArrow; - X r 2 i , G &RightArrow; ) ;
DE2算法的变异策略为:
DE / t arg et - to - best / 1 &prime; &prime; &prime; &prime; : V i , G &RightArrow; = X i , G &RightArrow; + F &CenterDot; ( X best , G &RightArrow; - X i , G &RightArrow; ) + F &CenterDot; ( X r 1 i , G &RightArrow; - X r 2 i , G &RightArrow; ) ;
其中,分别表示G世代的航路种群矩阵中随机选取的相互独立的两个行向量, r 1 i , r 2 i &Element; [ 1 , NP ] ( r 1 i &NotEqual; r 2 i &NotEqual; i ) .
本方法中提出的MNDE算法与DEGL算法不同之处在于,MNDE算法中生成全局施予向量时使用了全局最优向量而非当前目标向量,且使用了抖动缩放因子而非固定缩放因子。
图中横坐标表示进化计算时的迭代次数,纵坐标表示代价函数值,从图中可以看出改进算法MNDE生成的最优航路解代价值最小,收敛速度也最快。算法DE1生成的最优航路解的代价值大于算法MNDE所生成的最优航路解,且收敛速度较慢。算法DE2在舰船航路规划实验中的表现并不好,进化曲线显示其收敛过早。算法MNDE在迭代次数为100时,所得航路解的代价值为50.66,等于算法DEGL在200次迭代后的最优航路解代价值。相比之下,DEGL在迭代100次后所得航路解的代价值为50.69,寻得的航路最优解代价值较高,收敛速度也较慢。
由以上分析可以看出,在舰船航路规划实验中MNDE具有较大优势,主要是由于MNDE使用了全局邻域模型和局部邻域模型共同构成施予向量,并使用抖动缩放因子,增强了传统微分进化算法的“探索”能力,保证不同的航路点组合之间进行充分的信息交流,因而产生了更优的航路解。

Claims (10)

1.一种基于改进的微分进化算法的船舶航路规划方法,包括步骤如下:
步骤1、采用二维平面为待规划区域进行建模,将待规划区域内的固定航路点集作为航路点库;
步骤2、航路编码与种群初始化;
步骤3:确定航路规划中判断航路优劣的总性能评价函数;
步骤4:采用微分进化算法,对G世代的航路种群内部进化变异、交叉操作,生成候选航路种群;G初始为1;
步骤5:进行选择操作;
其特征在于,
所述的步骤2具体是:
步骤2.1:对每个航路点采用实数进行编码,航路点编码route_node={x,y},其中,x、y分别表示航路点的经度和纬度坐标;为每条航路和航路种群进行编码:每条航路为从初始点到目标点的一组有序的航路点序列,航路种群是由各条航路组成的矩阵;
步骤2.2:编码完成后,生成初始航路种群Path,航路种群Path采用NP*D维的矩阵表示,航路种群矩阵中的元素为航路点,第j个行向量为第j条航路Path_j;
所述的步骤3具体是:首先设计航程最短性能指标和威胁代价最小性能指标,然后确定航路规划中判断航路优劣的总性能评价函数:C=k1Ct+(1-k1)Cu,代价权值k1∈[0,1],C表示航路的总性能评价值,Ct表示航路上各航路点的威胁代价,Cu表示航路上各航路点的油耗代价;
所述的步骤4具体包括:
步骤4.1:依据步骤3中给出的总性能评价函数,计算当前世代航路种群Path中各航路的总性能评价值,选取其中总性能评价值最小的航路,将该航路对应的行向量标记为最优参数向量定义NP*D维矩阵mutate_Path_glob用于存放每一世代的全局施予向量矩阵,G世代的全局施予向量矩阵的第i个行向量表示为
步骤4.2:对G世代的航路种群矩阵中每个行向量选取在下标号i的前后邻域范围内的总性能评价值最小的行向量作为向量的邻域最优参数向量邻域半径为R,NP个邻域最优参数向量构成NP*D维局部最优个体矩阵Path_nbm;定义NP*D维矩阵mutate_Path_loc,用于存放每一世代的局部施予向量矩阵,G世代的局部施予向量矩阵的第i个行向量表示为
步骤4.3:定义NP*D维矩阵mutate_Path,用于存放每一世代的最终施于向量矩阵,G世代的最终施于向量矩阵的第i个行向量为:
V i , G &RightArrow; = &omega; i , G &prime; &CenterDot; g i , G &RightArrow; + ( 1 - &omega; i , G &prime; ) &CenterDot; L i , G &RightArrow;
ω′i,G表示进化变异得到的G世代航路种群矩阵中第i个行向量的邻域权重系数;
步骤4.4:根据设置的交叉率Cr,将最终施予向量矩阵的行向量和当前时代航路种群矩阵的行向量进行交叉操作,生成试验向量矩阵cross_Path,试验向量矩阵就是候选航路种群;
所述的步骤5具体是:
步骤5.1:将候选航路种群,按照步骤3中给出的总性能评价函数确定候选航路种群中各航路的总性能评价值,判断候选航路种群的第j条航路的总性能评价值是否小于当前世代的航路种群中的第j条航路的总性能评价值,若是,则将当前世代的航路种群中的第j条航路替换为侯选航路种群中的第j条航路;若否,保持当前世代的航路种群中的第j条航路不变;
步骤5.2:判断当前世代的航路种群的所有航路是否都进行了选择操作,若否,转步骤5.1;若是,航路种群中NP个航路均完成选择操作,构成新一代航路种群,G自加1;
所述的船舶航路规划方法还包括步骤6和步骤7,如下:
步骤6:判断G世代航路种群的各个航路的总性能评价值的均方差C是否小于均方差阈值C0,若是,执行步骤7;若否,进一步判断当前代数G是否大于等于最大进化代数N,若是,则没有找到可行航路,结束本方法;若否,转步骤4执行;
步骤7:选取G世代航路种群中总性能评价值最小的航路作为最优航路,输出,结束本方法。
2.根据权利要求1所述的船舶航路规划方法,其特征在于,步骤2.2中生成初始航路种群,具体方法为:首先,在平面上旋转坐标系,将原坐标系转换为以起点到终点连线为横轴的新坐标系,然后垂直于旋转坐标系横轴将待规划区域等分为D个部分,第i部分区域标记为Point_i,i从1到D;然后,生成初始航路种群Path,初始航路种群包含NP个初始航路,每条初始航路都通过如下方法得到:顺次从区域Point_i中随机选取一点作为基准航路点,将各基准航路点顺序连接,得到一条连接起点与终点的初始航路。
3.根据权利要求1所述的船舶航路规划方法,其特征在于,步骤3中所述的航程最短性能指标,表示为: min C u = &Integral; 0 L &omega; l dl ;
所述的威胁代价最小性能指标表示为:其中,L表示航路长度,ωl表示为l长度航路的油耗代价,ωt表示l长度航路的威胁代价;设Lij表示相邻两个航路点i和j之间的路径,当船舶沿路径Lij航行时,Nt个威胁源对其产生的总威胁代价为:
&omega; t , L ij = &Integral; 0 L ij &Sigma; k = 1 N t t k [ ( x - x k ) 2 + ( y - y k ) 2 ] 2 dl
其中,tk为第k个威胁源的威胁等级,(x,y)表示路径Lij上航路点的经度和纬度坐标,(xk,yk)表示第k个威胁源中心的坐标;为了简化计算,将路径Lij进行10等分,选取第1、3、5、7、9个1/10分点计算路径Lij的威胁代价,若第k个威胁源中心到某个航路点的距离在威胁半径之内,则按下式计算其威胁代价:
&omega; t , L ij = L ij 5 5 &Sigma; k = 1 N t t k ( 1 d 0.1 , k 4 + 1 d 0.3 , k 4 + 1 d 0.5 , k 4 + 1 d 0.7 , k 4 + 1 d 0.9 , k 4 )
式中,表示路径Lij上的第z分点距第k个威胁源中心的距离。
4.根据权利要求1所述的船舶航路规划方法,其特征在于,所述的步骤4.1中G世代的全局施予向量矩阵的第i个行向量根据下式生成:
g i , G &RightArrow; = X g _ best , G &RightArrow; + &alpha; g &CenterDot; ( X g _ best , G &RightArrow; - X i , G &RightArrow; ) + &beta; g &CenterDot; ( X r 1 , G &RightArrow; , X r 2 , G &RightArrow; )
其中,表示G世代的整个种群中的最优参数向量;表示G世代的航路种群矩阵的第i个行向量;为在G世代的航路种群矩阵中随机选取的相互独立的两个行向量,且r1,r2∈[1,NP](r1≠r2≠i);αg、βg是基于固定缩放因子F的抖动缩放因子,αg=βg=(1-0.9999)*rand(1,D)+F,rand(1,D)是1*D维随机数组。
5.根据权利要求1所述的船舶航路规划方法,其特征在于,所述的步骤4.2中G世代的局部施予向量矩阵的第i个行向量根据下式生成:
L i , G &RightArrow; = X i , G &RightArrow; + &alpha; &CenterDot; ( X n _ best i , G &RightArrow; - X i , G &RightArrow; ) + &beta; &CenterDot; ( X p , G &RightArrow; - X q , G &RightArrow; )
其中,为在G世代的航路种群矩阵中行向量的邻域内随机选取的相互独立的两个行向量,随机选取的下标p,q∈[i-R,i+R](p≠q≠i);固定缩放因子α=β=F。
6.根据权利要求1或5所述的船舶航路规划方法,其特征在于,步骤4.2中所述的邻域半径R=3。
7.根据权利要求1所述的船舶航路规划方法,其特征在于,步骤4.3中所述的邻域权重系数ω′i,G,采取自适应方式进行设置,具体方法是:把邻域权重系数作为航路种群矩阵行向量的一个分量,每个航路种群矩阵的行向量都具有独立的邻域权重系数,设G世代航路种群矩阵中第i个行向量的邻域权重系数为ωi,G,初代邻域权重系数的值在[0.05,0.95]中随机选取,则ωi,G进化变异的邻域权重参数ω′i,G根据下式得到:
&omega; i , G &prime; = &omega; i , G + F &CenterDot; ( &omega; g _ best , G - &omega; i , G ) + F &CenterDot; ( &omega; r 3 , G - &omega; r 4 , G )
其中,ωg_best,G是G世代航路种群矩阵中最优参数向量的邻域权重系数;为在G世代航路种群矩阵中随机选取的相互独立的两个行向量的邻域权重系数,且r3,r4∈[1,NP](r3≠r4≠i);F是固定缩放因子;新生成的ω′i,G取值范围限定为[0.05,0.95]。
8.根据权利要求4或5或7所述的船舶航路规划方法,其特征在于,所述的固定缩放因子F取值为0.4。
9.根据权利要求1所述的船舶航路规划方法,其特征在于,步骤4.4中所述的生成试验向量矩阵,具体方法是:首先,产生随机下标值jrand=ceil(D*rand),jrand∈[1,2,…,D],rand表示0到1之间的随机数,ceil表示对D*rand向正无穷方向取整;然后,对航路种群中的第j条航路进行交叉操作,j从1到NP:按顺序取当前航路的第s个航路点,s从1到D,判断条件:航路点的序号s=jrand或rand<=Cr是否成立,若成立,则将第s个航路点替换为第j个最终施予向量的第s个元素,否则,第s个航路点保持不变;最终,在航路种群的所有行里完成交叉操作后,得到的航路种群矩阵就是试验向量矩阵cross_Path。
10.根据权利要求1所述的船舶航路规划方法,其特征在于,所述的最大进化代数N为200。
CN201210246581.8A 2012-07-17 2012-07-17 一种基于改进的微分进化算法的船舶航路规划方法 Active CN102788581B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210246581.8A CN102788581B (zh) 2012-07-17 2012-07-17 一种基于改进的微分进化算法的船舶航路规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210246581.8A CN102788581B (zh) 2012-07-17 2012-07-17 一种基于改进的微分进化算法的船舶航路规划方法

Publications (2)

Publication Number Publication Date
CN102788581A CN102788581A (zh) 2012-11-21
CN102788581B true CN102788581B (zh) 2015-02-25

Family

ID=47154057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210246581.8A Active CN102788581B (zh) 2012-07-17 2012-07-17 一种基于改进的微分进化算法的船舶航路规划方法

Country Status (1)

Country Link
CN (1) CN102788581B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104828234B (zh) * 2014-07-29 2017-01-18 罗普特(厦门)科技集团有限公司 一种船舶行驶方法
CN104406593A (zh) * 2014-12-03 2015-03-11 广西民族大学 一种确定无人机航路最优路径的方法
CN105841703A (zh) * 2016-03-15 2016-08-10 电子科技大学 一种威胁环境下目标定位的无人机最优航路计算方法
CN106546244B (zh) * 2016-10-26 2018-03-13 吉林大学 一种针对凸形障航物确定船舶航行局部最优路径的方法
CN106441308B (zh) * 2016-11-10 2019-11-29 沈阳航空航天大学 一种基于自适应权重鸽群算法的无人机航路规划方法
CN109726910B (zh) * 2018-12-26 2020-11-17 浙江海洋大学 一种海运航线选择方法
CN110160526B (zh) * 2019-04-23 2021-10-08 北京海兰信数据科技股份有限公司 基于遗传算法的航线规划方法
CN110595472B (zh) * 2019-08-14 2021-06-15 青岛科技大学 一种无人船双目标气象航线优化方法和系统
CN110954124A (zh) * 2019-12-13 2020-04-03 山东大学 一种基于a*-pso算法的自适应路径规划方法及系统
CN111061168B (zh) * 2019-12-27 2022-12-13 青岛科技大学 智能船舶航路规划仿真测试环境构建方法及仿真测试方法
CN111829527B (zh) * 2020-07-23 2021-07-20 中国石油大学(华东) 一种基于深度强化学习且顾及海洋环境要素的无人船路径规划方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI405952B (zh) * 2010-02-06 2013-08-21 Htc Corp 導航方法及具導航功能的電子裝置
CN102253301B (zh) * 2011-04-20 2013-07-10 哈尔滨工业大学 基于微分进化算法和回声状态网络静态分类的模拟电路故障诊断方法
CN102254242A (zh) * 2011-06-10 2011-11-23 华北电力大学 规划网络数据系统及其快速智能生成方法
CN102360214B (zh) * 2011-09-02 2013-03-06 哈尔滨工程大学 一种基于萤火虫算法的舰船路径规划方法
CN102413029B (zh) * 2012-01-05 2014-04-02 西安电子科技大学 基于分解的局部搜索多目标复杂动态网络社区划分方法

Also Published As

Publication number Publication date
CN102788581A (zh) 2012-11-21

Similar Documents

Publication Publication Date Title
CN102788581B (zh) 一种基于改进的微分进化算法的船舶航路规划方法
LU102400B1 (en) Path planning method and system for unmanned surface vehicle based on improved genetic algorithm
CN110887484B (zh) 基于改进遗传算法的移动机器人路径规划方法及存储介质
CN102855387B (zh) 一种基于小生境粒子群的二维空间多路径规划方法
CN105929848A (zh) 一种三维环境中的多无人机系统的航迹规划方法
CN104050390B (zh) 一种基于可变维粒子群膜算法的移动机器人路径规划方法
CN110766254A (zh) 一种基于改进遗传算法的多无人机协同任务分配方法
CN105841702A (zh) 一种基于粒子群优化算法的多无人机航路规划方法
Li et al. Efficient path planning method based on genetic algorithm combining path network
CN110703752B (zh) 免疫遗传-人工势场法的无人艇双层路径规划方法
CN105512769A (zh) 基于遗传规划的无人机航迹规划系统及方法
CN107229287A (zh) 一种基于遗传蚂蚁算法的无人机全局路径规划方法
CN108489491A (zh) 一种水下自主航行器的三维航迹智能规划方法
CN103226581A (zh) 一种基于方向寻优的启发式最短路径搜索方法
CN106250650A (zh) 高通量仿真中模型的资源分配与优化方法
Liu et al. An improved heuristic mechanism ant colony optimization algorithm for solving path planning
CN113110520A (zh) 一种多智能优化并行算法的机器人路径规划方法
CN110427690A (zh) 一种基于全局粒子群算法生成ato速度曲线的方法及装置
Zhao et al. Learning transformer-based cooperation for networked traffic signal control
Liu et al. A Cooperative Evolutionary Computation Algorithm for Dynamic Multiobjective Multi-AUV Path Planning
CN105184112A (zh) 基于改进小生境遗传算法的蛋白质结构预测方法
CN115951682A (zh) 一种考虑洋流存在条件下的带约束四目标auv全局路径规划方法
CN104504444B (zh) 一种利用人工地物稀疏形状点自动生成地物轮廓的方法
Song et al. A novel path planning algorithm for ships in dynamic current environments
Lu et al. Immune-genetic algorithm for traveling salesman problem

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160819

Address after: 15 Heilongjiang, Nangang Province, Nantong street, building No. 258, building, ship, floor, No. 150001

Patentee after: Science Park Development Co., Ltd. of Harbin Engineering University

Patentee after: Zhao Yuxin

Address before: 150001 Nantong street, Nangang District, Heilongjiang, No. 145, No.

Patentee before: Harbin Engineering Univ.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161021

Address after: 15 Heilongjiang, Nangang Province, Nantong street, building No. 258, building, ship, floor, No. 150001

Patentee after: Science Park Development Co., Ltd. of Harbin Engineering University

Patentee after: Harbin poly flame investment enterprise (limited partnership)

Address before: 15 Heilongjiang, Nangang Province, Nantong street, building No. 258, building, ship, floor, No. 150001

Patentee before: Science Park Development Co., Ltd. of Harbin Engineering University

Patentee before: Zhao Yuxin

TR01 Transfer of patent right

Effective date of registration: 20170314

Address after: 150078 Heilongjiang province hi tech Industrial Development Zone Yingbin Road concentrated area of the Russian garden 2D building, No. 22, East Road, Unit No. 2, east of the level

Patentee after: Harbin Ship Navigation Technology Co., Ltd.

Address before: 15 Heilongjiang, Nangang Province, Nantong street, building No. 258, building, ship, floor, No. 150001

Patentee before: Science Park Development Co., Ltd. of Harbin Engineering University

Patentee before: Harbin poly flame investment enterprise (limited partnership)

TR01 Transfer of patent right