2021年数维杯国际大学生数学建模A题新冠肺炎背景下港口资源优化配置策略求解全过程文档及程序
2021年数维杯国际大学生数学建模
A题 新冠肺炎背景下港口资源优化配置策略
原题再现:
2020年初,新型冠状病毒(COVID-19)在全球迅速蔓延。根据世界卫生组织2021年7月31日的报告,新冠病毒疫情对人类的影响可能比原先预期的持续时间更长。在这一流行病的影响下,许多国家遭受了不同程度的经济损失,各行各业也面临着许多前所未有的困难,全球贸易的发展也迎来了许多新的挑战。
作为贸易发展中最重要的环节之一,港口和航运业同样难逃厄运。新冠病毒疫情的爆发暴露出全球港口和航运业在运营、管理方面缺乏系统协调。特别是港口和航运的多维度防疫措施,大大降低了全球港口的运营效率,导致航运服务日益短缺,导致整个行业内发生不可预测的变化。
COVID-19对港口的影响如下:第一,随着亚洲一些国家疫情的恢复,货物订单量持续上升,造成港口严重拥堵。然而,在一些港口极度拥堵的情况下,其他一些港口的货物量变得非常小,出现了港口闲置的现象。这使得港口交通不对称现象更加普遍。第二,新冠病毒还导致世界航运能力不足。例如,波罗的海干散货指数(BDI)在2021年8月20日飙升至4092,这也是过去11年来的最高点。此外,由于港口服务效率低下和航运市场动荡,新冠病毒也加剧了全球供应链的不确定性,导致供应链中断的风险增加。因此,在COVID-19时代,对港口运营效率提出了更高的要求。
在COVID-19疫情持续肆虐的今天,如何降低防控带来的风险成为全球港口航运业可持续管理的关键问题。在这种情况下,我们需要重新设计一个高度灵活的系统和全球网络,以保持利益相关者之间的密切合作关系,包括航运公司、港务局、码头运营商以及物流和港口服务提供商。
为缓解COVID-19影响下港口运营效率低下的问题,请运用数学建模方法解决以下五个问题:
问题1:结合附件1的数据和您的合理假设,请从船公司联合对接的角度出发,提供船公司之间的合作模式,以缓解港口拥堵或过度闲置的问题。你应该深入分析每个码头在每个周期的航运公司。
问题2:请根据附件1的数据,从码头运营商的角度设计船舶最佳时基对接方案,并提出具体的奖惩措施,以有效提高港口的对接效率。
问题3:请从港口泊位、码头运营商和航运公司的角度提供船舶停靠策略。该方案需要在不减少防疫工作时间的前提下,最大限度地缩短船舶在港口的停靠时间。
问题4:能否提供一个充分考虑区域内多个港口合作的策略,从而有效减少港口拥堵。
问题5:如果港口安排1-2天的周末休息,您能否提出一个更通用的港口呼叫优化模型,并使用附件1中的数据进行演示。
整体求解过程概述(摘要)
随着新型冠状病毒(COVID-19)在全球的传播,港口和航运业受到严重打击。主要问题是如何参考附件一给出的船舶载重数据和泊位通过能力,优化港口资源配置,尽可能提高港口运营效率。本文构建了一个异构船舶资源配置优化模型来解决该问题。
对于问题1:首先,从航运公司的角度建立了基于航运公司的所有船舶期望值的表达函数,建立了泊位利用率最大的异质船舶资源配置优化模型,通过考虑所有航运公司的所有船舶的能力和所有泊位在一个周期内的停泊能力,建立了航运公司的最大期望值和最大公平性。并用遗传算法进行求解,结果表明,一个周期内所有泊位利用率之和为5489,各航运公司期望值为3489。
针对问题2:考虑港口航运公司船舶交接时间因素,建立了基于软时间窗的异构船舶资源配置优化模型,设计了基于时间窗的船舶加班惩罚策略。在此基础上,提出了基于插值和聚集的优化策略。结果表明,船舶靠泊计划平均完成率为82%,泊位空置率为14.38%。
针对问题3:在模型1和模型2的基础上,建立了以最小停靠时间为主要目标的基于停靠时间的异构船舶港口泊位资源分配模型。并采用快速非支配排序策略和淘汰策略对模型进行求解。
对于问题4:我们将该问题的维度提升到一个区域内多个港口之间的合作,并考虑多个港口的多个泊位与不同航运公司之间的合作,以改进我们之前构建的模型。采用“三数中立”策略和“淘汰策略”策略对模型进行求解。结果表明,当各端口可用率为65%时,总体效率最大。
对于问题5:基于问题4的模型,我们添加了端口周末休息约束。并采用“三数中立”策略和“淘汰策略”策略对模型进行求解。并进行了仿真实验,验证了基于附录1的模型。最后,我们在“Result presentation”文件夹中展示了结果。
模型假设:
1、本文忽略了泊位类型,所有泊位均为集装箱类型。从文献[1]可知,泊位的水工结构是所述泊位容量的1.5倍,即每个泊位为一艘船舶服务的容量不得超过泊位泊位容量的1.5倍。
2、航运公司为了实现利润最大化,要求每艘船舶只有在满载状态下,即每艘船舶装载到其最大容量时,才能执行航运任务。
3、一船只能选择一个泊位。
4、港口计划运营周期为14天。
5、我们没有计划船的航迹。
6、本文忽略了船舶装卸后泊位的无效等待时间。
7、我方按附件一计算港口泊位工作时间:8:00~18:00。
问题分析:
数据分析
附件1提供了1127艘船舶的代码、载客量、装运周期、平均停靠时间、最近十次停靠时间的差异、最近十次到达时间以及217个泊位的停泊能力。通过对运力数据的整理和分析,发现所有船舶的航运周期分布在1~14天之间,即周期最短的船舶每天到达港口,周期最长的船舶需要14天到达港口,我们发现港口每天早上8:00到晚上18:00接收船舶靠泊,即船舶只能在规定时间内到达港口。
问题1分析
解决这一问题需要从航运公司的角度考虑,既要满足所有航运公司的需要,又要考虑泊位的利用率。船舶的需求因航运公司而异,解决问题的关键是如何综合这些因素进行优化。
问题2的分析
这一问题的解决需要从码头运营商的角度进行充分考虑,在满足泊位利用率的前提下,对船公司的每艘船舶进行时间和泊位规划,因此不同船公司的不同船舶容量和泊位通过能力是需要重点关注的关键因素。解决问题2的关键是将问题1的模型视角转化为终端操作员的模型视角,优化时间进度的处理以满足问题2的要求,最终解决问题。
问题3的分析
该问题侧重于需要同时从码头运营商和航运公司的角度出发,考虑到防疫工作的前提,同时满足不同航运公司的需求,尽可能减少船舶总停靠时间,提出的策略需要将问题1和问题2一并考虑,并添加时间窗等约束条件,通过优化算法求解。
问题4的分析
在问题4中,问题的维度上升到一个区域内多个港口之间的合作,不再局限于单个港口的多个泊位,而是需要考虑多个港口的多个泊位与不同航运公司之间的合作调度,基于博弈论的思想,以多港口合作为关键,以船舶停靠时间为目标,优化船舶停靠时间。
问题5的分析
对问题5的审议将继续深入实际情况,安排港口每个周末休息1-2天。然后在问题4的基础上对模型进行改进,在不延误航运公司船舶需求的前提下,规划各港口的休息时间以满足基本要求,如何解决这一问题是问题的关键。
模型的建立与求解整体论文缩略图
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码:
clear all;
close all;
clc;
A=[];
B=[];
C=[];
for gg=1:50
run question1
z=30;
c=184;
Xs1=rand*(3503-3450)+3450;
Xx1=50;
NP=z;
L=c;
Pc=0.8;
Pm=0.1;
G=100;
f=randi([0,1],NP,L)
for k=1:G%Decode binary to decimal within the domainfor i=1:NPU=f(i,:);m=0;for j=1:Lm=U(j)*2^(j-1)+m;endx(i)=Xx1+m*(Xs1-Xx1)/(2^L-1);Fit(i)= fitness1(x(i));endmaxFit=max(Fit); minFit=min(Fit); rr=find(Fit==maxFit);fBest=f(rr(1,1),:); xBest=x(rr(1,1));Fit=(Fit-minFit)/(maxFit-minFit); sum_Fit=sum(Fit);fitvalue=Fit./sum_Fit;fitvalue=cumsum(fitvalue);ms=sort(rand(NP,1));fiti=1;newi=1;while newi<=NPif (ms(newi))<fitvalue(fiti)nf(newi,:)=f(fiti,:);newi=newi+1;
elsefiti=fiti+1;endend for i=1:2:NPp=rand;if p<Pcq=randi([0,1],1,L);for j=1:Lif q(j)==1;temp=nf(i+1,j);
nf(i+1,j)=nf(i,j);nf(i,j)=temp;endendendendi=1;while i<=round(NP*Pm)h=randi([1,NP],1,1); for j=1:round(L*Pm) g=randi([1,L],1,1); nf(h,g)=~nf(h,g);endi=i+1;endf=nf;f(1,:)=fBest; trace1(k)=maxFit;
end
%Second optimization
xBest;
z=30;
c=184;
Xs1=1.50*(rand*(3503
-3450)+3450);
Xx1=50*0.5;
NP=z;
L=c;
Pc=0.8;
Pm=0.1;
G=100;
f=randi([0,1],NP,L)
for kk=1:Gfor i=1:NPU=f(i,:);m=0;for j=1:Lm=U(j)*2^(j
-1)+m;endx(i)=Xx1+m*(Xs1
-Xx1)/(2^L
-1);
Fit(i)= fitness1(x(i));endmaxFit=max(Fit); minFit=min(Fit); rr=find(Fit==maxFit);fBest=f(rr(1,1),:); xBest=x(rr(1,1));Fit=(Fit
-minFit)/(maxFit
-minFit);sum_Fit=sum(Fit);fitvalue=Fit./sum_Fit;fitvalue=cumsum(fitvalue);ms=sort(rand(NP,1));fiti=1;newi=1;while newi<=NPif (ms(newi))<fitvalue(fiti)nf(newi,:)=f(fiti,:);newi=newi+1;elsefiti=fiti+1;endend for i=1:2:NPp=rand;if p<Pcq=randi([0,1],1,L);for j=1:Lif q(j)==1;temp=nf(i+1,j);
nf(i+1,j)=nf(i,j);
nf(i,j)=temp;endendendendi=1;while i<=round(NP*Pm)h=randi([1,NP],1,1); for j=1:round(L*Pm) g=randi([1,L],1,1); nf(h,g)=~nf(h,g);endi=i+1;endf=nf;f(1,:)=fBest; trace2(kk)=maxFit;
end
xBest;
for h=1:100
trace(h)=trace1(h)*trace2(h)*variance_sum;
end
figure
plot(trace)
xlabel('Number of iterations')
ylabel('Objective function value')
title('Evolution curve of fitness value of objective function')
A=[A,trace(100)];
% saveas(gcf,['Code\Question1\','fig',num2str(gg)])
end
B=sort(A);
figure
plot(B)
[~,a]=find(A == min(A))
[~,b]=find(A == max(A))
c=sum(A)/50;
plot(B)
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:

2021年数维杯国际大学生数学建模A题新冠肺炎背景下港口资源优化配置策略求解全过程文档及程序
2021年数维杯国际大学生数学建模 A题 新冠肺炎背景下港口资源优化配置策略 原题再现: 2020年初,新型冠状病毒(COVID-19)在全球迅速蔓延。根据世界卫生组织2021年7月31日的报告,新冠病毒疫情对人类的影响可能比原先预…...

【css】css实现文字两端对齐效果:
文章目录 一、方法1:二、方法2:三、注意: 一、方法1: 给元素设置 text-align: justify;text-align-last: justify;并且加上text-justify: distribute-all-line; 目的是兼容ie浏览器 p{width: 130px;text-align: justify;text-alig…...
ElasticSearch指南 - Mapping - Metadata fields
Metadatas - fields 每份doc都有关联它的metadata数据, 例如_index 和 _id字段. 这些metadatas字段的一些行为能在创建mapping的时候被定制化. 表示唯一性的metadatas字段 _index 表示doc属于哪个index _id doc的id 源doc的metadatas字段 _source doc的原始json字符串 _s…...
12.15每日一题(备战蓝桥杯摘花生)
12.15每日一题(备战蓝桥杯摘花生) 题目 摘花生 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道路的交叉点上都有种着一株花生苗,上…...

VUE-脚手架搭建
文章目录 一、概述二、前提准备1. 安装 node-js2. npm 镜像设置3. 安装 vs-code 三、脚手架搭建1. Vue-2 搭建1. Vue-3 搭建 一、概述 官网:http://cn.vuejs.org/ vue 有两个大版本,分别是 vue-2 和 vue-3,目前新项目的话用 vue-3 的会比较多…...
ArcGIS Pro SDK根据Xml/Json文件反向生成几何
需求: geometry文件导出后的xml,在另一台电脑上反向生成geometry 解决方案: 点 MapPoint minPointImport MapPointBuilderEx.FromXml(xml); 线 包络线 Envelope envelopeImport EnvelopeBuilderEx.FromXml(xml); 面 var geometryB…...
LY/T 3301-2022 实木厚芯胶合板检测
实木厚芯胶合板是指按照相邻层单板木纹方向垂直组坯,通过胶黏剂将表板、中间层板和芯板黏合而成的5层或5层以上的对称结构板材。 LY/T 3301-2022实木厚芯胶合板测试: 测试项目 测试方法 静曲强度 GB/T 17657 弹性模量 GB/T 17657 含水率 GB/T 17…...
代码随想录算法训练营第十六天| 104. 二叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数
代码随想录算法训练营第十六天| 104. 二叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数 题目 104.二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 # Defin…...

字符串——OJ题
📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、字符串相加1、题目讲解2、思路讲解3、代码实现 二、仅仅反转字母1、题目讲解2、思路讲解3…...

Linux---cp和mv命令选项
1. cp命令选项 命令选项说明-i交互式提示-r递归拷贝目录及其内容-v显示拷贝后的路径描述-a保留文件的原有权限 cp -i命令选项效果图: cp -r命令选项效果图: cp -v命令选项效果图: cp -a命令选项效果图: -a选项说明: -a 选项还支持拷贝文件夹并且文件夹中的文件权限不丢失 …...

LVS负载均衡器(nat模式)+nginx(七层反向代理)+tomcat(多实例),实现负载均衡和动静分离
目录 前言 一、配置nfs共享存储 二、配置2个nginx节点服务的网页页面 节点1:192.168.20.10 步骤一:修改网关指向调度器的内网ip地址 步骤二:将nfs共享的目录进行挂载,并修改nginx的配置文件中location的root指向挂载点 步骤三ÿ…...

【深度学习】TensorFlow深度模型构建:训练一元线性回归模型
文章目录 1. 生成拟合数据集2. 构建线性回归模型数据流图3. 在Session中运行已构建的数据流图4. 输出拟合的线性回归模型5. TensorBoard神经网络数据流图可视化6. 完整代码 本文讲解: 以一元线性回归模型为例, 介绍如何使用TensorFlow 搭建模型 并通过会…...

智能插座是什么
智能插座 电工电气百科 文章目录 智能插座前言一、智能插座是什么二、智能插座的类别三、智能插座的原理总结 前言 智能插座的应用广泛,可以用于智能家居系统中的电器控制,也可以应用在办公室、商业场所和工业控制中,方便快捷地实现电器的远…...

5G工业网关视频传输应用
随着科技的不断进步,5G网络技术已经成为了当前最热门的话题之一。而其中一个引人注目的领域就是5G视频传输和5G工业网关应用。在传统网络通信中,由于带宽和延迟的限制,视频传输常常受到限制,而工业网关应用也存在着链路不稳定、数…...

Axure电商产品移动端交互原型,移动端高保真Axure原型图(RP源文件手机app界面UI设计模板)
本作品是一套 Axure8 高保真移动端电商APP产品原型模板,包含了用户中心、会员成长、优惠券、积分、互动社区、运营推广、内容推荐、商品展示、订单流程、订单管理、售后及服务等完整的电商体系功能架构和业务流程。 本模板由一百三十多个界面上千个交互元件及事件组…...

【k8s】使用Finalizers控制k8s资源删除
文章目录 词汇表基本删除操作Finalizers是什么?Owner References又是什么?强制删除命名空间参考 你有没有在使用k8s过程中遇到过这种情况: 通过kubectl delete指令删除一些资源时,一直处于Terminating状态。 这是为什么呢? 本文将…...

vscode
文章目录 变量引用Multi-selections(multi-cursor)Column (box) selection在正则表达式替换中改变大小写tasks.jsonlaunch.json vscode工作空间下有一个.vscode文件夹,该文件夹下放置了vscode的配置文件,主要有: settings.json : vscode的设置…...

Jrebel 在 Idea 2023.3中无法以 debug 的模式启动问题
Jrebel 在 Idea 2023.3中无法以 debug 的模式启动问题 Idea 在升级了2023.3以后,Jrebel 无法以 debug 的模式启动,找了半天,最后在插件主页的评论区找到了解决方案 特此记录一下...
【C++】模版初阶(初识模版)
目录 一、引言 二、函数模版 (一)函数模版的原理 (二)函数模版的实例化 1.隐式实例化 2.显式实例化 (三)模板参数的匹配原则 三、类模版 类模版的实例化 一、引言 我们在练习题目的时候总会遇到需…...

智能优化算法应用:基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.差分进化算法4.实验参数设定5.算法结果6.…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...