一种求解TSP问题的改进遗传蚁群算法

  • 格式:pdf
  • 大小:319.79 KB
  • 文档页数:4

第7卷第3期 

2017年6月 智能计算机与应用 

Intelligent Computer and Applications V01.7 NO.3 

Jun.2017 

一种求解TSP问题的改进遗传蚁群算法 

徐练淞,潘大志 

(西华师范大学数学与信息学院,四川南充637009) 

摘要:旅行商问题(TSP)是一种经典的组合优化问题。传统的蚁群算法运用正反馈和分布式计算机制,具有较强的鲁棒性。但 是该算法搜索时间长、易出现早熟停滞现象。因此本文根据旅行商问题的模型特点,在蚁群算法的基础上针对TSP问题提出了一 种新型的改进蚁群算法:即变参数选择城市策略,并且在交叉策略中选择PMX(Partially Matched Crossover)交叉策略。实验结果表 明,与传统基本蚁群算法和遗传算法相比,能够较快地找到最优解,解的质量也相对较好,因此提高了蚁群算法对TSP问题的求解 效率。 关键词:蚁群算法;群体智能;旅行商问题;遗传算法 中图分类号:TP18 文献标志码:A 文章编号:2095—2163(2017)03—0034—04 

An improved Genetic Ant Colony Algorithm for solving TSP problem 

XU Liansong,PAN Dazhi 

(College ofMathematics and Information,China West Normal Unive ̄ity,Nanchong Sichuan 637009,China) 

Abstract:Traveling Salesman Problem(TSP)is a classical combinatorial optimization problem.The traditional Ant Colony 

algorithm with positive ̄edback and distributed computer system has s ̄ong robustness.However,the algorithm has a long 

search time and is prone to premature stagnation.According to the characteristics of the model of Traveling Salesman 

Problem,on the basis of Ant Colony algorithm to solve the problem of TSP,the paper proposes an improved Ant Colony 

algorithm model:variable parameter selection of city strategy,and the choice of PMX(Partially Matched Crossover)in 

CROSS strategy.The experimental resuhs show that compared with the traditional basic Ant Colony algorithm and Genetic 

Algorithm,the optimal solution can be found quickly,and the quality of the solution is relatively good,therefore the Ant 

Colony algorithm improves the efficiency of solving the TSP problem. Keywords:Ant Colony algorithm;swarm intelligence;Traveling Salesman Problem;Genetic Algorithm 

0引 言 

旅行商问题…(Traveling Salesman Problem,简称TSP)是 

一个著名的组合优化问题,同时也属于NP问题中颇具研发 

挑战难度的一类工程项目任务。旅行商问题可以简单描述 

为 :给定Ⅳ个城市c=(C ,C:,C ,…,C ),求一条经过c 

中所有城市一次且仅一次的一条路径(c ),c ),c椰),…, c删)),其中任意2个城市的距离记为d(C ,c,),使得闭合 

路径∑d(c ),Cn(i ̄1)modN)为最小。而群体智能 是一种 

源于自然界生物群体所呈现智能现象的人工智能模式,也是 

对由简单生物体组成的群体具备惊人智慧的通用演化模式研 

基金项目:四川省教育厅自然科学基金(14ZA0127);西华师范大学 

博士启动基金(12B022);校级创新团队(CXTD2015-4)。 

作者简介:徐练淞(1991一),男,硕士研究生,主要研究方向:智能计 

算、数值计算;潘大志(1974-),男,博士,教授,硕士生导 

师,主要研究方向:智能计算、算法设计。 

通讯作者:潘大志 Email:pdzzj@126.com 

收稿日期:2017—04-09 究。近几年已兴起涌现了诸多群体智能算法,有效解决了大 

量函数优化问题和TSP以及VRP众多难题,比如蚁群算法 

(AC)、遗传算法(GA)、粒子群优化算法(PSO)。各个算法均 

有其各自独特的优缺点。 

蚁群算法(Ant Colony Algorithm,ACA)是近年来面世推出 

的随机优化方法,这是一种源于大自然的新的仿生类算法。蚁 

群算法是一种群体智能算法。近年来,国内外的很多学者都将 

蚁群算法和其他算法进行适当的融合,研发提出了关于许多求 

解TSP问题的多家融合算法,诸如郝晋等人将随机扰动算法加 

入到蚁群算法中,改变了蚁群算法中蚂蚁选择下一个城市的策 

略,因而探讨解决了大量复杂TSP问题的最优解 ;徐胜等人 

在蚁群算法的基础上将遗传算法和模拟退火算法融合,增加解 

的多样性,提升了求解效率 ;杨再甫等人设计了一种蚂蚁数 

目动态改变的蚁群算法,即每次周游时的蚂蚁数目是在一个范 

围内随机取值,该改进算法借用遗传算法中的排序选择策略对 

每次遍历时的蚂蚁位置进行初始化;改进的算法在求解TSP 

时,能够有效地跳出局部最优解,并能得到优质收敛效果 J。 

因此,本文受遗传蚁群算法、以及遗传交叉策略的启发,综合了 

变参数转移城市,在此基础上则重点提出了新的改进遗传蚁群 

算法,而经仿真测试后可知,该改进算法与蚁群算法相比,具有 

收敛速度更快的优点,而且也较易得到全局最优解。由此则证 

明了该算法的有效性和可行性。

 第3期 徐练淞,等:一种求解TSP问题的改进遗传蚁群算法 ・35・ 

1蚁群算法的基本原理[ 】 

蚂蚁在寻找食物源时,会在其经过的路径上释放一种信 

息素,并能够感知其他蚂蚁释放的信息素。而信息素浓度的 

大小表征路径的远近,信息素浓度越高,即确指对应的路径距 

离越短。通常,蚂蚁会以较大的概率优先选择信息素浓度较 

高的路径,并释放一定量的信息素。最终,蚂蚁能够找到一条 

最短距离。而信息素浓度会随时间的增加而降低。 

设整个蚂蚁群体中蚂蚁的数量为m,城市数量为n,城市 

i与城市 之间的距离为d (i,J=1,2,…,n),t时刻城市i与 

城市 连接路径上的信息素浓度为 (t)。初始时刻,各个城 

市间连接路径上的信息素浓度相同,不妨设r (O)= 。 

蚂蚁k(k=1,2,…,m)根据各个城市连接路径上的信息 素浓度决定其下一个访问城市,设P (t)表示t时刻蚂蚁 从 

城市i转移到城市 的概率,其计算公式为: 

r [ r (£)] [ ( )]口 , { (1) 【

0 

式中,%(t)为启发函数,且'7 (t)=1/ ,表示蚂蚁从 

城市i转移到城市 的期望程度;allow (k=1,2,…,m)为蚂 蚁k待访问城市的集合, 为信息素重要程度因子, 为启发 

函数重要程度因子。 

当所有蚂蚁完成一次循环后,各个城市间连接路径上的 

信息素浓度需要进行及时更新,即: 

r (t+1)=(1一P) (£)+△ j 0<P<1 (2) r =∑△r 

其中,△r 表示第k只蚂蚁在城市i与城市 连接路径上 

释放的信息素浓度,△.r 表示所有蚂蚁在城市i与城市 连接 路径上释放的信息素浓度之和。 

对于蚂蚁释放信息素的问题,本次研究采用ant cycle 

system模型,即: 

.n 

△ :j 第 只蚂蚁从城市 访问城市 (3) 

【0 其他 

其中, 为本次循环后,第k只蚂蚁的路径长度,Q为常数。 

2改进的遗传蚁群算法(GAAC) 

在求解TSP组合优化问题时,蚁群算法搜索速度慢,且 

易陷入局部最优解。由于信息素的增加使得某条路径的信息 素越来越多,最终陷入局部最优解。因此本文引入了转移策 

略的变换方式增加全局搜索能力,在蚁群算法的基础上调取 

选用了的遗传算法的变异策略和交叉策略,从而增加了解的 

多样性,预防陷入局部最优解。 

2.1变参数选择下一城市 

在整个过程中,初始q。=0.9,当在算法中期时,q。= 

0.1,最后q。=0.9,因此,研究将q0和iter建立二次函数关系 

式,呈曲线上升和下降的趋势。即研究提出建立q。与迭代次 数iter的二次函数关系如下: 

:— 一f‘一 1 +0qo .1(1-2i —te—r maxl tter一—■ 一J ・ 【4) 

其中,iter_max为最大迭代次数。 

在基本蚁群算法中,蚂蚁选择下一个城市节点按以下公 

式展开和进行: 

. max([ (t)]“[v/q(£)] ) if q<q0 , 、 lP 。therwise ‘5 

其中,q是一个在(0,1)之间均匀分布的随机变量,q。由 

公式(4)根据迭代次数所得在(0,1)之间的数,若g<q。,则 

按照公式(1)计算概率,此时蚂蚁采取类似于蚁群算法中“轮 

盘赌”的方法选择下一个城市节点;当q≥q。时,算法等同于 

随机搜索,此时蚂蚁将按公式(5)来选择发现路径。若q。值 

较大(如接近1),则多数蚂蚁易选择信息激素最大的路径,这 样在搜索过程中可能容易导致多数蚂蚁搜索到相同的路径, 

使得搜索到的解空间较小,不利于发现全局最优解,而且算法 

也容易收敛到局部最优解。因此研究过程中,在算法迭代的 

初期q。选取较大的初始值,以较大的概率进行确定性搜索, 

这样可以充分利用问题本身的特征(两点间距离),加快寻找 

局部较优的路径的速度;在算法的中期q。选取较小的值,增 

大随机搜索的概率,从而扩大搜索空间。在算法的后期,则恢 

复其初始值,加快收敛的速度。 2.2遗传蚁群算法 

遗传算法对蚁群算法得到的解集Table中的每一个解与 

Table中的最优解min(Table)按概率交叉操作得到新的解再 

与原始Table解集中进行比较,选择最优解保存下来,得到新 

的Table解集,而后再对Table中的解按概率进行变异操作, 

变异操作后所得的解与原始Table表中的解进行比较,距离 

最小的解为该Table表中的解,经过m次后得到新的Table 

表。下面将详细解析各策略的推演过程。 

1)交叉策略:本文选PMX(Partially Matched Cl"ossov( ̄r)