路由模拟——论文算法设计部分(3)

类别:软件工程 点击:0 评论:0 推荐:

      演化路由算法框架的流程图如下图所示:

 
                                                    图8 演化路由算法的框架流程图
       那么,演化路由算法被定义如下:
Algorithm EvoRoutCompute.
//演化路由计算
BEGIN
     evoTime = 0;   //演化代数
     geneSet = NIL;  //成熟基因集合
     bestGeneSet = NIL; //较好基因集合
     halfGeneSet = NIL; //基因缓冲集合
     While ( evoTime < MAX_EVOTIME )
     {//
         While ( geneSet.geneNumber < MAX_GENE_NUMBER )
         {//
              Gene-Init;
              While ( gene IS NOT COMPLETE )
              { // gene成长至成熟
                    Gene-Builder;
                    If ( Gene-DECOMPLETE )
                         Gene-RANDOMDELETE;
              };
              geneSet.AddRear( gene );
          };
          geneSet.Sort();
          best = geneSet.GetBest();
          bestGeneSet.AddRear( best );
          geneSet.RemoveHalf();
          /*在第二草稿的演化路由算法中,以下注释部分没有程序实现,
             从而geneSet中的一半基因没有进一步演化直接进入下一代的竞争.
           While ( geneSet.geneNumber > 0 )
           {
                gene = geneSet.GetFirst();
                geneSet.RemoveFirst();
                Gene-Evolution;
                halfGeneSet.AddRear( gene );
            };

            While ( halfGeneSet.geneNumber > 0 )
            {
                 gene = halfGeneSet.GetFirst();
                 geneSet.AddRear( gene );
                 halfGeneSet.RemoveFirst();
              };
           ***********************************************/
     };
     bestGeneSet.Sort();
     BEST = bestGeneSet.GetBest();
     返回BEST;
END.
    由返回的BEST,便可以获得一个好的路由路径,进而可以得到路由器的路由表。演化路由算法the EvoRoutCompute Algorithm (第二草稿)的设计过程中借鉴了参考资料[3]的诸多思想,并已经通过C++编程实现,其后我们将通过实验数据来看算法的效率和可能的进一步改进处。

本文地址:http://com.8s8s.com/it/it36703.htm