一种改进蚁群算法与仿真
- 格式:pdf
- 大小:528.04 KB
- 文档页数:9
蚁群算法的改进及在TSP问题上的仿真验证
陈佑健;陈佐健
【期刊名称】《计算机工程与设计》
【年(卷),期】2006(27)14
【摘要】蚁群算法是一种新型的模拟进化算法,具有正反馈、分布式计算等特点.在介绍蚁群算法基本原理的基础上,针对基本蚁群算法求解速度缓慢、容易陷入局部最优等特点,采用分区搜索的思想,提出了一种改进的蚁群算法.它将搜索区域分成几个较小的区域进行局部搜索,得到了局部较优解,以此产生蚁群算法在全局搜索时的初始信息素分布,并结合局部与全局信息素调整等策略,大大地加速了算法的收敛速度.在TSP旅行商问题上的仿真验证表明它是可行性和有效性的.
【总页数】3页(P2691-2693)
【作者】陈佑健;陈佐健
【作者单位】福州电业局,福建,福州,350009;南京市质量技术监督局,江苏,南
京,210018
【正文语种】中文
【中图分类】TP391.9
【相关文献】
1.基于蚁群算法在TSP问题中的仿真分析 [J], 朱笔挥;于金鑫;魏洪磊
2.基于蚁群算法求解TSP问题的参数优化与仿真 [J], 柳长源;毕晓君;韦琦
3.改进蚁群算法在解决TSP问题中的应用 [J], 李雪; 王雷
4.分层递进的改进聚类蚁群算法解决TSP问题 [J], 梁艺琼
5.TSP问题的蚁群算法模型及仿真研究 [J], 陈海英;李淑玉
因版权原因,仅展示原文概要,查看原文内容请购买。
改进的蚁群优化算法在MDITN仿真中的应用张广钦;段涛【期刊名称】《微计算机信息》【年(卷),期】2011(027)010【摘要】仿真MD系统是对其研究的重要方法,研究MD系统的一个重要方向是MDITN的仿真研究。
在MDITN中,选择一条供信息传输的时延最小路径即最短路径问题是仿真MDITN的关键问题。
ACO算法是一种通用的启发式方法,本文介绍了基本ACO算法及其在MDITN中解决最短路径问题的应用,然后提出了一种改进的ACO算法。
在改进的ACO算法中,分别提出了对无出边节点和不连通图的处理、启发信息的优化、开发过程函数和信息素更新策略的改进。
实验表明,改进的ACO 在收敛性方面有所提高,可以更加有效的解决最短路径问题。
%Simulation of MD (Missile Defense) system is an important method of investigatingit.Investigation of MDITN(MD Information Transmission Network) by simulating it is an important aspect of Investigating MD system.It is a pivotal problem of simulating MDITN that choosing a minimal delay path information transmissing,or saying shortest path problem.Ant Colony Optimization(ACO) is a metaheuristic.In this paper,basic ACO and its application of MDITN's shortest path problem is introduced atfrist.Then,a new improved ACO is proposed.In the new ACO,the vertexs which outdegree equal zero and unconnected graph is dealed,heuristic information is optimized,improvement in exploiting function and updating gobal pheromone are made.Experimental results show that the improvedACO enhance the convergence speed,is a more effective solvent for shorest path problem.【总页数】3页(P142-144)【作者】张广钦;段涛【作者单位】北京邮电大学计算机学院,北京100876;北京947信箱,北京100191【正文语种】中文【中图分类】TP393【相关文献】1.蚁群优化算法的理论、改进及应用 [J], 宋雪梅;李兵2.改进的蚁群遗传优化算法及其应用 [J], 刘传领3.蚁群优化算法的改进及其在旅行商问题中的应用 [J], 刘好斌4.改进的蚁群优化算法在机器人路径规划中的应用 [J], 李毅; 胡建成5.改进的蚁群优化算法在无线传感器网络中的应用 [J], 焦斌;熊友平;顾幸生因版权原因,仅展示原文概要,查看原文内容请购买。
基于改进蚁群算法的全局路径规划研究与仿真作者:燕紫君吴明芬来源:《数码设计》2017年第01期摘要:路径规划是指在有障碍物的工作环境中,寻找一条从给定起点到终点的适当路径,使运动过程中能安全、无碰的绕过所有障碍物。
目前针对路径规划的算法较多,本文主要针对传统蚁群算法在二维路径规划中易陷于局部最优解,最终导致搜索过早停滞等问题,提出了一种改进的蚁群算法。
该改进的算法主要以全局最优为出发点,通过引入终点对启发因子的影响,在邻接点和终点的共同作用下对启发因子函数的重新构建,有效地解决了传统蚁群算法在处理全局路径规划中带来的问题。
采用MAKLINK图论理论建立二维空间模型,应用MATLAB作为编码的软件工具来对传统的蚁群算法和改进的蚁群算法在路径规划中进行仿真验证,实验结果表明改进的蚁群算法有更好的性能。
关键词:全局路径规划;蚁群算法;启发因子;MAKLINK图论理论中图分类号:TP391.9文献标志码: A文章编号:1672-9129(2017)01-0006-04Abstract:Path planning is to find a proper path from a given starting point to the end point in a work environment with obstacles, and it makes the object in motion process safety without touching obstacles. At present, there are many kinds of algorithm to solve the issue of path planning. In this paper, we focus on the shortage of traditional Ant Colony algorithm, causing issues of premature and search stalled. When it is applied to solve the problem of robot path planning, an improved Ant Colony algorithm has been put forward, and the improved algorithm set global optimization as original intention. By introducing the end point effect on the stimulating factor, we rebuild the stimulating factor function under the joint of adjacent point and end point, and through this method we can deal with the matters that traditional algorithm brings effectively. As the result, we use MAKLINK to build a two-dimensional space model, and use the MATLAB as a coding tool to simulate the traditional ant colony algorithm and the improved ant colony algorithm in path planning. The result shows that the improved Ant Colony algorithm has better performance.Keywords:global path planning; Ant Colony algorithm; stimulating factor function;MAKLINK graph theory引言路径规划是指在有障碍物的工作环境中,寻找一条从给定起点到终点的适当运动路径,使在运动过程中的物体能安全、无碰的绕过所有障碍物。
一种改进蚁群算法与仿真吾斯曼·亚森河海大学土木工程学院,南京(210098)E-mail :wolkan@摘 要:蚁群算法是基于群体合作的一类仿生算法,适合于解困难的离散组合优化问题。
本文在介绍基本蚁群算法原理的基础上,对其做了适当的改进,以克服其求解速度过慢、容易出现停滞的缺陷,并给出了详尽的新算法编程仿真实现步骤,最后将未改进的基本蚁群算法与本文改进后的蚁群算法分别应用于TSPLIB 中的Eil51TSP 问题进行了仿真实验。
仿真研究表明,改进后的算法具有优良的全局优化性能,效果令人满意。
关键词:蚁群算法,信息素,仿真1. 引言随着近代仿生学的发展,人们越来越关注自然界中一些看似微不足道的生物行为.20世纪90年代初期,意大利学者Dorigo Macro 等人通过模拟自然界中蚂蚁集体寻径的行为而提出了蚁群算法[1] (Ant Colony Algorithm ,简称ACA),这是一种基于种群的启发式仿生进化算法.该算法最早成功应用于解决著名的旅行商问题(TSP)。
它采用分布式并行计算机制,易于与其它方法结合,具有较强的鲁棒性,最近几年开始引起了国内外专家学者的关注,但蚁群算法搜索时间长、收敛速度慢的弱点一直制约着它在众多领域的进一步推广应用。
本文对基本的蚁群算法作了一些改进,使其能在全局优化的实现过程中快速找到最优解。
2. 基本蚁群算法原理2.1.蚁群行为描述根据仿生学家长期的研究发现:蚂蚁虽没有视觉,但运动时会在路径上释放出一种特殊的分泌物—信息素(Pheromone)—寻找路径[2].当它们碰到一个还没有走过的路口时,就随机地挑选一条路径前行,同时会释放出与路径长度有关的信息秦蚂蚁走得路径越长,则释放的信息素数量越小.当后来的蚂蚁再次碰到这个路口的时候,选择信息素数量较大路径概率就会相对较大,这样形成了一个正反馈机制.最优路径上的信息素数量越来越大,而其它的路径上信息素数量却会随着时间的流逝而消减,最终整个蚁群会找出最优路径.而且蚂蚁还能够适应环境的变化,当蚁群的运动路径上突然出现障碍物时,蚂蚁亦能够很快地重新找到最优路径.可见在整个寻径过程中,虽然单个蚂蚁的选择能力有限,但是通过信息素的作用使整个蚁群的行为具有非常高的自组织性,蚂蚁之间交换着路最终通过蚁群的集体自催化行为找出最优路径。
2.2.数学模型蚁群算法包含两个基本阶段:适应阶段和协作阶段.在适应阶段,各候选解根据积累的信息不断调整自身结构,路径上经过的蚂蚁越多,信息素数量越大,则该路径越容易被选择;时间越长,信息素数量越小.在协作阶段,候选解之间通过信息交流,以期望产生性能更好的解.为了能够清楚地理解蚁群算法的数学模型,本文借助了经典的对称TSP 问题。
设()i b t 表示t 时刻位于元素i 的蚂蚁数目,()ij t τ 为t 时刻路径(),i j 上的信息量,m 为蚂蚁群中蚂蚁的数目,则()1nii m b t ==∑;(){}|,ij i jt c cC τΓ=⊂}是t 时刻集合C 中元素(城市)两两连接ij l 上的残留信息素数量集合。
在初始时刻各条路径上信息素数量相等,并设()0ij const τ=(const 为常数).基本蚁群算法的寻优是通过有向图(),,g C L =Γ实现的。
(1) 状态转移规则蚂蚁()1,2,...,k k m =m)在运动过程中,根据各条路径上的信息素数量决定转移方向.算法中人工蚂蚁与实际蚂蚁不同,具有记忆功能。
禁忌表()1,2,...,k tabu k m =用来记录蚂蚁k 当前所走过的城市,集合随着k tabu 进化过程做动态调整。
在搜索过程中,蚂蚁根据各个路径上的信息素数量及路径的启发信息来计算转移概率。
()kij p t 表示在t 时刻蚂蚁k 由元素(城市)i 转移到元素(城市)j 的转移概率:()()()()()..0k ij ik kkij is is s allowed t t ifj allowed p t t t otherwiseαβαβτητη∈⎧∈⎪⎪=⎨⎪⎪⎩∑ (1)公式(1)中,{}k k allowed C tabu =−表示蚂蚁k 下一步允许选择的城市。
α表示轨迹的相对重要性,反映了蚂蚁在运动过程中所积累的信息在蚂蚁运动时所起的作用,其值越大,该蚂蚁越倾向于选择其它蚂蚁经过的路径,蚂蚁之间协作性越强;β表示能见度的相对重要性,反映了蚂蚁在运动过程中启发式因子在蚂蚁选择路径中的受重视程度,其值越大,则该转移概率越接近于贪心规则[3] ()ij t η为启发函数:()1ij ijt d η=(2) 式中,ij d 表示相邻两个城市之间的距离。
对蚂蚁k 而言,ij d 越小,则()ij t η越大,()kij p t 也就越大。
显然,该启发函数表示蚂蚁从元素(城市)i 转移到元素(城市)j 的期望程度。
(2) 信息素的局部更新规则局部调整是每只蚂蚁在建立一个解的过程中进行的。
随着时间的推移,以前留下的信息逐渐消逝,经过h 个时刻,两个元素(城市)状态之间的局部信息素数量要根据下式作调整: ()()()01..ij ij t h t τζτζτ+=−+ (3)01minnl τ=(4)式中,[0,1]ζ∈,min l 表示集合C 中两个最近元素(城市)之间的距离。
(3) 信息素的全局更新规则只有生成了全局最优解的蚂蚁才有机会进行全局调整,全局调整规则为:()()()()1..ij ij ij t n t t τρτρτ+=−+∆ (5)()()1mkij ij k t t ττ=∆=∆∑ (6)式中,ρ为挥发系数,[]0,1ρ∈,()ij t τ∆表示本次循环中路径ij 上的信息素数量的增量,初始时刻()0ij t τ∆=;()kij t τ∆表示第k 只蚂蚁在本次循环中留在路径ij 上的信息量。
2.3 算法模型种类根据信息素更新策略的不同,Dorigo M 提出了三种不同的基本蚁群算法模型,分别称为蚂蚁圈(Ant-Cycle)模型,蚂蚁数量(Ant-Quantity)模型及蚂蚁密度(Ant-Density)模型,它们的差别在于()kij t τ∆求法的不同。
在Ant-Cycle 模型中:()(),i,j 0kk ij Qk L t τ⎧⎪∆=⎨⎪⎩若第只蚂蚁在本次循环中经过 否则 (7)式中,Q 是信息素强度,它影响算法的收敛速度;k L 表示第k 只蚂蚁在本次循环中所走路径的总长度。
在Ant-Quantity 模型中:()(),i,j 0kijij Qk d t τ⎧⎪∆=⎨⎪⎩若第只蚂蚁在t和t+1之间经过 否则 (8) 在Ant-Density 模型中:()(),i,j 0kijQ k t τ⎧⎪∆=⎨⎪⎩若第只蚂蚁在t和t+1之间经过 否则(9) 它们的区别在于:后两种模型中,利用的是局部信息,而前者利用的是整体信息,在求解TSP 问题时,性能较好,因而通常采用它为基本模型由算法复杂性分析理论,m 个蚂蚁要遍历n 个元素(城市),经过c N 次循环,则算法复杂度为()2..c O N m n。
3. 基本蚁群算法的改进3.1 改进策略蚁群算法在构造解过程中,随机选择策略使得算法的进化速度变慢,正反馈原理旨在强化性能较好的解,却容易出现停滞现象。
对蚁群算法的状态转移概率,信息素发因子,信息量等因素采取自适应调节策略是一个基本的改进思路,可在一定程度度上有效的克服了基本的一些不足之处。
3.1.1 改进路径选择策略传统蚁群算法中,在蚂蚁搜索过程的起始阶段,有的路径上有蚂蚁走过,而有的路径还未来得及被探索。
蚂蚁选路的策略是:一旦某路径上的信息素强度高于其他路径,它就以较大的概率选择该路径,这使得蚂蚁从搜索开始就以较大的概率集中在几条当前局部长度较短的路径上。
为了在一定程度上减小算法陷入局部最优解的概率,可将转移概率准则改为可得到多样性解的新准则[2]: (在式(1)的基础上再补充以下定义来确定路径选择方向。
)第k 只蚂蚁按以下概率从位置i 转换到位置j()(){}0arg max ,q q (1) j is is t t j αβτη⎧≤⎪=⎨⎪⎩若根据公式选择否则(10)其中,q 是在[0,1]区间均匀分布的随机数,0q 是一个参数参数,[]00,1q ∈,0q 越小,蚂蚁随机选择的概率越大。
3.1.2 自适应调整信息素挥发因子的策略在集合C 元素(城市)很多的情况下,若发挥系数ρ太大,算法的全局搜索能力就会降低。
若减小ρ,算法的全局搜索能力会随机提高,但收列速度会变慢。
可以对ρ值采取自适应控制策略,即ρ的初始值可以取大,随着循环次数的不断增加,若每次的最优值相差不大,说明过程陷入了某个极值点,不一定是全局最优解。
此时,应将ρ改为阈值函数:()()()minmin .t ,.t t 1ξρξρρρρ⎧>⎪+=⎨⎪⎩若 否则(11)ξ为挥发约束系数,且[]0,1ξ∈。
3.1.3 限制信息素取值范围的策略通过对蚁群算法的研究表明,将蚂蚁的搜索行为集中到最优解的附近可以提高解的质量和收敛速度,从而改进算法的性能。
但这种搜索方式会使早熟收敛行为更容易发生。
因此,为了能够有效避免早熟收敛的机制提出一种面的搜索方式:将各条寻优路径上可能的残留信息素数量限制在[]min max ,ττ,min τ可以有效的避免算法停滞;max τ可以避免某路径上的信息量远大于其它路径,使所有的蚂蚁都集中到同一条路径上面,从而限制了算法的扩散。
每次循环结束后,保留最优路径,一个循环中只有最优路径上的蚂蚁才有权修改()ij t τ。
修改策略在公式(5)基础上,再加上公式(12)进行阈值判断选择。
()()()()()min ij minij ij min ij max max ij max ,t t n t ,t t τττττττττττ⎧≤⎪⎪+=〈〈⎨⎪≥⎪⎩ 若 若, 若 (12)3.2 编成仿真步骤改进后蚁群算法编程仿真的主要步骤如下:Step1:参数初始化。
令时间t =0 和循环次数0c N =,设置最大循环次数max C N ,将m蚂蚁置于n 个元素(城市上,令信息量最大值()max 0ij ττ=,经验上去()min max2.t t n =,且初始时刻()00ij τ∆=。
()00,t q ρ为常数。
Step2:循环次数1c c N N ←+ Step3:蚂蚁数目1k k ←+Step4:蚂蚁个体根据状态转移概率公式(10)计算的概率选择元素(城市)j 并前进,{}k j C tabu ∈−Step5: 修改禁忌表指针,即选择好之后将蚂蚁移动到新的元素(城市),并把该元素(城市)移动到该蚂蚁个体的禁忌表中Step6:若集合C 中元素(城市)未遍历完,则跳转到Step4 Step7:若k m <则跳转到步骤Step3Step8:计算本次m 只蚂蚁派对循环的最短路径长度, 记录当前最优解Step9:求得的最优解在N 次循环内没有明显改进时根据公式(11) 自适应地调整挥发系数值Step10:根据公式(5),(6) 和式(12)更新每条路径上的信息量Step11:若满足结束条件,即如果循环次数max c C N N >,则循环结束并输出全局寻优的最佳路径,否则,跳转到Step2。