基于GA遗传优化的离散交通网络双层规划模型设计matlab仿真

62 阅读2分钟

1.程序功能描述 基于GA遗传优化的离散交通网络双层规划模型设计.优化输出路段1和路段2的收费情况收敛过程。

2.测试软件版本以及运行结果展示 MATLAB2022a版本运行

6c4948041312f015238df7aced6f4ec7_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

5fa3aba749889615723a48c1f30fed90_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg 3.核心程序 `while gen < MAXGEN;
rng(gen) gen

  P1 = 0.9;
  P2 = 1-P1;

  FitnV=ranking(Objv);    

  Selch=select('sus',Chrom,FitnV);    
  Selch=recombin('xovsp', Selch,P1);   
  Selch=mut( Selch,P2);   
  phen1=bs2rv(Selch,FieldD);   
  for a=1:1:NIND  
      if  gen == 1
          Cost1(a) = Cost1_intial;       
          Cost2(a) = Cost2_intial;               
      else
          Cost1(a) = phen1(a,1);   
          Cost2(a) = phen1(a,2);   
      end
      
      %计算对应的目标值
      [errs,a1,a2,eas,tas,xa3] = func_obj(Cost1(a),Cost2(a));
      E               = errs;
      JJ(a,1)         = E;
  end 
  Objvsel      =(JJ+eps);    
  [Chrom,Objv] = reins(Chrom,Selch,1,1,Objv,Objvsel);   
  gen          = gen+1; 

  %保存参数收敛过程和误差收敛过程以及函数值拟合结论
  Cost1gen(gen) = mean(Cost1);
  Cost2gen(gen) = mean(Cost2); 
  F(gen)        = mean(JJ);
  if gen <=32
     F2(gen)        = mean(F(1:gen));
     Cost1gen2(gen) = mean(Cost1gen(1:gen));
     Cost2gen2(gen) = mean(Cost2gen(1:gen));
  else
     F2(gen)        = mean(F(gen-32:gen)); 
     Cost1gen2(gen) = mean(Cost1gen(gen-32:gen));
     Cost2gen2(gen) = mean(Cost2gen(gen-32:gen));
  end

end

Cost1f = Cost1gen(end);
Cost2f = Cost2gen(end);

figure; plot(F2(2:end),'linewidth',2); xlabel('迭代次数'); ylabel('上层目标函数'); grid on

figure; plot(Cost1gen2(2:end),'r','linewidth',2); hold on plot(Cost2gen2(2:end),'b','linewidth',2); xlabel('迭代次数'); ylabel('收费情况'); legend('路段1','路段2'); grid on

disp('流量'); eas 06_029m

`

4.本算法原理

  1. 使用一氧化碳作为路网车辆尾气排放的代表指标,计算公式如下:

348f4982997006eaa2537544f3b00b04_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

  1. 双层规划模型 上层模型 采用多目标模型,系统总出行时间最小,同时区域排放最小

2aacabdc1131f1bb546eead290dd9ec4_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.下层模型

采用固定需求的用户平衡(UE),总阻抗最小

5.png

6.png

N——网络中节点的集合;

L——网络中路段的集合;

R——网络中出发地的集合;

S——网络中目的地的集合;

——出发地 和目的地 之间的所有径路的集合;

——出发地 和目的地 之间的OD交通量;