您现在的位置:首页 >> 网络协议 >> 内容

m基于GA遗传优化和OSPF协议的WSN最短路由算法matlab仿真,并输出节点的不同层域

时间:2023/1/24 22:04:47 点击:

  核心提示:12_001_m包括程序操作录像+说明文档...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y56Yk5tt

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

step1. 当有连接请求时,算法开始,考察源节点S是否为域的边界节点,不是的话在域内使用最短跳算法路由至此域的边界节点

域的边界节点用U表示(图中A, B),下一跳接口为[D, N, r(U, N)],D为宿节点,N为下一跳结点,r(U, N) = {wU, wN, hU-N},wU, wN为U,N结点间波长,hU-N 是U,N间的代价,再到下一跳r(N, E),E为下一个域的边界节点。

step2. 根据OSPF 协议规范,在请求连接的两点之间,用Dijkstra 算法计算出所有路径,尽量消除冗余存储和冗余计算,挑选出代价最少的路径,hU-D = hU-N+ hN-E + …+h*-D, 总代价为各跳路径相加,

step3. 考察波长连续性,: r(U, N) = {wU, wN1, hU-N}, r(N, E) = {wN2, wE1, hN-E}…r(*, D) = {w*2, wD, h*-D}.

If wN1 = wN2, && wE1= wE2 &&…. w*1= w*2, return null,

否则,加入波长变换器, 此路径代价变为C。

step4. 考察次短路径,是否存在符合波长连续性的波长,若有,则转到步骤7,否则执行步骤6;

step5. 设最短路径增加波长变换器代价为C,采用次短路径的代价为H2,比较C、H2,若C<H2,则采用增加波长变换器方法,选择最短路径,否则采用次短路径;跳至步骤4;

step6. 循环执行步骤4,5,直至计算出合适的路径;

Step7. 显示所选路径,算法结束,S结点开始发包至宿节点D

4.部分源码

........................................................................

[D,M]=tsp(webpoint);

popsize=100;

N=200;                  %N为迭代次数

pcro=0.85;

pmut=0.5;

gen=1;

minval=inf;

pop=initialize(popsize,webpoint);

while gen<=N    

gen

  val=adapt(pop,popsize,webpoint,D);  

 

  fitval=(1000./val).^15;

  [valmin,minind]=min(val);

  

%保存最优

  if valmin<minval

      minval=valmin;

      minpath=pop(minind,:);

   end   

   minf(gen)=minval;                 %最短路径长度      

pop=select(pop,fitval,popsize,webpoint,minpath);  %比例选择

pop=crossover(pop,pcro,popsize,webpoint);  %OX交叉

pop=mutation(pop,pmut,popsize,webpoint);   %变异      

drawTSP(M,minpath,minval,gen,0);

gen=gen+1;

end

drawTSP(M,minpath,minval,gen,1);

hold on

...................................................................

axis equal

12_001_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168