一种路径优化方法

文档序号:8259747阅读:1116来源:国知局
一种路径优化方法
【技术领域】
[0001] 本发明为一种路径优化方法,主要采用模拟退火算法计算大规模目的地的最短、 最优路径。采用该方法与系统,可显著降低计算时间,具有极高的实用性,可应用于科学计 算、物流配送等领域。
【背景技术】
[0002] 在科学计算及日常生活中(例如物流配送问题),经常会计算由某一地点出发,经 过多个目的地返回,优化得到最短路径的问题。在实际应用过程中,如果考虑到路径的复杂 性、多组合约束条件,当目的地数量一旦比较多的时候,问题的计算规模将变得非常庞大, 传统的贪心算法、蒙特卡洛算法、神经网络算法等,都会面临计算规模增大、计算时间变长 等问题,导致计算效果很不理想。

【发明内容】

[0003] 针对【背景技术】中存在的问题,本发明提供了一种路径优化方法,可以解决大规模 目的地路径优化问题,同时可处理多约条件的组合优化问题。通过系统的处理与计算,可显 著降低计算时间,具有极高的实用性,可应用于科学计算、物流配送等领域。
[0004] 路径优化问题是目前科学计算领域、物流配送等行业中非常重要的一类问题,也 是一个复杂的组合优化问题,其中线路的优化需要进行多约束、多目标的决策,属于路径优 化中的难点。特别是当约束条件较多、目的地数目非常多的情况下,问题的规模将变得非常 庞大。
[0005] 本发明为解决目前路径优化中存在的当约束条件较多、目的地数目非常多的情况 下,问题的规模将变得非常庞大导致计算时间非常长的技术问题,提供一种路径优化方法。
[0006] 本发明所述的一种路径优化方法是采用以下技术方案实现的:一种路径优化方 法,用以解决大规模目的地路径优化问题,将这类问题的计算分为三个阶段,称为三级过 程算法:
[0007] a)第一阶段,首先通过路口、路□属性的描述,应用堆优化Dijkstra算法,将出发 点与所有目的地点、任意两个目的地点之间的距离实现表格化,然后通过预先计算各点的 距离并存储;
[0008] b)第二阶段,采用一种启发式的模拟退火网格算法,结合约束条件,将大量的目的 地点进行划分或分组,形成一系列满足约束条件的团簇;
[0009] c)第二阶段,利用中国邮递员问题算法,确定团族内行走时的最短路径和行走次 序,最终计算得到面向所有目的地点的最优化路径解。
[0010] 图1为本发明的工作流程图。通过步骤a)可极大的优化计算时间;步骤b)形成 一系列的团簇之后,此时满足条件的团簇内的点数目已经较少,成功的降低了计算的规模。 本发明通过步骤a)中的对路口、路口属性的描述以及任意目的地之间距离的表格化描述, 满足了步骤b)中模拟退火网格算法的要求,使得分组更为科学合理,大大降低了计算量。
[0011] 本发明的有益效果:本发明可应用于科学计算、物流配送等领域,通过三级过程算 法,可显著降低计算时间,具有极高的实用性。特别是面对大规模目的点(超过1万个目的 地)的计算时,本发明的办法计算时间极短,计算效果佳,几乎是唯一可行的处理方法。
【附图说明】
[0012] 图1本发明工作流程图。
[0013] 图2单连通路口的连通性描述示意图。
[0014] 图3双连通路口的连通性描述示意图。
[0015] 图4三连通路口的连通性描述示意图。
[0016] 图5四连通路口的连通性描述示意图。
[0017] 图6实施例中目的地与路口的示意图。
[0018] 图7实施例中目的地分组的示意图。
【具体实施方式】
[0019] ⑴在第一阶段中,结合路口点的约束条件,构造各点间距离的邻接矩阵
[0020] ①路口、出发点、目的地等的连通性处理
[0021] 在科学计算、物流配送问题中,无论出发点、目的地点总是由许多路径连接构成, 而路径是由最基本的路口这一元素构成;为了准确的计算路径,考虑到路口的约束条件,首 先构建描述路口连通性的体系;
[0022] 以物流问题为例,实际生活中的路口、道路,构成了连接出发点、目的地点的基本 元素。每个路口均有一些约束条件(例如:路口的红绿灯,是否可以允许掉头、左转灯);
[0023] 所述路口属性信息的表示方式,可以准确的表示单连通、双连通、三联通、四联 通、…直到n连通的路口信息;以下都用0来表示路口,依次用l、2、3-n表示与其直接连 接的其它路口,分别有以下几种情况:
[0024] a)路口不能有孤立的,即没有零连通的路口点;从实际道路情况看,路口一定在 路上,即一定有别的路口点通过路与其相连;
[0025] b)单连通的路口点的表示:路口点的单连通相当于1条路的终点,设0为需描述 的该路口点,1表示与其相连接的另一路口点;单连通的点仅能与另外的一个点连通,即单 连通的点可以表示为:1 - 0 - 1 ;单连通相比其它多连通情况要比较特殊,只有一种连通 情况:1,即全连通;如图2所示。虚线框中标注为0的即为需描述的该路口点,
[0026] c)双连通的路口点的表示:双连通的路口点可以与其它一共2个路口点连通,设0 表示需描述的该路口点,1、2表示与其相连的另两个路口点,如图3所示。则其通过性可描 述为:1 - 0 - 1,1 - 0 - 2, 2 - 0 - 1,2 - 0 - 2这四种情况,则使用一个长度为4的字 符串可以表示该路口的通过性信息,字符串中1表示通,〇表示不通;
[0027] 例如:在物流配送问题中,"1111"字符串表不(1 - 0 - 1通,1 - 0 - 2通, 2 - 0 - 1 通,2 - 0 - 2 通);"0110"(1 - 0 - 1 不通,1 - 0 - 2 通,2 - 0 - 1 通, 2 - 0 - 2 不通);" 1110"(1 - 0- 1 通,1 - 0 - 2 通,2 - 0 - 1 通,2 - 0 - 2 不通)
[0028] d)三连通的路口点的表示:三连通的路口点可以与其它一共3个路口点连通,如 图4所示。用0表示需描述的该路口点,1、2、3表示与其相连的另两个路口点,则其通过性可 描述为- 0-1,1 - 0 - 2,1 - 0 - 3;2 - 0- 1,2 - 0 - 2,2 - 0 - 3;3 - 0 - 1, 3 - 0 - 2, 3 - 0 - 3 ;则使用一个长度为9的字符串可以表示该路口的通过性信息;例如: 在物流配送问题中,"111111111 "字符串表不(1 - 0 - 1通,1 - 0 - 2通,1 - 0 - 3通; 2 - 0 - 1 通,2 - 0 - 2 通,2 - 0 - 3 通;3 - 0 - 1 通,3 - 0 - 2 通,3 - 0 - 3 通); "110101101"表示:(1 - 0-1 通,1 - 0 - 2 通,1 - 0 - 3 不通;2 - 0 - 1 通,2 - 0 - 2 不通,2 - 0 - 3 通;3 - 0 - 1 通,3 - 0 - 2 不通,3 - 0 - 3 通);
[0029] e)四连通的路口点的表示:四连通的路口点可以与其它一共4个路口点连通,如 图5所示。用0表示需描述的该路口点,1、2、3、4表示与其相连的另两个路口点,则其通过性 可描述为 :1一〇-1,1一〇 - 2,1一0 - 3,1一0 - 4;2 - 0-1,2 - 0 - 2,2 - 0 - 3, 2 -0 -4;3 -0 - 1,3 -0 -2,3 -0 -3,3 -0 -4;4 -0 - 1,4 -0 -2,4 -0 -3, 4 - 0 - 4 ;则使用一个长度为16的字符串可以表示该路口的通过性信息;例如:在物流配 送问题中,"1111101001101111"字符串中每个字符"0"或"1"分别表示上述(1 - 0 - 1通, 1 - 0 - 2
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1