主权项 |
一种基于蚁群算法的QOS路由优化方法,其特征在于,其步骤为:(1)初始化网络节点:给出各个节点的(d<sub>i</sub>,dj<sub>i</sub>,pl<sub>i</sub>)的取值,以及每条存在边的(d<sub>ij</sub>,dj<sub>ij</sub>,b<sub>ij</sub>,c<sub>ij</sub>)的取值,给出约束条件中的D,DJ,B,PL的值,NC=0 (NC为循环计数器)Set t=0(t为时间计数器)之后为每条边(i,j)的信息素浓度设置一个初始值τ<sub>ij</sub>(t)=τ<sub>0</sub>,并且Δ<sub>ij</sub>=0,讲m个蚂蚁都放到源节点上;(2)根据各个节点的(d<sub>i</sub>,dj<sub>i</sub>,pl<sub>i</sub>)中的分量pl<sub>i</sub>删除一些不满足的约束条件packet_loss(n)≤PL的节点,与此节点相连的边也应删除;(3)根据每条边的(d<sub>ij</sub>,dj<sub>ij</sub>,b<sub>ij</sub>,c<sub>ij</sub>)中的分量b<sub>ij</sub>删除一些不满足约束条件bandwidth(e)≥B的边;(4)令s=1(s为tabu列表的下标) For k=1 to m,将起点位置置于tabu<sub>k</sub>(s)中,其中tabu<sub>k</sub>(s)表示在当前路由选择中第k只蚂蚁访问的第s个节点; (5)重复本步骤直到tabu列表被填满Set s=s+1For k=1 to m对每只蚂蚁按照概率选择下一个节点j,将节点j插入tabu<sub>k</sub>(s),更新边上的信息素浓度τ<sub>ij</sub>;For k=1 to m do将第k个蚂蚁从节点tabu<sub>k</sub>(n)移到tabu<sub>k</sub>(1),计算第k个蚂蚁的F值,更新找到最优路径。 |