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

文档序号:5952847阅读:190来源:国知局
专利名称:一种基于改进的微分进化算法的船舶航路规划方法
技术领域
本发明属于船舶航路规划技术领域,具体是ー种基于改进的微分进化算法的船舶航路规划方法。
背景技术
船舶航路是指船舶从某一地点驶抵另一地点的海上航行路线。船舶航路规划,即在船舶航行前寻找一条航行时间最短、最为经济且足够安全的航线——计划航线。航路规划的原则是安全和经济,二者相互统ー以保证航行经济效益和战略要求。因此航路规划是一项涉及知识面广,复杂而细致的工作。

目前应用于船舶航路规划的方法有很多种,基本上可以分为两大类传统路径规划方法和智能路径规划方法。传统路径规划方法在复杂和非线性化的航路规划问题中缺乏自适应性、计算过于复杂、对不确定性因素很难做出正确响应、鲁棒性差。目前,随着新的智能算法的快速发展,使用智能性高、计算和自适应能力强的智能算法进行航路规划已经成为路径规划研究的主流。R. Storr^PK. V. Price在1995年完成的一份技术报告中首次对微分进化算法进行了介绍。作为ー种简单、高效的连续空间内全局优化方法,微分进化算法(DE)可以认为是当前所使用的最强大的随机实參数优化算法之一。它在解决基准测试函数及部分实际问题时要优于部分进化算法和诸如粒子群优化(PSO)的启发式捜索算法。微分进化算法通过使用与标准进化算法相似的计算步骤来进行操作。然而,不同于传统进化算法,微分进化算法中用随机选择的独立种群成员之差乘以一定系数得到的值作为变异算子对当前种群成员进行扰动,并不只是用单独的概率分布来产生子代。航路点指的是计划航路中包括出发点和到达点在内的各个转向点,两相邻航路点之间的连线为ー航线段。这样的航路点串以及一定方向上两两航路点之间的连线就构成了航路。这种定义下的船舶航路规划可以认为是在航路点库所构成的航路群中进行搜索。基于航路点库搜索的船舶航路规划方法——航线网络方法等效于典型的全局多峰优化问题。可将微分进化算法应用来解决航线规划,但是,传统的微分进化算法仍不能完全避免优化速度慢和过早收敛(早熟)这样的问题,在进行航路规划时,会带来搜索时间较长、易陷入局部最优而得不到最优航路的缺陷。航线网络方法是在已知的航路点库中进行组合路径的搜索、优化,若单纯利用航线网络方法,所得到的最短航程仅仅是针对已知固定航路点库的最短,可能并非实际最短。

发明内容
本发明针对应用传统微分进化算法进行船舶航路规划时可能出现的易陷入局部最优、捜索时间较长的缺陷及单纯利用航线网络方法时所得到的最短航程仅仅是针对已知固定航路点库的最短,可能并非实际最短的缺陷,对传统微分进化算法进行改进,研究了ー种新型微分进化算法-基于邻域变异的改进微分进化算法(DE With a ModifiedNeighborhood-Based Mutation Operator,简称为MNDE),并结合航线网络方法,提出一种基于改进的微分进化算法的船舶航路规划方法。本发明提出的一种基于改进的微分进化算法的船舶航路规划方法,包括以下步骤步骤I、采用ニ维平面为待规划区域进行建模,将待规划区域内的固定航路点集作为航路点库。步骤2、航路编码与种群初始化,包括步骤2. I和2. 2。步骤2. I :对姆个航路点采用实数进行编码,航路点编码route_node = {x, y},其中,x、y分别表示航路点的经度和纬度坐标;为每条航路和航路种群进行编码每条航路为从初始点到目标点的一组有序的航路点序列,航路种群是由各条航路组成的矩阵。
·
步骤2. 2 :编码完成后,进行种群初始化首先,在平面上旋转坐标系,将原坐标系转换为以起点到終点连线为横轴的新坐标系,然后垂直于旋转坐标系横轴将待规划区域等分为D个部分,第i部分区域标记为Point_i,i从I到D ;然后,生成初始航路种群Path,初始航路种群包含NP个初始航路,每条初始航路都通过如下方法得到顺次从区域Point_i中随机选取一点作为基准航路点,将各基准航路点顺序连接,得到一条连接起点与终点的初始航路;航路种群Path采用NP*D维的航路种群矩阵表示,航路种群矩阵中的元素为航路点,第j个行向量为第j条航路Path_j。步骤3 :首先设计航程最短性能指标和威胁代价最小性能指标,然后确定航路规划中判断航路优劣的总性能评价函数=C=Ic1Ct+(I-Ic1)Cu,代价权值んG
,c表示航路的总性能评价值,Ct表示航路上各航路点的威胁代价,Cu表示航路上各航路点的油耗代价。步骤4 :采用微分进化算法,对G世代的航路种群内部进化变异、交叉操作,生成候选航路种群,G初始为1,具体步骤4包括步骤4. I :依据步骤3中给出的总性能评价函数,计算当前世代航路种群Path中各航路的总性能评价值,选取其中总性能评价值最小的航路,将该航路对应的行向量标记为最优參数向量;定义NP*D维矩阵mutate_Path_glob用于存放姆一世代的全局施予
向量矩阵,G世代的全局施予向量矩阵的第i个行向量表示为;步骤4. 2 :对G世代的航路种群矩阵中每个行向量文=,选取在下标号i的前后邻
域范围内的总性能评价值最小的行向量作为向量的邻域最优參数向量^^,邻域半径为R,NP个邻域最优參数向量构成NP*D维局部最优个体矩阵Path_nbm ;定义NP*D维矩阵mUtate_Path_l0C,用于存放每一世代的局部施予向量矩阵,G世代的局部施予向量矩阵的第i个行向量表示为/步骤4. 3 :定乂 NP*U维矩阵mutate_Path,用于存放每一世代的最终施于向量矩阵,G世代的最終施于向量矩阵的第i个行向量1^为Vl G = di G gj G + (I-も)-LulCoi,表示进化变异得到的G世代航路种群矩阵中第i个行向量的邻域权重系数;步骤4. 4 :根据设置的交叉率Cr,将最终施予向量矩阵的行向量和当前时代航路种群矩阵的行向量进行交叉操作,生成试验向量矩阵croSS_Path,试验向量矩阵就是候选航路种群。步骤5 :进行选择操作,具体是步骤5. I :将候选航路种群,按照步骤3中给出的总性能评价函数确定候选航路种群中各航路的总性能评价值,判断候选航路种群的第j条航路的总性能评价值是否小于当前世代的航路种群中的第j条航路的总性能评价值,若是,则将当前世代的航路种群中的第j条航路替换为侯选航路种群中的第j条航路;若否,保持当前世代的航 路种群中的第j条航路不变;步骤5. 2 :判断当前世代的航路种群的所有航路是否都进行了选择操作,若否,转步骤5. I ;若是,航路种群中NP个航路均完成选择操作,构成新一代航路种群,更新G =G+1。步骤6 :判断G世代航路种群的各个航路的总性能评价值的均方差5是否小于均方差阈值Ctl,若是,执行步骤7 ;若否,进ー步判断当前代数G是否大于等于最大进化代数N,若是,则没有找到可行航路,结束本方法;若否,转步骤4执行。步骤7 :选取G世代航路种群中总性能评价值最小的航路作为最优航路,输出,结束本方法。本发明方法的优点和积极效果在于(I)本发明采取基于固定航路点库随机选取初始航路点的方式生成初始航路种群,保证了初始航路种群的质量,并避免了规划结果局限于固定航路点库的缺陷。(2)本发明采用基于邻域变异的改进微分进化算法(MNDE),通过对算法中的邻域权重系数进行调节,并在全局邻域模型中使用抖动缩放因子,增强传统微分进化算法的“探索”能力,即提高全局捜索能力,保证不同的航路点组合之间进行充分的信息交流,在全局邻域模型中利用MNDE在航路种群中通过进化得到一条最优或者近似最优的航路解。


图I为本发明的船舶航路规划方法的整体流程图;图2为本发明的船舶航路规划方法所采用的改进的微分进化算法的基本流程图;图3为环境建模,准备种群初始化时规划环境D等分的示意图;图4为基于改进的微分进化算法进行船舶航路规划的规划结果图;图5为算法DE1,DE2,DEGL,本发明改进算法MNDE分别应用于舰船航路规划的进化曲线。
具体实施例方式下面结合附图举例对本发明做更详细地描述。本发明的船舶航路规划方法,首先获取待规划区域内环境信息,对待规划区域进行环境建摸。在环境建模完成的基础上进行航路编码,即航路表达,采取合理方式处理、表达航路信息,并生成一定规模的初始种群;之后具体设计进化操作中的变异、交叉算子对初始种群进行进化操作。设计航路的适应度评价函数,毎次进化产生子代后进行适应度评估,并依照一定的选择机制选出较优个体,至此完成ー个世代循环。在设定终止条件满足后得到最优或者次优航路解,完成一次航路规划。下面结合图I对本发明的船舶航路规划方法的各步骤进行具体说明。步骤I、对待规划区域进行建摸。由于船舶航行时始终处于ニ维平面,本发明采用ニ维平面对待规划区域进行建模,将待规划区域内的固定航路点集存储在ニ维数组中,该ニ维数组中存储的固定航路点集作为航路点库。由于本发明着重考虑基于航路点库的航路捜索与优化,航程最短是首要考虑因素,为简单起见,待规划环境中的岛礁、沉船等障碍物一律采用最大包含的圆形禁航区表示,禁航区内航路不能通过,其他区域为可行域,航路可以通过。步骤2、航路编码与种群初始化。·步骤2. I :本发明将航路编码分两步进行,先对航路中的航路点进行编码,然后对航路进行编码。船舶航路可表示为从初始点到目标点的一组有序的航路点。船舶的姆个航路点应该包括该点的经讳度值。由此,航路点编码route_node = {x, y},其中,x、y分别表示该航路点的经度和纬度坐标,采用实数编码。由航路点构成的航路为ー维数组,航路种群则是由各条航路组成的矩阵,各条航路和航路种群中的各航路点均采用经纬度坐标编码。步骤2. 2 :在航路点库的基础上,随机选取航路点构成初始航路,并进行初始种群的生成。假设航路种群的规模为NP,航路可行解维数为D,各航路可行解初始化为Path_j=zeros (I, D), j从I到NP,航路种群初始化为Path=Zeros (NP, D)。航路种群Path采用NP*D维矩阵表示,称为航路种群矩阵,矩阵中的元素为航路点,第j个行向量为第j条航路Path_j。编码完成后,首先在待规划区域内建立旋转坐标系,将原坐标系转换为以起点到終点连线为横轴的新的坐标系,然后垂直于旋转坐标系横轴将待规划区域D等分。这样待规划区域内的已知航路点同时也被分为D个部分,第i部分标记为Point_i (i从I到D)。如图3所示,将ー个待规划区域分为五部分,并显示了两条航路Pathl和Path2,图中FfF5表示威胁源,黑色点表示航路点库中的航路点。生成初始种群吋,顺次从Pointj中随机选取一点作为基准航路点,根据航路点的分布密度,规划时使用的航路点可在基准航路点周围一定距离内随机选取,以确保初始种群的质量并增加种群多祥性。将所选的各基准航路点按顺序连接,得到一条连接起点与終点的路径PathJ,即ー个航路解。按种群规模选取NP个初始航路解,可得初始种群Path。至此,种群初始化的工作完成。步骤3、评价函数设计。步骤3. I :设计航程最短性能指标,航程最短性能指标是评价完成规定航行任务的燃油性能指标。航程最短性能指标可表示为niin (■:, = f c^d/,L 为航路长度Cu表示航路上各航路点的油耗代价,是航路长度L的函数,L也表示所规划的航路的整体路径,由一系列的航路点连线而成。仿真实验中,设置I长度的航路的油耗代价恒为I。设Lu表示相邻两个航路点i和j之间的路径,其值为该段路径的长度,则从航路点i到航路点j的航路油耗代价ヰ. 等于从航路点i到航路点j之间的航程的长度Lij,即。则所规划的航路的总长度值等价于航路油耗代价,即简单认为=し步骤3. 2 :设计船舶航路规划的评价函数一性能指标中的完成规定航行任务的安全性能指标,即威胁代价最小性能指标。威胁代价最小性能指标可表示为
权利要求
1.一种基于改进的微分进化算法的船舶航路规划方法,其特征在于,包括如下步骤 步骤I、采用ニ维平面为待规划区域进行建模,将待规划区域内的固定航路点集作为航路点库; 步骤2、航路编码与种群初始化,具体是; 步骤2. I :对姆个航路点采用实数进行编码,航路点编码route_node = {x, y},其中,x、y分别表示航路点的经度和纬度坐标;为每条航路和航路种群进行编码每条航路为从初始点到目标点的一组有序的航路点序列,航路种群是由各条航路组成的矩阵; 步骤2. 2 :编码完成后,生成初始航路种群Path,航路种群Path采用NP*D维的矩阵表示,航路种群矩阵中的元素为航路点,第j个行向量为第j条航路Path_j ; 步骤3 :首先设计航程最短性能指标和威胁代价最小性能指标,然后确定航路规划中判断航路优劣的总性能评价函数=C=Ic1Ct+(I-Ic1)Cu,代价权值Ic1 G [O,I],C表示航路的总性能评价值,Ct表示航路上各航路点的威胁代价,Cu表示航路上各航路点的油耗代价; 步骤4 :采用微分进化算法,对G世代的航路种群内部进化变异、交叉操作,生成候选航路种群,G初始为1,具体步骤4包括 步骤4. I :依据步骤3中给出的总性能评价函数,计算当前世代航路种群Path中各航路的总性能评价值,选取其中总性能评价值最小的航路,将该航路对应的行向量标记为最优參数向量ぶ;定义NP*D维矩阵mutate_Path_glob用于存放姆一世代的全局施予向量矩阵,G世代的全局施予向量矩阵的第i个行向量表示为G ; 步骤4. 2 :对G世代的航路种群矩阵中每个行向量$,选取在下标号i的前后邻域范围内的总性能评价值最小的行向量作为向量的邻域最优參数向量^^,邻域半径为R,NP个邻域最优參数向量构成NP*D维局部最优个体矩阵Path_nbrr ;定义NP*D维矩阵mUtate_Path_lC,用于存放每一世代的局部施予向量矩阵,G世代的局部施予向量矩阵的第i个行向量表示力Z 步骤4. 3 :足义NP*D维矩阵mutate_Path,用于存放每一世代的最终施于向量矩阵,G世代的最終施于向量矩阵的第i个行向量^;为1 c = ^,G ' Sug +(I-^g)' A.g' “表示进化变异得到的G世代航路种群矩阵中第i个行向量的邻域权重系数; 步骤4. 4 :根据设置的交叉率Cr,将最终施予向量矩阵的行向量和当前时代航路种群矩阵的行向量进行交叉操作,生成试验向量矩阵croSS_Path,试验向量矩阵就是候选航路种群; 步骤5:进行选择操作,具体是 步骤5. I :将候选航路种群,按照步骤3中给出的总性能评价函数确定候选航路种群中各航路的总性能评价值,判断候选航路种群的第j条航路的总性能评价值是否小于当前世代的航路种群中的第j条航路的总性能评价值,若是,则将当前世代的航路种群中的第j条航路替换为侯选航路种群中的第j条航路;若否,保持当前世代的航路种群中的第j条航路不变; 步骤5. 2 :判断当前世代的航路种群的所有航路是否都进行了选择操作,若否,转步骤.5.I ;若是,航路种群中NP个航路均完成选择操作,构成新一代航路种群,更新G = G+1 ;步骤6:判断G世代航路种群的各个航路的总性能评价值的均方差f是否小于均方差阈值Ctl,若是,执行步骤7 ;若否,进ー步判断当前代数G是否大于等于最大进化代数N,若是,则没有找到可行航路,结束本方法;若否,转步骤4执行; 步骤7 :选取G世代航路种群中总性能评价值最小的航路作为最优航路,输出,结束本方法。
2.根据权利要求I所述的船舶航路规划方法,其特征在于,步骤2.2中生成初始航路种群,具体方法为首先,在平面上旋转坐标系,将原坐标系转换为以起点到終点连线为横轴的新坐标系,然后垂直于旋转坐标系横轴将待规划区域等分为D个部分,第i部分区域标记为Point_i,i从I到D ;然后,生成初始航路种群Path,初始航路种群包含NP个初始航路,每条初始航路都通过如下方法得到顺次从区域Pointj中随机选取一点作为基准航路点,将各基准航路点顺序连接,得到一条连接起点与终点的初始航路。
3.根据权利要求I所述的船舶航路规划方法,其特征在干,步骤3中所述的航程最短性能指标,表示为
4.根据权利要求I所述的船舶航路规划方法,其特征在于,所述的步骤4.I中世代G的全局施予向量矩阵的第i个行向量为G根据下式生成
5.根据权利要求I所述的船舶航路规划方法,其特征在于,所述的步骤4.2中G世代的局部施予向量矩阵的第i个行向量G根据下式生成
6.根据权利要求I或5所述的船舶航路规划方法,其特征在于,步骤4.2中所述的邻域半径R = 3。
7.根据权利要求I所述的船舶航路规划方法,其特征在干,步骤4.3中所述的邻域权重系数“,采取自适应方式进行设置,具体方法是把邻域权重系数作为航路种群矩阵行向量的ー个分量,每个航路种群矩阵的行向量都具有独立的邻域权重系数,设G世代航路种群矩阵中第i个行向量的邻域权重系数为,初代邻域权重系数的值在
中随机选取,则《 “进化变异的邻域权重參数“根据下式得到
8.根据权利要求4或5或7所述的船舶航路规划方法,其特征在于,所述的固定缩放因子F取值为0.4。
9.根据权利要求I所述的船舶航路规划方法,其特征在于,步骤4.4中所述的生成试验向量矩阵,具体方法是首先,产生随机下标值J^and = ceil (D*rand), jrand G [I, 2,…,D],rand表示0到I之间的随机数,ceil表示对D*rand向正无穷方向取整;然后,对航路种群中的第j条航路进行交叉操作,j从I到NP :按顺序取当前航路的第s个航路点,s从I到D,判断条件航路点的序号s = jrand或rand〈=Cr是否成立,若成立,则将第s个航路点替换为第j个最终施予向量的第s个元素,否则,第s个航路点保持不变;最終,在航路种群的所有行里完成交叉操作后,得到的航路种群矩阵就是试验向量矩阵croSS_Path。
10.根据权利要求I所述的船舶航路规划方法,其特征在于,所述的最大进化代数N为200。
全文摘要
本发明是一种基于改进的微分进化算法的船舶航路规划方法,首先对待规划区域进行环境建模,选取实数编码方式进行航路编码并基于航线网络方法完成航路种群的初始化;然后对航路种群采用改进的微分进化算法进行变异和交叉操作,根据总性能评价函数进行选择操作;最后获得最优航路解。本发明基于固定航路点库随机选取初始航路点,生成初始种群,保证了初始种群的质量并避免了规划结果局限于固定航路点库的缺陷;所采用的改进的微分进化算法通过邻域权重系数进行调节,并在全局邻域模型中使用抖动缩放因子,提高全局搜索能力,保证不同的航路点组合之间进行充分的信息交流,以产生更优的航路解。
文档编号G01C21/20GK102788581SQ20121024658
公开日2012年11月21日 申请日期2012年7月17日 优先权日2012年7月17日
发明者刘厂, 张振兴, 王重雷, 高峰 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1