一文搞懂什么是蚁群优化算法(Ant Colony Optimization, ACO)【附应用举例】

您所在的位置:网站首页 yoyo模型qq群 一文搞懂什么是蚁群优化算法(Ant Colony Optimization, ACO)【附应用举例】

一文搞懂什么是蚁群优化算法(Ant Colony Optimization, ACO)【附应用举例】

2024-06-30 22:08:00| 来源: 网络整理| 查看: 265

Python代码链接放文末。

本文参考了很多张军老师《计算智能》的第五章知识。

本文来源:https://blog.csdn.net/qq_44186838/article/details/109181453 蚁群优化算法 总感觉这些数学家们怎么都这么聪明。 有句话叫“艺术源于生活”,但其实数学也来源于生活哈哈。

1.1 基本原理 先来聊下该算法的思想来源:

自然界蚂蚁群体在寻找食物的过程中,通过一种被称为信息素(Pheromone)的物质实现相互的间接通信,从而能够合作发现从蚁穴到食物源的最短路径。 通过对这种群体智能行为的抽象建模,研究者提出了蚁群优化算法(Ant Colony Optimization, ACO),为最优化问题、尤其是组合优化问题的求解提供了一强有力的手段。

蚂蚁在寻找食物的过程中往往是随机选择路径的,但它们能感知当前地面上的信息素浓度,并倾向于往信息素浓度高的方向行进。信息素由蚂蚁自身释放,是实现蚁群内间接通信的物质。由于较短路径上蚂蚁的往返时间比较短,单位时间内经过该路径的蚂蚁多,所以信息素的积累速度比较长路径快。因此,当后续蚂蚁在路口时,就能感知先前蚂蚁留下的信息,并倾向于选择一条较短的路径前行。这种正反馈机制使得越来越多的蚂蚁在巢穴与食物之间的最短路径上行进。由于其他路径上的信息素会随着时间蒸发,最终所有的蚂蚁都在最优路径上行进。

在这里插入图片描述在这里插入图片描述 1.2 算法流程 下面以求解TSP(旅行商问题)为例,来描述蚁群优化算法的工作机制。 1.2.1 基本流程 蚂蚁系统(Ant System,AS)是最基本的ACO算法,是以TSP作为应用实例提出的。

AS对于TSP的求解流程大致可分为两部:路径构建和信息素更新。

(1)路径构建

伪随机比例选择规则(random proportional)。 在这里插入图片描述 对于每只蚂蚁k,路径记忆向量 R k R^k Rk按照访问顺序记录了所有k已经经过的城市序号。设蚂蚁k当前所在城市为i,则其选择城市j作为下一个访问对象的概率如上式。 J k J_k Jk​(i)表示从城市i可以直接到达的、且又不在蚂蚁访问过的城市序列 R k R^k Rk中的城市集合。 η \eta η(i, j)是一个启发式信息,通常由 η \eta η (i, j)=1/ d i j d_ij di​j直接计算。 τ \tau τ(i, j)表示边(i, j)上的信息素量。

长度越短、信息素浓度越大的路径被蚂蚁选择的概率越大。a和b是两个预先设置的参数,用来控制启发式信息与信息素浓度作用的权重关系。当a=0时,算法演变成传统的随机贪心算法,最邻近城市被选中的概率最大。当b=0时,蚂蚁完全只根据信息素浓度确定路径,算法将快速收敛,这样构建出的最优路径往往与实际目标有着较大的差异,算法的性能比较糟糕。

(2)信息素更新

在算法初始化时,问题空间中所有的边上的信息素都被初始化为t0。算法迭代每一轮,问题空间中的所有路径上的信息素都会发生蒸发,我们为所有边上的信息素乘上一个小于1的常数。信息素蒸发是自然界本身固有的特征,在算法中能够帮助避免信息素的无限积累,使得算法可以快速丢弃之前构建过的较差的路径。蚂蚁根据自己构建的路径长度在它们本轮经过的边上释放信息素。蚂蚁构建的路径越短、释放的信息素就越多。一条边被蚂蚁爬过的次数越多、它所获得的信息素也越多。迭代(2),直至算法终止。

看不懂?那结合下面公式来看。

在这里插入图片描述 m是蚂蚁个数;r是信息素的蒸发率,规定0q0时ACS将和各种AS算法一样使用轮盘赌选择策略,我们称之为偏向探索(bias exploration)。

通过调整q0,我们能有效调节“开发”与“探索”之间的平衡,以决定算法是集中开发最优路径附近的区域,还是探索其它的区域。

(2)使用信息素全局更新规则,每轮迭代中所有蚂蚁都已构建完路径后,在属于至今最优路径的边上蒸发和释放信息素。

在这里插入图片描述 其中 Δ \Delta Δ τ b \tau_b τb​(i, j) = 1 / C b C_b Cb​,不论是信息素的蒸发还是释放,都只在属于至今最优路径的边上进行,这里与AS有很大的区别。因为AS算法将信息素的更新应用到了系统的所有边上,信息素更新的计算复杂度为O( n 2 n^2 n2),而ACS算法的信息素更新计算复杂度降低为O(n)。参数 ρ \rho ρ代表信息素蒸发的速率,新增加的信息素 被乘上系数 ρ \rho ρ后,更新后的信息素浓度被控制在旧信息素量与新释放的信息素量之间,用一种隐含的又更简单的方式实现了MMAS算法中对信息素量取值范围的限制。

(3)引入信息素局部更新规则,在路径构建过程中,对每一只蚂蚁,每当其经过一条边(i, j)时,它将立刻对这条边进行信息素的更新。 在这里插入图片描述 在这里插入图片描述 信息素局部更新规则作用于某条边上会使得这条边被其他蚂蚁选中的概率减少。这种机制大大增加了算法的探索能力,后续蚂蚁倾向于探索未被使用过的边,有效地避免了算法进入停滞状态。 在这里插入图片描述 顺序构建和并行构建。顺序构建是指当一只蚂蚁完成一轮完整的构建并返回到初始城市之后,下一只蚂蚁才开始构建;并行构建是指所有蚂蚁同时开始构建,每次所有蚂蚁各走一步(从当前城市移动到下一个城市)。对于ACS,要注意到两种路径构建方式会造成算法行为的区别。 在ACS中通常我们选择让所有蚂蚁并行地工作。

1.3.5 连续正交蚁群系统 连续正交蚁群算法(Continuous Orthogonal Ant Colony, COAC):近年来,将应用领域扩展到连续空间的蚁群算法也在发展,连续正交蚁群就是其中比较优秀的一种。COAC通过在问题空间内自适应地选择和调整一定数量的区域,并利用蚂蚁在这些区域内进行正交搜索、在区域间进行状态转移、并更新各个区域的信息素来搜索问题空间中的最优解。 COAC的基本思想是利用正交试验的方法将连续空间离散化。

1.4 参数设置 在这里插入图片描述

在这里插入图片描述

代码下载链接,有需要的请自行提取,不想hua前的朋友,可评论同我说,我会回复你,但可能会比较慢。祝好!

https://download.csdn.net/download/qq_44186838/62603929

智能优化算法大礼包



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭