【路径规划-多式联运】基于遗传算法求解多式联运冷链运输成本优化问题附matlab代码

简介: 【路径规划-多式联运】基于遗传算法求解多式联运冷链运输成本优化问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

在军事运输中,采用多种运输方式联合投送是加强战略投送能力建设发展的重要途径,而路径规划是制定多式联运输送保障方案的关键第一步。本文提出了一个以遗传算法为主框架的解决方案,用来求解多式联运的路径规划问题。首先,本文从运输需求内容、运输过程、应用场景等角度对多式联运在军事运输中的应用进行分析,定义多式联运路径规划问题,建立分别以时问最短、路线最短、成本最低为目标的多式联运路径规划模型。该问题是一个规模庞大的组合优化问题,属于NP-hard问题。提出了以遗传算法为主,A*算法为辅的求解思路。接着,参考层次空间推理理论,将铁路、水路、公路、航空等多种运输方式的道路网络数据融合并分层,构建多式联运路径规划专用的网络拓扑。这样的分层处理,能够将单一运输方式道路网络中的最短路这一子问题剥离出来,也能够有效地降低遗传算法搜索空间的规模。

⛄ 部分代码

function mupop=mutetu(pop,GA,Math,P,qi,zdd)

mupop=cell(size(pop));

   for i=1:GA.popsize

       indv=cell2mat(pop(i));

       indv2= indv;

       if rand< GA.pm

           if length(indv)<=3

               k = 2;

           else

               k=round(rand()*(length(indv)-3))+2;% 只能取去掉起点和终点后的点的随机索引。

%             k= unidrnd(length(indv));

           end

           %  单点变异

           if mod(k,2)==0

               try

                   math = cell2mat(Math(indv(k-1),indv(k+1)));% 所有可行的运输方式

                   math2 = setdiff(math,indv(k));

               catch ErrorInfo

                   disp(ErrorInfo);

               end

               if isempty(math2)

                   mupop(i)={indv};

               else    

                   indv2(k)= math2(randi(length(math2)));

                   flag = test(indv2,qi,zdd);

                   if flag ==1

                       [v1]=Objfun2( indv,Modd);

                       [v2]=Objfun2( indv2,Modd);

                       if v1>v2

                            mupop(i)={indv2};

                       else

                           mupop(i)={indv};

                       end

                   else

                        mupop(i)={indv};

                   end            

               end

           else

               % 节点变异

               indv2 = cell2mat(proM(indv(k-1),indv(end),P,Math,1));

               flag = test(indv2,qi,zdd);

               %             mupop(i)={indv};

               if flag ==1

                   mupop(i)={indv2};

               else

                   mupop(i)={indv};

               end

   

%                 mu_Point(k,indv,P,Math);

           end

       else

             mupop(i)={indv};

           

       end

   end

end

⛄ 运行结果

⛄ 参考文献


❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除


相关文章
|
26天前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
152 0
|
26天前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
126 8
|
26天前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
127 8
|
26天前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
105 0
|
26天前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
|
26天前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
|
26天前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
|
26天前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
|
26天前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
110 8

热门文章

最新文章