主权项 |
1、一种基于粒子群算法的多播路由方法,其特征在于,该方法包括以下步骤:(1)运用Floyd算法建立多播路由网络的距离完全图。(2)初始化算法的各个参数,并建立第一代的粒子群,其中,粒子的编码方式为二进制编码。二进制串的长度与网络中的节点数目相同。所有的目标节点的编码均为1,以表示这些节点一直都在多播树中。对于中间节点,如果其编码为1,则表示该节点用于构造多播树,如果编码为0则表示不用于构造多播树。用于表示粒子位置的向量如下:X<sub>i</sub>=[x<sub>i1</sub>,x<sub>i2</sub>,...,x<sub>iN</sub>],其中x<sub>ij</sub>=0或者1(3)每个粒子基于当前位置根据Prim算法构造多播树,进行冗余剪枝并计算适应值。(4)更新每个粒子的个体最优位置,以及所有粒子的全局最优位置。(5)对每个粒子执行速度更新。其中,粒子速度向量的可以表示为:<maths num="0001"><![CDATA[<math><mrow><msub><mi>V</mi><mi>i</mi></msub><mo>=</mo><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>v</mi><mrow><mi>i</mi><mn>1</mn></mrow><mn>0</mn></msubsup><mo>,</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mn>2</mn></mrow><mn>0</mn></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>v</mi><mi>iN</mi><mn>0</mn></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>v</mi><mrow><mi>i</mi><mn>1</mn></mrow><mn>1</mn></msubsup><mo>,</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mn>2</mn></mrow><mn>1</mn></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>v</mi><mi>iN</mi><mn>1</mn></msubsup></mtd></mtr></mtable></mfenced></mrow><mo>,</mo></mrow></math>]]></maths>其中<maths num="0002"><![CDATA[<math><mrow><mn>0</mn><mo>≤</mo><msubsup><mi>v</mi><mi>ij</mi><mn>0</mn></msubsup><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msubsup><mi>v</mi><mi>ij</mi><mn>1</mn></msubsup><mo>≤</mo><mn>1</mn></mrow></math>]]></maths>在上式中,向量V<sub>i</sub>的第j维有两个取值。<img file="A200810220650C00024.GIF" wi="40" he="63" />是x<sub>ij</sub>为0的概率,而<img file="A200810220650C00025.GIF" wi="38" he="63" />是x<sub>ij</sub>为1的概率。(6)根据每个粒子更新后的速度执行位置更新。当决定X<sub>i</sub>的第j维的取值的时候,首先生成一个0到1之间均匀分布的随机数α。如果<img file="A200810220650C00026.GIF" wi="42" he="62" />和<img file="A200810220650C00027.GIF" wi="40" he="62" />均大于α,那么就随机将x<sub>ij</sub>设置为0或者1。如果只有<img file="A200810220650C00028.GIF" wi="40" he="65" />大于α,那么就将x<sub>ij</sub>设置为b。如果<img file="A200810220650C00029.GIF" wi="40" he="63" />和<img file="A200810220650C000210.GIF" wi="39" he="63" />均小于α,那么就不改变x<sub>ij</sub>。(7)重复步骤(3)至(6)直到满足算法的终止条件。 |