应用篇-第11章-蚁群算法的仿真与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第11章 蚁群算法的仿真与实现

蚁群算法是近年来兴起的一种新型仿生优化算法,具有其他 进化算法不可比拟的优势。该算法是继神经网络、遗传算法、 模拟退火算法、粒子群算法、免疫算法等仿生搜索算法以后 的又一种应用于组合优化问题的启发式搜索算法。由于蚁群 算法采用分布式并行计算机制,具有较强的鲁棒性,容易与 其它算法结合等优点,一经提出,立即受到各个领域学者的 重视,展开了对其的研究。目前蚁群算法已经被广泛的应用 于求解旅行商问题,自动组卷系统问题等等、本章则对于这 两个问题做出了详细的阐述。
t+n 1 ij t ij t
k ij t ij t k 1 m

式中,ρ表示信息素挥发系数,则1-ρ表示信息素残留因子,为了防止信息的无 限积累,ρ的取值范围为:ρ⊂[0,1];ΔГij(t)表示本次循环中路径(i,j)上的信息 素增量,初始时刻ΔГij(0) =0,ΔГijk(t)表示第k只蚂蚁在本次循环中留在路径 (I,j)上的信息量。 根据信息素更新策略的不同,Dorigo M提出了三种不同的基本蚁群算法模型, 分别称之为Ant-Cycle模型、Ant-Quantity模型及Ant-Density模型,其差别在于 ΔГijk(t)求法的不同。

11.2.5

寻找路径的抽象
真实蚂蚁在觅食过程中主要按照所处环境中的信息量来决定其前进 的方向,而人工蚂蚁是在平面的节点上运动的,因此可把觅食过程 抽象成算法中解的构造过程,将信息素抽象为存在于图的边上的轨 迹。在每一节点,人工蚂蚁感知连接该节点与相邻节点边上的信息 素轨迹浓度,并根据该浓度大小决定走向下一节点的概率。用任意 两个节点分别表示蚂蚁的巢穴(初始节点)和食物源(目标节点), 人工蚂蚁从初始节点按照一定状态转移概率选择下一节点,依此类 推,最终选择行走到目标节点,这样便得到了所求问题的一个可行 解。

蚁群算法是从自然界中真实蚂蚁觅食的群体行为得到启发而 提出的,其很多观点都来源于真实蚁群,因此算法中所定义 的人丁蚂蚁与真实蚂蚁存在如下共同点。 (1)都存在一个群体中个体相互交流通信的机制
(2)都要完成一个相同的任务
(3)利用当前信息进行路径选择的随机选择策略

在从真实蚁群行为获得启发而构造蚁群算法的过程中,人工蚂蚁还 具备了真实蚂蚁所不具有的一些特性:
11.1 蚁群算法介绍

生物学家通过对蚂蚁的长期观察研究发现,每只蚂蚁的智能并不 高,看起来没有集中的指挥,但它们却能协同工作,集中食物, 建起坚固漂亮的蚁穴并抚养后代,依靠群体能力发挥出超出个体 的智能。蚁群算法(ant colony opHale Waihona Puke Baiduimization, ACO) 是最新发展的 一种模拟昆虫王国中蚂蚁群体智能行为的仿生优化算法。它具有 较强的鲁棒性、优良的分布式计算机制、易于与其他方法相结合 等优点尽管蚁群算法的严格理论基础尚未奠定,国内外的相关研 究还处于实验探索和初步应用阶段,但是目前人们对蚁群算法的 研究已经由当初单一的旅行商问题(traveling salesman problem, TSP)领域渗透到了多个应用领域,由解决一维静态优化问题发展 到解决多维动态组合优化问题,由离散域范围内的研究逐渐拓展 到了连续域范围内的研究,而且在蚁群算法的硬件实现上也取得 了很多突破性的研究进展,从而使这种新兴的仿生优化算法展现 出勃勃生机和广阔的发展前景。
a r t . t ij ik , 若j allowed k n a k pij t is t . ik t s allowedk 0 , 否则

式中,allowedk=(C-tabuk)表示蚂蚁k下一步允许选择的城市;α为 信息启发式因子,表示轨迹的相对重要性,反映了蚂蚁在运动过 程中所积累的信息在蚂蚁运动时所起的作用,其值越大,则该蚂 蚁越倾向于选择其他蚂蚁经过的路径,蚂蚁之间协作性越强;β为 期望启发式因子,表示能见度的相对重要性,反映了蚂蚁在运动 过程中启发信息在蚂蚁选择路径中的受重视程度,其值越大,则 该状态转移概率越接近于贪心规则;ηij(t)为启发函数,其表达式 如下


11.2.3

对蚂蚁个体的抽象
由于蚁群算法是对自然界中真实蚂蚁觅食行为的一种模拟, 是一种机理上的应用,因此首先必须对真实蚂蚁进行抽象, 而不可能也没必要对蚂蚁个体进行完全再现。抽象的目的就 是为了能够更加有效地刻画出真实蚁群中能够为算法所借鉴 的机理,同时摒弃与建立算法模型无关的因素。这样抽象出 来的人工蚂蚁可以看做是一个简单的智能体,能够完成所求 问题简单解的构造过程,也能通过一种通信手段相互影响。


在Ant-Cycle模型中
Q k ij t Lk 0 , 若第k只蚂蚁在本次循环中经过(i,j) , 否则

式中,Q表示信息强度,它在一定程度上影响算法的收敛速度;Lk表示第k只蚂蚁 在本次循环中所走路径的总长度。
在Ant-Quantity模型中
Q k ij t = d ij 0 , , 若第k只蚂蚁在 t 和 t 1之间经过(i,j ) 否则
11.2.7

启发因子的引入
以上几点是对真实蚂蚁觅食行为的抽象,整个过程体现了蚁群算法的自组 织性,但是这种自组织系统存在一个缺陷,即系统的演化需要耗费较长的 时间。而实际应用时对算法运行时间的要求也是必不可少的,因此在决定 蚂蚁行走方向的状态转移概率时,引入了一个随机搜索的过程,即引入了 启发因子,根据所求问题空间的具体特征,给蚁群算法一个初始的引导, 这个过程极大地增加了算法的时间有效性,从而使蚁群算法的有效应用成 为可能。 以上几点是对真实蚂蚁觅食行为的抽象,整个过程体现了蚁群算法的自组 织性,但是这种自组织系统存在一个缺陷,即系统的演化需要耗费较长的 时间。而实际应用时对算法运行时间的要求也是必不可少的,因此在决定 蚂蚁行走方向的状态转移概率时,引入了一个随机搜索的过程,即引入了 启发因子,根据所求问题空间的具体特征,给蚁群算法一个初始的引导, 这个过程极大地增加了算法的时间有效性,从而使蚁群算法的有效应用成 为可能。


蚁群算法具有很强的自学习能力,可根据环境的改变和过去的行 为结果对自身的知识库或自身的组织结构进行再组织,从而实现 算法求解能力的进化,而这种进化是环境变化与算法自学习能力 交互作用的产物,同时算法机理的复杂性和环境变化的不确定性 进一步增加了蚁群算法的不可预测性。
11.3 基本蚁群算法的数学模型
11.2 蚁群算法原理
11.2.1 蚁群行为描述
根据仿生学家的长期研究发现:蚂蚁虽没有视觉,但运动时会通过在路 径上释放出一种特殊的分泌物——信息素来寻找路径。当它们碰到~个还 没有走过的路口时,就随机地挑选一条路径前行,同时释放出与路径长 度有关的信息素。蚂蚁走的路径越长,则释放的信息量越小。当后来的 蚂蚁再次碰到这个路口的时候,选择信息量较大路径的概率相对较大, 这样便形成了一个正反馈机制。最优路径上的信息量越来越大,而其他 路径上的信息量却会随着时间的流逝而逐渐消减,最终整个蚁群会找出 最优路径。同时蚁群还能够适应环境的变化,当蚁群的运动路径上突然 出现障碍物时,蚂蚁也能很快地重新找到最优路径。可见,在整个寻径 过程中,虽然单只蚂蚁的选择能力有限,但是通过信息素的作用使整个 蚁群行为具有非常高的自组织性,蚂蚁之间交换着路径信息,最终通过 蚁群的集体自催化行为找出最优路径。
设hi(t)表示t时刻位于元素i的蚂蚁数目,Гij(t)n 为,时刻路径(i,j)上的信息量,n表 示TSP规模,m为蚁群中蚂蚁的总数目,则 m= bi t ; ij t | ci , c j C
i 1
是t时刻集合C中元素(城市)两两连接lij上残留信息量的集合。在初始时刻各条路 径上信息量相等,并设rij(0)=const,基本蚁群算法的寻是通过有向图g=(C,L,Г)实现 的。
11.2.4

问题空间的描述
自然界中的真实蚂蚁存在于一个三维的环境中,而问题空间的求解一般 是在平面内进行的,因此需要将蚂蚁觅食的三维空间抽象为一个平面。 这一点比较容易理解,因为蚂蚁觅食所走的路径本来就存在于一个二维 空间(平面或者曲面)上。另外一个问题是真实蚂蚁是在一个连续的二 维平面中行走的,而我们无法用计算机直接来完整的描述一个连续的平 面,因为计算机处理的是离散事件,因此必须将连续的平面离散化由一 组点组成的离散平面,人工蚂蚁可在抽象出来的点上自由运动。这个抽 象过程的可行性在于,尽管蚂蚁是在连续平面行动,但其行动经过的总 是离散点,因此抽象过程只是提高了平面点离散分布的粒度,与其觅食 行为的本身机理没有任何冲突。 基于上述分析,很容易得到蚁群算法所求解的问题空间可用一个重要的 数学工具——图( graph)来描述。在工程实际中的很多问题都可以用图来 描述,这便使蚁群算法的广泛应用成为可能。
1 ij t dij

式中,dij表示相邻两个城市之间的距离。对蚂蚁k而言,dij越小, 则ηij(t)越大,pkij(t)也就越大。显然,该启发函数表示蚂蚁从元 素(城市)j转移到元素(城市)j的期望程度。

为了避免残留信息素过多引起残留信息淹没启发信息,在每只蚂蚁走完一步或 者完成对所有n个城市的遍历(也即一个循环结束)后,要对残留信息进行更 新处理。这种更新策略模仿了人类大脑记忆的特点,在新信息不断存人大脑的 同时,存储在大脑中的旧信患随着时间的推移逐渐淡化,甚至忘记。由此, t+n时刻在路径(i,j)上的信息量可按如下规则进行调整
11.2.2

基本蚁群算法的机制原理
模拟蚂蚁群体觅食行为的蚁群算法是作为一种新的计算智能 模式引入的,该算法基于如下基本假设: (1)蚂蚁之间通过信息素和环境进行通信。每只蚂蚁仅根 据其周围的局部环境做出反应,也只对其周围的局部环境产 生影响。 (2)蚂蚁对环境的反应由其内部模式决定。因为蚂蚁是基 因生物,蚂蚁的行为实际上是其基因的适应性表现,即蚂蚁 是反应型适应性主体。 (3)在个体水平上,每只蚂蚁仅根据环境做出独立选择; 在群体水平上,单只蚂蚁的行为是随机的,但蚁群可通过自 组织过程形成高度有序的群体行为。
蚂蚁k(k=l,2,…,m)在运动过程中,根据各条路径上的信息量决定其转移方 向。这里用禁忌表tabuk(k=l,2,…,m)来记录蚂蚁k当前所走过的城市,集合随 着tabuk进化过程作动态调整。在搜索过程中,蚂蚁根据各条路径上的信息量 及路径的启发信息来计算状态转移概率。pkij(t)表示在t时刻蚂蚁k由元素(城 市)i转移到元素(城市)j的状态转移概率
11.2.6

信息素挥发的抽象
自然界中的真实蚂蚁总是在所经路径上连续不断地留下信息素,而 信息素也会随着时间的推移而连续不断地挥发。由于计算机处理的 事件只能是离散事件,所以必须使信息素的挥发离散发生。通常的 做法是,当蚂蚁完成从某一节点到下一节点的移动后,即经过一个 时间单位之后,进行一次信息素的挥发,而这种在离散时间点进行 信息素挥发的方式与蚂蚁觅食过程的机理是完全相符的。
(1) 人工蚂蚁存在于一个离散的空间中,它们的移动是从一个状态到另一 个状态 的转换;
(2) 人工蚂蚁具有一个记忆其本身过去行为的内在状态;
(3) 人工蚂蚁存在于一个与时间无关联的环境之中; (4) 人工蚂蚁不是完全盲从的,它还受到问题空间特征的启发。例如有的 问题中 人工蚂蚁在产生一个解后改变信息量,而有的问题中人工蚂蚁每作出 一步选择 就更改信息量,但无论哪种方法,信息量的更新井不是随时都可 进行的; (5) 为了改善算法的优化效率,人工蚂蚁可增加一些性能,如预测未来、 局部优化、回退等,这些行为在真实蚂蚁中是不存在的。在很多具体应用中, 人工蚂 蚁可在局部优化过程中相互交换信息,还有一些改进蚁群算法中的人 工蚂蚁可 实现简单预测。
相关文档
最新文档