基于改进蚁群算法的TSP问题研究

合集下载

蚁群算法在求解TSP问题中的改进研究

蚁群算法在求解TSP问题中的改进研究

蚁群算法在求解TSP问题中的改进研究王宝生;屈宝存【摘要】针对蚁群算法在求解大规模优化问题时存在的3个缺点:消耗时间长、蚂蚁在下次搜索时目标导向不强导致搜索随机性大、寻优路径上的信息素过度增强导致得到假的最优解.本文提出了基于边缘初始化和自适应全局信息素的改进蚁群算法.在相同参数下,其搜索时间大大缩短,并且得到了更好的最优解.将其应用到旅行商(TSP)问题中,和基本蚁群算法、遗传算法相比较,其具有以下优点:较好的搜索最优解的能力;对新解不会过早的终止;探索新解的能力进一步增强.因此,改进的蚁群算法在求解TSP等组合优化问题时非常有效.【期刊名称】《电子设计工程》【年(卷),期】2014(022)022【总页数】6页(P14-18,21)【关键词】蚁群算法;改进的蚁群算法;边缘初始化;自适应全局信息素;旅行商问题【作者】王宝生;屈宝存【作者单位】辽宁石油化工大学辽宁抚顺113001;辽宁石油化工大学辽宁抚顺113001【正文语种】中文【中图分类】TP302旅行商问题(Traveling Salesman Problem,TSP)是一个易于描述却难以处理的NP-HARD问题。

近年来,它引起了许多学者的广泛关注。

旅行商问题不仅具有很重要的理论价值,而且还具有广泛的实际应用价值,如机器人路径规划、电路板设计、城市管道铺设优化、交通运输以及物流配送等领域都可视为TSP问题的具体应用。

对于旅行商问题,目前常用的方法有模拟退火算法、遗传算法、神经网络法等。

蚁群优化算法是模拟自然界中真实蚁群的觅食行为而形成的一种模拟进化算法。

它是一种新兴的仿生学优化算法,属于元启发算法的一种。

它具有采用分布式并行计算机制、易于与其他方法结合、具有较强的鲁棒性等优点,但其搜索时间长、易陷于局部最优解是其最突出的缺点。

因此,既要使得蚁群算法的搜素空间尽可能的大,以寻找那些可能存在最优解的解空间,同时,又要充分利用蚂蚁体内当前所有的有效信息,使得蚁群算法搜索的侧重点放在那些可能具有较高适应值的个体所在的区间内,以较大的概率收敛到全局最优解。

基于改进蚁群算法的TSP问题研究

基于改进蚁群算法的TSP问题研究

An I pr v d AntCoo y Alo ih o h a ei ae m a o lm m oe l n g rt m f r t e Tr v l ng S ls n Pr b e
L G Z i o, E G Ja — u ,H n l AN h— ma T N i h a E i n i
经应 用到 交通过 程 、 通信 、 计算 机 、 电力 、 器人设 计 机 及控制 、 工 、 程应 用 等 领域 , 不 同 的建模 方 法 化 工 按
1 基本蚁群算法
D r o ¨ 在 19 年 提 出蚂 蚁 系 统 ( n Ss og 等 9 1 i A t y— t A ) 法 , 有 2个 主 要 步骤 , e S算 m, 其 即解 的构 建 和信 息 素 的更新 , 息 素本来 是蚂 蚁在 所经 过 的路 上释 信
放 的一种挥 发性 化学 物质 , 蚁通过 它来选 择路 径 , 蚂
其研 究 包 括 以下 问题 : 由 ( 行 商 问 题 、 路 旅 车辆 路
由 、 序排列 ) 分 配 ( 次分 配 、 顺 ; 二 图着 色 、 广义 分 配 、
在蚂 蚁系统 算法 中通过 信息 素来反 映边被 蚂蚁选 择
Ab t a t sr c :Du o i e l ci gt e n d o a in a d u i g te s mec ie af rp e o n v p r t n,t eAS a — e t t n ge tn h o el c t n sn h a rtr o h r mo ee a o ai s o i o h l g rt m s o lw o v r e c n a y—t oi h i fso c n eg n e a d e s o—sa n to tg ain,a d tn s t o e g o t e lc lo tmu n e d o c nv r e t h o a p i m.Th spa e i p r b ng p t e s l to s d o h it n e— ba e un to n wh c h v p r to —ph r mo e a e c n・ i r s u h ou in ba e n t e d sa c — s d f c in i ih t e e a oa in — e o n s c n b o ・

改进蚁群算法在TSP问题中的应用

改进蚁群算法在TSP问题中的应用

文章编号:1007-1423(2020)25-0022-05DOI:10.3969/j.issn.1007-1423.2020.25.004改进蚁群算法在TSP问题中的应用徐书扬,王海江(浙江科技学院,杭州310023)摘要:针对蚁群算法求解TSP问题易陷入局部最优,求解结果精度低的问题,提出一种蚁群算法的改进方案以更有效地避免算法陷入局部最优,进而提高算法搜索最优路径的能力。

将TSP问题中点与点之间的距离信息引入初始各路径信息素残留量的赋值中,使得算法迭代初期各路径信息素残留量对算法的收敛更具导向性;在算法收敛到一定程度时,加快路径残留信息素的挥发速度,并减小蚂蚁走过路径所留下的信息素量,从而提高算法整体的全局搜索能力,增加探寻到潜在更优路径的可能性;当算法收敛到可能陷入局部最优的情况时,重置各路径信息素残留量,重新探寻最优路径,减小算法陷入局部收敛的概率。

通过MATLAB2018b对多个TSP实例问题进行编程求解,最终的仿真实验结果表明改进后蚁群算法能有效提高算法的正确收敛率和求解结果精确度。

关键词:蚁群算法;路径规划;局部最优;旅行商问题基金项目:浙江省基金项目:面向物联网的密文检索技术研究(No.LQ20F020010)0引言蚁群算法是一种于1992年由文献[1]用于寻找最优路径的经典概率型算法。

与其他启发式算法相比,蚁群算法具有良好的鲁棒性(可改进方向多,适用于多种问题的解决)以及优越的全局搜索能力(蚁群算法往往以全局最优为目标解决问题)。

因此,蚁群算法在多个领域中得以应用,例如:区域建设[2]、路径规划[3-6]、影像测量[7]、调度管理[8-9]等。

然而,蚁群算法也同样存在一些不足之处,例如:在处理信息量较大的问题时迭代速度过慢,算法易陷入局部最优而错过最优解,对参数的设置有很高的要求,错误的参数设置容易导致结果误差过大等[10-11]。

针对传统蚁群算法存在的问题,不少学者提出蚁群算法的改进方案来解决蚁群算法本身的缺陷。

基于蚁群算法的TSP问题分析

基于蚁群算法的TSP问题分析
作者简介 曹思聪( 1 9 8 9 -) , 女, 辽宁沈阳人 , 沈 阳联勤保 障中心助理工程师.
通 迅 作 者
5 0
鞍 山师范学 院学 报
第 1 9卷 1 . 1源自路径 构 建 根 据基 本框 架 , m只人 工 蚂蚁最 初 被随机 地 分配 到任 意城 市. 当蚂蚁 k 处 于城 市 i 时, 使用 随机 比例 ( r a n d o m p r o p o r t i o n a 1 ) 规则 ( 公式 1 ) 来 选择要 去 往 的下一 座城 市 的概 率 .
有用结果.
关键词
旅行 商( T S P ) 问题 ; 蚁群优 化算法 ; 信 息素 T P 3 1 1 文献标识码 A 文章篇 号 1 0 0 8 — 2 4 4 1 ( 2 0 1 7 ) 0 2 — 0 0 4 9 — 0 5
中图分类号
1 9 9 1 年, 意大利学者 M a r c o D o r i g o 提出了蚁群优化算法 ( a n t c o l o n y o p t i m i z a t i o n , A C O ) . 其一经问世 ,
联 系在 一起 , 从 而形 成群 体智 慧 J . 基 于这 种思 想 的首个 蚁群 优 化 算法 —— 蚂 蚁 系 统 ( a n t s y s t e m, A S ) 的出 现 , 这 为人 们 解 决 相关 问题 提供 了一种全 新 的思 维模 式 . 它 提 出时 也正 是 以旅 行商 ( t r a v e l i n g s a l e s m a n p r o b l e m, T S P) 问题 为实 例应 用 的. 虽 然蚂 蚁 系统 的性 能并不 是 非常 良好 , 但 是 它为 后 续 一 系列 的蚁 群算 法 提供 了思 想 基础 , 在 启发 式算 法 中翻开 了新 的一 页 . 从蚁 群算 法上 看 , 目前 许多 A C O思 想还 处 在 萌芽 阶 段 ; 针 对 蚁群 算 法 的 讨论 与开 发 也越来 越受 到关 注 ; 一些 关 于 A C O的 科 学理 论 还 有 待 证 明 j . 总 而 言之 , 它 创 新 独 特 的思 想、 快速成 长 的历史 、 表 现 突 出的性 能 、 广 阔的发展 前景 都是 研究 它 的 目的所在 .

改进蚁群优化方法求解立体表面TSP问题

改进蚁群优化方法求解立体表面TSP问题

l 引 言
蚁群 算 法是 由意 大利学 者 Doio 于 2 世纪 9 年 代初 r 等 g 0 0
制 信息素 的上 、 下界并使 用最优解 更新策 略的最大 . 最小蚂蚁
期通过模 拟 自然 界中蚂蚁集体 寻径 的行 为而提 出的一种基于 种群 的启发 式仿 生进化算 法u 。它是 一种 应用于 组合优 化 问 题的 启发式搜 索算 法 , 该算 法在求解 T P S 问题 、 问题 分配 】 、 jbs p 度 问题 都 取 得 了较 好 的效 果 。旅 行 商 问题 o. o 调 h 等 (rvl g S ls n P o l T P 是组合优化领 域 中典型 的 T aei aema rbe S ) n m, N. P 完全 问题 。该 问题 是指 定 n 个城 市 和两 两城 市之 间的距 离 , 确 定一条 经过所 有城 市且 每个城 市仅经 过一 次的最 要求 短 H m ln a io 回路 。然而在 实 际生产 作业 中 , t 高层 建筑 幕墙 自 动化清洗 、 筑物表 面的 自动 油漆 喷刷 、 建 高层建筑 物表面 的直 升机空 中紧急救援 、 家具的表面 清洁等 问题 已经成为可 能 , 将 T P问题应用到该领 域不仅能消除人 员高空作 业的危险 , 且 S 而 能大 幅度提高 工作效率 。但此类 问题 和 T P S 也有 着很大 的不 同, 所有 的被 访 问的点均位于建筑 物表面 , 路径也 是沿着立 方 体表 面绕 行 。因此 , 对立方体 表 面的 T P S 问题研 究有 着重 要
mu h hg e o v re c p e h n ta fte b s n oo y ag rh , d cn jmp o e h e in o e l a mii c ihrc n egn e sed ta hto ai a tc l loi m a a u v rtergo ft o l n. h c n t n h c

蚁群算法的TSP问题求解策略分析研究

蚁群算法的TSP问题求解策略分析研究

基于蚁群算法的TSP问题求解策略研究摘要TSP问题是计算机网络、路由规划中的经典问题。

而蚁群优化算法作为高效的计算智能的方法,在离散优化领域有着十分广泛的应用,其中最为经典的是最优回路求解问题。

因此,本文在分析蚁群算法发展现状的基础上,针对TSP问题的求解策略,来深入分析蚁群基数的设置对收敛效率的影响。

最后通过MATlAB编程工具运行相关代码,并得到相应的TSP问题解。

实验结果表明:随着蚁群基数的增加,TSP问题求解的时间也会线性增加;当蚁群基数大于等于TSP问题的结点个数的时候,TSP问题的解才会保持稳定且趋近于蚁群基数与节点个数相等时的TSP问题的解。

关键字蚁群算法蚁群基数 TSPResearch on the TSP Solution based on Ant Colony Optimization [Abstract]The TSP problem is a classic problem in computer network, route planning.And the ant colony optimization algorithm as an efficient method of computational intelligence, has the extremely widespread application in the field of discrete optimization, the most classic is the optimal circuit to solve the problem. Therefore, this article on the basis of analyzing the current situation of the development of ant colony algorithm, TSP problem solving strategy, to analyze ant colony base Settings affect the convergence efficiency. Finally through MATlAB programming tools run the code, and get the corresponding TSP problem solution. The experimental results show that with the increase of base of ant colony, TSP problem solving linear time will also grow。

基于蚁群算法求解TSP问题的改进

基于蚁群算法求解TSP问题的改进
l c lo tma ou ins Ex e me a e u t h w h tt e i r v d a tc l n lo t m s b t r o a p i ls l to . p r ntlr s ls s o t a h mp o e n oo y a g r h ha et i i e
g a u le g dc p t o a s n n s me s e i c c n i o s t r d c h o s i t s t ali t r d a r o i a h c mp r o s i o p cf o d t n o e u e t e p s i l i o f l no i i i b ie
陈洁 刘希 玉 李庆波 , ,
(. 1 山东师范大学管理与经济学院 , 山东 济南 20 1 ;. 50 4 2 山东天辉科技有 限公 司通讯事业部 , 山东 济南 20 0 ) 5 10
摘要 : 蚁群算法虽然具有鲁棒性和发现较好解的能力 , 搜索时 间较 长 , 但其 当规模 较大时易 陷入 局部最优解 。
旅行商问题( r en l m n r l T P , Ta l g a s a o e S )是在 15 年 由威廉 ・ vi S e P b m, 89 汉密尔顿爵士首次提出的。设有 n
个 城市 , 求旅 行商 到达 线 最短 。这 是一个 典 型的优
本文通 过求解 T P问题 , S 对其进行改进 。通过在特 定情况下 对路径 进行逐 步遍历 比较来 降低 陷入局部 最优 解 的可能性 , 出最优解 。实验验证 结果表明 , 找 这种改进蚁群算法对求解 T P问题 有较好 的效果 。 S
关 键 词 : 群 算 法 ;S ; 进 ; 历 蚁 T P改 遍

改进蚁群算法的tsp问题研究

改进蚁群算法的tsp问题研究
,女,河北定州人,硕士研究生,讲师。研究方向:人工智能。
— 42 —
2019 年第 20 期
信息与电脑 China Computer & Communication
算法语言
式(2)中,ε 表示随着迭代次数的增加而变化的系数, 一部分蚂蚁还停留在构建解空间阶段,另一部分蚂蚁已经进
Abstract: Ant colony algorithm is an intelligent bionic optimization algorithm inspired by ant foraging behavior. It is effective in solving the TSP combination optimization problem. For the basic ant colony algorithm, the TSP is easy to fall into the local optimal solution and the premature stagnation. Combined with the introduction of parameters and phased iteration, the basic ant colony algorithm is improved. The improved ant colony algorithm and the experimental results of the basic ant colony algorithm for solving the traveling salesman problem are compared and analyzed, and the effect of the improved ant colony algorithm is verified.

基于改进量子蚁群算法的 TSP 求解问题研究

基于改进量子蚁群算法的 TSP 求解问题研究
wh i c h i s e a s y t o f a l l i n t o t h e l o c a l o p t i mu m a n d s l o w c o nv e r g e n c e .T he q u a n t u m a n t c o l o n y a l g o it r hm ,

要: T S P问题是一个组合优化问题 , 该 问题具有 N P计算复杂性, 运用量子蚁群算法求解该
问题 时易 陷入 局部最 优 和 收 敛速 度 慢 的 问题 。 因此 提 出一种 基 于博 弈 论 的量 子蚁 群 算 法 ( G Q A . C A) , 该 算 法采用 重 复博 弈模 型 , 在 重复 博 弈 中产 生 一个 博 弈序 列 , 使 得 每 次博 弈都 能够 产 生 最 大 效益 , 并得 到相 应博 弈过 程 的纳什 均衡 。把该 算 法 应用 于 T S P求 解 , 实验 结 果 表 明本 文 中 G Q A C A 算法 的 收敛 精度 和 稳定 性均 要优 于其他 量 子蚁群 算 法。 关键词 : 改进 ; 博 弈论 ; 蚁群 算法 ; 旅 行 商 问题
旅行 商 问题 , 即T S P问 题 ( T r a v e l l i n g S l a e s m a n
Ab s t r a c t : T S T, a s a c o m b i n a t o r i a l o p t i m i z a t i o n p r o b l e m, i s s o l v e d b y Q u a n t u m a n t c o l o n y a l g o r i t h m
第 3期
2 0 1 5年 6月

基于蚁群优化算法的TSP问题求解计算智能实验报告

基于蚁群优化算法的TSP问题求解计算智能实验报告

智能计算实验报告学院:班级:学号:姓名:成绩:日期:实验名称:基于蚁群优化算法的TSP问题求解题目要求:利用蚁群优化算法对给定的TSP问题进行求解,求出一条最短路径。

蚁群优化算法简介:蚁群算法是一中求解复杂优化问题的启发式算法,该方法通过模拟蚁群对“信息素”的控制和利用进行搜索食物的过程,达到求解最优结果的目的。

它具有智能搜索、全局优化、稳健性强、易于其它方法结合等优点,适应于解决组合优化问题,包括运输路径优化问题。

TSP数据文件格式分析:本次课程设计采用的TSP文件是att48.tsp ,文件是由48组城市坐标构成的,文件共分成三列,第一列为城市编号,第二列为城市横坐标,第三列为城市纵坐标。

数据结构如下所示:实验操作过程:1、TSP文件的读取:class chengshi {int no;double x;double y;chengshi(int no, double x, double y) {this.no = no;this.x = x;this.y = y;}private double getDistance(chengshi chengshi) {return sqrt(pow((x - chengshi.x), 2) + pow((y - chengshi.y), 2));}}try {//定义HashMap保存读取的坐标信息HashMap<Integer, chengshi> map = new HashMap<Integer,chengshi>();//读取文件BufferedReader reader = new BufferedReader(new (new )));for (String str = reader.readLine(); str != null; str = reader.readLine()) { //将读到的信息保存入HashMapif(str.matches("([0-9]+)(\\s*)([0-9]+)(.?)([0-9]*)(\\s*)([0-9]+)(.?)([0-9]*)")) {String[] data = str.split("(\\s+)");chengshi chengshi = new chengshi(Integer.parseInt(data[0]),Double.parseDouble(data[1]),Double.parseDouble(data[2]));map.put(chengshi.no, chengshi);}}//分配距离矩阵存储空间distance = new double[map.size() + 1][map.size() + 1];//分配距离倒数矩阵存储空间heuristic = new double[map.size() + 1][map.size() + 1];//分配信息素矩阵存储空间pheromone = new double[map.size() + 1][map.size() + 1];for (int i = 1; i < map.size() + 1; i++) {for (int j = 1; j < map.size() + 1; j++) {//计算城市间的距离,并存入距离矩阵distance[i][j] = map.get(i).getDistance(map.get(j));//计算距离倒数,并存入距离倒数矩阵heuristic[i][j] = 1 / distance[i][j];//初始化信息素矩阵pheromone[i][j] = 1;}}} catch (Exception exception) {System.out.println("初始化数据失败!");}}2、TSP作图处理:private void evaporatePheromone() {for (int i = 1; i < pheromone.length; i++)for (int j = 1; j < pheromone.length; j++) {pheromone[i][j] *= 1-rate;}}3、关键源代码(带简单的注释):蚂蚁类代码:class mayi {//已访问城市列表private boolean[] visited;//访问顺序表private int[] tour;//已访问城市的个数private int n;//总的距离private double total;mayi() {//给访问顺序表分配空间tour = new int[distance.length+1];//已存入城市数量为n,刚开始为0n = 0;//将起始城市1,放入访问结点顺序表第一项tour[++n] = 1;//给已访问城市结点分配空间visited = new boolean[distance.length];//第一个城市为出发城市,设置为已访问visited[tour[n]] = true;}private int choosechengshi() {//用来random的随机数double m = 0;//获得当前所在的城市号放入j,如果和j相邻的城市没有被访问,那么加入mfor (int i = 1, j = tour[n]; i < pheromone.length; i++) {if (!visited[i]) {m += pow(pheromone[j][i], alpha) * pow(heuristic[j][i], beta);}}//保存随机数double p = m * random();//寻找随机城市double k = 0;//保存城市int q = 0;for (int i = 1, j = tour[n]; k < p; i++) {if (!visited[i]) {k += pow(pheromone[j][i], alpha) * pow(heuristic[j][i], beta);q = i;}}return q;}城市选择代码:private int choosechengshi() {//用来random的随机数double m = 0;//获得当前所在的城市号放入j,如果和j相邻的城市没有被访问,那么加入mfor (int i = 1, j = tour[n]; i < pheromone.length; i++) {if (!visited[i]) {m += pow(pheromone[j][i], alpha) * pow(heuristic[j][i], beta);}}//保存随机数double p = m * random();//寻找随机城市double k = 0;//保存城市int q = 0;for (int i = 1, j = tour[n]; k < p; i++) {if (!visited[i]) {k += pow(pheromone[j][i], alpha) * pow(heuristic[j][i], beta);q = i;}}return q;}4、算法运行收敛图(即运行到第几步,求得的最优值是多少):run:本次为倒数第100次迭代,当前最优路径长度为41634.60本次为倒数第99次迭代,当前最优路径长度为41514.21本次为倒数第98次迭代,当前最优路径长度为38511.61本次为倒数第97次迭代,当前最优路径长度为38511.61本次为倒数第96次迭代,当前最优路径长度为38511.61本次为倒数第95次迭代,当前最优路径长度为38511.61本次为倒数第94次迭代,当前最优路径长度为37293.07、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、本次为倒数第6次迭代,当前最优路径长度为37293.07本次为倒数第5次迭代,当前最优路径长度为37293.07本次为倒数第4次迭代,当前最优路径长度为37293.07本次为倒数第3次迭代,当前最优路径长度为37293.07本次为倒数第2次迭代,当前最优路径长度为37293.07本次为倒数第1次迭代,当前最优路径长度为37293.07得到的最优的路径长度为: 37293.075、最终求得的最优解的TSP图像:最优路径如下:→1→9→38→31→44→18→7→28→37→19→6→30→43→27→17→36→46→33→15→12→11→23→14→25→13→20→47→21→39→32→48→5→29→2→26→4→35→45→10→42→24→34→41→16→22→3→40→8→1成功生成(总时间:3 秒)实验结果分析:本次通过JA V A语言实现蚁群优化算法,我们发现虽然我们找到了问题的最优解,但是最优解的收敛性并不乐观,并不能求得问题的精确解,并且随着参数的调节运行结果有随机性。

基于蚁群算法的TSP问题研究

基于蚁群算法的TSP问题研究

2 9 1
学 术 论 坛
数 , 表示 城 市 i 城 市J 间 的 距离 , it 和 之 r( j)
其 中 △ f是第 k ( ) 只蚂 蚁 在 边 (,) 留 种 矩 阵 运 算S i b 能 处 理 比数 字 矩 阵 复 iJ上 cl 也 a 表 示t 刻 在 边 ( J 信 息 素 的 多少 。 时 f) , 下的信息素的数量 , 下式计算 : 按 杂 得 多的 对象 。 cl b 有 功 能丰 富 的 图形 Si 具 a r , 1 初始时刻 , 条边上的信息素相等 , 各 设 显 示 能 力 , 完 成 各 种 常 规 形 式 的计 算结 可 △ ( l ,若 蚂 在 次 环 经 (, f 7 ) 第 只 蚁 本 循 中 过 f) - , 5() ()常 数 )把m只 蚂蚁 按 一 定 规 则 0=Ccb , { 果可视化功能 。 l 0 否则 分 布在 各城 市 。 时 刻 m只 蚂蚁 各 自选 择 在t 3 2 基 本蚁 群算 法 的实现 步骤 . () 4 t l 刻要 去 的城 市 ( +时 选择 策略 ) 直到 t n , + 时 以T P 目标 , 本蚁 群 算 法 的具 体实 S 为 基 刻时 m只 蚂蚁 各 自完成 一 个环 游 , 再根 据 各 其 中Q 一 个 常 数 , 一 个影 响算 法 收 现 步 骤 如 下 。 是 是 自环 游 的 长 度 在 其 经过 的边 上 留下 一 定数 敛 的 参 数 , 是 蚂 蚁 k 厶 的环 游长 度 。 P是 一 ( ) 数初 始 化 。 时 间t 0 1参 令 = 和循 环 次数 c 0设 ma 将 量 的 信 息 素 。 则 是 越 短 环 游 留下 越 多 的 个 常数 ,<p ,1 ) 原 0 <1 (一 表示 信 息 素 的 蒸发 N = , 置 最大 循 环次 数Nc x, m蚂蚁 A  ̄t ) 要 个 城 上 令 信 息素 , 时 , 边 上 的 信 息素 也 蒸 发 掉 一 程 度 。 r( 的 表 达 形 式 可 以 不 同 , 根 据 置于 n 元 素 ( 市 ) , 有 向 图 上每 条边 同 各 i) , 的初 始化信 息 量 T t= o s, 中cnt ) cnt 其 ( os 部 分 。 息 素 更 新 结 束 后 , 始 下 一 轮 迭 具 体 问 题 而 定 。 . o i o 出 了3 模 型 ( j 信 开 M D r 给 g 种 4, n — y l y tm n— 代 。 t 刻 , 于 城 市 i 蚂 蚁 k 概 率 [】分 别称 之 为a t c ce s se , a t 表 示 常数 , 初 始 时 刻 △ ) 0。 在 时 位 的 以 且 TO= (

求解tsp问题的一种改进蚁群算法

求解tsp问题的一种改进蚁群算法

求解tsp问题的一种改进蚁群算法求解旅行商问题(TSP)一直是计算机科学领域以及应用数学研究中的热门话题,解决TSP问题的方法一直是学术界关注的重点。

本文提出了一种改进的蚁群算法(ICA),该算法利用蒙特卡洛搜索技术,模拟蚁群行为,以获得最优解决方案。

该算法采用带有多种参数控制模型,有助于提高求解TSP问题的效率,从而更好地满足客户需求。

蚁群算法蚁群算法(Ant Colony Algorithm,简称ACA)是一种仿生算法,它模拟了真实蚂蚁的行为,尝试解决TSP问题。

该算法结合了模拟退火法(SA)和遗传算法(GA)的优点,以模拟真实蚂蚁的觅食行为,以寻找最优解决方案。

它利用一组自组织的蚂蚁搜索和定期更新信息素信息,以建立一个索引,使其在搜索空间中更快地找到可行解。

在本文中,我们提出了改进的蚁群算法(ICA),它具有更高的执行效率,能够更好地求解TSP问题。

改进蚁群算法改进的蚁群算法(ICA)是基于原始蚁群算法(ACA)的新框架,它利用蒙特卡洛搜索技术,以模拟蚁群的行为,以寻找最优的解决方案。

该算法使用人工选择算法以动态选取最优路径序列,能够有效地减少求解时间。

此外,ICA利用“参数控制”技术可以调控迭代次数,以获得最优路径序列。

改进的蚁群算法的优势改进的蚁群算法(ICA)有着许多优点,其中最为明显的有:(1)改进的ICA算法在求解TSP问题时,具有更高的执行效率,使得结果更为精确;(2)ICA利用蒙特卡洛搜索技术,通过人工选择算法,以动态选取最优路径序列,有效减少了求解TSP问题的时间;(3)ICA 还采用了“参数控制”,可以有效控制算法的迭代次数,以获得最优路径序列。

实验结果为了检验改进的蚁群算法(ICA)的有效性,我们在不同的计算机环境上进行了实验,并比较了ICA与传统的蚁群算法(ACA)以及其他最新算法(如遗传算法)的性能。

结果表明,ICA要优于传统的蚁群算法。

结论本文提出了一种改进的蚁群算法(ICA),它具有更高的执行效率,能够更好地求解TSP问题。

基于蚁群算法的TSP的算法与研究

基于蚁群算法的TSP的算法与研究

【 关键词】 蚁群算法; 组合优化 ; 息素 信
O 引 言
其 中 p 0p 1 表 示 挥 发 系数 , 表 示 持 久 系 数 , 示 本 次 (<< ) 1 Ar 表

△r 表 自仿 生 学 创立 以来 . 学 家 们 就 根 据 生 物 进 化 的机 理 先 后 提 出 了 迭 代 后 的 信 息 素增 量 , 示 第 k只蚂 蚁 在 本 次 迭 代 中 残 留 在 边 上 科 的信 息 素 量 。 根 据 信 息 素 不 同 的 更 新 策 略 . oioM 提 出 了 三 种 不 同 Dr g 多 种 适 合 于 现 实 世 界 中 复 杂 问 题 优 化 的 模 拟 进 化 算 法 . 蚁 群 算 法 fC ) 由意 大 利 学 者 M. r o等 于 2 A A是 Doi g 0世 纪 9 0年代 初 通 过 模 拟 自然 的蚁 群 算 法 模 型 , An— yl 模 型 、 tQ aty模 型 及 A tD ni 即 tC ce An— u ni t n— e sy t n— u ni t n- e sy模 型 t 界 中蚂 蚁 集 体 寻径 行 为 而 提 出 的 一 种 基 于 种 群 的 启 发 式 仿 生 类 并 行 模 型 。它 们 的 主 要 区 别 在 于 在 A tQ a ty模 型 及 A t D ni
238 根据 式 22和 式 23更 新 每 条 路 径 上 的 信 息 量 。 .. . - .. 若 满 足 结 束 条 件 , 循 环 结 束 并 输 出程 序 计 算 结 果 , 则 清 空 9 则 否 旅 行 商 问 题 , T P问 题 ( rvl gSls nPolm) 数 学 领 23 即 S Taei a ma rbe 是 n e 域 中 著 名 问题 之 一 。假 设 有 一 个 旅 行 商 人 要 拜 访 n个 城 市 . 必 须 选 禁 忌 表 并跳 转 到第 2步 。 他

基于蚁群算法的TSP问题研究

基于蚁群算法的TSP问题研究

基于蚁群算法的TSP问题研究TSP问题(Traveling Salesman Problem)是指给定n个城市和每对城市之间的距离,求解出访问每个城市恰好一次并回到起点的最短路径。

这个问题是一个经典的组合优化问题,同时也是NP完全问题。

在各个领域都有广泛的应用,例如物流规划、工程设计、生物信息学等领域。

蚁群算法是一种仿生算法,是指模拟蚂蚁搜索食物的行为,通过集体行为实现全局优化的算法。

蚁群算法的基本思想是将多个个体组成一个群体,通过信息交流和合作来完成任务,每个个体根据自身经验和与其他个体的交流,对整体所探索的领域进行逐步探索,最终找出最优解。

基于蚁群算法的TSP问题研究通过模拟蚂蚁在城市间寻找最短路径的过程来解决问题。

蚂蚁在寻找路径时会根据当前位置和距离信息来选择下一个城市,同时会在其路径上释放信息素,其他蚂蚁通过检测信息素来发现更优的路径,进而跟随该路径前进,最终形成一条整体最优解。

在基于蚁群算法的TSP问题研究中,主要需要考虑的问题包括信息素更新、路径选择策略、参数设置等问题。

其中,信息素更新可以是全局更新或局部更新,全局更新包括将所有路径上的信息素进行更新;局部更新则仅限于最优解路径。

路径选择策略可以考虑根据信息素浓度选择、根据距离选择等,不同的路径选择策略对结果的影响也不同。

参数设置可以根据实验数据进行调整,包括信息素浓度、信息素挥发率等。

基于蚁群算法的TSP问题研究已经有了很多成果,其优点包括收敛速度快、解决大规模问题能力强、容易实现等。

但是也存在着一些问题,例如容易陷入局部最优解、难以控制搜索精度等。

因此,在实际应用过程中需要结合具体问题进行调整和优化。

综上所述,基于蚁群算法的TSP问题研究是一个具有重要应用价值的领域,可以通过模拟蚂蚁搜索最短路径的行为来实现全局优化。

虽然该算法存在一些问题,但在实际应用中已经取得了广泛的成功,未来也有很多的研究优化方向。

基于蚁群算法的TSP问题

基于蚁群算法的TSP问题

基于蚁群算法的TSP问题求解1引言1.1 问题描述设计求解以下两个TSP问题的蚁群优化(ACO)算法。

其中城市的坐标见附件(kroA100.tsp和kroB100.tsp)。

1.2 理论基础1.2.1 蚁群算法简介蚁群算法是由意大利学者M.Dorigo等人于20世纪90年代初提出的一种新的模拟进化算法,其真实地模拟了自然界蚂蚁群体的觅食行为。

M.Dorigo等人将其用于解决旅行商问题(traveling salesman problem, TSP),并取得了较好的实验结果。

近年来,许多专家学者致力于蚁群算法的研究,并将其应用于交通、通信、化工、电力等领域,成功解决了许多组合优化问题,如调度问题(job–shop scheduling problem)、指派问题(quadratic assignment problem)、旅行商问题(traveling salesman problem)等。

1.2.2 蚁群算法基本思想生物学家研究发现,自然界中的蚂蚁觅食是一种群体性行为,并非单只蚂蚁自行寻找食物源。

蚂蚁在寻找食物源时,会在其经过的路径上释放一种信息素,并能够感知其它蚂蚁释放的信息素。

信息素浓度的大小表征路径的远近,信息素浓度越高,表示对应的路径距离越短。

通常,蚂蚁会以较大的概率优先选择信息素浓度较高的路径,并释放一定量的信息素,以增强该条路径上的信息素浓度,这样会形成一个正反馈。

最终,蚂蚁能够找到一条从巢穴到食物源的最佳路径,即是最短距离。

值得一提的是,生物学家同时发现,路径上的信息素浓度会随着时间的推进而逐渐衰减。

将蚁群算法应用于解决优化问题的基本思路为:用蚂蚁的行走路径表示待优化问题的可行解,整个蚂蚁群体的所有路径构成待优化问题的解空间。

较短的路径上蚂蚁释放的信息素量较多,随着时间的推进,较短的路径上积累的信息素浓度逐渐增高,选择该路径的蚂蚁个数也愈来愈多。

最终,整个蚂蚁会在正反馈的作用下集中到最佳的路径上,此时对应的便是待优化问题的最优解。

改进的蚁群算法及其在TSP中的应用研究

改进的蚁群算法及其在TSP中的应用研究

Research of using an improved ant colony algorithm to solve TSP
SUN Li-juan1, WANG Liang-jun1, WANG Ru-chuan1, 2
(1. Department of Computer Science and Technology, Nanjing University of Posts and Telecommunications,Nanjing 210003, China; 2. State Key Laboratory for Novel Software Technology at Nanjing University, Nanjing 210093, China)
(1)
(2)
其中, τ ij (t ) 表示两节点 i、j 间的信息素值。α(α>0)表示路径轨迹的相对重要性;β (β>0)是
第 10 期
孙力娟等:改进的蚁群算法及其在 TSP 中的应用研究
・113・
Jk(s)={1, 2, …n}−tabuk(s) 表示第 k 个蚂蚁下一步可以选择的节点集; 1 ηij = ,cost(i, j) 表示节点 i、j 间链路的费用大小。 cos t (i, j ) (2) 信息素的全局更新规则 当 m 只蚂蚁成功地完成一次寻径过程后,将选出目标函数值最小的路由,用以完成全局 信息素的更新,使得较优解保留下来,对后继蚂蚁产生影响,加快收敛到最优解的速度。 设 i、j 为两个相邻节点,则有 τ ij (t + n) ← (1 − ρ )τ ij (t ) + ρ× ∆τ ij (t ) (3) 其中,变量 ∆τ ij (t ) 是在 t 时刻,节点 i、j 间链路上信息素的增加量

基于解决ANTTSP问题的蚁群仿生优化算法的研究的开题报告

基于解决ANTTSP问题的蚁群仿生优化算法的研究的开题报告

基于解决ANTTSP问题的蚁群仿生优化算法的研究的开题报告一、选题背景TSP(Traveling Salesman Problem)是一类非常经典的组合优化问题,指的是在给定的n个城市之间,寻找一条路径,使得该路径能够访问每个城市一次且仅一次,并且回到起点城市。

目前,已存在许多算法来解决TSP问题,但是难以找到最优解,甚至是接近最优解的解。

为了更好地解决此类问题,许多研究人员将目光转向自然世界,尝试借鉴动物、植物、微生物等的生命规律,通过仿生优化算法来解决TSP问题。

蚁群算法(Ant Colony Optimization,ACO)是一种基于蚂蚁寻找食物的行为规律而开发出的一种优化算法。

ACO算法已经被广泛应用于TSP问题的求解中,取得了不少的成功。

但是,传统的蚁群算法存在着一些不足之处,如收敛速度慢、易陷入局部最优等问题。

为了解决这些问题,学者们对蚁群算法进行了不断地研究和改进,其中应用了一些进化算法和启发式搜索算法的思想。

因此,本研究将尝试开发一种基于解决ANTTSP问题的蚁群仿生优化算法,以期能够找到更加优秀的解决方案,解决TSP问题。

二、研究内容本研究的主要内容是设计一种基于解决ANTTSP问题的蚁群仿生优化算法,通过模拟蚂蚁在寻找食物时的行为方式,来找到最优的路径。

具体研究内容如下:1.对蚁群算法进行理论分析和实验研究,包括:(1)蚁群算法的基本原理和流程;(2)蚁群算法存在的问题及原因;(3)蚁群算法的优化方法,包括引入进化算法、局部搜索算法等;(4)对蚁群算法进行实验比较和分析。

2.设计基于解决ANTTSP问题的蚁群仿生优化算法,包括:(1)算法的整体设计方案;(2)算法的具体实现步骤;(3)算法的优化方法和策略。

3.实验验证(1)设计实验比较ANTTSP问题的求解效果;(2)对比本算法与其他算法在求解ANTTSP问题时的优缺点。

三、研究意义本研究的实现将有利于TSP问题的求解,提高了人们对蚁群算法以及仿生优化算法的认识和理解,对于设计、实现和改进这类优化算法有一定的参考价值。

基于改进蚁群算法的TSP问题研究中!

基于改进蚁群算法的TSP问题研究中!
[2]
在 1991 年提出蚂蚁系统 ( Ant Sys2
tem , AS)算法 ,其有 2 个主要步骤 , 即解的构建和信
息素的更新 , 信息素本来是蚂蚁在所经过的路上释 放的一种挥发性化学物质 ,蚂蚁通过它来选择路径 , 在蚂蚁系统算法中通过信息素来反映边被蚂蚁选择 的情况 .
111 解的构建
rea l d islead [ n ] [ n ] 用 来 存 放 Γij 的 值 , 增 加 rea l
1. 5C ) 范围内 , 则 ω = 1 / 4, 否则 ,ω = 3 / 4.
bs
公式 ( 5 ) 变为 :
m
τ ρ )τ ij ← ( 1 - ω ij +
0 < ρ ≤ 1.
k =1
Δ τ , Π ( i, j) ∑
( ( ( xj - xstart ) ( xj - xend )
2 2
k
τ ij 表示边 ( i, j) 所对应的信息素 ; α表示信息素因子 ,β表示启发式因子 ;
N i 表示位于 i的蚂蚁 k 可以直接到达的相邻城
k
市的集合 . 信息素 τ ij是蚂蚁在边 ( i, j) 释放的信息素 , 其实 质是代表边被蚂蚁选择的情况 , 简单说选择的越多 , 则τ ij 越大 . 每一只蚂蚁 k 都维护 1 个记忆存储 M , 它按照 访问的先后顺序记录所有已经过访问的城市的序 k 号 . 记忆存储还允许蚂蚁计算其构造的路径 T 的总 长度 , 还可以用来重新遍历该路径并释放信息素 . 112 信息素更新 首先 , 所有边上的信息素都会减少 1 个产量因 子的大小 , 然后在蚂蚁经过的边上增加信息素 . 信息 素的蒸发根据下式执行 τ . ( 2) 1 - ρτ ij ← ij , Π ( i, j) ∈ L , 0 < ρ ≤ 1 参数 ρ的作用是避免信息素的无限积累 , 还可 以淘汰之前的较差的路径 , 如果一条边没有再被任 何蚂蚁选择 , 那么这条边的信息素将以迭代次数的 指数级递减 . 蒸发信息素后 , 所有蚂蚁在它们经过的 边上释放信息素 :

基于蚁群算法的TSP问题研究

基于蚁群算法的TSP问题研究

第35卷第3期2017年5月佛山科学技术学院学报(自然科学版)Journal of Foshan University(Natural Sciences Edition)V o l.35 No.3May 2017文章编号:1008-0171(2017)03-0072-03基于蚁群算法的T S P问题研究来学伟(三门峡职业技术学院信息传媒学院,河南三门峡472000)摘要:阐述了蚁群算法的设计思想、基本原理及基本过程,利用蚁群算法对TSP问题进行求解,体现了进化计算的优越性。

关键词:蚁群算法;TSP问题;算法中图分类号:TP31 文献标志码:A1蚁群算法的设计思想众所周知,蚂蚁是一种群居类动物,常常成群结队地出现于人类的日常生活环境中。

科学工作者发 现,蚂蚁的个体生活习性相当简便容易,相对来说,蚁群的生活行为就特别复杂,通过这种复杂的行为 特征可以实现较为复杂的活动,而且蚁群能根据环境的变迁调整自己的行为特征。

比如,蚁群在行进 时,道路上的障碍物被蚂蚁发现,它们可以快速地找到在当时条件下最好的行进路径。

通过仔细观察研 究,我们发现蚂蚁与蚂蚁之间经过信息素来实现信息的交流和传递,因而实现互相合作,表现出有序而 复杂的行为习性[1]。

蚁群的这种生活习性引起了一些学者的注意,20世界90年代,通过观察和研究自 然界蚁群觅食的规律和习性,意大利学者M.Dorigo得出了第一个蚁群算法,进而应用在T S P问题的求 解过程中。

蚁群算法被提出之后,其应用范围逐渐广泛,算法本身也不断地被完善改进,形成了一系列 的蚁群算法(ant colony optimization ACO)。

1.1蚁群算法的基本原理通过观察和研究,蚂蚁外出觅食和获得食物后回巢穴的路径中,会在每一处路过的地方留下一些信息素作为标记,留下的信息素可以被和它是同一蚁群中比它后来的蚂蚁感知出来,该信息素会被后来的蚂蚁认为是一种信号,因而对后来的蚂蚁产生巨大的影响。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于改进蚁群算法的TSP问题研究作者:许能闯来源:《软件导刊》2018年第02期摘要:蚁群算法作为解决TSP中组合优化问题方案,其搜索路径能力较其它算法优异,但传统蚁群算法的选取策略较随机,导致进化速度慢。

为了优化传统蚁群算法速度较慢、过早收敛以致停滞现象,针对概率选取公式随机搜索下一节点,以延缓其收敛速度。

对信息素调节公式进行更新以提高蚁群的搜索能力。

实验结果表明,改进算法在最短路径、平均路径和搜索最短路径时间上较蚁群算法提高很大,改进的蚁群算法能有效提高算法的收敛速度和搜索能力。

关键词:蚁群算法;正反馈;信息素;收敛速度;TSP问题DOIDOI:10.11907/rjdk.173024中图分类号:TP312文献标识码:A 文章编号:1672-7800(2018)002-0056-040 引言TSP问题[1]即旅行商问题,其含义是某商人要访问n个城市后再回到出发城市,前提是各城市只能访问一遍,从而确定最短路径[2]。

目前,针对该问题的解决方案较多,如动态规划法、遗传算法、模拟退火算法等,但这些算法的实现很复杂,由此蚁群算法应运而生。

蚁群算法是一种新型的优化算法,其模拟蚂蚁觅食过程。

在食物寻找过程中,蚂蚁会分泌信息素记录所走路径,其它蚂蚁根据信息素的浓密程度,选择其中较短路径去寻觅食物,该算法最早于20世纪90年代初由意大利学者Dorigo M[3]提出。

蚁群算法中,当越多的蚂蚁分布在路径上,其信息素释放也越多,此时更多蚂蚁将选择信息素浓度大的路径去寻觅食物,由此体现其算法具备好的鲁棒性和协作性。

该算法广泛应用在网络优化和路径寻优问题上,是解决组合优化问题的有效算法之一[4]。

文献[5]中,针对TSP容易陷入局部最优和收敛速度慢的问题,提出了一种博弈论的量子蚁群算法。

该算法采用博弈模型产生博弈序列,使产生的效益最大,能有效解决蚁群算法的收敛速度和稳定性问题。

文献[6]中,针对路径优化问题,提出一种竞争方式以更改信息素的更新机制,使算法的搜索结果更优,精度更高。

文献[7]针对蚁群算法求解聚类特征TSP的收敛速度慢的问题,提出新的蚁群算法,将TSP问题从数据域分解为多个子问题,从而分别求解以提高算法的收敛速度。

作为典型的NP问题,已将TSP用作测试和比较算法性能方法[8]。

本文在考虑蚁群算法的搜索能力和收敛速度基础上,依据现有算法特点和不足,提出改进蚁群算法的概率选取方式和信息素的更新方式。

引入新的参数,改变概率选取方式以延缓收敛速度。

与此同时,在信息素更新过程中采用新的更新机制,使蚂蚁寻优效果更好,以提高算法的搜索能力及搜索结果。

1 算法简介1.1 蚁群算法工作原理蚁群算法是由许多蚂蚁组成的集体行为构成的一种信息学习正反馈算法[9]:当某条路径上蚂蚁越多,其释放的信息素就越多,信息浓度随之越高,其后选择该路径的可能性越大,个体间通过交流信息以寻找通向食物的最短路径,正反馈现象如图1所示。

蚂蚁刚开始觅食时,假设各路径上初始时刻信息素都相同,40只蚂蚁等概率从A结点出发去寻找食物(D结点),有两条路径可以到达,故蚂蚁平均分配20只到路径A-B-D和A-C-D上。

因A-B-D和A-C-D的距离分别为20m和30m,故单位时间内在路径A-B-D上通过的蚂蚁数量较多,其释放的信息素也多,导致该路径被其它蚂蚁选择的概率就大。

一段时间过后,A-B-D上的蚂蚁为30只,A-C-D上的蚂蚁只有10只,如图2所示。

由此可见,随着蚂蚁正反馈现象的持续,A-B-D上蚂蚁会继续增多,最终蚂蚁觅食可找到最佳路径。

1.2 路径选择概率机制蚂蚁觅食过程分析可有效帮助TSP问题的求解。

在TSP问题中,蚂蚁随机分配到各个节点(即城市),因各节点只能被访问一次,故蚂蚁k(k=1,2,3…,m)在节点i访问下一节点j的概率为:1.3 信息素更新机制因蚂蚁在访问节点过程中会在经过的路径上释放信息素,为避免残留的信息素过多掩盖启发信息,故当蚂蚁访问完某个节点或完成对所有节点的访问后,必须更新遗留的信息素,故(i,j)上的信息素τij的更新公式为:1.4 算法流程求解TSP问题的蚁群算法步骤如下:①初始化算法所需参数。

设置循环次数Nc=0,最大迭代次数NC_Max,路径初始化信息量Δτij(t)=C,C为常数,Δτij(0)=0;②将m只蚂蚁置于n个城市,对每只蚂蚁按路径选择概率pkij访问下一节点j,j∈allowedk;③对各蚂蚁搜索的路径长度进行计算,记录当前搜索的最优解;④依据更新公式修改信息素;⑤将各条路径上的信息素增量Δτij,循环次数Nc分别设置为Δτij=0,Nc=Nc+1;⑥若NC_Max>Nc,则跳转至第②步;⑦若满足条件,则输出当前的最优解。

算法流程见图3。

2 蚁群算法改进2.1 蚁群算法缺点对TSP问题进行求解时,蚁群算法常有以下不足之处:①在首次循环中,蚂蚁经过的路径上释放的信息素并不全是路径最优的方向;②因算法的全局搜索能力不足,当一段时间搜索后,会发现几乎一致的解,故局部最优解容易产生;③计算时间相对较长,容易产生停滞现象;④搜索时间较长;⑤传统蚁群算法对所有搜索路径都要更新信息素,故搜索最优路径效率降低。

2.2 改进的蚁群算法蚁群算法依据蚂蚁路径上释放的信息素搜索最优解,其将优先选择信息素浓度大的路径。

但当迭代次数一定时,因较优解的频率不断刷新使许多蚂蚁在较少蚁群的路径上聚集,从而出现停滞、早熟现象,导致局部最优解。

本文依据算法在优化过程中的路径搜索和收敛速度情况,对路径选择概率和信息素进行更新,避免算法出现上述现象,从而提高算法的收敛速度及精确性。

2.2.1 路径选择概率改进传统蚁群算法中,各蚂蚁选择路径的概率主要由当前节点i访问下一节点j的信息素浓度τij和启发信息ηij两者共同决定,这在一定程度上误导蚂蚁选择最佳路径的机率,从而陷入局部最优解的窘境。

为避免上述情况产生,对路径选择概率公式进行改进。

蚂蚁由节点i访问下一节点j的概率为:其中,q0是给定的参数值,范围为(0,1)之间,q是0~1之间的随机数,引入α/β参数,表示信息启发因子与期望启发因子的比值。

通过参数引入影响算法的概率选取,以延缓算法收敛速度。

当q>q0时,将采用q0的搜索方式;当q≤q0时,将采用q的搜索方式,其目的是保持概率选取在合理范围。

q0的选取调节了随机搜索和确定性搜索的平衡,且q0的大小决定算法的优劣。

q0过大会导致算法陷入局部最优解,q0过小将影响算法的搜索程度,使算法收敛速度过慢。

2.2.2 信息素更新的改进传统的蚁群算法中,单一的信息素更新导致算法并未充分利用上次循环所得的最短路径,故影响算法的精确搜索。

为改善这种情况,将之前的信息素公式加以改进,防止蚂蚁过早经过同路径而产生局部最优解。

其中L′表示当前搜索的总路径长度,Lt表示搜索最长路径的集合。

信息素调整公式是避免降低算法的收敛速度,提高蚁群对新发现的最短路径的敏感程度,从而快速对附近新的最短路径进行搜索。

改进算法流程如图4所示。

3 实验结果3.1 仿真环境本文实验环境为Win10系统下的仿真软件平台。

针对蚁群算法求解TSP问题,将本文提出的改进算法与原算法进行对比分析,从而检测改进的算法性能。

以ACO52TSP和CH150TSP问题为例说明算法的可执行性,其数据均来自TSP标准数据库[10]。

仿真参数设置为:城市数n=52或150,m=30,α=1,β=5,ρ=0.3,Q=100,q=0.6。

对两种算法进行对比试验,算法迭代次数为200次。

3.2 仿真结果对比在仿真软件平台环境下,选取最短路径和平均路径因素,将改进算法与蚁群算法性能进行对比。

针对ACO52TSP问题,仿真效果如图5和图6所示。

图5中,程序刚开始运行时,改进算法和原算法都用较少的循环次数获得不错的解。

随着程序的继续执行,原算法在循环17次左右出现停滞现象,而改进算法在18次左右表现很强的搜索能力,不断搜索最短路径。

当程序运行到45次左右时就找到了最优解,即最短路径为7 033m。

而原算法在循环18次才搜索到最优解,最短路径为7 179m。

与原始算法相比,改进算法寻找路径最优。

图6为ACO52最短路径线路,图7代表原算法和改进算法的搜索路径平均距离。

从图7可以很明显地看出,在0~15次循环期间,原算法和改进算法都以相同的速度寻找路径。

随着算法循环至18次后,两者的平均路径出现差异。

经过200次循环后,原算法平均路径最小为9 248m,改进算法为8 704m,改进算法在平均路径上明显优于原算法。

改进算法性能得以提升,算法的可靠性和有效性得到了印证。

为进一步论证本文算法性能,再以CH150TSP问题为例,如图8所示。

在图8中,当程序刚开始运行时,改进算法的抖动程度较原算法大,表明改进算法有较大的搜索空间;随着程序的不断运行,在算法经过7次循环后,原算法已陷入停滞状态,而改进算法一直保持稳定的向下不断搜索路径;在程序的最后阶段,改进算法的最优解为6 835m,明显优于原算法的7 152m。

这得益于参数的引入以及信息素的更新,改进算法花费更多的时间将信息素分泌在较优路径上,增加了算法的搜索能力,降低了收敛速度,使其演化速度更快、更稳定,结果最优。

图9表示CH150最短路径线路。

4 结语本文采用新的路径概率选取公式及信息素更新方法,提高了蚁群节点的收敛速度及搜索能力。

本文提出的改进算法主要体现在节点路径选择概率和信息素的更新上。

仿真结果表明,改进算法可有效地提高算法的收敛速度和搜索能力,达到精度更高和结果最优的目的。

参考文献:[1] 孙文彬,王江.一种基于遗传算法的TSP问题多策略优化求解方法[J].地理与地理信息科学,2016,32(4):1-4.[2] 林冬梅,王东,李娅.一种求解多旅行商问题双层降解混合算法[J].计算机应用研究,2011,28(8):2876-2879.[3] DORIGO M, MANIEZZO V, COLORNI A. Ant system: optimization by a colony of cooperating agents[J]. IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics A Publication of the IEEE Systems Man & Cybernetics Society,1996,26(1):29-41.[4] 徐精明,曹先彬,王煦法.多态蚁群算法[J].中国科学技术大学学报,2005,35(1):59-65.[5] 王启明,李玮瑶.基于改进量子蚁群算法的TSP求解问题研究[J].微处理机,2015(3):31-33.[6] 张开碧,张洋川,万素波,等.一种改进的竞争型蚁群算法在TSP问题中的应用[J].计算机与数字工程,2016,44(3):396-399.[7] GAMBARDELLA L M, DORIGO M Q. A Reinforcement learning approach to the traveling salesman problem-machine learning proceedings 1995-ant[J]. Machine Learning Proceedings,2000,170(3):252-260.[8] ROSENKRANTZ D J, STEARNS R E, II P M L. An analysis of several heuristics for thetraveling salesman problem[J]. Siam Journal on Computing,1977,6(3):563-581.[9] 冯月华.一种求解TSP问题的改进蚁群算法[J].电子测试,2014(8):38-40.[10] YOSHIKAWA M,TERAI H.Architecture for high-speed ant colony optimization[C].IEEE International Conference on Information Reuse and Integration. IEEE,2007:1-5.。

相关文档
最新文档