[发明专利]经过必经顶点的最短路径搜索方法在审
申请号: | 201610364294.5 | 申请日: | 2016-05-27 |
公开(公告)号: | CN106022531A | 公开(公告)日: | 2016-10-12 |
发明(设计)人: | 陈海旺;吴炜 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种经过必经顶点的最短路径搜索方法。其实现步骤为:(1)构造满足路径关系的有权有向图;(2)寻找搜索起点到每个必经顶点之间的最短路径;(3)判断路径是否存在;(4)假如存在,则以必经顶点作为新的搜索起点,继续寻找路径;(5)不存在,则回溯到上一个必经顶点,选择次短路径继续搜索;(6)搜索最后找到的必经顶点到目的顶点之间的最短路径;(7)把找到的所有必经顶点之间的最短路径组合起来,即可找到路径。本发明通过实验与深度优先搜索方法、遗传方法和蚁群方法进行对比,可以发现本发明具有求解速度快,稳定性好等优点。 | ||
搜索关键词: | 经过 必经 顶点 路径 搜索 方法 | ||
【主权项】:
一种经过必经顶点的最短路径搜索方法,包括以下步骤:(1)构造有权有向图:构造满足源顶点、目的顶点、必经顶点、非必经顶点之间相互关系的有权有向图;(2)初始化:将目的顶点d添加到必经顶点集合X中,建立一个用来存放似优路径上的顶点集合M,将存放似优路径上的顶点集合M初始化为空,将迭代次数k初始化为1,建立一个用来存放似优路径的集合W,将存放似优路径的集合W初始化为空;(3)判断必经顶点集合X中的顶点个数是否为1,若是,则执行步骤(17),否则,执行步骤(4);(4)搜索第1阶段的最短路径:(4a)以源顶点s作为搜索起点sk,采用Dijkstra迪杰斯特拉方法,分别求出搜索起点sk到必经顶点集合X中除去目的顶点d之外的所有顶点之间的不成环最短路径;(4b)采用最短路径权值公式,计算第1阶段搜索起点到每个必经顶点的最短路径pk,将最短路径pk按照权值从小到大的顺序排列为其中,qk表示搜索过程中搜索起点到其余未搜索到的必经顶点能够连通的最短路径的个数;(5)存储第k阶段的路径:(5a)建立一个用来存放第k阶段搜索过程中,搜索起点到其余必经顶点能够连通的最短路径集合Nk,将最短路径集合Nk初始化为空;(5b)按照最短路径权值从小到大的顺序,将与最短路径权值大小顺序对应的最短路径分别存放到最短路径集合Nk中,ik表示最短路径在最短路径集合Nk中索引,初始化ik为1;(6)确定下一阶段的搜索起点:(6a)找出最短路径集合Nk中索引为ik的最短路径对应的必经顶点将连接搜索起点sk到必经顶点之间的所有顶点的集合记为(6b)将集合中的所有顶点存到似优路径的顶点集合M中;(6c)最短路径存到似优路径的集合W中;(6d)在必经顶点集合X中移除必经顶点将必经顶点作为k=k+1阶段的搜索起点sk;(7)判断必经顶点集合X中的个数是否为1,若是,则执行步骤(8),否则,执行步骤(10);(8)寻找搜索起点sk到目的顶点d之间的最短路径;(9)判断搜索起点sk到目的顶点d之间是否存在最短路径,若是,则执行步骤(17),否则,执行步骤(10);(10)搜索下一阶段的最短路径:(10a)通过Dijkstra迪杰斯特拉方法寻找搜索起点sk到必经顶点集合X中除去目的顶点d外的每个必经顶点之间的不成环最短路径;(10b)第k阶段搜索过程中,搜索起点到其余未搜索到的必经顶点能够连通的最短路径个数qk;(11)判断最短路径个数qk的值是否为0,若是,则执行步骤(13),否则,执行步骤(12);(12)采用最短路径权值公式,计算搜索起点到每个必经顶点的最短路径权值,将路径按照权值由从小到大的的顺序排列为执行步骤(5);(13)恢复上一个必经顶点的路径信息:(13a)回溯到似优路径的顶点集合M中必经顶点的上一个必经顶点,恢复上一个必经顶点的路径信息;(13b)将当前搜索阶段变为k=k‑1,似优路径的顶点集合M中移除第k阶段的最短路径包含的顶点(13c)似优路径的集合W中移除最短路径(13d)必经顶点集合X中加上必经顶点(14)判断最短路径集合Nk中索引ik+1的值是否小于等于路径个数qk,若是,执行步骤(15),否则,执行步骤(16);(15)选择权值次小的最短路径:将最短路径集合Nk中索引变为ik=ik+1,执行步骤(6);(16)深度回溯:(16a)将当前搜索阶段变为k=k‑1,似优路径顶点集合M中移除第k阶段的最短路径包含的顶点(16b)似优路径集合W中移除最短路径(16c)必经顶点集合X中加上必经顶点(16d)将最短路径集合Nk中索引变为ik=ik+1,执行步骤(6);(17)输出路径:通过Dijkstra迪杰斯特拉方法求出最短路径,将最短路径存储到似优路径集合W中,将似优路径集合W中的路径作为经过必经顶点的似优路径。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610364294.5/,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06 计算;推算;计数
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理