人工智能07蚁群算法及其应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
特点
规则1和2都是为了使搜索过程更具有指导性,即 使蚂蚁的搜索主要集中在当前找出的最好解邻域内。规 则3则是为了使已选的边对后来的蚂蚁具有较小的影响 力,以避免蚂蚁收敛到同一路径。
(三)最大最小蚂蚁系统 MMAS
特点
1、每次迭代后,只对最优解所属路径上的信 息素更新。
2、对每条边的信息素量限制在范围 min , max 内,目的是防止某一条路径上的信息素量远 大于其余路径,避免过早收敛于局部最优解。
(七)基于混合行为的蚁群算法 HBACA
特点:按蚂蚁的行为特征将蚂蚁分成4类,称为4个子蚁 群,各子蚁群按各自的转移规则行动,搜索路径,每迭 代一次,更新当前最优解,按最优路径长度更新各条边 上的信息素,如此直至算法结束。
(五)最优最差蚂蚁系统 BWAS
特点:主要是修改了ACS中的全局更新公式,增加 对最差蚂蚁路径信息素的更新,对最差解进 行削弱,使信息素差异进一步增大。
(六)一种新的自适应蚁群算法 AACA
特点:将ACS中的状态转移规则改为自适应伪随机 比率规则,动态调整转移概率,以避免出现 停滞现象。 说明:在ACS的状态转移公式中,q0 是给定的常数; q0 是随平均节点分支数ANB而变 在AACA中, 化的变量。ANB较大,意味着下一步可选的城市较 多,q0 也变大,表示选择信息素和距离最好的边的 可能性增大;反之减小。
蚁群算法的提出
• 基本原理
蚁群算法是对自然界蚂蚁的寻径方式进行模似 而得出的一种仿生算法。 蚂蚁在运动过程中,能够在它所经过的路径上 留下一种称之为信息素(pheromone)的物质进行信 息传递,而且蚂蚁在运动过程中能够感知这种物 质,并以此指导自己的运动方向,因此由大量蚂 蚁组成的蚁群集体行为便表现出一种信息正反馈 现象:某一路径上走过的蚂蚁越多,则后来者选 择该路径的概率就越大。
蚁群算法的数学模型
• TSP算例分析
旅行商问题(TSP)
给定n个城市和两个两个城市之间的距离, 要求确定一条经过所有城市仅一次的最短路
径。
第一步:初始化 将m只蚂蚁随机放到n个城市,每只蚂蚁的禁忌表为蚂蚁当前所在 城市,各边信息素初始化为c。 禁忌表体现了人工蚂蚁的记忆性,使得蚂蚁不会走重复道路,提 高了效率。
蚁群算法的提出
• 简化的蚂蚁寻食正反馈过程
蚂蚁从A点出发,速度相同,食物在D点,可能随机选择路线 ABD或ACD。假设初始时每条路线分配一只蚂蚁,每个时间单位行 走一步,本图为经过9个时间单位时的情形:走ABD的蚂蚁到达终 点,而走ACD的蚂蚁刚好走到C点,为一半路程。
蚁群算法的提出
本图为从开始算起,经过18个时间单位时的情形: 走ABD的蚂蚁到达终点后得到食物又返回了起点A,而 走ACD的蚂蚁刚好走到D点。
ij t n 1 ij t ij ij
Q Δτ ij Lgb , 若边 ij 是当前最优解的一部分 0, 否则
——精英蚂蚁在边 ij上增加的信息素量; ——精英蚂蚁个数; Lgb ——当前全局最优解路径长度。
关于 min , max 的取值,没有确定的方法,有的 书例子中取为0.01,10;有的书提出一个在最大 值给定的情况下计算最小值的公式。
(四)基于优化排序的蚂蚁系统 AS rank
特点:每次迭代完成后,蚂蚁所经路径由小到大排序, 并根据路径长度赋予不同的权重,路径越短权重越大。 k 信息素更新时对 ij考虑权重的影响。
N
K>=蚂蚁总数m?
Y
按照公式进行 信息量更新
Y
满足结束条件?
N
蚁群算法的基本思想
以TSP问题为例: • 1、根据具体问题设置多只蚂蚁,分头并行 搜索。 • 2、每只蚂蚁完成一次周游后,在行进的路 上释放信息素,信息素量与解的质量成正比。 • 3、蚂蚁路径的选择根据信息素强度大小 (初始信息素量设为相等),同时考虑两点之 间的距离,采用随机的局部搜索策略。这使得 距离较短的边,其上的信息素量较大,后来的 蚂蚁选择该边的概率也较大。
遗传算法、进化算法 粒子群算法(课程论文2)、蚁群算法 用来解决众多NP-hard问题
蚁群算法的背景
自然蚁群的自组织行为特征 • 高度结构化的组织——虽然蚂蚁的个体行为极其简单,但由个 体组成的蚁群却构成高度结构化的社会组织,蚂蚁社会的成员 有分工,有相互的通信和信息传递。 • 自然优化——蚁群在觅食过程中,在没有任何提示下总能找到 从蚁巢到食物源之间的最短路径;当经过的路线上出现障碍物 时,还能迅速找到新的最优路径。 • 信息正反馈——蚂蚁在寻找食物时,在其经过的路径上释放信 息素(外激素)。蚂蚁基本没有视觉,但能在小范围内察觉同 类散发的信息素的轨迹,由此来决定何去何从,并倾向于朝着 信息素强度高的方向移动。 • 自催化行为——某条路径上走过的蚂蚁越多,留下的信息素也 越多(随时间蒸发一部分),后来蚂蚁选择该路径的概率也越 高。
人工蚁群 VS 自然蚁群
蚁群算法的特征
• • • •
•
蚁群算法采用了分布式正反馈并行计算机制, 易于与其他方法结合, 并 具有较强的鲁棒性。 (1)其原理是一种正反馈机制或称增强型学习系统;它通过信息素 的不断更新达到最终收敛于近似最优路径上; (2)它是一种通用型随机优化方法;但人工蚂蚁决不是对实际蚂蚁 的一种简单模拟,它融进了人类的智能; (3)它是一种分布式的优化方法;不仅适合目前的串行计算机,而 且适合未来的并行计算机; (4)它是一种全局优化的方法;不仅可用于求解单目标优化问题, 而且可用于求解多目标优化问题; (5)它是一种启发式算法;计算复杂性为 O(NC*m*n2),其中NC 是迭 代次数,m 是蚂蚁数目,n 是目的节点数目。
第七章 蚁群算法及其应用
蚁群算法的背景
• 20世纪50年代中期创立了仿生学,人们从 生物进化的机理中受到启发。提出了许多 用以解决复杂优化问题的新方法,如进化 规划、进化策略、遗传算法等,这些算法 成功地解决了一些实际问题。 • 蚁群算法从蚂蚁觅食得到启发。
蚁群算法的背景
• 仿生算法 • 集群智能算法 • 概率型算法
蚁群算法的提出
• 算法的提出 蚁群算法(Ant Colony Optimization, ACO),又称蚂蚁算法——一种用来在图中 寻找优化路径的机率型算法。 它由Marco Dorigo于1992年在他的博士 论文“Ant system: optimization by a colony of cooperating agents”中提出,其灵感来源于 蚂蚁在寻找食物过程中发现路径的行为。 最早用于解决著名的旅行商问题(TSP , traveling salesman problem)。
蚁群算法的提出
假设蚂蚁每经过一处所留下的信息素为一个单位,则经过36 个时间单位后,所有开始一起出发的蚂蚁都经过不同路径从D点取 得了食物,此时ABD的路线往返了2趟,每一处的信息素为4个单位, 而 ACD的路线往返了一趟,每一处的信息素为2个单位,其比值为 2:1。 寻找食物的过程继续进行,则按信息素的指导,蚁群在ABD路线 上增派一只蚂蚁(共2只),而ACD路线上仍然为一只蚂蚁。再经 过36个时间单位后,两条线路上的信息素单位积累为12和4,比值 为3:1。 若按以上规则继续,蚁群在ABD路线上再增派一只蚂蚁(共3 只),而ACD路线上仍然为一只蚂蚁。再经过36个时间单位后,两 条线路上的信息素单位积累为24和6,比值为4:1。 若继续进行,则按信息素的指导,最终所有的蚂蚁会放弃ACD路 线,而都选择ABD路线。这也就是前面所提到的正反馈效应。
蚁群ຫໍສະໝຸດ Baidu法的提出
• 人工蚁群算法
基于以上蚁群寻找食物时的最优路径选择问题, 可以构造人工蚁群,来解决最优化问题,如TSP问题。 人工蚁群中把具有简单功能的工作单元看作蚂蚁。 二者的相似之处在于都是优先选择信息素浓度大的路 径。较短路径的信息素浓度高,所以能够最终被所有 蚂蚁选择,也就是最终的优化结果。 两者的区别在于人工蚁群有一定的记忆能力,能 够记忆已经访问过的节点。同时,人工蚁群在选择下 一条路径的时候是按一定算法规律有意识地寻找最短 路径,而不是盲目的。例如在TSP问题中,可以预先 知道当前城市到下一个目的地的距离。
蚁群算法的背景
• 概念原型 各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始 寻找食物。 当一只找到食物以后,它会向环境释放一种挥发性分泌物 pheromone (称为信息素,该物质随着时间的推移会逐渐挥发消失, 信息素浓度的大小表征路径的远近)来实现的,吸引其他的蚂蚁过 来,这样越来越多的蚂蚁会找到食物。 有些蚂蚁并没有像其它蚂蚁一样总重复同样的路,他们会另 辟蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐 地,更多的蚂蚁被吸引到这条较短的路上来。 最后,经过一段时间运行,就可能会出现一条最短的路径被 大多数蚂蚁重复着。
蚁群算法的基本思想
• 4、每只蚂蚁只能走合法路线(经过每个城 市1次且仅1次),为此设置禁忌表来控制。 • 5、所有蚂蚁都搜索完一次就是迭代一次, 每迭代一次就对所有的边做一次信息素更新, 原来的蚂蚁死掉,新的蚂蚁进行新一轮搜索。 • 6、更新信息素包括原有信息素的蒸发和经 过的路径上信息素的增加。 • 7、达到预定的迭代步数,或出现停滞现象 (所有蚂蚁都选择同样的路径,解不再变化), 则算法结束,以当前最优解作为问题的解输出。
蚁群算法的数学模型
第二步:选择路径路径 在t时刻,蚂蚁k从城市i转移到城市j的概率为:
蚁群算法的数学模型
蚁群算法的数学模型
第四步:输出结果 若未达到终止条件则转步骤二,否则,输出目
蚁群的规模和停止规则
前的最优解。
• 蚁群大小: 一般情况下蚁群中蚂蚁的个数不超过TSP图中节点的个数。 • 终止条件: 1 给定一个外循环的最大数目,表明已经有足够的蚂蚁工作; 2 当前最优解连续K次相同而停止,其中K是一个给定的整数,表示 算法已经收敛,不再需要继续; 3 目标值控制规则,给定优化问题(目标最小化)的一个下界和一 个误差值,当算法得到的目标值同下界之差小于给定的误差值时, 算法终止。
• 1. 2. 3.
•
一般蚁群算法的框架主要有三个组成部分: 蚁群的活动; 信息素的挥发; 信息素的增强;
主要体现在转移概率公式和信息素更新公 式。
(一)带精英策略的蚂蚁系统 AS elite
特点——在信息素更新时给予当前最优解以额 外的信息素量,使最优解得到更好的利用。找 到全局最优解的蚂蚁称为“精英蚂蚁”。
蚁群算法的特征
算法优点: • (1)求解问题的快速性——由正反馈机 制决定 • (2)全局优化性——由分布式计算决定, 避免蚁群在寻优空间中过早收敛 • (3)有限时间内答案的合理性——由贪 婪式搜索模式决定,使能在搜索过程的早 期就找到可以接受的较好解
蚁群算法的基本思想
开始
算法流程图:
初始化 迭代次数 Nc=Nc+1 蚂蚁k=1 蚂蚁k=k+1 按照状态转移概率公式选择 下一个元素 修改禁忌表 结束 输出程序计 算结果
TSP应用举例
TSP应用举例
TSP应用举例
TSP应用举例
改进的蚁群优化算法
▲最优解保留策略蚂蚁系统(带精 英策略的蚂蚁系统ASelite) ▲蚁群系统(ACS)
改进的 蚁群算法
▲最大-最小蚂蚁系统(MMAS) ▲基于优化排序的蚂蚁系统 (ASrank)
▲最优最差蚂蚁系统(BWAS)
▲一种新的自适应蚁群算法(AACA) ▲基于混合行为的蚁群算法(HBACA)
Δτ ij
(二)蚁群系统 ACS
1、状态转移规则——伪随机比率规则 设 q0 (0,1) 为常数, q (0,1) 为随机数, 如果 q q0 ,则蚂蚁转移的下一座城市是使 [τ ij ( t )]α [ηij ( t )]β 取最大值的城市;若 q q0 , 仍按转移概率确定。 一般, q0取值较大。 2、全局更新规则——只有精英蚂蚁才允许释放 信息素,即只有全局最优解所属的边才增加 信息素。 3、局部更新规则——蚂蚁每次从城市 i 转移到 j 城市 后,边 i , j上的信息素适当减少。