蚁群算法在GIS最短路径求解中应用的初步研究
蚁群算法在旅行商问题优化中的应用方法

蚁群算法在旅行商问题优化中的应用方法旅行商问题(Traveling Salesman Problem,TSP)是指一个旅行商需要经过若干个城市,并返回出发城市,要求在所经过的城市中路径最短的问题。
蚁群算法(Ant Colony Optimization,ACO)是一种模拟蚂蚁觅食行为的算法,通过蚂蚁在路径选择过程中释放信息素来优化路径选择。
蚁群算法在旅行商问题优化中有着广泛的应用。
蚁群算法的基本原理是模拟蚂蚁在寻找食物时释放和感知路径上的信息素。
在旅行商问题中,蚂蚁可以被视为旅行商,城市可以被视为路径上的节点。
蚂蚁选择路径的概率与路径上的信息素浓度有关,信息素浓度越高,路径被选择的概率越大。
蚁群算法在旅行商问题中的应用方法可以分为两个阶段:路径构建和路径优化。
在路径构建阶段,蚂蚁依次选择下一个要访问的城市。
每只蚂蚁根据概率选择下一个城市,概率计算的依据是路径上的信息素浓度和城市之间的距离。
信息素浓度越高、距离越近的城市被选择的概率越大。
一旦蚂蚁选择了下一个城市,它将更新当前路径,并释放信息素到路径上。
在路径优化阶段,蚂蚁在构建路径的同时,释放的信息素会逐渐积累在路径上。
信息素的更新是基于蚂蚁的路径选择和路径上信息素的挥发。
路径选择后,蚂蚁释放的信息素会根据路径的长度进行调整。
较短的路径会释放更多的信息素,较长的路径会释放较少的信息素。
同时,路径上的信息素会随着时间的推移逐渐挥发。
这样,蚂蚁倾向于选择较短的路径,更多的信息素会沿着较短的路径累积,进一步增加这条路径被选择的概率,从而优化整体路径的选择。
蚁群算法在旅行商问题优化中的应用方法包括参数设置、信息素更新策略和蚁群数量等。
首先,参数设置对蚁群算法的性能影响重大。
例如,信息素浓度和距离之间的权重比例决定了选择下一个城市的概率。
合理的参数设置可以加快算法的收敛速度和稳定性。
其次,信息素更新策略决定了信息素的时变规律。
一般来说,信息素的更新有两个过程:局部信息素更新和全局信息素更新。
蚁群算法原理及其应用

蚁群算法原理及其应用1.介绍蚁群算法蚁群算法是基于群体智能的一种优化算法,它是由蚂蚁觅食行为得到的灵感而设计的。
它通过模拟蚂蚁觅食时的信息素传递、挥发和追随机制,以寻找最优解,在优化搜索问题方面表现出了很高的效率和准确率。
蚁群算法的核心思想是通过模拟蚂蚁觅食时的联合行为,来寻找最优解。
在蚂蚁觅食的过程中,蚂蚁们会释放信息素,并且在寻找食物的过程中会不断地追随信息素浓度最高的路径。
最终,所有蚂蚁都会找到最短路径,这是通过信息素的积累实现的。
同样的,蚁群算法也是通过信息素的积累来找到最优解。
2.蚁群算法工作原理蚁群算法是基于蚂蚁觅食行为的优化算法,其主要的工作原理是通过模拟蚂蚁的联合行为寻找最优解。
其过程可以分为蚂蚁编号、路径选择、信息素更新三个阶段。
蚂蚁编号:首先,将每只蚂蚁进行编号,这个编号的目的是为了标识蚂蚁,以便于后面对信息素的更新和路径选择进行控制。
路径选择:在路径选择过程中,每只蚂蚁都会根据自己当前的位置,以及路径上已有的信息素浓度等因素,选择一条路径进行行走。
在这个过程中,蚂蚁们会保留走过的路径,并且释放信息素。
信息素更新:在信息素更新过程中,所有路径上的信息素浓度都会发生变化,其中信息素的浓度会受到蚂蚁在路径上的行走距离、信息素挥发率、以及其他因素的影响。
所有蚂蚁行走结束后,信息素更新过程便开始了。
3.蚁群算法的应用领域蚁群算法在解决优化问题方面具有很大的应用潜力,其能够用于很多领域。
以下是蚁群算法在各个领域的应用举例:(1)路径规划领域蚁群算法可以应用在路径规划领域中,用于求解最短路径和最优路径问题。
在实际应用中,蚁群算法在公共交通网络、航空路线规划、车辆路径优化等方面都表现出了很好的效果。
(2)组合优化领域蚁群算法在组合优化领域中得到了广泛的应用,可以用于解决如旅行商问题、装载问题、集合划分问题等复杂的组合优化问题。
(3)机器学习领域蚁群算法在机器学习领域的应用,包括聚类、分类、特征选择等方面。
蚁群算法的GIS最短路径建模与仿真

蚁群算法的GIS最短路径建模与仿真王惠荣【期刊名称】《计算机仿真》【年(卷),期】2011(28)12【摘要】研究交通道路中的最短路径优化问题,由于城市道路拥塞严重,在导航过程中,为了尽快达到日的地,必须选择最短路径进行行驶.传统搜索算法计算复杂度高,寻优效率低,不利于实际优化.为解决最短路径优化问题,提出了一种蚁群算法的GIS中的最短路径优化方法.将路径的起点当成蚁群的巢,终点当成蚁群要寻找的食物,蚂蚁通过信息法指导搜索方向,并通过蚂蚁之间的相互协作达到终点.仿真结果表明,提出的优化方法降低了计算复杂度,更快地找到最短路径,提高了找到最短路径的平均正确率,为解决GIS中的最短路径优化问题提供了一种新的有效途径.%In navigation process, in order to save costs and reach the destination as soon as possible, we must choose the shortest path. Modern city traffic networks are complex, and the traditional search algorithm with high computational complexity and low searching efficiency, is not conducive to the practical application. In order to solve the problem of shortest path of GIS, we put forward a kind of ant colony optimization and the shortest path in GIS as an optimization method. The path starting point as the ant nest, and the finish point as ant colony to find food. The ants search the direction based on information method, and reach the destination through the mutual cooperation a-mong the them. The simulation results show that the proposed optimization method can reduce the computational complexity,and find the shortest path quickly, and improve average correct rate of the shortest path.【总页数】5页(P357-360,397)【作者】王惠荣【作者单位】广东工程职业技术学院,广东广州 510520【正文语种】中文【中图分类】TP312【相关文献】1.蚁群算法在GIS最短路径求解中应用的初步研究 [J], 刘晓亮2.基于改进蚁群算法对最短路径问题的分析与仿真 [J], 杨中秋;张延华;郑志丽3.GIS中最短路径的算法研究与仿真 [J], 王凌;段江涛;王保保4.Dijkstra最短路径算法改进研究及其在GIS-T仿真分析中的应用 [J], 翟娜;李庆东5.GIS设备壳体温变行为仿真结构建模研究 [J], 蒋池剑;王梓琪;余租良;沈小军因版权原因,仅展示原文概要,查看原文内容请购买。
WebGIS技术中最短路径算法在旅游决策支持系统中的应用研究

中 图分 类 号 :TP 7 24 文献 标 识 码 :A
ABS TRACT Thsp p ra ay e wo s o ts ah frtag rtmsi e GI i a e n l sd t h re tp t i lo ih n W b S,o e i te ca s a ik ta h t e s t e s n s h lsi lD jsr ,t eo h ri h c
计算 机信 息管 理 技术 , 强 大 的空 间数 据 库 管理 能力 它 与方 便 、 洁 、 观 的查 询 定 位 功 能 被各 行 业 普 遍 应 简 直
用 。 b S是 Itr e 技 术应 用于 G1 We GI n en t S开发 的产 物 。 GI 过 Www 功能 得 以扩展 , S通 真正 成 为一 种 大众 使 用 的工具 。从 Ww W 的 任 意一 个节 点 , tr e 用 户 I en t n 可 以浏 览 We GI b S站 点 中的 空 间 数 据 、 作 专 题 图 , 制 以及进行 各 种空 间 检索 和 空 间分 析 , 而使 GI 从 S进入
GI ) 近十几 年 来 飞速 发展 的一 门综 合性 、 学科 的 S是 多
1 1 经 典的最 短路 径算法 , 要介 绍 D j sr 法 . 主 i ta算 k 旅 游决 策支 持系统 中的 D jsr i ta算法 主要 用 于旅 k 游 路 线 的设计 ; i sr 法是 典 型最短 路 径算 法 , D j ta算 k 用
千家 万户 。
于计算 一个 节点 到其他 所有 节点 的最短路 径 。主要 特
蚁群算法在GIS中的应用探讨

蚂蚁 k 在本 次循 环 中所 经过 路径 的总 长度 。
给定 一个有 / 7 , 个 城市 的 T S P问 题 , 人工蚂 蚁 的数量 为 m。将 m只蚂蚁 随机 地放人 n个 城市 中 , 每个人 工蚂 蚁 的 行 为符 合下 列规律 :
下 分别 解析这 两方 面的应用 。
尸 : 』 { — [ f 孝 器 ) 7 7 , 。 … z … e d
尸 :
【
数, = 1 / d
0
. 。 。 刑
3 GI S路 径 寻 优
网络分析 作为 G I S应 用最 主 要 的功 能 之 一 , 在导航 、 交通 、 旅游、 城 市 规 划 以及 电力 、 通 讯 等 领 域 中 发 挥 了 重
根据路 径上 的 信 息素 浓 度 和 启 发 式 信 息 ( 两 城市 间
的距离 ) , 以相 应 的概率 , 独 立 地选 取 下一 步 路径 ; 不再 选 取 自己本次 循 环 已 经走 过 的路 径 为 下 一 步路 径 , 用 一 个
数 据结 构—— 禁 忌表 ( t a b u l i s t ) 来 控 制这 一 点 。 当完成 了
第3 6卷 第 8期
2 0 1 3年 8月
测 绘 与 空 间地 理 信 息
G Eo MA T I Cs& s p A T I A L I NF o R MA T l oN T E C HNOL OGY
Vo 1 . 3 6, No . 8 Au g . ,2 0 1 3
蚁 群 算 法 在 GI S中 的应 用 探 讨
随着进化 过程作 动态 调整 。公式 的含义 是 : 位 于城 市 i 的 蚂蚁 k按 照概率 p ( t ) 从a l l o w e d 中随机 的选 择一个 城市
带杂交算子的蚁群算法求解动态网络中的最短路径问题

v2 , …, v n ) 是有限点集 ; A 是有限边集 , A ∈ V × V ; T = { gi , j ( t) | ( v i , v j ) ∈A , t ∈[ t0 , t m ]} 是对于每一条边 ( v i , v j ) 在时
( 1) 算法开始运行时 , 赋予每条边上相等数量的信息量 τ ( i , j) = c( c 为常数) , 并设置迭代次数 ; ( 2) 将 m 只蚂蚁放在初始节点 s , 在每一代执行以下操作 : for ( k = 1 ; k ≤ m ; k + +) do
2 动态网络模型
21 1 模型介绍 [ 3 ]
带杂交算子的蚁群算法求解动态网络中的最短路径问题
An Ant Colony Algorit hm with Crossover Operators for t he Shortest Pat h Problem in Dynamic Networks
陈立潮 ,刘 佳 ,吕亚男
CHEN Li2chao ,L IU Jia ,L Β Ya2nan ( 太原科技大学计算机科学与技术学院 , 山西 太原 030024) ( School of Computer Science and Technology , Taiyuan University of Science and Technology , Taiyuan 030024 ,China)
81
来产生初始群体的遗传算法来求解动态网络中的最短路径 问题 ,这两种方法能适合连续和离散的网络 。但是 ,遗传算 法容易过早地收敛 ,使搜索陷入局部最优解 。因此 ,这两种 方法搜索到全局最优解的概率都不高 。文献 [ 7 ] 采用反馈 神经网络进行求解 ,但要求神经网络的权值矩阵必须对称 , 而且要求边的走行时间函数必须是连续有界的 。 本文从提高搜索到全局最优解的概率 、 算法的适应范 围出发 ,提出了用带杂交算子的蚁群算法来求解动态网络 中的最短路径问题 。此算法在离散和连续的网络中都有 效 ,不仅能快速地收敛 ,而且搜索到全局最优解的概率大大 提高 。实例证明 ,此算法的稳定性很高 ,为空间三维地形的 研究提供了一定的参考价值 。
基于蚁群算法的最短路径搜索方法研究

电路设计∞o以及通信网络负载问题的处理中都取 得了较好的结果。许多研究已经证明,蚁群算法具 有很强的发现较好解的能力,因为该算法不仅利用 了正反馈原理,而且是一种本质并行的算法,不同 个体之间不断进行信息交流和传递,从而能够相互 协作与其他模拟进化算法一样,蚁群算法通过候选 解组成群体的进化过程来寻求最优解,该过程包含 3个基本机制:选择、协作和更新机制。蚁群算法凭 借其优异的算法性能和算法特点,很快成为启发式 方法范畴内的一个独立分支,在有关国际会议上多 次作为专题加以讨论。自1998年第一次国际蚁群 算法国际会议召开后,蚁群算法更是成为智能仿生 算法的研究热点,越来越多的研究人员正在从事这 方面的工作。
自然界和人类社会中的大量事物及事物之间 的相互关系(例如物质结构、城市规划、交通运输、 信息的传递、工作的调配、事物关系等等)都可以用
点与线连接起来的网络图来描述。网络图是从实 际模型中抽象出来的,因此可以根据问题的实际需 要给弧和节点赋予一个数来表明它所对应元件的 不同物理意义。这个具有特殊意义的数,我们称之 为节点或弧的权。例如,在公路运输网络中,弧的 权可以为路的长度或单位长度的运费;在供水网络 系统中,弧的权可以是水流量或水管的直径;在电 网络中,弧的权可以为元件的电阻、电压或电流等。
2基本蚁群算法模型及其在最短路径问题 中的实现
3.1基本蚁群算法数学模型 基本蚁群算法最初是用来解决寻优问题的。
TSP的简单形象描述H1是:给定/7,个城市,有一个旅 行商从某一城市出发,访问各城市一次且仅有一次 后再回到原出发城市,要求找出一条最短的巡回路 径。基本蚁群算法数学模型如下:
设bi(t)表示t时刻位于城市i的蚂蚁数目, 丁。(t)为t时刻边(i√)上的信息量,n表示TSP问 题的规模,m为蚂蚁数目,初始时刻各条路径上信
基于蚁群算法的物流运输路径规划研究

基于蚁群算法的物流运输路径规划研究近年来,物流行业得到了快速的发展,越来越多的企业采用物流配送来提高运作效率和降低成本,而物流运输路径规划是其中非常重要的一环。
路径规划的目的是寻找最短路径或最优路径,从而缩短物流运输时间,降低成本,提高效率。
蚁群算法是一种模拟自然界中蚂蚁觅食行为的算法,具有全局搜索、高度并行、自适应和高效性等优点,因此被广泛应用于物流运输路径规划领域。
一、蚁群算法的基本原理蚁群算法源于自然界中蚂蚁觅食行为,蚂蚁会在找到食物后,向巢穴释放信息素,吸引同类蚂蚁沿着这条路径前往食物。
随着蚂蚁数量的增加,信息素浓度会逐渐增加,导致新的蚂蚁更容易选择已有路径。
蚁群算法利用信息素的积累,不断地优化路径,直到找到最短路径或最优路径。
二、蚁群算法的应用于物流运输路径规划在物流运输路径规划领域,蚁群算法被广泛应用。
根据实际情况,可以将路径规划问题建模成TSP问题或VRP问题。
TSP问题是指在给定的城市之间寻找一条最短的路径,使得每个城市只被访问一次;VRP问题是指在给定的城市集合中找到一组路径,满足每个城市只被访问一次,且路径长度最小。
使用蚁群算法进行物流运输路径规划,需要首先建立好模型。
对于TSP问题,需要将每个城市和城市之间的距离表示成矩阵形式。
对于VRP问题,需要确定车辆的容量、起点和终点以及每个城市的需求量等信息。
然后根据信息素和启发式信息等因素,模拟蚂蚁在不断地寻找路径的过程,最终找到最短路径或最优路径。
蚁群算法的运用可以有效解决物流规划中的大量信息和复杂的计算问题,提高规划质量和效率。
例如,针对长距离物流配送的问题,蚁群算法可以帮助企业选择最优的物流路线,减少物流成本和时间,提高物流效率;对于中短距离的城市配送问题,蚁群算法则可以帮助企业快速响应客户需求,实现快速配送。
蚁群算法的优点在于它具有强鲁棒性和全局搜索能力,不会被初始点和局部最优解所限制,因此可以找到全局最优解。
与其他优化算法相比,蚁群算法对于大规模问题的解决能力更加优秀。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蚁群算法在GIS最短路径求解中应用的初步研究刘晓亮辽宁工程技术大学测绘与地理科学学院,辽宁阜新(123000)E-mail:liuxiaoliang0716@摘要:最短路径的求解是GIS应用中的主要问题之一。
在传统的最短路径求解算法中,Dijkstra算法和启发式搜索算法-A*算法具有较好的效果,得到了广泛的应用。
蚁群算法是由意大利学者Dorigo等人于20世纪90年代初期通过模拟自然界中蚂蚁集体寻径的行为而提出的一种基于种群的启发式仿生进化系统。
蚁群算法最早成功应用于解决著名的旅行商问题(traveling salesman problem , TSP) ,该算法采用了分布式正反馈并行计算机制,易于与其他方法结合,而且具有较强的鲁棒性,是一种很有前途的仿生优化算法。
本文将对该算法应用于GIS中最短路径的求解方面的问题进行初步的研究。
关键词:最短路径;蚁群算法;应用研究1. 引言随着计算机软硬件技术的飞速进步,地理信息系统得到了快速的发展。
网络分析作为地理信息系统(GIS)最主要的功能之一,在导航、交通、旅游、城市规划以及电力、通讯等各个方面中发挥了重要的作用。
网络分析要解决的问题中有两个是和最短路径相关的。
一个是最佳路径选择,比如由A地前往B地,选择怎样的路线才是最佳的。
另一个是资源分配的问题,它是关于资源调送的问题,广泛应用于消防站点分布,选址,物资分配,供水供电等方面。
最短路径不仅仅指一般地理意义上的距离最短,还包括其他的方面,如最短的时间、最少的费用等。
所以,最短路径问题其实是最佳路径问题、最低费用等的问题[1]。
传统的最短路径求解算法-Dijkstra算法是目前多数系统解决最短路径问题采用的理论基础,它的各种该进算法得到了广泛的应用。
而蚁群算法的出现及其不断的发展和完善,为最短路径的求解提供了一种新的有效的方法[2]。
本文将对该算法应用于GIS中最短路径的求解方面的问题进行初步的研究。
2. 蚁群算法及其原理2.1 蚁群算法介绍蚁群算法( ant colony algorithm) 是由意大利学者 Dorigo 等人于20世纪90年代初期通过模拟自然界中蚂蚁集体寻径的行为而提出的一种基于种群的启发式仿生进化系统。
蚁群算法包含两个基本阶段:适应阶段和协作阶段。
在适应阶段,各候选解根据积累的信息不断调整自身结构。
在协作阶段,候选解之间通过信息交流,以期望产生性能更好的解,这类似于学习自动机的学习机制。
蚁群算法最早成功应用于解决著名的旅行商问题(traveling salesman problem , TSP) ,该算法采用了分布式正反馈并行计算机制,易于与其他方法结合,而且具有较强的鲁棒性。
蚁群算法创立十多年来,无论在算法理论还是在算法应用方面都取得了很多突破性研究进展。
作为一个前沿性的热点研究领域,蚁群算法已引起越来越多国内外研究者的关注,近五年内其研究人员和研究成果均成几何级数增长。
其应用范围几乎涉及到各个优化领域,而且还出现了蚁群算法仿生硬件,可见这种新兴的仿生优化算法已经显示出强大的生命力和广阔的发展前景[2]。
尽管人们对蚁群算法的研究时间不长,在这一领域还有一些问题需要进一步研究和解决,但是理论研究和实际应用表明它是一种很有前途的仿生优化算法。
随着人类认识的进步和社会发展的加速,仿生智能及最优化系统理论将越来越成为科学认识和工程实践的有力工具,因此,关于蚁群算法理论及其应用的研究必将是一个长期的研究课题。
相信随着人们对仿生智能系统理论及应用研究的不断深入,蚁群算法这一新兴的仿生优化算法必将展现出更加广阔、更加引人注目的发展前景。
2.2 蚁群算法原理及蚁群系统模型2.2.1 蚁群算法的基本原理蚂蚁是一种社会性的昆虫,蚂蚁单个个体结构和行为很简单,但由这些简单个体所构成的整体—蚁群,却可以表现出高度结构化的社会性。
蚂蚁之间有明确的分工,并且相互之间还能够进行通讯和信息传递。
蚂蚁的信息系统中信息素起着非常重要的作用。
蚂蚁具有找到蚁巢与食物之间的最短路径的能力,而蚂蚁的这种能力正是靠其所经过的路径上能留下一种随时间推移会逐渐消逝的挥发性分泌物信息素来实现的。
当蚂蚁在一条路上前进时,会留下挥发性信息素,后来的蚂蚁选择该路径的概率与当时这条路径上该信息素的强度成正比。
对于一条路径。
选择它的蚂蚁越多,则在该路径上所留下的信息素强度就越大。
而强度大的信息素会吸引更多的蚂蚁,从而形成一种正反馈。
正是通过这种正反馈,蚂蚁最终可以寻找出食物和巢穴之间的最短路径。
蚁群的这种觅食行为完全是一种自组织行为,蚂蚁根据自我组织来选择去食物源的最短路径,并且能随着环境的改变而找到新的路径,具有鲁棒性。
图1 蚁群觅食双桥试验[2]图2 蚁群觅食的实际情况[2]2.2.2 蚁群系统的数学模型在此以旅行商问题来说明蚁群算法基本的数学模型。
旅行商问题是指给定n 个城市和两两城市间的距离,要求确定一条经过各城市当且仅当一次的最短路径。
它是一个最短路径的问题。
蚁群算法非常适合解这类问题。
为了对蚂蚁的实际行为进行模拟,需要引入下面几个参数:m :蚁群中蚂蚁的数量)(t b i :t 时刻位于城市i 的蚂蚁个数ij d :两城市i 和j 之间的距离ij η:边(i ,j )的能见度,反映由城市i 转移到城市就,启发程度,这个量在运行中不改变ij τ:边(i ,j )上的信息素强度ij τ∆:蚂蚁k 在边(i ,j )上留下的单位长度轨迹信息素量k ij P :蚂蚁k 的转移概率,j 是尚未访问的城市其中, m = ∑=ni it b 1)( (2.1) 人工模拟的单个蚂蚁具有如下的行为特征:(1) 移动过程中会在边(i ,j )上释放信息素(2) 单个蚂蚁概率的选择下一个城市,这个概率是由两城市间的距离和边上信息素的数量的函数来决定的(3) 在一次循环内,单个蚂蚁不可重复访问同一个城市蚂蚁的转移概率由下式[2]给出:⎪⎪⎩⎪⎪⎨⎧∈=∑∈otherwiseallowed j t t t t t P k allowed s is is ij ij k ij k ,0,)()()()()(βαβαητητ (2.2) 其中,k allowed 为可选的城市列表。
为了使不重复的经过所有城市,每只蚂蚁都有一张禁忌表。
它记录了蚂蚁已经走过的城市。
当一次循环结束后,禁忌表用来计算该蚂蚁当前所建立的解决方案。
之后该表被清空。
信息素修正规则[2]由下式给出:)1,()(.)1(+∆+=+t t t t ij ij ij ττρτ (2.3)∑=+∆=+∆mk k ij ij t t t t 1)1,()1,(ττ (2.4)其中,1,(+∆t t kij τ)表示第k 只蚂蚁在时刻(t ,t+1)留在路径(i ,j )上的信息素量。
1,(+∆t t ij τ)表示本次循环中路径(i ,j )的信息素增量;)1(ρ−为信息素衰减系数,通常小于一,以避免路径上信息素量无限增加。
简单蚁群算法流程图如下:图3 基本蚁群算法流程图3. 在GIS中应用蚁群算法求解最短路径3.1 简介网络分析作为GIS应用最主要的功能之一,在导航、交通、旅游、城市规划以及电力、通讯等各个方面发挥了重要的作用。
网络分析中最基本最关键的问题是最短路径问题。
最短路径的求解,必须把现实生活中的道路、管线等各种网络抽象成一种数学结构,这种抽象出来的数学结构被称为网络拓扑结构。
于是各种网络分析技术实现的关键在于网络拓扑结构的建立和高效能最短路径算法的实现。
蚁群算法特别适用于求解最短路径的问题,下面将对这方面的问题进行研究。
3.2 蚁群算法的实现首先需要提取所需的必要数据。
GIS系统中的数据类型有矢量数据和栅格数据,矢量数据有点、线、面三种要素,这里我们需要的是点以及线两种要素。
点代表路径上的节点,而线既是相邻节点间的距离。
所有这些数据都可以由GIS数据库中提取。
由这些数据可以得到以下信息:节点的坐标、节点与节点之间的距离、节点与节点之间的连通状态等。
这些数据在算法中具有很重要的作用。
下面为实现算法的具体过程。
图4 最短路线分析上图为节点1和4之间的连通情况及节点间的路线长度。
要用蚁群算法选择1至4两节点之间的最短路径。
可选路径所满足的条件为:①两节点之必须存在路径;②一次循环中,同一节点最多只能经过一次。
第一个条件可用一个节点间的连通矩阵来控制,节点间相通用节点间虚拟路径长度来表示,不连通用0表示,如下表所示:表1 节点连通情况1 2 3 4 51 02 4 8 102 2 0 4 0 03 4 4 0 3 04 8 0 3 0 75 10 0 0 7 0该表可采用二维数组来存储,为了节省存储空间也可采用一维数组,但是为获取节点连通情况需要进行一些计算,而不是直接查询。
该表只存在一张,供所有蚂蚁查询,其内容是不变的。
虚拟路径长度是根据现实情况提出的。
现实情况是在路径长度相同时,有一地前往另一地的时间还会受到路况、交通量、天气等各种要素的影响,因此需要把真实路径长度乘上一个系数来模拟实际的情况。
第二个条件由禁忌表控制。
每只蚂蚁都有自己的一张禁忌表。
禁忌表可由一个一维数组表示,表的初始值为0,表长度为节点数。
它记录的是蚂蚁的前进路径,并能防止重复经过同一节点。
表2 蚂蚁i的禁忌表1 2 3 4 0该表表示蚂蚁i经过1,2,3,4 这条路径,即这是连通节点1和4的一条路径。
这样每只蚂蚁的行为规则如下:(1)根据禁忌表和连通表确定可选的下一个节点,由转移概率公式确定到底前往那一个节点;(2)前往下一个节点后更新禁忌表,如果还没有到达节点4,回到第一步。
到达节点4后,该循环结束,然后根据公式(2.3)进行信息素的修正,然后进入下一循环,直到找到较满意的最优解。
算法中的初始参数要通过实验的方法进行选取。
在寻求最优解的的过程中,蚂蚁可能进入一个无法到达节点4的路径,从而找不到一条到达节点4的路径从而无法完成循环,如下图所示:图5 蚂蚁无法完成一次循环的情况蚂蚁进入5—6—7这条路径并到达节点7后,如果按照上面的行为规则,该蚂蚁就永远也无法完成一次循环,因此需要修正,加入下面第三条:(3)蚂蚁具有识别如上图所示的情况。
对它的处理是将节点5和6之间的虚拟路径长度修改为零,强制结束该循环,重置禁忌表,并且不进行信息素的修正而直接进入下一循环。
4. 结论蚁群算法由于出现的时间相对来说比较短,还存在如下不足:(1)限于局部最优解.(2)工作过程的中间停滞问题.(3)较长的搜索时间.针对这些问题,各种蚁群算法的改进算法不断出现,比如带精英策略的蚁群系统、基于优化排序的蚁群系统、最大最小蚁群系统、最优最差蚁群系统等[3]。
其性能在不断的提高,适用范围也在不断扩大。