深圳市万利机械科技有限公司官网! 收藏本站 联系方式 关于优盈娱乐
首页-优盈娱乐-注册登录站

定制高速高光机、精雕机设备研发生产厂家

寿命长达10年,精准度达0.01MM,效率高

免费打样咨询:
400-123-4567
当前位置: 首页 > 优盈资讯 > 公司动态

优化算法|蚁群算法的理解及实现

文章作者:佚名 人气:发表时间:2024-03-11 13:09:10

蚁群算法(Ant Colony Algorithm, ACA)由Marco Dorigo于1992年提出。
蚁群算法是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agent)通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性。
在自然界中,蚂蚁觅食过程中,蚁群总能够按照寻找到一条从蚁巢和食物源的最优路径。下图显示了这样一个觅食的过程。
在这里插入图片描述
在这里插入图片描述

蚁群算法的基本原理来源于自然界觅食的最短路径原理。根据昆虫学家的观察,蚂蚁可以在没有任何提示的情况下找到从食物源到巢穴的最短路径,并且能在环境发生变化(如原有路径上有了障碍物)后,自适应地搜索新的最佳路径。
蚂蚁是怎么做到这一点的呢?在这里插入图片描述
蚁群算法有自己的优化策略:正反馈的信息机制、信息素浓度的更新、蚂蚁对能够访问的路径的筛选。

在这里插入图片描述

蚁群算法最早用来求解TSP问题,(Travel Salesperson Problem,即旅行商问题或者称为中国邮递员问题),因为它分布式特性,鲁棒性强并且容易与其它算法结合,但是同时也存在这收敛速度慢,容易陷入局部最优(local optimal)等缺点。
1)路径构建
AS中的随机比例规则;对于每只蚂蚁k,路径记忆向量R^k.按照访问顺序记录了所有k已经经过的城市序号。设蚂蚁k当前所在城市为i,则其选择城市j作为下一个访问对象的概率为:
在这里插入图片描述

2)信息素更新
在这里插入图片描述
这里m是蚂蚁个数, ρ是信息素的蒸发率,规定0≤ ρ≤1,在AS中通常设置为 ρ =0.5,Δτij是第k只蚂蚁在它经过的边上释放的信息素量,它等于蚂蚁k本轮构建路径长度的倒数。Ck表示路径长度,它是Rk中所有边的长度和。
构建图:构建图与问题描述图是一致的,成份的集合C对应着点的集合(即:C=N),连接对应着边的集合(即L=A),且每一条边都带有一个权值,代表点i和j之间的距离。
约束条件:所有城市都要被访问且每个城市最多只能被访问一次。
信息素和启发式信息:TSP 问题中的信息素表示在访问城市i后直接访问城市j的期望度。启发式信息值一般与城市i和城市j的距离成反比。
解的构建:每只蚂蚁最初都从随机选择出来的城市出发,每经过一次迭代蚂蚁就向解中添加一个还没有访问过的城市。当所有城市都被蚂蚁访问过之后,解的构建就终止。
大致流程如下:
在这里插入图片描述

 

运行结果展示:
在这里插入图片描述

蚁群算法(AS)的缺点:

1、收敛速度慢(运行一次要等好久)

2、易于陷入局部最优

蚁群算法在解决小规模TSP问题是勉强能用,稍加时间就能发现最优解,但是若问题规模很大,蚁群算法的性能会极低,甚至卡死。所以可以进行改进,例如精英蚂蚁系统。

参考:

参考1:https://mp.weixin.qq.com/s?__biz=MzI0NzU3ODU5OA==&mid=2247484401&idx=1&sn=41d385f29f24887e06a0f256892560a3&chksm=e9aca978dedb206e33d569bd5150ee3222dd0c536ee172dbb0058ea0d081d849913dd34720ee&scene=21#wechat_redirect
参考2:https://zhuanlan.zhihu.com/p/137408401
参考3:https://www.cnblogs.com/bokeyuancj/p/11798635.html

平台注册入口