蚁群算法及其应用讲座.ppt

蚁群算法及其应用讲座

蚁群算法及其应用 启发式算法_分类 现代优化算法: 80年代初兴起 禁忌搜索(tabu search) 模拟退火(simulated annealing) 神经网络(neural networks) 遗传算法(genetic algorithms) 蚂蚁算法(Ant Algorithm,群体智能,Swarm Intelligence) 遗传算法 遗传算法(Genetic?Algorithm,?GA)是1962年密切根大学Holland教授首次提出的一种全局优化算法,它借用了生物遗传学的观点,通过自然选择、遗传、变异等作用机制,实现各个体的适应性的提高,并迅速推广到优化、搜索、机器学习等方面。? 遗传算法的过程 蚁群算法 1 原理 2 在TSP中的应用及改进 3 在QoS多播路由中的应用 1 蚁群算法原理 20 世纪90 年代初,意大利学者Dorigo 等受蚂蚁觅食行为的启发,提出了蚁群算法,是一种仿生算法。 蚂蚁在觅食过程中可以找出巢穴到食物源的最短路径,为什么? (1)信息素(pheromone) (2)正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。 简化的蚂蚁寻食过程 简化的蚂蚁寻食过程 自然蚁群与人工蚁群 应用一:TSP问题 旅行商问题(TSP,traveling salesman problem)1960年首先提出。 问题描述: 一商人去n个城市销货,所有城市走一遍再回到起点,使所走路程最短。 TSP在许多工程领域具有广泛的应用价值 例如电路板布线、VLSI芯片设计、机器人控制、交通路由等。 TSP的求解是NP-hard问题。随着城市数目的增多,问题空间将呈指数级增长。 TSP问题的数学描述 TSP问题表示为一个N个城市的有向图G=(N,A),其中 城市之间距离 目标函数为 其中, ,为城市1,2,…n的 一个排列, 。 蚂蚁算法求解TSP 下面以TSP为例说明基本蚁群算法模型。 首先将m只蚂蚁随机放置在n个城市,位于城市i的第k只蚂蚁选择下一个城市j的概率为: 蚂蚁算法求解TSP 蚂蚁算法求解TSP 其中:ρ为小于1的常数,表示信息的持久性。 求解TSP算法步骤 ⑴初始化 随机放置蚂蚁,为每只蚂蚁建立禁忌表tabuk,将初始节点置入禁忌表中; ⑵迭代过程 k=1 while k=ItCount do (执行迭代) for i = 1 to m do (对m只蚂蚁循环) for j = 1 to n - 1 do (对n个城市循环)    根据式(1),采用轮盘赌方法在窗口外选择下一个城市j; 将j置入禁忌表,蚂蚁转移到j;   end for end for 计算每只蚂蚁的路径长度; 根据式(2)更新所有蚂蚁路径上的信息量; k = k + 1; end while ⑶输出结果,结束算法. 蚁群的规模和停止规则 一、蚁群大小 一般情况下蚁群中蚂蚁的个数不超过TSP图中节点的个数。 二、终止条件 1 给定一个外循环的最大数目; 2 当前最优解连续K次相同而停止,其中K是一个给定的整数,表示算法已经收敛,不再需要继续。 蚂蚁算法的缺点 蚂蚁算法的缺点: 1)收敛速度慢 2)易于陷入局部最优 改进: 1)采用局部优化,设计了三种优化算子。 2)采用蚁群优化算法。 3)其它优化算法 改进一:局部优化(算子1 ) 对Kroa100,算子1优化前后的路径如图所示。优化前(28596),算子1优化后(26439) 改进一:局部优化(算子2 ) 对Kroa100,算子2优化前后的路径如图所示。算子1(26439),算子2优化后(23012) 改进一:局部优化(算子3 ) 对Kroa100,算子3优化前后的路径如图所示。(23012),算子3优化后(21282) 收敛特性对比 改进二:蚁群优化算法 1)ACS采用了更为大胆的行为选择规则,在城市r的蚂蚁k转移到城市s的规则为: 2.1.4蚁群优化算法 其它改进 1)精英策略 2)基于排序的蚂蚁系统 3) MAX-MIN蚂蚁系统 应用二:QoS多播路由问题 什么是多播路由? 构造一棵费用最小的多播树,且满足以下限制条件: (1) d(T(s, D))≤D (延时) (2) dj(T(s, D))≤DJ (抖动) (3) pl(T(s, D))≤PL (丢包率) (4) b(T(s, D))≥B. (带宽) 路径的QoS参数计算 多播树的QoS参数计算 算法 方

文档评论(0)

1亿VIP精品文档

相关文档