[发明专利]基于迪杰斯特拉和最大最小蚁群的无环最短路径搜索方法在审
申请号: | 201610980706.8 | 申请日: | 2016-11-08 |
公开(公告)号: | CN106503789A | 公开(公告)日: | 2017-03-15 |
发明(设计)人: | 裴婉婉;吴炜 | 申请(专利权)人: | 西安电子科技大学宁波信息技术研究院 |
主分类号: | G06N3/00 | 分类号: | G06N3/00;G01C21/20;G05B13/04 |
代理公司: | 陕西电子工业专利中心61205 | 代理人: | 王品华,朱红星 |
地址: | 315200 浙江省宁*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于迪杰斯特拉和最大最小蚁群的无环最短路径搜索方法,主要解决现有技术时间复杂度高、路径权值不够优的问题。其实现步骤为1)构造满足路径关系的有权有向图G,使用剪枝剔除不需要的节点和有向边得到剪枝后的有权有向图G1;2)将剪枝后的有权有向图G1简化为只包含源节点、必经节点集、目的节点的简单图G2;3)在简单图G2中使用结合迪杰斯特拉算法的最大最小蚁群方法寻找最优路径并输出。本发明与现有技术相比,具有求解速度快、最短路径优的特点,可用于网络路由系统中路径选择、交通运输中线路规划场景。 | ||
搜索关键词: | 基于 迪杰斯特拉 最大 最小 无环最短 路径 搜索 方法 | ||
【主权项】:
一种基于迪杰斯特拉和最大最小蚁群的无环最短路径搜索方法,包括以下步骤:(1)构造有权有向图:以G(V,E)为原始图,构造满足源节点s、目的节点t、必经节点集V'和辅助节点集X相互关系的有权有向图G,其中,V为节点集合,E为有权边集合;(2)初始化:建立一个似优路径集合W,并初始化为空,根据有权有向图G的结构建立p节点的出度集合Op和入度集合Ip,其中p∈V;(3)对有权有向图G进行剪枝,得到剪枝后的有权有向图G1:(3.1)通过深度优先遍历方法搜索有权有向图G,删除有权有向图G中不能到达的节点;(3.2)判断节点集合V中节点p的出度集合Op是否为空,若为空,则删除节点p及与p相关的有向边,其中p≠s且p≠t;(3.3)将必经节点集V'和辅助节点集X中所有节点的访问标志位初始化为0,设访问标志位为0表示未被访问,访问标志位为1表示已被访问;(3.4)取必经节点集V'中一个未被访问的节点p,将其访问标志位置为1,判断节点p的入度集合Ip大小是否为1:若为1,则只保留前驱节点到p的有向边,删除该前驱节点的其它出度边,执行(3.5),否则,直接执行(3.5);(3.5)判断节点p的出度集合Op大小是否为1,若为1,则只保留p到后继节点的有向边,删除该后继节点的其它入度边,执行(3.6),否则,直接执行(3.6);(3.6)判断所有必经节点的访问标志位是否都为1,若都为1,则执行(3.7),否则,返回(3.4);(3.7)取辅助节点集X中一个未被访问的节点p1,将其访问标志位置为1,判断节点p1的入度集合Ip1大小是否为1:若为1,则只保留前驱节点到p1的有向边,删除p1到其前驱节点的有向边,执行(3.8),否则,直接执行(3.8);(3.8)判断节点p1的出度集合Op1大小是否为1,若为1,则只保留p1到后继节点的有向边,删除后继节点到p1的有向边,执行(3.9),否则,直接执行(3.9);(3.9)判断所有辅助节点的访问标志位是否都为1,若都为1,得到剪枝后的有权有向图G1,执行(4),否则,返回(3.7)。(4)通过迪杰斯特拉方法将剪枝后的有权有向图G1简化为只包含源节点s、目的节点t、必经节点集V'相互关系的有权有向图G2;(5)在简化的有权有向图G2中使用结合迪杰斯特拉的最大最小蚁群方法得到最优路径:(5.1)初始化参数:蚂蚁个数为m,设置最大迭代次数F,置全局最优解的初始权值为无穷大,已迭代次数为0;(5.2)构造用于存放蚂蚁通过的节点和路径的禁忌表Tabuk,k=1,2,…,m,并初始化为空;(5.3)将全部蚂蚁放置在源节点s上,将源节点s和目的节点t添加到禁忌表Tabuk,k=1,2,…,m,置本次迭代最优解的初始权值为无穷大;(5.4)取一只蚂蚁k,计算其路径Pk;(5.5)计算当前蚂蚁k所走路径Pk的权值,清空该蚂蚁对应的禁忌表Tabuk;(5.6)判断全部蚂蚁是否完成寻路,若是,执行(5.7);否则,返回(5.4);(5.7)对所有蚂蚁的路径P1,P2,…Pk,…,Pm按照权值从小到大排序,并按照排序依次选取蚂蚁k的路径Pk,判断其路径Pk的权值是否小于本次迭代最优解,若是,则将G2中每个节点的访问标志位置为0,执行(5.8),否则,跳转到(5.12);(5.8)使用正向迪杰斯特拉方法将当前蚂蚁k得到的路径Pk恢复为正向实际路径P′k,判断正向实际路径P′k的权值是否小于本次迭代最优解,若是,则更新本次迭代最优解,执行(5.9),否则,执行(5.10);(5.9)判断正向实际路径P′k的权值是否小于全局最优解,若是,则更新全局最优解,并将似优路径集合W中的路径替换为正向实际路径P′k,执行(5.10),否则,直接执行(5.10);(5.10)将所有节点访问标志位重新置0,使用反向迪杰斯特拉方法将路径Pk恢复为反向实际路径P″k,判断反向实际路径P″k的权值是否小于本次迭代最优解,若是,则更新本次迭代最优解,执行(5.11),否则,执行(5.12);(5.11)判断反向实际路径P″k的权值是否小于全局最优解,若是,则更新全局最优解,并将似优路径集合W中的路径替换为反向实际路径P″k,执行(5.12),否则,直接执行(5.12);(5.12)计算最大最小信息素,并更新路径信息素;(5.13)迭代次数加1,判断是否达到预定的迭代次数F,若是,则将似优路径集合W中保存的路径作为最优路径输出,否则,返回(5.3)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学宁波信息技术研究院,未经西安电子科技大学宁波信息技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610980706.8/,转载请声明来源钻瓜专利网。