12QoS路由问题的粒子群算法MATLAB源代码.docx_第1页
12QoS路由问题的粒子群算法MATLAB源代码.docx_第2页
12QoS路由问题的粒子群算法MATLAB源代码.docx_第3页
12QoS路由问题的粒子群算法MATLAB源代码.docx_第4页
12QoS路由问题的粒子群算法MATLAB源代码.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

欢迎访问GreenSim团队主页/greensim 邮箱:QoS路由问题的粒子群算法MATLAB源代码粒子群算法在离散优化领域的应用比较少见,为了将粒子群算法应用在QoS路由领域,而又不偏离粒子群算法的基本思想,定义并设计了一种“算子”,并且设计了一种 “随机游动算子”,将基于路径的变异算子引入算法,增强算法的全局搜索能力。% 第一步:产生网络拓扑结构BorderLength=10; %正方形区域的边长,单位:kmNodeAmount=30; %网络节点的个数Alpha=10; %网络特征参数,Alpha越大,短边相对长边的比例越大Beta=5; %网络特征参数,Beta越大,边的密度越大PlotIf=1; %是否画网络拓扑图,如果为1则画图,否则不画FlagIf=0; %是否标注参数,如果为1则将标注边的参数,否则不标注Sxy,AM,Cost,Delay,DelayJitter,PacketLoss=NetCreate(BorderLength,NodeAmount,Alpha,Beta,PlotIf,FlagIf);% 第二步:使用粒子群算法搜索最优路径,存储数据,输出最优结果和收敛曲线% GreenSim团队专业级算法设计&代写程序% 欢迎访问GreenSim团队主页/greensimS=2,4; %源节点的集合,用向量存储T=25,27,29; %目的节点的几何,用向量存储Alpha=1; %适应值计算式中费用的系数Beta=5e5; %适应值计算式中延时的系数Gamma=3e6; %适应值计算式中延时抖动的系数Delta=1000; %适应值计算式中丢包率的系数QoSD=100e-6; %延时的QoS约束QoSDJ=100e-6; %延时抖动的QoS约束QoSPL=0.02; %丢包率的QoS约束r1=0.1; %单个粒子的历史最优个体对当前粒子的影响系数,0r1=1r2=0.3; %粒子群的全局最优个体对当前粒子的影响系数,0r2=1r3=0.2; %粒子随机游动的影响系数,0=r3=1,r3可以为0,这时将关闭随机游动功能P=10; %粒子的个数Q=20; %迭代次数%m=length(S);n=length(T);AllRoutes=cell(m,n);%各粒子经过的全部路径AllFitness=cell(m,n);HistoryBestRoutes=cell(m,n);%各粒子的历史最优路径HistoryBestFitness=cell(m,n);AllBestRoutes=cell(m,n);%全局最优路径AllBestFitness=cell(m,n);for i=1:m for j=1:n s=S(i); t=T(j); ROUTEst,FitFlag,HR,HFF,AR,AFF=PSOUC(s,t,r1,r2,r3,P,Q,AM,Cost,Delay,DelayJitter,PacketLoss,QoSD,QoSDJ,QoSPL,Alpha,Beta,Gamma,Delta); AllRoutesi,j=ROUTEst; AllFitnessi,j=FitFlag; HistoryBestRoutesi,j=HR; HistoryBestFitnessi,j=HFF; AllBestRoutesi,j=AR; AllBestFitnessi,j=AFF; endend%下面整理最优结果SYZ=Inf;FinalRoute=;%最终的最优路由FinalFitness=;%最终的最优路由对应的参数LearnCurve1=zeros(1,Q);%收敛曲线LearnCurve2=zeros(1,Q);%收敛曲线for q=1:Q TT=; for i=1:m for j=1:n ABR=HistoryBestRoutesi,j; ABF=HistoryBestFitnessi,j; for p=1:P ABRq=ABRp,q; ABFq=ABFp,q; TT=TT,ABFq(1,1); if ABFq(1,1)SYZ FinalRoute=ABRq; FinalFitness=ABFq; SYZ=ABFq(1,1); end end end end LearnCurve1(q)=mean(TT); LearnCurve2(q)=min(TT);endfigure(2)plot(LearnCurve1,bs-)xlabel(迭代次数)ylabel(平均适应值)figure(3)plot(LearnCurve2,bs-)xlabel(迭代次数)ylabel(最优粒子适应值) function ROUTEst,FitFlag,HR,HFF,AR,AFF=PSOUC(s,t,r1,r2,r3,P,Q,AM,Cost,Delay,DelayJitter,PacketLoss,QoSD,QoSDJ,QoSPL,Alpha,Beta,Gamma,Delta)% 使用粒子群算法求源节点s到目的节点t的满足QoS约束的最小费用路径,将这些路径及其参数记录下来% GreenSim团队专业级算法设计&代写程序% 欢迎访问GreenSim团队主页/greensim% 输入参数列表% s 单个的源节点% t 单个的目的节点% r1 单个粒子的历史最优个体对当前粒子的影响系数,0r1=1% r2 粒子群的全局最优个体对当前粒子的影响系数,0r2=1% r3 粒子随机游动的影响系数,0=r3=1,r3可以为0,这时将关闭随机游动功能% P 粒子的个数% Q 迭代次数% AM 01形式存储的邻接矩阵% Cost 边的费用邻接矩阵% Delay 边的时延邻接矩阵% DelayJitter 边的延时抖动邻接矩阵% PacketLoss 边的丢包率邻接矩阵% QoSD 延时的QoS约束% QoSDJ 延时抖动的QoS约束% QoSPL 丢包率的QoS约束% Alpha 适应值计算式中费用的系数% Beta 适应值计算式中延时的系数% Gamma 适应值计算式中延时抖动的系数% Delta 适应值计算式中丢包率的系数% 输出参数列表% ROUTEst PQ的细胞结构,存储所有粒子经历过的从s到t的路径% FitFlag PQ的细胞结构,存储与ROUTEst对应的Fitness和Flag数据% HR PQ的细胞结构,存储所有粒子的历史最优路径% HFF PQ的细胞结构,存储所有粒子的历史最优路径对应的参数% AR 1Q的细胞结构,存储全局最优路径% AR 1Q的细胞结构,存储全局最优路径对应的参数% 粒子群初始化ROUTEst=cell(P,Q);FitFlag=cell(P,Q);HR=cell(P,Q);%各粒子的历史最优路径HFF=cell(P,Q);%各粒子的历史最优路径对应的参数AR=cell(1,Q);%全局最优路径AFF=cell(1,Q);%全局最优路径对应的参数TRACK=Initialize(AM,s,P);for p=1:P Route=TRACKp; pos=find(Route=t); Route=Route(1:pos(1); Route=Fresh(Route); ROUTEstp,1=Route; HRp,1=Route; Fitness,Flag=Fit(Route,Cost,Delay,DelayJitter,PacketLoss,QoSD,QoSDJ,QoSPL,Alpha,Beta,Gamma,Delta); FitFlagp,1=Fitness;Flag; HFFp,1=Fitness;Flag;endSYZ=Inf;for p=1:P Route=HRp,1; FF=HFFp,1; if FF(1,1)SYZ AR1=Route; SYZ=FF(1,1); AFF1=FF; endend%for q=2:Q %按照粒子群迭代公式计算各个粒子的下一个位置 for p=1:P Route=ROUTEstp,q-1; OptRoute1=HRp,q-1; OptRoute2=AR1,q-1; Route=SpecialAdd(Route,OptRoute1,r1,Cost);%向自己的历史最优位置靠近 Route=SpecialAdd(Route,OptRoute2,r2,Cost);%向全局历史最优位置靠近 Route=RandMove(Route,r3,AM);%随机游动 Fitness,Flag=Fit(Route,Cost,Delay,DelayJitter,PacketLoss,QoSD,QoSDJ,QoSPL,Alpha,Beta,Gamma,Delta); ROUTEstp,q=Route; FitFlagp,q=Fitness;Flag; end %更新各粒子的历史最优位置 for p=1:P F1=HFFp,q-1; F2=FitFlagp,q; if F2(1,1)F1(1,1) HRp,q=ROUTEstp,q; HFFp,q=Fi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论