论文部分内容阅读
Ad Hoc网络是由移动终端按多跳、对等且以无线方式组成的自组织网络,它没有类似于基站通信的基础设施,网络中的节点可自由的移入或移出。由于节点的这种频繁移动,会导致网络的拓扑结构不断的变化,在网络生存周期内,节点之间无法保证一条可以较长期时间保持通信的路由。于是寻路问题就成了Ad Hoc网络一直倍受关注的问题。最近几年,人们在不断地探讨把智能算法运用到其中。蚁群算法就是一个十分典型的智能算法。首先对蚁群算法及其在Ad Hoc网络路由寻路中的应用进行了研究,并在此基础上,针对蚁群算法在寻路初期收敛速度慢的不足,提出了相应的改进方案,即基于相关节点的蚁群路由算法(RACO)。源节点发出的前进蚂蚁(寻找报文)在寻找目的节点的过程中,如果找到了一个目的节点的相关节点,会立刻生成返回蚂蚁进行返回,并在途中留下信息素。而前进蚂蚁则继续寻找目的节点,同时期待发现具有更高等级的目的节点的相关节点。其次,还将蚁群算法延伸到解决Ad Hoc网络组播路由问题。因为,不同于传统网络,组播通信方式是Ad Hoc网络最适合的通信方式。然而,组播是NP完全问题,常规方式很难适应Ad Hoc网络频繁的拓扑变化。本文通过了解Ad Hoc网络组播路由的特点并结合RACO中对蚁群算法的研究,提出了适合于组播路由的改进蚁群算法,即逆向蚁群组播路由发现算法(CACO)。当源节点发送的前进蚂蚁(寻找报文)在到达接收端时,会自动复制出若干个返回蚂蚁并进行回溯,而这些返回的蚂蚁并不是按原路返回,而是进行反向的寻路,同时原前进蚂蚁将继续寻找其他多目标并进行相同的操作。通过这样的改进目的在于解决组播路由寻路中无法平衡多目标收敛的问题。最后,对上述算法进行了仿真,结果表明RACO改进算法能够适应Ad Hoc网络动态拓扑变化,算法初期与原始蚁群算法相比有较好的收敛速度。而CACO算法能够平衡多目标节点的收敛速度,算法总体的运算时间比原始ACO算法要少。尤其是两个算法的端到端平均延迟比原始蚁群算法都低,RACO算法网络吞吐量及发包率上也要好于原始蚁群算法。