您现在的位置:首页 >> 智能优化 >> 内容

m基于遗传优化算法的车辆货物运输问题matlab仿真,包括行驶距离,等待卸货时间及货损等问题

时间:2022/12/9 18:30:49 点击:

  核心提示:02_066m,包括程序操作录像...

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

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

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

点击店铺

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

2.部分仿真图预览


3.算法概述

        遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过交叉,变异过程产生更适应环境的新一代“染色体”群。这样,一代一代地进化,最后就会收敛到最适应环境的一个“染色体”上,它就是问题的最优解。


4.部分源码

%t_ij^k 车辆k从节点i到节点j的时间 h*************************

tijk = dijk./vijk;

[R,C] = size(tijk);

for i = 1:R

    for j = 1:C

        if isnan(tijk(i,j))==1

           tijk(i,j)=0;

        end

    end

end

%t_i^k 车辆k在节点客户i的等待卸货时间 h*************************

%ca 每条生产线的产能 KG

ca = 6000;

%f_1每条生产线的固定成本

f1 = 1000;

%w_1 每条生产线的人工费

w1 = 1000;

%pc 每条生产线的加工费

pc = 500;

%sa 每组库存空间的存储能力 KG

sa = 5000;

%f_2 每组存储空间的固定成本

f2 = 800;

%w_2 每组存储空间的人工费

w2 = 700;

%ec 存储的附加费

ec = 800;

%N 可配送的最大车辆数

N  = 10;

%f_3 车辆的固定成本

f3 = 26;

%c_1 燃油单价

c1 = 120;

%c_2 维修单价

c2 = 10;

车辆折旧程度

alpha = 0.2;

车厢热传导

beta  = 40;

%S 车厢表面积 m2

S  = 32;

%T 内外温差

T  = 5;

%P_c 制冷剂单价 元/kw

Pc  = 0.0007;

%e 冷冻箱耗电成本 元/h

e  = 0.0807;

%V_N 冷冻箱容积 KG

VN  = 180;

%V_max 运送车的最大容量 KG

Vmax  = 2300;

%P 卸货效率

P = 600;

%a_1 司机成本

a1 = 15;

%a_2 卸货员成本

a2 = 12.5;

%b_i 每个客户索要的赔偿金 元/KG

bi = [0

143

193

167

137

196

188

103

149

182

185

102

157

112

150

152

130

149

181

135

174

];

%点数Nd

Nd     = 20;

m      = Nd;

n3max  = 10;%先假设n3最大为10个车,然后通过优化算法找到尽可能少的车。

MAXGEN = 400;

NIND   = 200;

Nums   = (Nd+1)*(Nd+1)*n3max+(Nd+1)*n3max+3;%含义是,(Xijk,即i取值为1~Nd,j取值为1~Nd,然后每个车)*总共n3个车

Chrom  = crtbp(NIND,Nums*10);

%sh

Areas = [];

for j = 1:n3max

    for i = 1:(Nd+1)*(Nd+1)

        Areas = [Areas,[0;1]];%出发点

    end

end

for j = 1:n3max

    for i = 1:(Nd+1)

        Areas = [Areas,[0;Q(i)]];   

    end

end

for j = 1:3

    Areas = [Areas,[1;Nd]];   

end

FieldD = [rep([10],[1,Nums]);Areas;rep([0;0;0;0],[1,Nums])];

gen   = 0;

Js    = rand(NIND,1);

Objv  = (Js+eps);

gen   = 0; 

while gen < MAXGEN;   

      gen

      Pe0 = 0.99;

      pe1 = 0.01; 

      FitnV=ranking(Objv);    

      Selch=select('sus',Chrom,FitnV);    

      Selch=recombin('xovsp', Selch,Pe0);   

      Selch=mut( Selch,pe1);   

      phen1=bs2rv(Selch,FieldD);   

      for a=1:1:NIND  

          X           = phen1(a,:);

          %计算对应的目标值

          [epls,Xijk,n3,Qik]      = func_obj(X);

          E           = epls;

          JJ(a,1)     = E;

          Xijk_{a}    = Xijk;

          n3_{a}      = n3;

          Qik_{a}     = Qik;

      end 

      Objvsel=(JJ);    

      [Chrom,Objv]=reins(Chrom,Selch,1,1,Objv,Objvsel);   

      gen=gen+1; 

      %保存参数收敛过程和误差收敛过程以及函数值拟合结论

      Error(gen) = mean(JJ);

end 

figure

plot(Error,'linewidth',2);

grid on

xlabel('迭代次数');

ylabel('遗传算法优化过程');

legend('Average fitness');

[V,I]   = min(JJ);

n3opt   = n3_{I};  

Xijkopt = Xijk_{I}(:,:,1:n3);

Qikopt  = Qik_{I}(:,1:n3); 

02_066m

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