首页 > 行业资讯 > 【VRP问题】基于遗传算法求解外卖配送问题附MATLAB代码

【VRP问题】基于遗传算法求解外卖配送问题附MATLAB代码

时间:2022-02-23 来源: 浏览:

【VRP问题】基于遗传算法求解外卖配送问题附MATLAB代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于话题 #路径规划matlab源码 290个

1 简介

2 部分代码

function MeanWaitTime = WaitTime(TotalOrder,NumDeliPerson,DeliPlan,AllType,AllDistance,Velocity,X) % 顾客等待订单平均评价时间 a = 1; b = DeliPlan(1); EachX = zeros(TotalOrder,NumDeliPerson); EachDeliActualTime = zeros(TotalOrder,NumDeliPerson); %每个订单的实际时间 EachDeliEvalTime = zeros(TotalOrder,NumDeliPerson); %每个订单的评价时间 for j=1:length(DeliPlan) EachX(1 : (b-a+1),j)=X(a:b,1); %记录每位配送员的订单 %计录每位配送员的配送每一单的评价时间 for k=1:DeliPlan(j) %判断订单属性 switch AllType(EachX(k,j)) case 0 %普通食物 PenaltyFactor = 0; case 1 PenaltyFactor = 0.05; %冷藏食物 otherwise PenaltyFactor = 0.2; %冷冻食物 end %计算订单的实际时间和评价时间 if k==1 EachDeliActualTime(k,j) = AllDistance(1,EachX(k,j)+1)/Velocity+0.05; %0.05小时 EachDeliEvalTime(k,j) = EachDeliActualTime(k,j)*(1+PenaltyFactor); else EachDeliActualTime(k,j) = sum(EachDeliActualTime(1:k-1,j))+AllDistance(EachX(k-1,j)+1,EachX(k,j)+1)/Velocity+0.05; EachDeliEvalTime(k,j) = EachDeliActualTime(k,j)*(1+PenaltyFactor); end end if j==length(DeliPlan) break else a = a+DeliPlan(j); b = b+DeliPlan(j+1); end end %求顾客平均等待时间 MeanWaitTime = sum(sum(EachDeliEvalTime))/TotalOrder; end

3 仿真结果

4 参考文献

[1]周屹, 李海龙, 王锐. 遗传算法求解物流配送中带时间窗的VRP问题[J]. 吉林大学学报:理学版, 2008, 46(2):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐