蚁群算法原理与应用_第1页
蚁群算法原理与应用_第2页
蚁群算法原理与应用_第3页
蚁群算法原理与应用_第4页
蚁群算法原理与应用_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1自然计算与群体智能自然计算与群体智能计算机应用技术研究所计算机应用技术研究所2蚁群算法蚁群算法赵林亮赵林亮计算机应用技术研究所计算机应用技术研究所3参考文献参考文献appeared in proceedings of ecal91-european conference on artificial life, paris, france,elsevier publishing,134142.distributed optimization by ant coloniesalberto colorni, marco dorigo, vittorio maniezzod

2、ipartimento di elettronica, politecnico di milanopiazza leonardo da vinci 32, 20133 milano, italyieee transactions on systems, man, and cybernetics-part b: cybernetics,vol.26, no.1, feb 1996. 29-41ant system: optimization by a colony of cooperating agentsmarco dorigo, member, ieee, vittorio maniezzo

3、, and alberto colornihttp:/iridia.ulb.ac.be/mdorigo/homepagedorigo/4fig. 1. an example with real antsa) ants follow a path between points a and e.b) an obstacle is interposed; ants can choose to go around it following one of the two different paths with equal probability.c) on the shorter path more

4、pheromone is laid down.5fig. 2. an example with artificial antsa) the initial graph with distances.b) at time t=0 there is no trail on the graph edges; therefore, ants choose whether to turn right or left with equal probability.c) at time t=1 trail is stronger on shorter edges, which are therefore,

5、in the average, preferred by ants.6双桥实验双桥实验(goss s, 1989)naturwissenschaften 76, 579-581 (1989) self-organized shortcuts in the argentine ants. goss, s. aron, j. l. deneubourg, and j. m. pasteelsunit of behavioural ecology, c.p. 231, universit6 libre de bruxelles,b- 1050 bruxelles7fig. 1. a colony o

6、f i humilis selecting the short branches on both modules of the bridgea) one module of the bridgeb) and c): photos taken 4 and 8 min after placement of the bridge8双桥实验数学模型双桥实验数学模型()( )()()haahhabmkp mmkmk假设条件:假设条件:1、非对称桥上的信息量与过去一个时间段内经过该桥的蚂蚁数目成正比;、非对称桥上的信息量与过去一个时间段内经过该桥的蚂蚁数目成正比;2、某一时刻蚂蚁按照桥上残留的信息量多少来

7、选择其中某座桥、某一时刻蚂蚁按照桥上残留的信息量多少来选择其中某座桥3、经过该桥的蚂蚁数目越多则桥上的残留信息量就越大、经过该桥的蚂蚁数目越多则桥上的残留信息量就越大设短桥为设短桥为a,长桥为,长桥为b,ma和和mb分别表示经过桥分别表示经过桥a和桥和桥b的蚂蚁数目的蚂蚁数目ma + mb = m当所有当所有m只蚂蚁都经过两座桥之后,第只蚂蚁都经过两座桥之后,第m+1只蚂蚁选择桥只蚂蚁选择桥a的概率为:的概率为:而选择桥而选择桥b的概率为:的概率为:( )1( )bap mp m 9 参数参数h 和和 k用以匹配真实实验数据用以匹配真实实验数据 第第m+1只蚂蚁首先计算只蚂蚁首先计算 然后生成

8、一个在区间然后生成一个在区间0,1上均匀分布的随机数上均匀分布的随机数 若若 ,则选择桥,则选择桥a,否则选择桥,否则选择桥b( )ap m( )ap m( )ap m10基本蚁群算法的数学模型基本蚁群算法的数学模型11p、np、np-c、np-hard问题问题 p类问题类问题 所有可用所有可用dtm (deterministic one-tape turing machine) 在多项式时间内求解的判定问题在多项式时间内求解的判定问题的的集合。简记为集合。简记为o(p(n) 即即 p=l: 存在一个多项式时间存在一个多项式时间dtm程序程序m,是,是的的l=lm , 其中其中lm表示程序表示

9、程序m所识别的语言。所识别的语言。 若存在一个多项式时间若存在一个多项式时间dtm程序,它在编码策程序,它在编码策略略e之下求解判定问题之下求解判定问题,即,即l, ep,则称该则称该判定问题属于判定问题属于p类问题。类问题。12p、np、np-c、np-hard问题问题 np类问题类问题 (non-deterministic polynomial) 若存在一个多项式函数若存在一个多项式函数 g(x) 和一个验证算法和一个验证算法h, 对一类判定问题对一类判定问题a的任何一个的任何一个“是是”回答,满回答,满足其输入长度足其输入长度d(s)不超过不超过g(d(i), 其中其中d(i)为为i的的

10、输入长度,且验证算法中输入长度,且验证算法中s为为i的的“是是”回答的回答的计算时间不超过计算时间不超过g(d(i), 则称判定问题则称判定问题a为非多为非多项式确定问题。项式确定问题。 np类问题是所有可用类问题是所有可用ndtm (non-deterministic one-tape turing machine)在多项在多项式时间内求解的判定问题式时间内求解的判定问题的集合的集合13p、np、np-c、np-hard问题问题 np-c类问题类问题 (np-complete) 是是np类中最困难的一类问题。类中最困难的一类问题。 有重要实际意义和工程背景有重要实际意义和工程背景 tsp (

11、traveling salesman problem) symmetric; asymmetric np-hard类问题类问题 np-c np-hardnppnp-hardnp-c14基本蚁群算法模型基本蚁群算法模型 基本假设基本假设 蚂蚁之间通过信息素和环境进行通信。每只蚂蚂蚁之间通过信息素和环境进行通信。每只蚂蚁仅根据其周围的局部环境作出反应,也只对蚁仅根据其周围的局部环境作出反应,也只对周围的局部环境产生影响;周围的局部环境产生影响; 蚂蚁对环境的反应由其内部模式决定。即蚂蚁蚂蚁对环境的反应由其内部模式决定。即蚂蚁是反应型适应性主体是反应型适应性主体 在个体水平上,每只蚂蚁仅根据环境做出

12、独立在个体水平上,每只蚂蚁仅根据环境做出独立选择;在群体水平上,单只蚂蚁的行为是随机选择;在群体水平上,单只蚂蚁的行为是随机的,但蚁群可通过自组织过程形成高度有序的的,但蚁群可通过自组织过程形成高度有序的群体行为。群体行为。15tsp (traveling salesman problem) 有向图有向图 有向图有向图d的三元组为的三元组为 (v, e, f),其中,其中v是一个非是一个非空集合,其元素称为有向图的结点;空集合,其元素称为有向图的结点;e是一个是一个集合,其元素称为有向图的弧段(边);集合,其元素称为有向图的弧段(边);f是从是从e到到vxv上的一个映射(函数)。上的一个映射(

13、函数)。 e中的元素总是和中的元素总是和v中的序偶对有对应关系,可中的序偶对有对应关系,可用用v中的序偶代替中的序偶代替e中的元素。中的元素。 一个有向图可简记为一个有向图可简记为(v, e).16tsp (traveling salesman problem) tsp设设c=c1, c2, , cn 是是n个城市的集合,个城市的集合,l=lij|ci, cj c是集合是集合c中的元素(城市)两两连接的中的元素(城市)两两连接的集合,集合,dij(i, j=1,1,n)是是lij的的euclidean距离,即距离,即22()()ijijijdxxyyg=(c, l)是一个有向图,是一个有向图,

14、tsp的目的是从有向图的目的是从有向图g中寻中寻出长度最短的出长度最短的hamilton圈,圈,即一条对即一条对c=c1, c2, , cn中中n个元素(城市)访问且只个元素(城市)访问且只访问一次的最短封闭曲线访问一次的最短封闭曲线17tsp (traveling salesman problem) tsp简单形象描述简单形象描述给定给定n个城市,一个旅行商从某一城市出发,访问各城个城市,一个旅行商从某一城市出发,访问各城市一次且仅有一次后再回到原出发城市,要求找出一市一次且仅有一次后再回到原出发城市,要求找出一条最短的巡回路径条最短的巡回路径可分为对称可分为对称tsp (symmetric

15、 traveling salesman problem) 和非对称和非对称tsp (asymmetric traveling salesman problem) tsp是是np-c问题问题 n城市规模的城市规模的tsp,存在,存在(n-1)!/2条不同闭合路径。条不同闭合路径。18基本蚁群算法数学模型基本蚁群算法数学模型 设设bi(t)表示表示t时刻位于元素时刻位于元素i的蚂蚁数目,的蚂蚁数目,ij (t)为为t时刻路径时刻路径(i, j)上的信息量,上的信息量,n表示表示tsp规模,规模,m为为蚁群中蚂蚁总数,则蚁群中蚂蚁总数,则 是是t时刻集合时刻集合c中元素(城中元素(城市)两两连接市)

16、两两连接lij上残留信息量的集合,在初始时上残留信息量的集合,在初始时刻各条路径上的信息量相等,并设刻各条路径上的信息量相等,并设ij(0)=const, 基基本蚁群算法的寻优是通过有向图本蚁群算法的寻优是通过有向图g=(c, l, )实现实现的。的。1( )niimb t( )|,ijijtc cc 19 蚂蚁蚂蚁k(k=1,2,m)在运动过程中,根据各条路径上的信息在运动过程中,根据各条路径上的信息量决定其转移方向。这里用禁忌表量决定其转移方向。这里用禁忌表tabuk来记录蚂蚁来记录蚂蚁k当前当前所走过的城市,集合随着所走过的城市,集合随着tabuk进化过程做动态调整。在搜进化过程做动态调

17、整。在搜索过程中,蚂蚁根据各条路径上的信息量及路径的启发信索过程中,蚂蚁根据各条路径上的信息量及路径的启发信息来计算状态转移概率。在息来计算状态转移概率。在t时刻蚂蚁时刻蚂蚁k由元素(城市)由元素(城市)i转转移到元素(城市)移到元素(城市)j的状态转移概率:的状态转移概率:( )( ), if ( )( )( )(1)0 elsewisekijikkkisisijsallowedttjallowedttpt20 其中其中allowedk=c-tabuk表示蚂蚁表示蚂蚁k下一步允许选择的城市;下一步允许选择的城市;为信息启发式因子,表示轨迹的相对重要性,反映了蚂为信息启发式因子,表示轨迹的相对

18、重要性,反映了蚂蚁在运动过程中积累的信息在蚂蚁运动时所起的作用,其蚁在运动过程中积累的信息在蚂蚁运动时所起的作用,其值越大,则该蚂蚁越倾向于选择其它蚂蚁经过的路径,蚂值越大,则该蚂蚁越倾向于选择其它蚂蚁经过的路径,蚂蚁之间的协作性越强;蚁之间的协作性越强;为期望启发式因子,表示能见度为期望启发式因子,表示能见度的相对重要性,反映蚂蚁在运动过程中启发信息在蚂蚁选的相对重要性,反映蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度,其值越大,则该状态状态转移概择路径中的受重视程度,其值越大,则该状态状态转移概率越接近于贪心规则;率越接近于贪心规则; ij(t)为启发函数,为启发函数, ij(t)

19、 =1/dij 式中式中dij表示相邻两个城市之间的距离。对蚂蚁表示相邻两个城市之间的距离。对蚂蚁k而言,而言,dij越小,则越小,则ij(t)越大,越大,pijk也就越大。显然,该启发函数表也就越大。显然,该启发函数表示蚂蚁从元素(城市)示蚂蚁从元素(城市)i转移到元素(城市)转移到元素(城市)j的期望程度。的期望程度。21 为了避免残留信息素过多引起残留信息淹没启发信息,为了避免残留信息素过多引起残留信息淹没启发信息,在每只蚂蚁走完一步或者完成对所有在每只蚂蚁走完一步或者完成对所有n个城市的遍历个城市的遍历(也也即一个循环结束即一个循环结束)后,要对残留信息进行更新处理。这后,要对残留信息

20、进行更新处理。这种更新策略模仿了人类大脑记忆的特点,在新信息不种更新策略模仿了人类大脑记忆的特点,在新信息不断存人大脑的同时,存储在大脑中的旧信息随着时间断存人大脑的同时,存储在大脑中的旧信息随着时间的推移逐渐淡化,甚至忘记。由此,的推移逐渐淡化,甚至忘记。由此,t+n时刻在路径时刻在路径(i, j)上的信息量可按如下规则进行调整上的信息量可按如下规则进行调整 1()(1)( )( ) (2)( )( ) (3)ijijijmkijijktntttt22 式中,式中,表示信息素挥发系数,则表示信息素挥发系数,则1-表示信息素表示信息素残留因子,为了防止信息的无限积累,残留因子,为了防止信息的无

21、限积累, 的取值的取值范围为范围为0,1), ij(t)表示本次循环中路径表示本次循环中路径(i, j)上的上的信息素增量,初始时刻信息素增量,初始时刻ij(t) =0, ijk(t) 表示第表示第k只蚂蚁在本次循环中留在路径只蚂蚁在本次循环中留在路径(i, j)上的信息量。上的信息量。 根据信息素更新策略的不同,根据信息素更新策略的不同,dorigo m提出了三提出了三种不同的基本蚁群算法模型,分别称之为种不同的基本蚁群算法模型,分别称之为ant-cycle模型、模型、ant-quantity模型及模型及ant-density模型,模型,其差别在于其差别在于ijk(t)求法的不同。求法的不同

22、。 23 ant-cycle模型模型 式中,式中,q表示信息素强度,它在一定程度上影响表示信息素强度,它在一定程度上影响算法的收敛速度;算法的收敛速度;lk表示第表示第k只蚂蚁在本次循环只蚂蚁在本次循环中所走路径的总长度。中所走路径的总长度。,( , )( )(4)kkijqki jlt若第 只蚂蚁在本次循环中经过0, 否则24 ant-quantity模型模型 ,1( , )( )(5)kijijqktti jdt若第 只蚂蚁在 和之间经过0, 否则25 ant-density模型模型 区别:区别: 式式(5)和式和式(6)中利用的是局部信息,即蚂蚁完成一步后中利用的是局部信息,即蚂蚁完成一

23、步后更新路径上的信息素;而式更新路径上的信息素;而式(4)中利用的是整体信息,中利用的是整体信息,即蚂蚁完成一个循环后更新所有路径上的信息素,在即蚂蚁完成一个循环后更新所有路径上的信息素,在求解求解tsp时性能较好,因此通常采用式时性能较好,因此通常采用式(4)作为蚁群算作为蚁群算法的基本模型。法的基本模型。, 1( , )( )(6)kijqktti jt若第 只蚂蚁在 和之间经过0, 否则26基本蚁群算法的实现基本蚁群算法的实现 以以tsp为例,基本蚁群算法的具体实现步骤为例,基本蚁群算法的具体实现步骤如下:如下:(1)参数初始化。令时间参数初始化。令时间t=0和循环次数和循环次数nc=0

24、,设,设置最大循环次数置最大循环次数ncmax, 将将m个蚂蚁置于个蚂蚁置于n个元素个元素(城市城市)上,令有向图上每条边上,令有向图上每条边(i, j)的初始化信息的初始化信息量量ij(t)=const, 其中其中const表示常数,且初始时刻表示常数,且初始时刻ij(0)=0 (2)循环次数循环次数nc nc+1。 (3)蚂蚁的禁忌表索引号蚂蚁的禁忌表索引号k=1。 (4)蚂蚁数目蚂蚁数目 kk+1 。 27基本蚁群算法的实现基本蚁群算法的实现 (5)蚂蚁个体根据状态转移概率公式蚂蚁个体根据状态转移概率公式(1)计算的概计算的概率选择元素率选择元素(城市城市) j 并前进,并前进,jc -

25、 tabuk。 (6)修改禁忌表指针,即选择好之后将蚂蚁移动修改禁忌表指针,即选择好之后将蚂蚁移动到新的元素到新的元素(城市城市),并把该元素,并把该元素(城市城市)移动到该移动到该蚂蚁个体的禁忌表中。蚂蚁个体的禁忌表中。 (7)若集合若集合c中元素中元素(城市城市)未遍历完,即未遍历完,即km,则,则跳转到第跳转到第(4)步,否则执行第步,否则执行第(8)步。步。 (8)根据公式根据公式(2)和式和式(3)更新每条路径上的信息量。更新每条路径上的信息量。 (9)若满足结束条件,即如果循环次数若满足结束条件,即如果循环次数nc ncmax 则循环结束并输出程序计算结果,否则清空禁则循环结束并输

26、出程序计算结果,否则清空禁忌表并跳转到第忌表并跳转到第(2)步。步。28基本蚁群算法程序流程图基本蚁群算法程序流程图输出程序计算结果输出程序计算结果按式(按式(2)和式()和式(3)进行信息量更新)进行信息量更新修改禁忌表修改禁忌表按式(按式(1)选择下一元素)选择下一元素蚂蚁蚂蚁k=1循环次数循环次数nc nc+1初始化初始化开始开始结束结束km满足结束条件满足结束条件蚂蚁蚂蚁k=k+1nyyn29 复杂度分析复杂度分析 对于对于tsp,所有可行的路径共有,所有可行的路径共有(n-1)!/2条,以条,以此路径比较为基本操作,则需要此路径比较为基本操作,则需要(n-1)!/2-1次基次基本操作

27、才能保证得到绝对最优解。本操作才能保证得到绝对最优解。 若若1m flops,当,当n=10, 需要需要0.19秒秒 n=20, 需要需要1929年年 n=30, 需要需要1.4x10e17年年 时间复杂度时间复杂度 空间复杂度空间复杂度30 算法标准算法标准 正确性正确性 可用性可用性 可读性可读性 执行效率执行效率 健壮性健壮性31蚁群算法应用蚁群算法应用赵林亮赵林亮计算机应用技术研究所计算机应用技术研究所32quality of service, qos qos的英文全称为的英文全称为quality of service,中文名,中文名为为服务质量服务质量。qo

28、s是网络的一种安全机制是网络的一种安全机制, 是用是用来解决网络延迟和阻塞等问题的一种技术。来解决网络延迟和阻塞等问题的一种技术。 在正常情况下,如果网络只用于特定的无时间限在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要制的应用系统,并不需要qos,比如,比如web应用,应用,或或e-mail设置等。但是对关键应用和多媒体应用设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,就十分必要。当网络过载或拥塞时,qos 能确保能确保重要业务量不受延迟或丢弃,同时保证网络的高重要业务量不受延迟或丢弃,同时保证网络的高效运行。效运行。 33qos网络路由网络路由 网络路

29、由方面的研究主要通过两个途径来提高服网络路由方面的研究主要通过两个途径来提高服务质量务质量 (qos):一条途径是节点控制;另一条途):一条途径是节点控制;另一条途径是整网或局部网络控制。节点控制在单节点或径是整网或局部网络控制。节点控制在单节点或单链路完成,主要控制业务对单节点共享资源的单链路完成,主要控制业务对单节点共享资源的占用;整网或局部网络控制通常通过对路由与信占用;整网或局部网络控制通常通过对路由与信令的控制达到对业务流或业务连接在网络中传输令的控制达到对业务流或业务连接在网络中传输的直接控制。因为路由直接关系到网络性能,所的直接控制。因为路由直接关系到网络性能,所以以qos路由成

30、为解决路由成为解决qos问题的核心技术之一,问题的核心技术之一,也是当今网络技术领域内的一个研究热点。也是当今网络技术领域内的一个研究热点。34 qos指标:指标: 带宽带宽 单位时间内能够在线路上传送的数据量,单位时间内能够在线路上传送的数据量,bps(bit per second)。 时延时延 时延是指一个报文或分组从网络的一端传送到另一端所需要的时延是指一个报文或分组从网络的一端传送到另一端所需要的时间。它包括了发送时延,传播时延,处理时延,他们的总和时间。它包括了发送时延,传播时延,处理时延,他们的总和就是总时延就是总时延 时延抖动时延抖动 变化的时延被称作抖动(变化的时延被称作抖动(

31、jitter) 费用费用 qos路由的任务路由的任务 在网络中寻找一条路径,使其能满足带宽、时延、时在网络中寻找一条路径,使其能满足带宽、时延、时延抖动和费用的限制延抖动和费用的限制35 wang z等证明了,如果等证明了,如果qos路由至少包含路由至少包含两个限制时,它是一个两个限制时,它是一个np-c问题。传统的问题。传统的路由算法很难有效地解决路由算法很难有效地解决np-c问题,因此问题,因此一些学者基于蚁群算法提出了许多行之有一些学者基于蚁群算法提出了许多行之有效的解决方案。效的解决方案。 36 随着随着internet的飞速发展,对的飞速发展,对qos路由的研路由的研究已经引起了众多

32、关注。究已经引起了众多关注。 平面平面qos路由路由 所有路由器都在同一级内,所有路由器都在同一级内, 以前对以前对qos路由的研究大多采用平面网络,路由的研究大多采用平面网络, 分级分级qos路由路由 基本思想:将路由器分成多个逻辑组,每个组基本思想:将路由器分成多个逻辑组,每个组又可包含更小的组。又可包含更小的组。37平面平面qos蚂蚁路由算法蚂蚁路由算法 问题描述问题描述 将网络模型表示为一个有向图将网络模型表示为一个有向图g =(v,e), 其中其中v是图中所有交换节点组成的集合是图中所有交换节点组成的集合 e是图中所有边的集合是图中所有边的集合 每一条边表示相邻两节点间的直达通信路径

33、每一条边表示相邻两节点间的直达通信路径 不失一般性,假定相邻两节点间最多仅有一条不失一般性,假定相邻两节点间最多仅有一条边。同时,假定边。同时,假定b(l)表示链路表示链路l的可用带宽,对的可用带宽,对于一个路由请求于一个路由请求w,路由算法如果能够找到一,路由算法如果能够找到一条具有小费用的路径,同时满足如下条具有小费用的路径,同时满足如下4个条件,个条件,则此路由请求则此路由请求w就可接受。就可接受。38( )wb lb11( )( )wn vl edn ndl ld1(1( )(1)wn vlr nl(1)在在w的路由的每条路径的路由的每条路径l上,带宽可用限制为上,带宽可用限制为(2)

34、在在w的路由上,端到端时延限制为的路由上,端到端时延限制为 (3)在在w的路由上,端到端丢失率限制为的路由上,端到端丢失率限制为 (4)在目的节点,端到端时延抖动限制为在目的节点,端到端时延抖动限制为 ( )wndv dj39符号符号 bw、dw、lw、 jw表示表示qos要求的带宽、要求的带宽、时延、丢失率、抖动限制时延、丢失率、抖动限制 dn:节点处理延时:节点处理延时 dl:链路时延:链路时延 v1:w路由的节点集合路由的节点集合 e1: w路由的链路集合路由的链路集合 lr:节点丢失率:节点丢失率 ndv:目的节点:目的节点d的节点时延变化的节点时延变化40算法设计算法设计 蚁群算法的

35、两个步骤蚁群算法的两个步骤: 按照信息素的量选择路径按照信息素的量选择路径 更新路径上的信息素数量更新路径上的信息素数量 假定平面假定平面qos蚂蚁路由算法中有蚂蚁路由算法中有m只蚂蚁,只蚂蚁,设计如下的三个规则:设计如下的三个规则: 状态转移规则状态转移规则 全局信息素更新规则。全局信息素更新规则。 局部信息素更新规则。局部信息素更新规则。 41状态转移规则状态转移规则 位于节点位于节点r的第的第i只蚂蚁依据下述规则来选择节点只蚂蚁依据下述规则来选择节点s:0( ) , max( , , ), ( )( , )0 elsewhere( , , ) ( )( , , )( , )0 elsew

36、heriiiiiu jrif qqthenphero i r sif sj rr sphero i r sif sj rphero i r ur s否则,有e采用此定义来实现蚂蚁状态的转移可保证寻找优化采用此定义来实现蚂蚁状态的转移可保证寻找优化路径时避免陷入局部最优。路径时避免陷入局部最优。42 where, q is a random number uniformly distributed in 0,1, qo a constant satisfying 0,1; pi (r, s) represents the probability with which the ith ant po

37、sitioned on node r chooses the next node s, phero(i, r, s) the amount of pheromone deposited on the edge between the nodes r and s currently by the ith type of ants, ji(r) the nodes between which and the node r there is an edge and by which the ith-type ant has not passed during its choosing path.43

38、信息素局部更新规则信息素局部更新规则 对于第对于第i只蚂蚁,如果节点只蚂蚁,如果节点r, s是该蚂蚁所选路径是该蚂蚁所选路径上的两个相邻节点,则信息素上的两个相邻节点,则信息素phero(i, r, s)用下式用下式来调节;否则,不调节。来调节;否则,不调节。 where, 00 1, cons is a constant. adjusting the amount of pheromone by the rule can make the desirability of edges change dynamically. in this way, ants will make a bette

39、r use of pheromone information; without the local updating, all ants would search in a narrow neighborhood of the best previous path.00( , , )(1)( , , )phero i r sphero i r scons44信息素全局更新规则信息素全局更新规则 对于第对于第i只蚂蚁,如果节点只蚂蚁,如果节点r, s是该蚂蚁所选路径是该蚂蚁所选路径上的两个相邻节点,则信息素上的两个相邻节点,则信息素phero(i, r, s)按公式按公式1调节调节, 否则按公式

40、否则按公式2调节。调节。 where, 0 1 1 . the purpose of the rule is to search the globally best resolution.111( , , )(1)( , , ) (1)( , , )(1)( , , ) (2)phero i r sphero i r sfphero i r sphero i r s45 为定义限制函数为定义限制函数f,引入几个符号定义:,引入几个符号定义:1 if node is the node in the th ant selected route0 otherwise1 if link from no

41、de to node is the link of the th ant selected route0 otherwise,: the avirirsrsrsrsrinrspilblcldailable bandwidth. cost and delay of the link from node to node ;, : the process delay, loss rate of node .rrrsnd nlr46限制函数限制函数f的定义的定义12111223112()()()where is the node number, a, b and c are positive real

42、 coefficients.h(z)=0, if zjw,那么退出;否则,跳转,那么退出;否则,跳转到第到第(2)步。步。 (2)删除带宽小于需求带宽的链路,把网络滤删除带宽小于需求带宽的链路,把网络滤成一个新的简单网络。成一个新的简单网络。 (3)初始化网络拓扑中各边的相应信息素。初始化网络拓扑中各边的相应信息素。50平面平面qos蚂蚁路由算法具体步骤蚂蚁路由算法具体步骤(2) (4)从蚁巢开始放出从蚁巢开始放出m只蚂蚁去寻找食物源,只蚂蚁去寻找食物源,在第一个时间单位,每只蚂蚁从节点集合中在第一个时间单位,每只蚂蚁从节点集合中随机地选择一个节点,然后各蚂蚁通过重复随机地选择一个节点,然后各

43、蚂蚁通过重复应用状态转移规则来选择各自的路径。在选应用状态转移规则来选择各自的路径。在选路过程中,如果蚂蚁在到达目的节点前死亡,路过程中,如果蚂蚁在到达目的节点前死亡,另外一只和死亡的蚂蚁同类的蚂蚁重新放出另外一只和死亡的蚂蚁同类的蚂蚁重新放出来代替死亡的蚂蚁,重新开始选择从源节点来代替死亡的蚂蚁,重新开始选择从源节点到目的节点的路径。当某只蚂蚁成功地完成到目的节点的路径。当某只蚂蚁成功地完成路由选择后,该蚂蚁所选路由各路径上的信路由选择后,该蚂蚁所选路由各路径上的信息素根据局部更新规则进行更新。息素根据局部更新规则进行更新。51平面平面qos蚂蚁路由算法具体步骤蚂蚁路由算法具体步骤(3) (

44、5)对所有的蚂蚁重复第对所有的蚂蚁重复第(4)步,直到步,直到m只蚂蚁只蚂蚁都完成了第都完成了第(4)步。步。 (6)选择建立了最小费用并满足选择建立了最小费用并满足qos限制的路由限制的路由的蚂蚁,然后使用全局更新规则对该蚂蚁所的蚂蚁,然后使用全局更新规则对该蚂蚁所选的路由的各路径上的信息素进行更新。选的路由的各路径上的信息素进行更新。 (7)重复第重复第(4)(6)步,直到获得满意的结果。步,直到获得满意的结果。52分级分级qos蚂蚁路由算法蚂蚁路由算法 当前的大多数大型网络当前的大多数大型网络, 包括包括internet, 都使都使用分级选路方式用分级选路方式. 它的基本思想是它的基本思想是: 路由器路由器被分成多个逻辑组被分成多个逻辑组, 每个组又可以包含更小每个组又可以包含更小的组的组. 计算机网络分簇结构特点计算机网络分簇结构特点 网络管理网络管理 路由计算路由计算 资源利用资源利用 ad hoc网络网络53 考虑一个二级网络。每个路由器即为一个考虑一个二级网络。每个路由器即为一个level-0节点,由多个节点,由多个level-0节点和节点和level-0链链路形成的路形成的lan称为称为level-1节点,节点,level-1节点节点之间通过之间通过level-1链路连接。链路连接。 在大多数应用中,时延要求是最为重要的,在大多数应用中,时延要求是最为重要的,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论