欢迎来到天天文库
浏览记录
ID:22122838
大小:29.00 KB
页数:7页
时间:2018-10-27
《基于omnet++平台的antnet的仿真》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于OMNeT++平台的AntNet的仿真 摘要研究了AntNet的程序总体架构设计、模块接口定义、定时器设计,并基于OMNeT++仿真平台搭建了AntNet的算法环境,程序运行效果良好,可以满足后续的研究使用。 【关键词】网络路由智能算法蚂蚁算法 1引言 蚂蚁觅食时,会在沿途洒下一种随时间挥发的信息素,来指导后面蚂蚁的选路。当道路出现分叉点时,蚂蚁总是倾向选择信息素较浓的路径。蚂蚁找到食物源后按原路返回,沿途继续洒下信息素,这样找到食物的路径上的信息素就得到了增强。路径越短,蚂蚁往返的就越快,相应路径上的信息素增强的频率就越高,后面蚂蚁选择这条路
2、的概率也就越大,选择的这条路径的蚂蚁数量也随之变多,信息素又得到进一步的增强。这种正反馈机制,最终导致所有的蚂蚁都选择了最短的路径。受此启发,意大利学者M.Dorigo等提出了蚁群优化算法(AntColonyOptimization,ACO),成为了近期的研究热点。AntNet是MuddassarFarooq博士设计出的蚂蚁算法软件,其直观、高效,成为很多人学习、研究蚁群算法研究的基础,本文基于OMNeT++平台搭建了AntNet算法。 2测试环境搭建 在Win2000平台上,基于OMNeT++与MicrosoftVisualC++6.0的集成编译环境
3、,搭建AntNet的算法仿真,步骤如下: 步骤一:程序安装。 首先安装MSVC6.0和它ServicePack5以上版本的程序补丁,下载一个版本的OMNeT++执行安装,我们选用的是v3.0pre1版本。 步骤二:文件拷贝。 安装完毕后,将宏文件omnetpp.dsm拷贝到如下目录: C:\ProgramFiles\MicrosoftVisualStudio\Common\MSDev98\Macros 步骤三:添加设置系统变量。 以实验环境至少包含以下几项内容: (1)INCLUDE=%INCLUDE%;C:\ProgramFiles\Mi
4、crosoftVisualStudio\VC98\INCLUDE;C:\OMNeT++\include (2)LIB=%LIB%;C:\ProgramFiles\MicrosoftVisualStudio\VC98\Lib;C:\OMNeT++\lib (3)Path=%PATH%;C:\OMNeT++\bin;C:\ProgramFiles\Tcl\bin;C:\ProgramFiles\MicrosoftVisualStudio\Common\msdev98\BIN;C:\ProgramFiles\MicrosoftVisualStudio\VC9
5、8\BIN (4)TCL_LIBRARY=C:\OMNeT++\lib\tcl8.4 步骤四:在MSVC开发环境下激活宏文件。 (1)打开菜单“Tools
6、Customize”→选择tab中“Add-insandMacroFiles”一项→在列表框中选中“omnetpp”一项。 (2)将图标加入MSVC工具条:打开菜单“Tools
7、Customize”→选择tab中“Commands”→在组合框中“theCategory”选择“Macros”→在列表框中能看到的“addNEDfileToProject”一项拖至工具条→选择图标→最后关闭对话框。
8、步骤五:使用时MSVC开发调试程序。 点击→在出现的输入框内键入需要加入的ned类型文件名“*.ned”→相应的宏文件就加入到工程了。这个工作实际上封装了两步内容:编译“*.ned”文件和加入编译过的相应“*_n.cpp”文件。然后,就可以在MSVC中根据需要编写算法的核心程序。 步骤六:使用命令行方式开发程序。 在DOS状态下进入应用程序的相应目录,分别运行命令“opp_nmakemake-f”和“nmake-fMakefile.vcdepend”即可。前一??命令用于生成“makefile.vc”文件,后一个命令用于重新编译程序。 3软件架构分
9、析 3.1软件模块分析 AntNet软件共有11个模块构成,包含6个简单模块和3个复合模块,如图1所示。6个简单模块分别是AG(AntGenerator)、AS(AntSink)、AN(AntNest)、DG(DataGenerator)、DS(DataSink)、RT(Router)、ST(Statistics)和GN(GenericNetworkNode),3个复合模块分别是Network、AntNeworkNode和SpecialTopology。 DG是网络节点处数据的产生模块,它负责产生各种要求的数据报文;AG模块是网络节点处蚂蚁的产生模块
10、,它负责周期性产生前行蚂蚁,并根据当前的网络模型选择前行蚂蚁的目的
此文档下载收益归作者所有