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

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

图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++编程实现,其后我们将通过实验数据来看算法的效率和可能的进一步改进处。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航