《蚁群算法原理与应用.ppt》由会员分享,可在线阅读,更多相关《蚁群算法原理与应用.ppt(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、自然计算与群体智能自然计算与群体智能赵林亮赵林亮计算机应用技术研究所计算机应用技术研究所zhaollacm.org1蚁群算法蚁群算法赵林亮赵林亮计算机应用技术研究所计算机应用技术研究所zhaollacm.org2参考文献参考文献APPEARED IN PROCEEDINGS OF ECAL91-EUROPEAN CONFERENCE ON ARTIFICIAL LIFE,PARIS,FRANCE,ELSEVIER PUBLISHING,134142.Distributed Optimization by Ant ColoniesAlberto Colorni,Marco Dorigo,Vitt
2、orio ManiezzoDipartimento 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 Maniezz
3、o,and Alberto Colornihttp:/iridia.ulb.ac.be/mdorigo/HomePageDorigo/3Fig.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 pherom
4、one is laid down.4Fig.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,in the average,
5、preferred by ants.5双桥实验双桥实验(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 Bruxelles6Fig.1.A colony of I humilis selecting the short bra
6、nches on both modules of the bridgea)one module of the bridgeb)and c):photos taken 4 and 8 min after placement of the bridge7双桥实验数学模型双桥实验数学模型假设条件:假设条件:1、非对称桥上的信息量与过去一个时间段内经过该桥的蚂蚁数目成正比;、非对称桥上的信息量与过去一个时间段内经过该桥的蚂蚁数目成正比;2、某一时刻蚂蚁按照桥上残留的信息量多少来选择其中某座桥、某一时刻蚂蚁按照桥上残留的信息量多少来选择其中某座桥3、经过该桥的蚂蚁数目越多则桥上的残留信息量就越大、经过该
7、桥的蚂蚁数目越多则桥上的残留信息量就越大设短桥为设短桥为A,长桥为,长桥为B,mA和和mB分别表示经过桥分别表示经过桥A和桥和桥B的蚂蚁数目的蚂蚁数目mA+mB=m当所有当所有m只蚂蚁都经过两座桥之后,第只蚂蚁都经过两座桥之后,第m+1只蚂蚁选择桥只蚂蚁选择桥A的概率为:的概率为:而选择桥而选择桥B的概率为:的概率为:8参数参数h 和和 k用以匹配真实实验数据用以匹配真实实验数据第第m+1只蚂蚁首先计算只蚂蚁首先计算 然后生成一个在区间然后生成一个在区间0,1上均匀分布的随机数上均匀分布的随机数若若 ,则选择桥,则选择桥A,否则选择桥,否则选择桥B9基本蚁群算法的数学模型基本蚁群算法的数学模型
8、10P、NP、NP-C、NP-hard问题问题P类问题类问题所有可用所有可用DTM(Deterministic one-tape Turing Machine)在多项式时间内求解的判定问题在多项式时间内求解的判定问题的的集合。简记为集合。简记为O(p(n)即即 P=L:存在一个多项式时间存在一个多项式时间DTM程序程序M,是,是的的L=LM,其中其中LM表示程序表示程序M所识别的语言。所识别的语言。若存在一个多项式时间若存在一个多项式时间DTM程序,它在编码策程序,它在编码策略略e之下求解判定问题之下求解判定问题,即,即L,eP,则称该则称该判定问题属于判定问题属于P类问题。类问题。11P、N
9、P、NP-C、NP-hard问题问题NP类问题类问题(Non-deterministic Polynomial)若存在一个多项式函数若存在一个多项式函数 g(x)和一个验证算法和一个验证算法H,对一类判定问题对一类判定问题A的任何一个的任何一个“是是”回答,满回答,满足其输入长度足其输入长度d(s)不超过不超过g(d(I),其中其中d(I)为为I的的输入长度,且验证算法中输入长度,且验证算法中S为为I的的“是是”回答的回答的计算时间不超过计算时间不超过g(d(I),则称判定问题则称判定问题A为非多为非多项式确定问题。项式确定问题。NP类问题是所有可用类问题是所有可用NDTM(Non-Deter
10、ministic one-tape Turing Machine)在多项在多项式时间内求解的判定问题式时间内求解的判定问题的集合的集合12P、NP、NP-C、NP-hard问题问题NP-C类问题类问题(NP-Complete)是是NP类中最困难的一类问题。类中最困难的一类问题。有重要实际意义和工程背景有重要实际意义和工程背景TSP(Traveling Salesman Problem)Symmetric;AsymmetricNP-hard类问题类问题NP-C NP-hardNPPNP-hardNP-C13基本蚁群算法模型基本蚁群算法模型基本假设基本假设蚂蚁之间通过信息素和环境进行通信。每只蚂蚂
11、蚁之间通过信息素和环境进行通信。每只蚂蚁仅根据其周围的局部环境作出反应,也只对蚁仅根据其周围的局部环境作出反应,也只对周围的局部环境产生影响;周围的局部环境产生影响;蚂蚁对环境的反应由其内部模式决定。即蚂蚁蚂蚁对环境的反应由其内部模式决定。即蚂蚁是反应型适应性主体是反应型适应性主体在个体水平上,每只蚂蚁仅根据环境做出独立在个体水平上,每只蚂蚁仅根据环境做出独立选择;在群体水平上,单只蚂蚁的行为是随机选择;在群体水平上,单只蚂蚁的行为是随机的,但蚁群可通过自组织过程形成高度有序的的,但蚁群可通过自组织过程形成高度有序的群体行为。群体行为。14TSP(Traveling Salesman Prob
12、lem)有向图有向图有向图有向图D的三元组为的三元组为(V,E,f),其中,其中V是一个非是一个非空集合,其元素称为有向图的结点;空集合,其元素称为有向图的结点;E是一个是一个集合,其元素称为有向图的弧段(边);集合,其元素称为有向图的弧段(边);f是从是从E到到VxV上的一个映射(函数)。上的一个映射(函数)。E中的元素总是和中的元素总是和V中的序偶对有对应关系,可中的序偶对有对应关系,可用用V中的序偶代替中的序偶代替E中的元素。中的元素。一个有向图可简记为一个有向图可简记为(V,E).15TSP(Traveling Salesman Problem)TSP设设C=c1,c2,cn 是是n个
13、城市的集合,个城市的集合,L=lij|ci,cj C是集合是集合C中的元素(城市)两两连接的中的元素(城市)两两连接的集合,集合,dij(i,j=1,1,n)是是lij的的Euclidean距离,即距离,即G=(C,L)是一个有向图,是一个有向图,TSP的目的是从有向图的目的是从有向图G中寻中寻出长度最短的出长度最短的Hamilton圈,圈,即一条对即一条对C=c1,c2,cn中中n个元素(城市)访问且只个元素(城市)访问且只访问一次的最短封闭曲线访问一次的最短封闭曲线16TSP(Traveling Salesman Problem)TSP简单形象描述简单形象描述给定给定n个城市,一个旅行商从
14、某一城市出发,访问各城个城市,一个旅行商从某一城市出发,访问各城市一次且仅有一次后再回到原出发城市,要求找出一市一次且仅有一次后再回到原出发城市,要求找出一条最短的巡回路径条最短的巡回路径可分为对称可分为对称TSP(Symmetric Traveling Salesman Problem)和非对称和非对称TSP(Asymmetric Traveling Salesman Problem)TSP是是NP-C问题问题n城市规模的城市规模的TSP,存在,存在(n-1)!/2条不同闭合路径。条不同闭合路径。17基本蚁群算法数学模型基本蚁群算法数学模型设设bi(t)表示表示t时刻位于元素时刻位于元素i的
15、蚂蚁数目,的蚂蚁数目,ij(t)为为t时刻路径时刻路径(i,j)上的信息量,上的信息量,n表示表示TSP规模,规模,m为蚁群中蚂蚁总数,则为蚁群中蚂蚁总数,则 是是t时刻集合时刻集合C中元素(城中元素(城市)两两连接市)两两连接lij上残留信息量的集合,在初始时刻上残留信息量的集合,在初始时刻各条路径上的信息量相等,并设各条路径上的信息量相等,并设ij(0)=const,基基本蚁群算法的寻优是通过有向图本蚁群算法的寻优是通过有向图g=(C,L,)实现实现的。的。18蚂蚁蚂蚁k(k=1,2,m)在运动过程中,根据各条路径上的信息在运动过程中,根据各条路径上的信息量决定其转移方向。这里用禁忌表量决
16、定其转移方向。这里用禁忌表tabuk来记录蚂蚁来记录蚂蚁k当前当前所走过的城市,集合随着所走过的城市,集合随着tabuk进化过程做动态调整。在搜进化过程做动态调整。在搜索过程中,蚂蚁根据各条路径上的信息量及路径的启发信索过程中,蚂蚁根据各条路径上的信息量及路径的启发信息来计算状态转移概率。在息来计算状态转移概率。在t时刻蚂蚁时刻蚂蚁k由元素(城市)由元素(城市)i转转移到元素(城市)移到元素(城市)j的状态转移概率:的状态转移概率:19其中其中allowedk=C-tabuk表示蚂蚁表示蚂蚁k下一步允许选择的城市;下一步允许选择的城市;为信息启发式因子,表示轨迹的相对重要性,反映了蚂为信息启发
17、式因子,表示轨迹的相对重要性,反映了蚂蚁在运动过程中积累的信息在蚂蚁运动时所起的作用,其蚁在运动过程中积累的信息在蚂蚁运动时所起的作用,其值越大,则该蚂蚁越倾向于选择其它蚂蚁经过的路径,蚂值越大,则该蚂蚁越倾向于选择其它蚂蚁经过的路径,蚂蚁之间的协作性越强;蚁之间的协作性越强;为期望启发式因子,表示能见度为期望启发式因子,表示能见度的相对重要性,反映蚂蚁在运动过程中启发信息在蚂蚁选的相对重要性,反映蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度,其值越大,则该状态状态转移概择路径中的受重视程度,其值越大,则该状态状态转移概率越接近于贪心规则;率越接近于贪心规则;ij(t)为启发函数,为启
18、发函数,ij(t)=1/dij式中式中dij表示相邻两个城市之间的距离。对蚂蚁表示相邻两个城市之间的距离。对蚂蚁k而言,而言,dij越小,则越小,则ij(t)越大,越大,pijk也就越大。显然,该启发函数表也就越大。显然,该启发函数表示蚂蚁从元素(城市)示蚂蚁从元素(城市)i转移到元素(城市)转移到元素(城市)j的期望程度。的期望程度。20为了避免残留信息素过多引起残留信息淹没启发信息,为了避免残留信息素过多引起残留信息淹没启发信息,在每只蚂蚁走完一步或者完成对所有在每只蚂蚁走完一步或者完成对所有n个城市的遍历个城市的遍历(也即一个循环结束也即一个循环结束)后,要对残留信息进行更新处理。后,要
19、对残留信息进行更新处理。这种更新策略模仿了人类大脑记忆的特点,在新信息不这种更新策略模仿了人类大脑记忆的特点,在新信息不断存人大脑的同时,存储在大脑中的旧信息随着时间的断存人大脑的同时,存储在大脑中的旧信息随着时间的推移逐渐淡化,甚至忘记。由此,推移逐渐淡化,甚至忘记。由此,t+n时刻在路径时刻在路径(i,j)上的信息量可按如下规则进行调整上的信息量可按如下规则进行调整 21式中,式中,表示信息素挥发系数,则表示信息素挥发系数,则1-表示信息素表示信息素残留因子,为了防止信息的无限积累,残留因子,为了防止信息的无限积累,的取值的取值范围为范围为0,1),ij(t)表示本次循环中路径表示本次循环
20、中路径(i,j)上上的信息素增量,初始时刻的信息素增量,初始时刻ij(t)=0,ijk(t)表示表示第第k只蚂蚁在本次循环中留在路径只蚂蚁在本次循环中留在路径(i,j)上的信息上的信息量。量。根据信息素更新策略的不同,根据信息素更新策略的不同,Dorigo M提出了三提出了三种不同的基本蚁群算法模型,分别称之为种不同的基本蚁群算法模型,分别称之为Ant-Cycle模型、模型、Ant-Quantity模型及模型及Ant-Density模型,模型,其差别在于其差别在于ijk(t)求法的不同。求法的不同。22Ant-Cycle模型模型式中,式中,Q表示信息素强度,它在一定程度上影响表示信息素强度,它
21、在一定程度上影响算法的收敛速度;算法的收敛速度;Lk表示第表示第k只蚂蚁在本次循环中只蚂蚁在本次循环中所走路径的总长度。所走路径的总长度。23 Ant-Quantity模型模型 24 Ant-Density模型模型 区别:区别:式式(5)和式和式(6)中利用的是局部信息,即蚂蚁完成一步中利用的是局部信息,即蚂蚁完成一步后更新路径上的信息素;而式后更新路径上的信息素;而式(4)中利用的是整体信息,中利用的是整体信息,即蚂蚁完成一个循环后更新所有路径上的信息素,在即蚂蚁完成一个循环后更新所有路径上的信息素,在求解求解TSP时性能较好,因此通常采用式时性能较好,因此通常采用式(4)作为蚁群算作为蚁群
22、算法的基本模型。法的基本模型。25基本蚁群算法的实现基本蚁群算法的实现以以TSP为例,基本蚁群算法的具体实现步骤为例,基本蚁群算法的具体实现步骤如下:如下:(1)参数初始化。令时间参数初始化。令时间t=0和循环次数和循环次数Nc=0,设,设置最大循环次数置最大循环次数Ncmax,将将m个蚂蚁置于个蚂蚁置于n个元素个元素(城市城市)上,令有向图上每条边上,令有向图上每条边(i,j)的初始化信的初始化信息量息量ij(t)=const,其中其中const表示常数,且初始表示常数,且初始时刻时刻ij(0)=0 (2)循环次数循环次数Nc Nc+1。(3)蚂蚁的禁忌表索引号蚂蚁的禁忌表索引号k=1。(4
23、)蚂蚁数目蚂蚁数目 kk+1。26基本蚁群算法的实现基本蚁群算法的实现(5)蚂蚁个体根据状态转移概率公式蚂蚁个体根据状态转移概率公式(1)计算的概计算的概率选择元素率选择元素(城市城市)j 并前进,并前进,jC-tabuk。(6)修改禁忌表指针,即选择好之后将蚂蚁移动修改禁忌表指针,即选择好之后将蚂蚁移动到新的元素到新的元素(城市城市),并把该元素,并把该元素(城市城市)移动到移动到该蚂蚁个体的禁忌表中。该蚂蚁个体的禁忌表中。(7)若集合若集合C中元素中元素(城市城市)未遍历完,即未遍历完,即km,则,则跳转到第跳转到第(4)步,否则执行第步,否则执行第(8)步。步。(8)根据公式根据公式(2
24、)和式和式(3)更新每条路径上的信息更新每条路径上的信息量。量。(9)若满足结束条件,即如果循环次数若满足结束条件,即如果循环次数Nc Ncmax 则循环结束并输出程序计算结果,否则清空禁则循环结束并输出程序计算结果,否则清空禁忌表并跳转到第忌表并跳转到第(2)步。步。27基本蚁群算法程序流程图基本蚁群算法程序流程图输出程序计算结果输出程序计算结果按式(按式(2)和式()和式(3)进行信息量更新)进行信息量更新修改禁忌表修改禁忌表按式(按式(1)选择下一元素)选择下一元素蚂蚁蚂蚁k=1循环次数循环次数Nc Nc+1初始化初始化开始开始结束结束Km满足结束条件满足结束条件蚂蚁蚂蚁k=k+1NYY
25、N28复杂度分析复杂度分析对于对于TSP,所有可行的路径共有,所有可行的路径共有(n-1)!/2条,以条,以此路径比较为基本操作,则需要此路径比较为基本操作,则需要(n-1)!/2-1次基次基本操作才能保证得到绝对最优解。本操作才能保证得到绝对最优解。若若1M FLOPS,当,当n=10,需要需要0.19秒秒n=20,需要需要1929年年n=30,需要需要1.4X10e17年年时间复杂度时间复杂度空间复杂度空间复杂度29算法标准算法标准正确性正确性可用性可用性可读性可读性执行效率执行效率健壮性健壮性30蚁群算法应用蚁群算法应用赵林亮赵林亮计算机应用技术研究所计算机应用技术研究所zhaollac
26、m.org31Quality of Service,QoSQoS的英文全称为的英文全称为Quality of Service,中文名,中文名为为服务质量服务质量。QoS是网络的一种安全机制是网络的一种安全机制,是用是用来解决网络延迟和阻塞等问题的一种技术。来解决网络延迟和阻塞等问题的一种技术。在正常情况下,如果网络只用于特定的无时间限在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要制的应用系统,并不需要QoS,比如,比如Web应用,应用,或或E-mail设置等。但是对关键应用和多媒体应用设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,就十分必要。当网络过载或拥
27、塞时,QoS 能确保能确保重要业务量不受延迟或丢弃,同时保证网络的高重要业务量不受延迟或丢弃,同时保证网络的高效运行。效运行。32QoS网络路由网络路由网络路由方面的研究主要通过两个途径来提高服网络路由方面的研究主要通过两个途径来提高服务质量务质量(QoS):一条途径是节点控制;另一条途):一条途径是节点控制;另一条途径是整网或局部网络控制。节点控制在单节点或径是整网或局部网络控制。节点控制在单节点或单链路完成,主要控制业务对单节点共享资源的单链路完成,主要控制业务对单节点共享资源的占用;整网或局部网络控制通常通过对路由与信占用;整网或局部网络控制通常通过对路由与信令的控制达到对业务流或业务连
28、接在网络中传输令的控制达到对业务流或业务连接在网络中传输的直接控制。因为路由直接关系到网络性能,所的直接控制。因为路由直接关系到网络性能,所以以QoS路由成为解决路由成为解决QoS问题的核心技术之一,也问题的核心技术之一,也是当今网络技术领域内的一个研究热点。是当今网络技术领域内的一个研究热点。33QoS指标:指标:带宽带宽单位时间内能够在线路上传送的数据量,单位时间内能够在线路上传送的数据量,bps(bit per second)。时延时延时延是指一个报文或分组从网络的一端传送到另一端所需要的时延是指一个报文或分组从网络的一端传送到另一端所需要的时间。它包括了发送时延,传播时延,处理时延,他
29、们的总和时间。它包括了发送时延,传播时延,处理时延,他们的总和就是总时延就是总时延时延抖动时延抖动变化的时延被称作抖动(变化的时延被称作抖动(Jitter)费用费用QoS路由的任务路由的任务在网络中寻找一条路径,使其能满足带宽、时延、时在网络中寻找一条路径,使其能满足带宽、时延、时延抖动和费用的限制延抖动和费用的限制34Wang Z等证明了,如果等证明了,如果QoS路由至少包含路由至少包含两个限制时,它是一个两个限制时,它是一个NP-C问题。传统的问题。传统的路由算法很难有效地解决路由算法很难有效地解决NP-C问题,因此问题,因此一些学者基于蚁群算法提出了许多行之有一些学者基于蚁群算法提出了许
30、多行之有效的解决方案。效的解决方案。35 随着随着Internet的飞速发展,对的飞速发展,对QoS路由的研路由的研究已经引起了众多关注。究已经引起了众多关注。平面平面QoS路由路由所有路由器都在同一级内,所有路由器都在同一级内,以前对以前对QoS路由的研究大多采用平面网络,路由的研究大多采用平面网络,分级分级QoS路由路由基本思想:将路由器分成多个逻辑组,每个组基本思想:将路由器分成多个逻辑组,每个组又可包含更小的组。又可包含更小的组。36平面平面QoS蚂蚁路由算法蚂蚁路由算法 问题描述问题描述将网络模型表示为一个有向图将网络模型表示为一个有向图G=(V,E),其中其中V是图中所有交换节点组
31、成的集合是图中所有交换节点组成的集合E是图中所有边的集合是图中所有边的集合每一条边表示相邻两节点间的直达通信路径每一条边表示相邻两节点间的直达通信路径不失一般性,假定相邻两节点间最多仅有一条不失一般性,假定相邻两节点间最多仅有一条边。同时,假定边。同时,假定B(l)表示链路表示链路l的可用带宽,对的可用带宽,对于一个路由请求于一个路由请求w,路由算法如果能够找到一,路由算法如果能够找到一条具有小费用的路径,同时满足如下条具有小费用的路径,同时满足如下4个条件,个条件,则此路由请求则此路由请求w就可接受。就可接受。37(1)在在w的路由的每条路径的路由的每条路径l上,带宽可用限制为上,带宽可用限
32、制为(2)在在w的路由上,端到端时延限制为的路由上,端到端时延限制为(3)在在w的路由上,端到端丢失率限制为的路由上,端到端丢失率限制为(4)在目的节点,端到端时延抖动限制为在目的节点,端到端时延抖动限制为 38符号符号Bw、Dw、Lw、Jw表示表示QoS要求的带宽、要求的带宽、时延、丢失率、抖动限制时延、丢失率、抖动限制DN:节点处理延时:节点处理延时DL:链路时延:链路时延V1:w路由的节点集合路由的节点集合E1:w路由的链路集合路由的链路集合LR:节点丢失率:节点丢失率NDV:目的节点:目的节点d的节点时延变化的节点时延变化39算法设计算法设计蚁群算法的两个步骤蚁群算法的两个步骤:按照信
33、息素的量选择路径按照信息素的量选择路径更新路径上的信息素数量更新路径上的信息素数量假定平面假定平面QoS蚂蚁路由算法中有蚂蚁路由算法中有m只蚂蚁,只蚂蚁,设计如下的三个规则:设计如下的三个规则:状态转移规则状态转移规则全局信息素更新规则。全局信息素更新规则。局部信息素更新规则。局部信息素更新规则。40状态转移规则状态转移规则 位于节点位于节点r的第的第i只蚂蚁依据下述规则来选择节点只蚂蚁依据下述规则来选择节点s:采用此定义来实现蚂蚁状态的转移可保证寻找优化采用此定义来实现蚂蚁状态的转移可保证寻找优化路径时避免陷入局部最优。路径时避免陷入局部最优。41where,q is a random nu
34、mber uniformly distributed in 0,1,qo a constant satisfying 0,1;pi(r,s)represents the probability with which the ith ant positioned 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 be
35、tween which and the node r there is an edge and by which the ith-type ant has not passed during its choosing path.42信息素局部更新规则信息素局部更新规则对于第对于第i只蚂蚁,如果节点只蚂蚁,如果节点r,s是该蚂蚁所选路径是该蚂蚁所选路径上的两个相邻节点,则信息素上的两个相邻节点,则信息素phero(i,r,s)用下式用下式来调节;否则,不调节。来调节;否则,不调节。where,00 1,cons is a constant.Adjusting the amount of pher
36、omone by the rule can make the desirability of edges change dynamically.In this way,ants will make a better use of pheromone information;without the local updating,all ants would search in a narrow neighborhood of the best previous path.43信息素全局更新规则信息素全局更新规则对于第对于第i只蚂蚁,如果节点只蚂蚁,如果节点r,s是该蚂蚁所选路径是该蚂蚁所选路径上
37、的两个相邻节点,则信息素上的两个相邻节点,则信息素phero(i,r,s)按公式按公式1调节调节,否则按公式否则按公式2调节。调节。where,0 1 Jw,那么退出;否则,跳转,那么退出;否则,跳转到第到第(2)步。步。(2)删除带宽小于需求带宽的链路,把网络滤删除带宽小于需求带宽的链路,把网络滤成一个新的简单网络。成一个新的简单网络。(3)初始化网络拓扑中各边的相应信息素。初始化网络拓扑中各边的相应信息素。49平面平面QoS蚂蚁路由算法具体步骤蚂蚁路由算法具体步骤(2)(4)从蚁巢开始放出从蚁巢开始放出m只蚂蚁去寻找食物源,只蚂蚁去寻找食物源,在第一个时间单位,每只蚂蚁从节点集合中随在第一
38、个时间单位,每只蚂蚁从节点集合中随机地选择一个节点,然后各蚂蚁通过重复应用机地选择一个节点,然后各蚂蚁通过重复应用状态转移规则来选择各自的路径。在选路过程状态转移规则来选择各自的路径。在选路过程中,如果蚂蚁在到达目的节点前死亡,另外一中,如果蚂蚁在到达目的节点前死亡,另外一只和死亡的蚂蚁同类的蚂蚁重新放出来代替死只和死亡的蚂蚁同类的蚂蚁重新放出来代替死亡的蚂蚁,重新开始选择从源节点到目的节点亡的蚂蚁,重新开始选择从源节点到目的节点的路径。当某只蚂蚁成功地完成路由选择后,的路径。当某只蚂蚁成功地完成路由选择后,该蚂蚁所选路由各路径上的信息素根据局部更该蚂蚁所选路由各路径上的信息素根据局部更新规则
39、进行更新。新规则进行更新。50平面平面QoS蚂蚁路由算法具体步骤蚂蚁路由算法具体步骤(3)(5)对所有的蚂蚁重复第对所有的蚂蚁重复第(4)步,直到步,直到m只蚂蚁只蚂蚁都完成了第都完成了第(4)步。步。(6)选择建立了最小费用并满足选择建立了最小费用并满足QoS限制的路限制的路由的蚂蚁,然后使用全局更新规则对该蚂蚁所由的蚂蚁,然后使用全局更新规则对该蚂蚁所选的路由的各路径上的信息素进行更新。选的路由的各路径上的信息素进行更新。(7)重复第重复第(4)(6)步,直到获得满意的结果。步,直到获得满意的结果。51分级分级QoS蚂蚁路由算法蚂蚁路由算法 当前的大多数大型网络当前的大多数大型网络,包括包
40、括Internet,都使都使用分级选路方式用分级选路方式.它的基本思想是它的基本思想是:路由器路由器被分成多个逻辑组被分成多个逻辑组,每个组又可以包含更小每个组又可以包含更小的组的组.计算机网络分簇结构特点计算机网络分簇结构特点网络管理网络管理路由计算路由计算资源利用资源利用Ad hoc网络网络52考虑一个二级网络。每个路由器即为一个考虑一个二级网络。每个路由器即为一个level-0节点,由多个节点,由多个level-0节点和节点和level-0链链路形成的路形成的LAN称为称为level-1节点,节点,level-1节点节点之间通过之间通过level-1链路连接。链路连接。在大多数应用中,时
41、延要求是最为重要的,在大多数应用中,时延要求是最为重要的,为了方便起见,这里在研究为了方便起见,这里在研究QoS路由时仅考路由时仅考虑时延限制。虑时延限制。5354算法构造算法构造(1)初始化。初始化。(2)根据呼叫的源一目的节点,确定此源一根据呼叫的源一目的节点,确定此源一目的节点是否在同一级内:若在目的节点是否在同一级内:若在(如如x.1x.3),直接在相应级,直接在相应级x内调用蚁群算法内调用蚁群算法进行选路进行选路(1evel-0路由路由);若不在同一级内,;若不在同一级内,则执行第则执行第(3)步。步。(3)根据根据level-1节点的相邻关系,选最少节点的相邻关系,选最少level
42、-1节点数的路由节点数的路由(称为称为level-1路由路由)。55算法构造算法构造(2)(4)根据此路由,确定每个根据此路由,确定每个level-1节点内的节点内的源一目的节点,作为蚁群算法的输入,同源一目的节点,作为蚁群算法的输入,同时调用蚁群算法进行选路时调用蚁群算法进行选路(称为称为level-0路由路由),并记录结果。,并记录结果。(5)根据第根据第(3)、(4)步的结果,扩展出最终步的结果,扩展出最终路由,判断是否满足要求:若满足,则结路由,判断是否满足要求:若满足,则结束此次选路;否则,判断是否还存在束此次选路;否则,判断是否还存在level-1路由:若存在,则采用最短路径法在剩
43、余路由:若存在,则采用最短路径法在剩余的可行路由中选择最短的一条,并将其定的可行路由中选择最短的一条,并将其定为新的为新的level-1路由,跳转到第路由,跳转到第(4)步;否则,步;否则,此次呼叫没有可用路由,算法结束。此次呼叫没有可用路由,算法结束。56分级路由实例分级路由实例寻找寻找x.0 c.2的路由的路由首先确定出首先确定出level-1路由:路由:xbc或或 xac 假定选假定选 xac,则可得出三个源一目的对则可得出三个源一目的对:(x.0,x.3)(a.2,a.2)(c.3,c.2)同时启动三个蚁群算法计算出满足要求的路由链路同时启动三个蚁群算法计算出满足要求的路由链路(x.0
44、 x.1x.3),(a.2a.2),(c.3 c.0c.1c.2)根据此结果,可扩展出最终路由根据此结果,可扩展出最终路由x.0 x.1x.3a.2c.3c.0c.1c.2)若此路由满足要求就结束;否则,重新选定若此路由满足要求就结束;否则,重新选定level-1路由,路由,进行新的选路。进行新的选路。57基于蚁群算法的基于蚁群算法的level-0路由算法的状态转移路由算法的状态转移规则和信息素局部更新规则同前所述,但规则和信息素局部更新规则同前所述,但对信息素全局更新规则中的限制函数对信息素全局更新规则中的限制函数F的定的定义做了如下改进。义做了如下改进。5859参考文献参考文献Zhang S B,Liu Z M.A QoS routing algorithm based on ant algorithm.Proceedings of the IEEE ICC,2001,5:1581-1585张素兵张素兵,刘泽民刘泽民.基于蚂蚁算法的分级基于蚂蚁算法的分级QoS 路由调度方法路由调度方法.北京邮电大学学报北京邮电大学学报.2000,23(4):11-1560aai_