现代优化算法(五): 蚁群算法
组合优化算法系列:
现代优化算法 (一):模拟退火算法 及应用举例
现代优化算法 (二): 遗传算法 及应用举例
现代优化算法(三):禁忌搜索算法
现代优化算法(四):改进的遗传算法
现代优化算法(五): 蚁群算法
目录
1 蚁群算法简介
2 解决TSP 问题的蚁群算法描述
人工蚁群算法的求解步骤
3 人工蚁群算法性能的讨论
1 蚁群算法简介
蚁群是自然界中常见的一种生物,人们对蚂蚁的关注大都是因为“蚁群搬家,天 要下雨”之类的民谚。然而随着近代仿生学的发展,这种似乎微不足道的小东西越来越 多地受到学者们地关注。1991 年意大利学者 M. Dorigo 等人首先提出了蚁群算法,人们 开始了对蚁群的研究:相对弱小,功能并不强大的个体是如何完成复杂的工作的(如寻 找到食物的最佳路径并返回等)。在此基础上一种很好的优化算法逐步发展起来。 蚁群算法的特点是模拟自然界中蚂蚁的群体行为。科学家发现,蚁群总是能够发 现从蚁巢到食物源的最短路径。经研究发现,蚂蚁在行走过的路上留下一种挥发性的激 素,蚂蚁就是通过这种激素进行信息交流。蚂蚁趋向于走激素积累较多的路径。找到最 短路径的蚂蚁总是最早返回巢穴,从而在路上留下了较多的激素。由于最短路径上积累 了较多的激素,选择这条路径的蚂蚁就会越来越多,到最后所有的蚂蚁都会趋向于选择这条最短路径。基于蚂蚁这种行为而提出的蚁群算法具有群体合作,正反馈选择,并行 计算等三大特点,并且可以根据需要为人工蚁加入前瞻、回溯等自然蚁所没有的特点。 在使用蚁群算法求解现实问题时,先生成具有一定数量蚂蚁的蚁群,让每一只蚂 蚁建立一个解或解的一部分,每只人工蚁从问题的初始状态出发,根据“激素”浓度来 选择下一个要转移到的状态,直到建立起一个解,每只蚂蚁根据所找到的解的好坏程度 在所经过的状态上释放与解的质量成正比例的“激素”。之后,每只蚂蚁又开始新的求 解过程,直到寻找到满意解。为避免停滞现象,引入了激素更新机制。
2 解决TSP 问题的蚁群算法描述
根据上述原理,蚂蚁 k(k = 1,2,...,m)在运动过程中根据各条路径上的信息量决定 转移方向。与真实蚁群系统不同,人工蚁群系统具有一定的记忆功能。随着时间的推移, 以前留下的信息逐渐消逝,经 n 个时刻,蚂蚁完成一次循环,各路径上信息量要作调整。 由此得到下述的人工蚁群系统模型:
1)设人工蚁群在并行地搜索 TSP 的解,并通过一种信息素做媒介相互通信,在每 个结点上且和该结点相连的边上以信息素量做搜索下一结点的试探依据,直到找到一个 TSP 问题的可行解。
2)在时刻t 人工蚁 k 由位置i 转移至位置 j 的转移概率为
其中参数α 为轨迹的相对重要性(α ≥ 0 );β 为能见度的相对重要性( β ≥ 0 );S 为 可行点集,即蚂蚁 k 下一步允许选择的城市。α, β 分别反映了蚂蚁在运动过程中所积 累的信息及启发式因子在蚂蚁选择路径中所起的不同作用。
3)当 m 个人工蚁按(3)式找到了可行解,则将各边的信息量用下式修改。即调 整信息量的轨迹强度更新方程为
人工蚁群算法的求解步骤
对上述系统模型,采用人工蚁群方法求解的算法步骤可归结为:
3 人工蚁群算法性能的讨论
人工蚁群算法是一种基于种群的进化算法。作为一个新兴的研究领域,虽它还远 未像 GA、SA 等算法那样形成系统的分析方法和坚实的数学基础,但目前已有一些基 本结果。 在 M. Dorigo 三种不同的模型中,循环路径(i, j) 上信息量的增量 不同。
1)Ant-quantity system 模型中,
2)在 Ant-density system 模型中,
3)在 Ant-cycle system 模型中,
人工蚁群算法中,α, β,Q 等参数对算法性能也有很大的影响。α 值的大小表明留 在每个结点上的信息量受重视的程度,α 值越大,蚂蚁选择以前选过的点的可能性越 大,但过大会使搜索过早陷于局部极小点;β 的大小表明启发式信息受重视的程度;Q 值会影响算法的收敛速度,Q 过大会使算法收敛于局部极小值,过小又会影响算法的 收敛速度,随问题规模的增大Q 的值也需要随之变化;蚂蚁的数目越多,算法的全局搜索能力越强,但数目加大将使算法的收敛速度减慢。
组合优化算法系列:
现代优化算法 (一):模拟退火算法 及应用举例
现代优化算法 (二): 遗传算法 及应用举例
现代优化算法(三):禁忌搜索算法
现代优化算法(四):改进的遗传算法
现代优化算法(五): 蚁群算法
现代优化算法(五): 蚁群算法相关推荐
- 智能优化算法之蚁群算法(1)
蚁群算法(ant colony algorithm) : 一种模拟进化算法 蚂蚁在觅食过程中能够在其经过的路径留下一种称为信息素的物质,并在觅食的过程中能感知这种物质的强度,并指导自己的行动方向,他们 ...
- 最短移臂调度算法_MATLAB优化算法实例——蚁群算法
❝ 欢迎关注「工科男的Maltab学习日志」,采用Mardown文本编辑器编写文章,全新排版升级,内容.代码更简洁,同时开通了视频号,「工科男的日常」欢迎大家关注. --工科男 ❞ 1 蚁群算法基本理 ...
- 【智能优化算法】蚁群算法ACO
文章目录 [智能优化算法] 蚁群算法 1. 简介 1.1 简介 1.2 蚁群流程图 1.3 分类(可以不看) 2. 算法 2.1 参数讲解 2.2 计算公式 1) 转移概率公式 2) 启发式因子计算公 ...
- 智能优化算法之蚁群算法(ACO)
蚁群算法优缺点 优点 蚁群算法是一种本质上的并行算法.每只蚂蚁搜索的过程彼此独立,仅通过信息激素进行通信.不仅增加了算法的可靠性,也使得算法具有较强的全局搜索能力. 蚁群算法是一种自组织的算法. 蚁群 ...
- 智能优化算法之蚁群算法
1.蚁群算法概述 蚁群算法(Ant Colony Algorithm, ACA) 由Marco Dorigo于1992年在他的博士论文中首次提出, 该算法模拟了自然界中蚂蚁的觅食行为. 蚂蚁在寻找食物 ...
- 【Matlab优化选址】蚁群算法求解电动汽车充电站与换电站选址优化问题【含源码 1182期】
一.代码运行视频(哔哩哔哩) [Matlab优化选址]蚁群算法求解电动汽车充电站与换电站选址优化问题[含源码 1182期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文 ...
- 群体智能算法之蚁群算法初探(一)
一.背景 20世纪90年代,意大利学者M.Dorigo,V.Maniezzo,A.Colorni等从生物进化的机制中受到启发,通过穆尼自然界蚂蚁搜索路径的行为,提出来一种新型的模拟进化算法--蚁群算法 ...
- 关键路径-stl版_A*算法与蚁群算法相结合的无人艇巡逻路径规划
作者:张丹红,陈文文,张华军,苏义鑫 摘要:针对无人艇海上巡逻路径规划问题,提出了一种A*算法与蚁群算法相结合进行最短巡逻路径优化的方法.在传统A*算法的八角度搜索基础上,设计了一种多角度A*算法以获 ...
- 蚂蚁算法python_蚁群算法python编程实现
前言 这篇文章主要介绍了Python编程实现蚁群算法详解,涉及蚂蚁算法的简介,主要原理及公式,以及Python中的实现代码,具有一定参考价值,需要的朋友可以了解下. 蚁群算法简介 蚁群算法(ant c ...
- 路径算法:蚁群算法(ant colony optimization, ACO)
一, 蚁群算法概述 自然界中有一个神奇的现象,即蚂蚁在没有提示的情况下总是能够找到从巢穴到食物的最短路径,这是为什么呢?原因就是蚂蚁在寻找食物时,能在其走过的路径上释放一种特殊的分泌物--信息素,随着 ...
最新文章
- hive根据职位给员工涨工资_华为28岁员工工资表曝光:厉害的HR,都有这些特质!...
- 三周第五次课) 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间
- 关闭输入流后,依然无法删除文件
- 如何查看本地的崩溃log_过年回家,还怕抢不到票?程序员教你如何抢票
- Luogu P2055 [ZJOI2009]假期的宿舍
- html盒子阴影效果,CSS3给div或者文字添加阴影(盒子阴影、文本阴影的使用)
- 洛谷 P1356 数列的整数性 解题报告
- JAVA蓝桥杯: 时间转换
- 大数据之-Hadoop环境搭建_hadoop官网手册---大数据之hadoop工作笔记0020
- python文件路径改了需要重新配置环境吗_Django 设置多环境配置文件载入问题
- Dynamics AX2012 Excel导入AX
- html css纯写桌球运动轨迹,纯JS实现椭圆轨迹运动的代码
- python影评_用Python分析18万条《八佰》影评,看看观众怎么说?
- 机器学习教程 之 半监督学习 Co-training 协同训练 (论文、算法、数据集、代码)
- 电脑文件夹怎么设置密码?这2个方法一看就会!
- qt5.9开发指南 例子
- 自动控制理论的发展历程
- VS编译器中的字符集(多字节和Unicode)的区别
- async 函数的含义和用法
- 详细解析Linux scp命令的应用
热门文章
- libxml2 iconv 在windows下的生成指南
- 大二物竞金牌转北大计算机,2011年第28届全国中学生物理竞赛决赛金牌选手去向表...
- MT2503资料汇总,MT2503原理图
- [填坑]Ubuntu18.04无法使用chrome浏览器共享屏幕解决方案
- ubuntu卸载 mysql
- 活动报名小程序版v4.9.40
- window10右下角 天气 关闭
- winrar许可到期了怎么办_在德国,居留许可、签证快要到期了怎么办?
- keil 更改黑色背景详细步骤,设置代码风格,添加自动格式化插件
- proe服务器高速缓存位置,Proe优化设置教程,教你proe提高显示速度及质量的设置方法...