📜  蚁群优化简介

📅  最后修改于: 2022-05-13 01:56:18.571000             🧑  作者: Mango

蚁群优化简介

算法世界是美丽的,每天都在开发各种各样的策略和工具,以满足对高性能计算的需求。事实上,当算法受到自然规律的启发时,就会观察到有趣的结果。进化算法就属于这类算法。这些算法旨在模仿某些行为以及人类基因组的进化特征。此外,这种算法设计不仅限于人类,还可以受到某些动物的自然行为的启发。制造这种方法的基本目的是为迄今为止通过传统方法无法解决的问题提供现实的、相关的且低成本的解决方案。

因此,不同的优化技术已经基于这种进化算法而发展,从而开辟了元启发式的领域。 Metaheuristic源自两个希腊词,即Meta意思是上一层heuriskein意思是找到。诸如粒子群优化 (PSO) 和蚁群优化 (ACO) 等算法是群智能和元启发式算法的示例。群体智能的目标是通过从蚂蚁、白蚁、蜜蜂、黄蜂等社会昆虫和其他动物社会(如鸟群或鱼群)的集体行为中获取灵感来设计智能多智能体系统。


背景:

蚁群优化技术的灵感完全来自蚁群的觅食行为,该技术由 Marco Dorigo 在 1990 年代首次引入。蚂蚁是群居性昆虫,喜欢群落生存和维持,而不是作为个体物种。他们使用声音、触觉和信息素相互交流。信息素是蚂蚁分泌的有机化合物,可引发同一物种成员的社会反应。这些化学物质能够像激素一样在分泌个体的体外发挥作用,从而影响接收个体的行为。由于大多数蚂蚁生活在地面上,它们利用土壤表面留下信息素痕迹,其他蚂蚁可能会跟随(闻到)。
蚂蚁生活在社区巢穴中,ACO 的基本原理是观察蚂蚁从巢穴中的移动,以便在最短的路径中寻找食物。最初,蚂蚁开始随机移动以在巢穴周围寻找食物。这种随机搜索开辟了从巢穴到食物来源的多条路线。现在,根据食物的质量和数量,蚂蚁在返回路径上携带一部分带有必要信息素浓度的食物。根据这些信息素试验,以下蚂蚁选择特定路径的概率将成为食物来源的指导因素。显然,这个概率是基于信息素的浓度和蒸发速率。还可以观察到,由于信息素的蒸发速率也是一个决定因素,因此可以很容易地计算出每条路径的长度。

在上图中,为简单起见,仅考虑了食物源和蚁巢之间的两种可能路径。阶段可以分析如下:

  1. 第一阶段:所有蚂蚁都在自己的巢穴中。环境中没有信息素含量。 (对于算法设计,可以在不干扰概率的情况下考虑残留信息素量)
  2. 第 2 阶段:蚂蚁沿着每条路径以相等(每个 0.5)的概率开始搜索。显然,弯曲的路径更长,因此蚂蚁到达食物源所花费的时间比另一条更长。
  3. 第 3 阶段:通过较短路径的蚂蚁较早到达食物源。现在,显然他们面临着类似的选择困境,但这一次由于信息素沿着更短的路径已经可用,选择的概率更高。
  4. 第 4 阶段:更多蚂蚁通过较短的路径返回,随后信息素浓度也增加。此外,由于蒸发,较长路径中的信息素浓度降低,从而降低了在进一步阶段选择该路径的可能性。因此,整个群体逐渐以更高的概率使用较短的路径。因此,实现了路径优化。


算法设计:

关于蚂蚁的上述行为,现在可以开发算法设计。为简单起见,一个食物来源和一个蚁群只考虑了两条可能的遍历路径。整个场景可以通过以蚁群和食物源为顶点(或节点)的加权图来实现;路径用作边缘,信息素值是与边缘相关的权重。
设图为G = (V, E) ,其中 V, E 是图的边和顶点。根据我们的考虑,顶点是V s (源顶点 - 蚁群)和V d (目标顶点 - 食物源),两条边是E 1E 2 ,长度分别为L 1L 2 。现在,可以假设顶点 E 1和 E 2的相关信息素值(指示它们的强度)分别为R 1R 2 。因此对于每只蚂蚁,路径选择的开始概率(在 E 1和 E 2之间)可以表示如下:

显然,如果R 1 >R 2 ,选择E 1的概率更高,反之亦然。现在,当通过这条最短路径返回时,例如 E i ,信息素值会针对相应路径进行更新。更新是根据路径的长度以及信息素的蒸发率完成的。因此,更新可以逐步实现如下:

  1. 根据路径长度——

    在上述更新中,i = 1、2 和“K”作为模型的参数。此外,更新取决于路径的长度。路径越短,添加的信息素越高。
  2. 根据信息素的蒸发率——

    参数“v”属于调节信息素蒸发的区间 (0, 1]。此外,i = 1, 2。

在每次迭代中,所有蚂蚁都被放置在源顶点 V s (蚁群)处。随后,蚂蚁在步骤 1 之后从 V s移动到 V d (食物源)。接下来,所有蚂蚁进行回程并根据步骤 2 加强他们选择的路径。


伪代码:

Procedure AntColonyOptimization:
    Initialize necessary parameters and pheromone trials;
    while not termination do:
        Generate ant population;
        Calculate fitness values associated with each ant;
        Find best solution through selection methods;
        Update pheromone trial;
    end while
end procedure

上述伪代码中的信息素更新和适应度计算可以通过上面提到的逐步实现找到。
因此,ACO 优化技术的引入已经确立。 ACO的应用可以扩展到各种问题,比如著名的TSP(Travelling Salesman Problem)


参考:
https://www.ics.uci.edu/~welling/teaching/271fall09/antcolonyopt.pdf