蚁群算法是对自然界蚂蚁的寻径方式进行模拟而得出的一种仿生算法。蚂蚁在运动过程中,能够在它所经过的路径上留下一种称之为信息素的物质进行信息传递,而蚂蚁在运动过程中能够感知这种物质,并以此知道自己的运动方向,因此由大量蚂蚁组成的蚁群集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来选择该路径的概率就越大。
蚁群算法的主要特点
(1)蚁群算法主要用于求解TSP为代表的组合优化或图优化的问题;
(2)蚁群算法收敛速度快,求解质量较高;
(3)蚁群算法是一种全局优化算法;
(4)蚁群算法是一种分布式的优化算法,可以在分布式环境中运行。
(群)智能算法适用范围
(1)当问题难以求解,特别是NP难问题时;
(2)当模型过于复杂,难以推导出合适的求解算法时;
(4)注意智能算法虽然用处广泛,但并不是万能。智能算法效率相对较低,在问题比较简单或存在其他更好的算法时不宜盲目使用!
蚁群算法的背景
自然蚁群的自组织行为特征
高度结构化的组织:虽然蚂蚁的个体行为及其简单,但由个体组成的蚁群却构成高度结构化的社会组织,蚂蚁社会的成员有分工,有相互的通信和信息传递。
自然优化:蚁群在觅食过程中,在没有任何提示下总能找到食物源之间的最短路径;当经过的路线上出现障碍物时,还能迅速找到新的最优路径。
信息正反馈:蚂蚁在寻找食物时,在其经过的路径上释放信息素。蚂蚁基本没有视觉,但能在小范围内察觉同类散发的信息素的轨迹,并倾向朝着信息素强度高的方向移动。
蚁群算法的基本思想
以TSP问题为例
1.根据具体问题设置多只蚂蚁,分头并行搜索;
2.每只蚂蚁完成一次周游后,在行进的路上释放信息素,信息素量与解的质量成正比;
3.蚂蚁路径的选择根据信息素强度大小(初始信息素设为相等),同时考虑两点之间的距离,采用随机的局部搜索策略;
4.每只蚂蚁只能走合法路线(经过每个城市仅1次),为此设置禁忌表来控制;
5.所有蚂蚁都搜索完一次就是迭代一次,每迭代一次对所有的边做一次信息素更新,原来的蚂蚁死掉,新的蚂蚁进行新一轮搜索;
6.更新信息素包括原有信息素的蒸发和经过的路径上信息素的增加;
7.达到预定的迭代步数,或出现停滞现象,则算法结束。
蚁群算法的流程:
蚁群算法的步骤
(1)初始化
将m只蚂蚁随机放到n个城市,每只蚂蚁的禁忌表为蚂蚁当前所在城市,各边信息素初始化。禁忌表体现了蚂蚁的记忆性,使得蚂蚁不会走重复道路,提高了效率。
(2)选择路径
在t时刻,蚂蚁k从城市i转移到城市j的概率为:
α、β是系统参数,分别表示信息素、距离对蚂蚁选择路径的影响程度。
基于上述概率,可以采用轮盘赌方式选择下一个城市
α=0,算法演变成传统的随机贪婪算法,最近邻城市被选中概率最大
β=0,蚂蚁完全只根据信息素浓度确定路径,算法将快速收敛,这样构造出的路径与实际目标有着较大差距
实际问题中,设置α=1~2,β=2~5比较合适
(3)更新信息
在所有的蚂蚁找到一条合法路径后,采用下式对信息素进行更新
蚁周模型
Q>0表示蚂蚁所留轨迹,一般取值10~10000
Lk表示第k只蚂蚁在本次周游中走过的路径的长度和。信息素增量只与搜索整体路线有关,与具体路径无关,属于全局信息更新。
蚁量模型
信息素增量与路径长度有关,蚂蚁每完成一步移动后可更新该路径信息素,属于局部信息更新。
蚁密模型
不管距离长短,释放的信息素增量都一样,蚂蚁每完成一步移动后可更新该路径信息素,也可认为是局部信息更新。
蚁群算法蚁群算法求解TSP的matlab实现
(1)导入城市数据,计算城市距离
(2)设置初始参数
(3)迭代寻找最佳路径
(4)结果输出
TSP求解结果
(1)30个城市
运行多次蚁群算法后,取最好的最优值425.593,略大于粒子群算法
(2)50个城市
将蚂蚁数量增加至200以上时,会略微提高优化效果,多次运行结果取最好的最优值439.2879,大于粒子群算法。
重点来了
2024年上半年首场高含金量数模竞赛:2024年第九届数维杯竞赛正式开赛报名啦,该竞赛已成为数学建模行业内仅次于国赛和美赛后的又一项全国性数模竞赛,已被众多高校列为国家级二类竞赛,在国内高校中是作为国赛大型热身、保研、综合测评、创新奖学金等评定竞赛之一。
允许跨校组队+获奖50%+国赛热身+万元奖金等你拿。
部分高校加分文件
获奖证书
进群领取历年真题优秀论文福利及队友大赛通知
竞赛安排
参赛对象
参赛对象为在校专科生、本科生、研究生,每组参赛人数为1-3人(指导老师不列入小组总人数中,没有指导老师可写无,有指导老师可真实填写),每名同学只能参加一个小组,允许跨校组队。
赛题类型
参赛费用
注册费为100元/队,费用仅用于本次竞赛的各项开支。如果需要组委会提供详细的论文评价,需要再支付100元人民币的论文点评费。(即每个参赛队支付200元人民币)可以获得一篇针对你们队论文的详评!(包括对论文模型与写作的具体评价与分析,并对参赛队伍提出可行的修改建议,助其提高应对美赛的能力。)
奖项设置
本次竞赛共评出:
1、数维杯冠名奖:3队,采用视频答辩的形式,由高校和企业专家综合评审,颁发第九届“数维杯”大学生数学建模挑战赛冠名奖获奖证书、奖杯,并提供每队1000元奖金+免费参加2024第九届数维杯大学生数学建模夏令营(成都)+学会会员。
2、数维杯创新奖:14队,采用视频答辩的形式,由高校和企业专家综合评审,颁发第九届“数维杯”大学生数学建模挑战赛“创新奖”获奖证书,每队500元奖金。
3、全国一等奖:(约5%)+获奖证书+学会会员
4、全国二等奖:(约15%)+获奖证书+学会会员
5、全国三等奖:(约30%)+获奖证书+学会会员
6、优秀奖:(若干)(凡成功提交论文的队伍)+获奖电子版证书
7、优秀组织奖:可联系组委会申请协办并组织竞赛
8、优秀指导教师奖:指导该参赛队伍荣获二等奖及以上的可颁发优秀指导老师证书(在报名时请填写好指导老师信息)
9、优秀志愿者参与方式:根据志愿者评选结果颁发相应奖励
须知:一等奖以上(含一等奖)将有机会被推荐到国内学术期刊发表,并邀请参加2024第九届数维杯大学生数学建模夏令营(成都)。