优化设计-蚁群算法

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


*[is ]

(4-1)
其中,allowedk={C-tabuk}表示蚂蚁k下一步允许选择 的城市。a 和b分别是表示允许用户控制轨迹和能见度的相 对重要性的参数,a 反映了蚂蚁在运动过程中所积累的信 息在运动时所起的作用来自百度文库b反映了蚂蚁在运动过程中启发信 息在选择路径时的受重视程度。
四 蚁群算法与TSP问题
蚁群优化算法相关概念
信息素的更新方式有2种:
蚁群算法提出者 挥发:也就是所有路径上的信息素以一定的 比率进行减少,模拟自然蚁群的信息素随时 间挥发的过程; 增强:给评价值“好”(有蚂蚁走过)的边增 加信息素。
蚂蚁简单规则的两个方面:
多样性:蚂蚁在觅食的时候路线不一,随 蚁群算法提出者 机性的向着某个方向行走,打破常规,进行 创新。 正反馈:优化的路线不断被保存并加大自身 概率,保证了相对优良的信息能够被保存下 来。 多样性保证了系统的创新能力,正反馈 保证了优良特性能够得到强化,两者要恰到 好处的结合。
二 蚁群优化算法相关概念
03 蚂蚁觅食简化过程 蚁群算法提出者
蚂蚁从A点出发,速度相同,食物在D点,可能随 机选择路线ABD或ACD。假设初始时每条分配路线一 只蚂蚁,每个时间单位行走一步,本图为经过 9 个时 间单位时的情形:走ABD的蚂蚁到达终点,而走ACD 的蚂蚁刚好走到C点,为一半路程。
蚁群算法提出者
四 蚁群算法与TSP问题
在行进过程中,蚂蚁根据每条路径上的信息素量及
路径的启发信息来计算转移概率pij。启发函数hij等于1/dij,
表示蚂蚁从城市i转移到城市j的期望程度。城市i到城市j
的转移概率定义为
p ij
sallowed k
[
[ ij (t )] *[ij ]
is (t )]
四 蚁群算法与TSP问题
给出一个n个城市组成的集合,TSP问题可以 被描述为访问每个城市一次找到最短路程的封闭式 旅行问题。bi(t) (i=1, ..., n)表示t时刻在城市i中的蚂 蚁数量,m = 是蚂蚁的总数。tij(t)为t时刻从城市i到 城市j路径上的信息量,tij(0)可以设置为任意数值 (在实验中是每条路径上的一个很小的数值)。城 市i和城市j之间的距离定义为dij(dij=[(xi-xj)2 + (yiyj)2]1/2)。 为了约束蚂蚁访问所有的城市而不重复访问 (即确定一个n城市的循环), 我们为每个蚂蚁定 义一个数据结构用于记录蚂蚁k访问过的城市,称 为禁忌表tabuk。在蚂蚁行动过程中tabuk动态调整, 当一次循环结束后清空禁忌表,蚂蚁重新选择路径, 重新填充禁忌表。
二 蚁群优化算法相关概念
04 蚁群的基本信息 蚁群算法提出者
范围: 蚂蚁观察到的范围是一个方格世界,蚂 蚁有一个参数为速度半径(一般是3),那 么它能观察到的范围就是3*3个方格世界, 并且能移动的距离也在这个范围之内。
环境: 蚂蚁所在的环境是一个虚拟的世界,其 中有障碍物,有别的蚂蚁,还有信息素,信 息素有两种,一种是找到食物的蚂蚁洒下的 食物信息素,一种是找到窝的蚂蚁洒下的窝 的信息素。每个蚂蚁都仅仅能感知它范围内 的环境信息。环境以一定的速率让信息素消 失。
觅食规则: 在每只蚂蚁能感知的范围内寻找是否有 食物,如果有就直接过去。否则看是否有信 息素,并且比较在能感知的范围内哪一点的 信息素最多,这样,它就朝信息素多的地方 走,并且每只蚂蚁都会以小概率犯错误,从 而并不是往信息素最多的点移动。蚂蚁找窝 蚁群算法提出者 的规则和上面一样,只不过它对窝的信息素 做出反应,而对食物信息素没反应。
蚁优化算法相关概念
移动规则: 每只蚂蚁都朝向信息素最多的方向移, 并且,当周围没有信息素指引的时候,蚂蚁 会按照自己原来运动的方向惯性的运动下去, 并且,在运动的方向有一个随机的小的扰动。 为了防止蚂蚁原地转圈,它会记住最近刚走 过了哪些点,如果发现要走的下一点已经在 最近走过了,它就会尽量避开。
播撒信息素规则: 每只蚂蚁在刚找到食物或者窝的时候撒 发的信息素最多,并随着它走远的距离,播 撒的信息素越来越少。
基本蚁群算法的逻辑结构
四 蚁群算法与TSP问题
01 TSP问题 蚁群算法提出者
TSP问题又译为旅行推销员问题、货郎担问题,是
数学领域中著名问题之一。假设有一个旅行商人要拜访
n个城市,他必须选择所要走的路径,路经的限制是每
个城市只能拜访一次,而且最后要回到原来出发的城市。 路径的选择目标是要求得的路径路程为所有路径之中的 最小值。
tij(t+n)=(1-ρ)*tij(t)+Dtij(t) (4-2)
Dtij(t)= Δτij
k 1
m
k
(t)
( 4-3)
ρ—表示信息素挥发系数
1-ρ—表示信息素残留因子
Dtijk(t)—表示第k 只蚂蚁在本次循环中留在路径 (i,j)上的信息
素量
四 蚁群算法与TSP问题
按 ij 的不同取法,可形成三种类型的蚂蚁算法模型:
四 蚁群算法与TSP问题
3. 对k=1~m,根据routek的记录计算蚂蚁k所
走循环路径的总长度,找到最佳路线
4. 按式(4-2)计算每只蚂蚁的信息素增量 Dtijk(t) 5. 更新每条路径上的信息素量tij(t+n)
6. 清空禁忌表及路线表 7. Nc++,若Nc<NcMax,返回步骤2,否则,
二 蚁群优化算法相关概念
蚂蚁觅食过程 02 蚁群算法提出者 在蚁群寻找食物时,它们总能找到一条从食 物到巢穴之间的最优路径。这是因为蚂蚁在寻找 路径时会在路径上释放出一种特殊的信息素。当 它们碰到一个还没有走过的路口时.就随机地挑 选一条路径前行。与此同时释放出与路径长度有 关的信息素。路径越长,释放的激索浓度越低 . 当后来的蚂蚁再次碰到这个路口的时候.选择激 素浓度较高路径概率就会相对较大。这样形成一 个正反馈。最优路径上的激索浓度越来越大.而 其它的路径上激素浓度却会随着时间的流逝而消 减。最终整个蚁群会找出最优路径。
本图为从开始算起,经过 18 个时间单位时的情形: 走 ABD的蚂蚁到达终点后得到食物又返回了起点 A,而 走ACD的蚂蚁刚好走到D点。
蚁群优化算法相关概念
假设蚂蚁每经过一处所留下的信息素为一个单位,则 经过36个时间单位后,所有开始一起出发的蚂蚁都经过不 同路径从D点取得了食物,此时ABD的路线往返了2趟,每 蚁群算法提出者 一处的信息素为 4个单位,而 ACD的路线往返了一趟,每 一处的信息素为2个单位,其比值为2:1。 寻找食物的过程继续进行,则按信息素的指导,蚁群在 ABD路线上增派一只蚂蚁(共2只),而ACD路线上仍然为 一只蚂蚁。再经过36个时间单位后,两条线路上的信息素 单位积累为12和4,比值为3:1。
循环结束,输出结果
五 蚁群算法与TSP问题
初始化 索引号s=1 蚂蚁k=1
开始
蚁群算法提出者
基 于 JSP
利用式(4.1)计算转移概率pij,选择下一节点j 修改禁忌表,记录路线 k=k+1 N k≥蚂蚁总数m Y s=s+1 N s≥n Y 根据记录计算长度,记录最短路径 按式(4-3)(4-4) 更新每条路径上的信息素量 清空禁忌表及路线表 Nc++ Y Nc<NcMax N 输出结果,结束
若按以上规则继续,蚁群在ABD路线上再增派一只蚂 蚁(共3只),而ACD路线上仍然为一只蚂蚁。再经过36个 时间单位后,两条线路上的信息素单位积累为24和6,比值 为4:蚁群算法提出者 1。 若继续进行,则按信息素的指导,最终所有的蚂蚁会 放弃ACD路线,而都选择ABD路线。这是正反馈效应。
蚁群优化算法相关概念
k
(1)Ant-Circle System模型,有
Q , 若第k只蚂蚁在本次循环中经过ij k ij Lk 0,否则
(4-4)
式中,Q为常量,Lk 为第k只蚂蚁在本次循环中所走路径的长度。 (2)Ant-Quantity System模型
Q d , 若第k只蚂蚁在时刻t和t+1之间经过ij k ij ij (4-5) 0,否则
蚁优化算法相关概念
根据这几条规则,蚂蚁之间并没有直接的关 蚁群算法提出者 系,但是每只蚂蚁都和环境发生交互,而通过 信息素这个纽带,实际上把各个蚂蚁之间关联 起来了。比如,当一只蚂蚁找到了食物,它并 没有直接告诉其它蚂蚁这儿有食物,而是向环 境播撒信息素,当其它的蚂蚁经过它附近的时 候,就会感觉到信息素的存在,进而根据信息 素的指引找到了食物。
一 算法起源
03 蚁群算法提出者
Macro Dorigo
一 算法起源
食物 食物 食物
巢穴
巢穴 图1 现实中的蚂蚁寻找食物
巢穴
二 蚁群优化算法相关概念
蚁群算法原理 01 蚁群算法提出者
蚁群算法是对自然界蚂蚁的寻径方式进行 模似而得出的一种仿生算法。蚂蚁在运动过程 中,能够在它所经过的路径上留下一种称之为 外激素 (pheromone) 的物质进行信息传递,而 且蚂蚁在运动过程中能够感知这种物质,并以 此指导自己的运动方向,因此由大量蚂蚁组成 的蚁群集体行为便表现出一种信息正反馈现象 :某一路径上走过的蚂蚁越多,则后来者选择 该路径的概率就越大。
四 蚁群算法与TSP问题
02 模型建立 蚁群算法提出者
现实蚂蚁在觅食过程中主要按照所处环境的信息 素量来决定前进方向,在算法构造过程中,信息素被 抽象为图的边上的轨迹,蚂蚁到达每一节点处根据边 上的信息素浓度选择下一节点。蚂蚁从初始节点(巢 穴)按照一定转移概率选择下一节点,最终选择行走 到目标节点(食物源),这样便得到了TSP问题的一个 可行解。
蚁 群 算 法
一 二 三
算法起源
蚁群优化算法概念
蚁群算法本质

蚁群算法与TSP问题
一 算法起源
蚁 群算法 (ant colony optimization, ACO) , 01 又称蚂蚁算法,是一种用来在图中寻找优化路 径的机率型算法。
02
它由Marco Dorigo于1992年在他的博士论文 中提出,其灵感来源于蚂蚁在寻找食物过程 中发现路径的行为。
03 算法运行步骤
1. 设置索引号 参数初始化:s=1,对k=1~m将蚂蚁k的起 2. 令t=0 始城市放入禁忌表中,并重复以下步骤直至 设置最大循环次数NcMax,循环次数Nc=0 禁忌表填充完整: 将m只蚂蚁置于n个节点上,在每个节点i放置bi(t) 对k=1~m,利用式(4.1)计算转移概率pij, 只蚂蚁 根据伪随机比例规则选择下一城市,将蚂蚁 初始化每条边(i,j)上的信息素量tij(0)=c为一个常量 ,初始时刻 Dtijk(0)=0 k 移动到下一城市 j并将其填入禁忌表,同时 初始化禁忌表 tabuk及路线表routek 记录蚂蚁 k的路线 s++
次数增加而增长,而且同时也会随时间的推移 逐渐挥发消失; 协调机制:蚂蚁之间实际上是通过信息素来
相互通信、协同工作的。
作为一种应用于组合优化问题的算法,基本蚁群算法的 逻辑结构(如下图所示)可以表述为:先将具体的优化组 蚁群算法本质 合问题表述成规范的格式,然后利用蚁群算法在“探索” 和“利用”之间根据信息素这一反馈载体确定决策点,同 时按照相应的信息素更新规则对每只蚂蚁个体的信息素进 行增量构建,随后从整体角度规划出蚁群活动的行为方向 蚁群算法提出者 ,周而复始,即可求出组合优化问题的最优解。
四 蚁群算法与TSP问题
(3)Ant-Density System模型
Q, 若第k只蚂蚁在时刻t和t+1之间经过ij (4-6) 0,否则
k ij
很明显在后两种模型中,利用的都是局部信息,而第一 种模型利用的是整体信息。这三种模型在求解不同问题时 各有优势。
四 蚁群算法与TSP问题
05
为什么蚂蚁可以找到食物
蚂蚁正常行进,突然环境变化,增加了障碍物
蚂蚁以同等概率选择各条路径,紧接着,随着时间的增 加较短路径信息浓度高,选择该路径的蚂蚁逐渐增多。
蚂蚁最终绕过障碍物找到最优路径

蚁群算法本质
选择机制:信息素越多的路径,被选择的概 蚁群算法提出者 率越大;
更新机制:路径上的信息素会随蚂蚁的经过
问 题 的 蚁 群 算 法 流 程
五 蚁群算法所研究问题 蚁群算法与TSP问题
相关文档
最新文档