智能算法简析-蚁群算法

背景

最近在看一些有关于循环取货的相关论文,发现其中很多的算法设计都是涉及到了不少智能算法,因此,对这方面有了一个简单的了解,并做此博客以作记录。

简介

所谓智能算法,是指人们受到了自然界规律的启发,根据其原理,模拟求解问题的算法。
一般来说,智能算法可以分成以下几类:

  • 蚁群算法
  • 遗传算法
  • 模拟退火算法
  • 禁忌搜索算法
  • 粒子群算法

蚁群算法

  1. 简介
    对于蚁群算法,该算法可以有效地解决路径规划中常见的“旅行商问题(TSP)”:即假如说有n个城市,则需要对n个城市进行访问并且之访问一次,求出这样的访问的最短距离。
  2. 基本原理
    算法利用蚂蚁行走的路径来表示待优化问题的可行解,整个蚂蚁群体的所有路径构成待优化问题的解空间。路径较短的蚂蚁释放的信息素量较多,随着时间的推进,较短的路径上累积的信息素浓度逐渐增高,选择该路径的蚂蚁个数也愈来愈多。最终,整个蚂蚁会在正反馈的作用下集中到最佳的路径上。
  3. 实现原理
    蚂蚁找到最短路径要归功于信息素和环境,假设有两条路可从蚁窝通向食物,开始时两条路上的蚂蚁数量差不多:当蚂蚁到达终点之后会立即返回,距离短的路上的蚂蚁往返一次时间短,重复频率快,在单位时间里往返蚂蚁的数目就多,留下的信息素也多,会吸引更多蚂蚁过来,会留下更多信息素。而距离长的路正相反,因此越来越多的蚂蚁聚集到最短路径上来。
  4. 具体实现
    在具体实现上,假设对于旅行商问题而言,我们可以先定义数个固定的城市的坐标,然后分别计算彼此之间的距离,得到一个对称矩阵。
    然后,我们再定义足量的蚂蚁(城市数量相同),按照相对随机的方式来选择城市的行走(但是不可以走重复的城市),并对最优路径长度进行记录。在走过之后,会对路径的信息素进行更新,包括对路径的信息素进行添加并计算路径蒸发的信息素。
    将蚂蚁重新归位,然后再根据信息素的浓度,以此来寻找下一个所要到达城市,并对最优路径长度进行更新。
    当整个算法的迭代次数达到了我们所要求的次数后,我们就可以停止算法,并且可以得到结论:目前找到的路径为最优路径。
  5. 特点
    • 采用正反馈机制,使得搜索过程得以不断的收敛,最终逼近最优解。
    • 每个个体可以通过释放信息素来改变周围的环境,并且每个个体都能够感知周围环境的实时变化,个体之间通过环境间接地进行通讯。
    • 这种基于启发式的概率搜索,可以使得搜索不容易陷入局部最优,因此易于寻找全局最优解。
    原文作者:蚁群算法
    原文地址: https://blog.csdn.net/lym940928/article/details/83005243
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞