一种基于蚁群算法的拥堵路段路径优化方法与流程

文档序号:18743492发布日期:2019-09-21 02:04阅读:来源:国知局

技术特征:

1.一种基于蚁群算法的拥堵路段路径优化方法,其特征是,包括以下步骤:

步骤1,建立一个标记点的坐标矩阵,根据所划定区域的标记建筑物将各个标记点的横坐标、纵坐标更新到坐标矩阵buildings中,然后根据标记点之间的距离建立一个通行道路矩阵buildings-data,量化后得到坐标图;

步骤2,建立红绿灯矩阵trafficlights、事故路段矩阵caraccition、行车缓慢路段矩阵slow,并分别将信号灯等待信息、事故路段信息和行车缓慢信息数据输入相应的矩阵;以坐标矩阵buildings、红绿灯矩阵trafficlights、事故路段矩阵caraccition以及行车缓慢路段矩阵slow数据为基础,通过干扰因素转换规则进行数据转换并组成节点之间距离矩阵D;

步骤3,设定好蚁群数量m、迭代次数runtime、信息素矩阵pheromone、信息素影响程度因子pheromone-inf、信息素挥发因子masin、距离影响程度因子dasin;

步骤4,开始前5次迭代,具体如下:

步骤4.1,将蚁群放在起始点,随机选择下一个节点,将此节点记录到迭代路径矩阵table中;并把已去过的节点放到已过节点矩阵tabu中;

步骤4.2,通过与所有节点的比较,并根据通行道路矩阵buildings-data所记录的节点间距离进行筛选,得出目前蚂蚁所在节点能去的下一个节点,放在下一节点矩阵allow中;

步骤4.3,将能选择的下一个节点放入下一节点概率矩阵p中;

步骤4.4,根据信息素含量和节点之间的距离,计算下一个节点的概率:

P(k)=Pheromone(tabu(end),allow(k))^pheromone-inf*buildings-data(tabu(end),allow(k))^dasin;其中end为矩阵tabu中已通过的最近一个节点,k为allow矩阵中当前能去的下一个节点;

步骤4.5,把步骤4.4得到的概率做归一化处理,并将要去的下一个节点根据概率排序;

步骤4.6,利用随机函数rand得到一个小于1的数,判断该数在哪个概率区间,从而选择下一个节点target;

步骤4.7,重复步骤4.1—步骤4.6,直到蚂蚁到达目的地;

步骤4.8,迭代一次后,根据迭代路径矩阵table与信息素挥发因子masin对信息素矩阵pheromone进行更新;

步骤4.9,重复步骤4.1—步骤4.8进行下一次迭代,直至5次迭代结束;

步骤5,将所有蚁群放在起始点,根据通行道路矩阵buildings-data、信息素矩阵pheromone、信息素影响程度因子pheromone-inf、距离矩阵D以及距离影响程度因子dasin选择下一个蚁群的节点;根据道路换算后的距离以及道路上残留的信息素浓度选择道路,并将该路径记录到迭代路径矩阵table中;

步骤6,将剩下的节点放入下一节点矩阵allow中,转步骤5,直到蚂蚁到达目的地;

步骤7,迭代一次后,根据迭代路径矩阵table与信息素挥发因子masin对信息素矩阵pheromone进行更新;

步骤8,重复步骤5—步骤7,进行下一次迭代;

步骤9,完成步骤3规定的迭代次数runtime后,信息素矩阵中的信息素含量最浓的路径就是经过蚁群算法优化后的最优路径。

2.根据权利要求1所述的一种基于蚁群算法的拥堵路段路径优化方法,其特征是:所述的距离矩阵D是指:

首先利用节点的坐标计算出道路的实际距离,用D1(i,j)表示,i、j分别为该节点横坐标和纵坐标:D1(i,j)=sqrt(sum((points(i,:)-points(:,j))^2));

再计算该节点等红绿灯增加的距离D2(i,j),其中gtraflt为红绿灯节点等待时间,以秒的数据代入:D2(i,j)=1000*gtraflt(i,j)/15;

然后计算该节点事故路段影响的距离D3(i,j),其中gaction为事故路段影响的时间,以秒的数据代入:D3(i,j)=8*gaction(i,j)/3;

行车缓慢而影响的距离:D4(i,j)按D1(i,j)、D2(i,j)、D3(i,j)三者之和的一半计算,D4(i,j)=[D1(i,j)+D2(i,j)+D3(i,j)]*1/2;

得到节点之间的总距离为D(i,j)=D1(i,j)+D2(i,j)+D3(i,j)+D4(i,j)。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1