【VRP问题】基于帝国企鹅优化算法求解冷链配送物流车辆调度优化研究(Matlab代码实现)
目录
1 概述
2 帝国企优化算法
3 运行结果
4 Matlab代码及文章讲解
5 参考文献
6 写在最后
1 概述
在互联网的带动下,农产品冷链物流需求越来越大,而成本一直是制约冷链牧流发展的关键因素,如何有效降低冷链物流成本成为国家、企业和消费者共同关注的热点话题。与此同时,冷链物流市场的扩大以及消费者对服务品质的要求提升促使企业不得不提升自身服务质量,提高满意度来增加顾客黏性,在竞争激烈的场中占据一席之地。因此,本文的研究旨在通过合理的车辆调度和路径优化,在保证满意度处于高水平的情况下,使综合成本最低,为冷链物流企业的日常调度工作作提供依据。本文突破了仅考虑运输成本及单配送中心来优化冷链物流路径的局限性克服了传统遗传算法在求解VRP(Vehicle Routing Problem)问题的不足,提出了基于帝国企鹅优化算法求解冷链配送物流车辆调度优化研究,因而具有重要的理论和现实意义。
2 帝国企优化算法
自2018年Gaurav等[4提出帝企鹅优化算法以来,学者对初始帝企鹅优化算法进行研究并且寻求其进一步改进,希望可以将其用于不同类型的优化问题求解中。Jia等[6⒁I在帝企鹅优化算法的基础上,利用Masi嫡作为目标函数,提出一种改进帝企鹅优化算法,实验结果证明所提出的算法更适合于高维复杂卫星图像的分割。Kumar等使用基于量子的多目标帝企鹅优化算法进行自动聚类,以及应用于图像分割中。Santos等提出了多目标版本的帝企鹅优化算法,并且将提出的算法用于最佳特征选择与癌症分类。Baliarsingh 等[I将社会工程优化的莫因算法嵌入帝企鹅优化算法,增强了EPO算法的开发能力,成功的将医疗数据进行分类。Gaurav等[7]提出一个新的二元帝企鹅优化算法(BEPO)进行自动特征选择。Tang等对原始帝企鹅优化算法改进,提出一种改进EPO算法,用以优化住址建筑。Gaurav等!?"结合了多目标斑点鬣狗算法、樽海鞘群算法和帝企鹅优化算法的特征,提出新的混合多目标元启发式算法求解工程设计问题。Shrivastava将帝企鹅优化算法应用于限制使用无线电传感器网络污染的城市交通管理。
3 运行结果
这里仅展现部分图。
4 Matlab代码及文章讲解
function drawPc(result1,option,data,str)figurehold onlegendStr=[{'车场'},{'顾客'}];plot(data.node(data.noCenter,2),data.node(data.noCenter,3),'h','LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor','r',...'MarkerSize',10);plot(data.node(data.noNode,2),data.node(data.noNode,3),'o','LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor','g',...'MarkerSize',10);for i=1:length(result1.recording.Path)path=[result1.recording.Path{i}(:,1);1];plot(data.node(path,2),data.node(path,3),'-','LineWidth',2);legendStr=[legendStr,{['第',num2str(i),'辆车路线']}];endlegend(legendStr);title([str,',求解路线,总目标:',num2str(result1.fit)]);for i=1:length(result1.recording.Path)figurehold onlegendStr=[{'车场'},{'顾客'}];plot(data.node(data.noCenter,2),data.node(data.noCenter,3),'h','LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor','r',...'MarkerSize',10);plot(data.node(data.noNode,2),data.node(data.noNode,3),'o','LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor','g',...'MarkerSize',10);path=[result1.recording.Path{i}(:,1);1];plot(data.node(path,2),data.node(path,3),'-','LineWidth',2);legendStr=[legendStr,{['第',num2str(i),'辆车路线']}];legend(legendStr);title([str,',第',num2str(i),'辆车路线,总目标:',num2str(result1.fit)]);endend
function drawPc(result1,option,data,str)
figure
hold on
legendStr=[{'车场'},{'顾客'}];
plot(data.node(data.noCenter,2),data.node(data.noCenter,3),'h','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','r',...
'MarkerSize',10);
plot(data.node(data.noNode,2),data.node(data.noNode,3),'o','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10);
for i=1:length(result1.recording.Path)
path=[result1.recording.Path{i}(:,1);1];
plot(data.node(path,2),data.node(path,3),'-','LineWidth',2);
legendStr=[legendStr,{['第',num2str(i),'辆车路线']}];
end
legend(legendStr);
title([str,',求解路线,总目标:',num2str(result1.fit)]);
for i=1:length(result1.recording.Path)
figure
hold on
legendStr=[{'车场'},{'顾客'}];
plot(data.node(data.noCenter,2),data.node(data.noCenter,3),'h','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','r',...
'MarkerSize',10);
plot(data.node(data.noNode,2),data.node(data.noNode,3),'o','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10);
path=[result1.recording.Path{i}(:,1);1];
plot(data.node(path,2),data.node(path,3),'-','LineWidth',2);
legendStr=[legendStr,{['第',num2str(i),'辆车路线']}];
legend(legendStr);
title([str,',第',num2str(i),'辆车路线,总目标:',num2str(result1.fit)]);
end
end
function drawPc(result1,option,data,str)
figure
hold on
legendStr=[{'车场'},{'顾客'}];
plot(data.node(data.noCenter,2),data.node(data.noCenter,3),'h','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','r',...
'MarkerSize',10);
plot(data.node(data.noNode,2),data.node(data.noNode,3),'o','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10);
for i=1:length(result1.recording.Path)
path=[result1.recording.Path{i}(:,1);1];
plot(data.node(path,2),data.node(path,3),'-','LineWidth',2);
legendStr=[legendStr,{['第',num2str(i),'辆车路线']}];
end
legend(legendStr);
title([str,',求解路线,总目标:',num2str(result1.fit)]);
for i=1:length(result1.recording.Path)
figure
hold on
legendStr=[{'车场'},{'顾客'}];
plot(data.node(data.noCenter,2),data.node(data.noCenter,3),'h','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','r',...
'MarkerSize',10);
plot(data.node(data.noNode,2),data.node(data.noNode,3),'o','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10);
path=[result1.recording.Path{i}(:,1);1];
plot(data.node(path,2),data.node(path,3),'-','LineWidth',2);
legendStr=[legendStr,{['第',num2str(i),'辆车路线']}];
legend(legendStr);
title([str,',第',num2str(i),'辆车路线,总目标:',num2str(result1.fit)]);
end
end
完整代码:基于帝国企鹅优化算法求解冷链配送物流车辆调度优化研究
function drawPc(result1,option,data,str)
figure
hold on
legendStr=[{'车场'},{'顾客'}];
plot(data.node(data.noCenter,2),data.node(data.noCenter,3),'h','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','r',...
'MarkerSize',10);
plot(data.node(data.noNode,2),data.node(data.noNode,3),'o','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10);
for i=1:length(result1.recording.Path)
path=[result1.recording.Path{i}(:,1);1];
plot(data.node(path,2),data.node(path,3),'-','LineWidth',2);
legendStr=[legendStr,{['第',num2str(i),'辆车路线']}];
end
legend(legendStr);
title([str,',求解路线,总目标:',num2str(result1.fit)]);
for i=1:length(result1.recording.Path)
figure
hold on
legendStr=[{'车场'},{'顾客'}];
plot(data.node(data.noCenter,2),data.node(data.noCenter,3),'h','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','r',...
'MarkerSize',10);
plot(data.node(data.noNode,2),data.node(data.noNode,3),'o','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10);
path=[result1.recording.Path{i}(:,1);1];
plot(data.node(path,2),data.node(path,3),'-','LineWidth',2);
legendStr=[legendStr,{['第',num2str(i),'辆车路线']}];
legend(legendStr);
title([str,',第',num2str(i),'辆车路线,总目标:',num2str(result1.fit)]);
end
end
5 参考文献
[1]李娜. 单亲遗传算法的冷链物流车辆路径问题(VRP)优化研究[D].燕山大学,2016.
6 写在最后
部分理论来源于网络文献,如有侵权联系删除。
【VRP问题】基于帝国企鹅优化算法求解冷链配送物流车辆调度优化研究(Matlab代码实现)相关推荐
- 【VRP问题】基于帝国企鹅优化算法求解冷链配送物流车辆调度优化研究
目录 1 概述 2 帝国企优化算法 3 运行结果 4 Matlab代码及文章讲解 5 参考文献 6 写在最后 1 概述 在互联网的带动下,农产品冷链物流需求越来越大,而成本一直是制约冷链牧流发展的 ...
- 【VRP问题】基于企鹅优化算法求解冷链配送物流车辆调度优化研究
目录 1 概述 2 帝国企优化算法 3 运行结果 4 参考文献 5 Matlab代码实现 1 概述 在互联网的带动下,农产品冷链物流需求越来越大,而成本一直是制约冷链牧流发展的关键因素,如何有效降低冷 ...
- 【优化布局】基于差分进化算法求解电力系统负荷分配中的应用问题matlab代码
1 简介 差分进化算法在处理连续域.非凸.不确定性和全局优化问题时具有优势,已在包括电力系统最优潮流在内的诸多领域得到广泛应用.电力系统最优潮流是一个复杂的非线性优化问题,要求在满足特定的电力系统运行 ...
- 【路径规划】基于水滴算法求解多仓库车辆路径规划问题matlab代码
1 简介 车辆路径优化问题是典型的组合优化问题,是基于系统优化的思想,对运输作业服务中车辆的路径进行优化的方式,以达到运输作业服务中目标函数最优化的问题.随着经济节奏的加快对运输作业服务所提出的要求多 ...
- 单目标应用:基于北方苍鹰优化算法NGO的概率神经网络PNN数据分类(提供MATLAB代码)
一.北方苍鹰优化算法NGO 北方苍鹰优化算法(Northern Goshawk Optimization,NGO)由MOHAMMAD DEHGHANI等人于2022年提出,该算法,该算法模拟了北方苍鹰 ...
- 基于智能优化算法PSO/GWO/AFO+柔性车间生产调度(Matlab代码实现)
目录 1 柔性车间生产调度 2 运行结果 3 参考文献 4 Matlab代码实现 1 柔性车间生产调度 随着经济全球化的不断加深和市场竞争的日益严峻,传统的单一车间制造模式已经无法满足我国制造业的生产 ...
- 【车间调度】灰狼优化算法求解柔性作业车间问题【含Matlab源码 661期】
⛄一.车间调度简介 1 车间调度定义 车间调度是指根据产品制造的合理需求分配加工车间顺序,从而达到合理利用产品制造资源.提高企业经济效益的目的.车间调度问题从数学上可以描述为有n个待加工的零件要在m台 ...
- 基于粒子群优化算法的最优机器人路径规划(Matlab代码实现)
目录 1 概述 2 运行结果 3 Matlab代码实现 1 概述 近年来,智能机器人逐渐应用于医疗.服务.航空等众多领域.路径规划作为机器人实现智能自主规划的关键技术,受到众多学者的广泛关注2'.其具 ...
- MATLAB实战系列(八)-头脑风暴优化(BSO)算法求解旅行商问题(TSP)(附MATLAB代码)
这份源代码包含7个函数,分别如下: 01 | 主函数 主函数的输入是文本文件pr226.txt(第1列是序号,第2列是x坐标,第3列是y坐标),输出是最优路线.文本文件可根据自己需要进行替换,只要保持 ...
- 基于多目标优化算法的 LCOE电力成本的敏感性分析(Matlab代码实现)
最新文章
- equal与hashcode的区别
- 关于write()和fsync()
- linux mv命令批量,linux 如何用mv命令批量更改文件名?
- 雷辉:让视频会议conferencing like TV
- html语言中空格用什么表示,HTML中的5种空格各表示的意义
- H3C HCSE 官方培训胶片(中文) 下载
- linux 查看硬盘的uuid_ubuntu16.04 挂载新硬盘
- 销售管理系统数据库设计说明书
- JQuery插件库和17素材——免费下载
- mysql rand 范围_MySQL的指定范围随机数函数rand()的使用技巧
- GamesIndustry.biz采访尼古拉斯·弗朗西斯(Nicholas Francis)
- Typo: In word 问题解决。
- java序列化算法透析_java--序列化及其算法透析
- Flink-CDC 动态监控 mysql 数据表
- Python 安装opencv-python模块
- 北大计算机科学与技术保研率,北大信科---我的保研路
- html+css+JavaScript最最最简易图片放大器——随手练
- Eclipse 的常用快捷方式
- 梁宁《产品思维》之23衡量创新
- java 一年有多少周_java中如何计算一年总共有多少周
热门文章
- 微信小程序项目实例——印记
- java面试题--java基础--迈达斯篇
- GIF 屏幕录制工具
- RT-Thread 应用笔记 - libmodbus RTU 编译问题的解决
- log日志查看软件logviewer-pro
- JVM,DVM,JIT,AOT,ART理解
- Chapter 6 (Orthogonality and Least Squares): Least-Squares problems (最小二乘问题)
- idea中代码统计工具Statistic的配置与使用
- Android WebView基本使用
- linux 防蓝光软件下载,教你如何从Git上checkout指定的文件夹至本地的代码