当前位置:首页>区块链文章>区块链推广>2021数维杯国际赛数学建模-A题思路-新冠肺炎背景下的港口资源配置优化策略(好思路永远不缺席)

2021数维杯国际赛数学建模-A题思路-新冠肺炎背景下的港口资源配置优化策略(好思路永远不缺席)

2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略先看赛题翻译2020年初,新型冠状病毒疫情(或称COVID-19)在全球迅速蔓延。根据世 界卫生组织2021年7月31日的报告,新型冠状病毒疫情对人类的影响持续时间...

 2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略 2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略 2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略 2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略 2021数维杯国际赛A题思路 新冠肺炎背景下的港口资源配置优化策略

先看赛题翻译

2020年初,新型冠状病毒疫情(或称COVID-19)在全球迅速蔓延。根据世 界卫生组织2021年7月31日的报告,新型冠状病毒疫情对人类的影响持续时间可 能比原先预计的更长。在这场疫情的影响下,许多国家遭受了不同程度的经济 损失,各行各业也面临着许多前所未有的困难,全球贸易发展也迎来了许多新 的挑战。

作为贸易发展最重要的环节之一,港航业同样难以幸免。新型冠状病毒疫 情的爆发,暴露出全球港口和航运业在运营、管理等方面缺乏系统协调。尤其 是港口和航运的多维度防疫措施,大大降低了全球港口的运营效率,导致航运 服务日益短缺,并导致整个行业内部发生不可预测的变化。

新冠肺炎对港口的影响:一是随着亚洲部分国家疫情的恢复,接单量持续 上升,造成港口严重拥堵。但在一些港口极度拥堵的情况下,另一些港口的货 运量却变得很小,出现了港口闲置的现象。这使得港口交通的不对称性更加普 遍。其次,新冠肺炎也导致了世界航运能力的缺乏。例如,波罗的海干散货指 数(BDI)在2021年8月20日飙升至4092点,这也是近11年来的最高点。此外, 由于港口服务效率低下和航运市场动荡,新冠肺炎也加剧了全球供应链的不确 定性,导致供应链中断的风险增加。因此,在新冠肺炎时代,对港口作业效率 提出了更高要求。

如今,随着COVID-19的持续肆虐,如何化解防控疫情带来的风险,成为摆 在我们面前的关键问题。

全球港口和航运业的可持续管理。在这种情况下,我们需要重新设计一个高度 灵活的系统和全球网络,以保持利益相关者之间牢固的合作关系,这些利益相 关者包括航运公司、港务局、码头运营商以及物流和港口服务提供商。

为了缓解受新冠肺炎影响的港口作业效率低下的问题,请用数学建模的方 法解决以下五个问题:

问题1:请结合附件1的数据和您的合理假设,从船公司联合对接的角度出发, 提供船公司之间的合作模式,以缓解港口拥堵或港口闲置过多的问题。你应该 深入分析船公司每个周期的每个停靠码头。

问题2:请根据附件1的数据,从码头经营人的角度出发,设计最优的船舶靠港 时间计划,并提出具体的奖惩措施,以有效提高港口的靠港效率。

问题3:请从 港口泊位、码头运营商和航运公司的角度提供船舶停靠策略。这种解决方案需 要在不减少防疫工作时间的前提下,尽量减少船舶在港口的停靠时间。

问题4:您能否提供一种策略,充分考虑一个地区多个港口之间的合作,从而有效减少港口拥堵。

问题5:如果港口安排周末休息1-2天,能否提出一个更通用的港口停靠优化模 型,并用附件1的数据进行论证。

思路:

首先来看附件数据。Sheet1表中运载能力一定是和营收有关;平均停靠小时,可以直接用这个参数;而停靠时间方差则反映了船停靠的不确定性,方差可作为你们的拓展,比如在寻优研究中给予作为代价函数中的一部分,本题没有做相关要求,可以不考虑;Sheet2中是船到港的频率;Sheet3中的时间需要取一个平均时间点,将其作为排队研究的基础数据,这个也可以考虑方差进行拓展研究;Sheet4中是泊位靠泊能力的数据,结合Sheet1中运载能力,我们猜想为能停靠船的最大运载能力限度,就是说船运载能力只有在这限度之下才能停靠该泊位,这里我们也可以在模型假设中写到假设船满载。

来看第一问,上面说到了,运载能力在泊位靠泊能力下的船舶才能停靠,本题为规划问题,通过优化算法进行求解,对于此类问题,由于个体中自变量长度不一,应将每个个体看作为一个方案,通过多目标寻优筛选出最有个体,在本为事船公司联合对接的角度出发,那么就是先确定船固定到一个泊位停靠

数据准备:由于开始停靠的日期是没有给定的,因此这里就假设所有船从第一天开始排,以Sheet2为依据进行推导,可推到出100天每个船停泊的状态,这里设停泊日期为1,其他日期为0,构建一个1127*100的0,1矩阵,最后可取出中间10天时间的矩阵数据用于后文研究,10天只是举个例子

Step1:生成初始个体,个体中基因长度为船数,每个基因位点为固定合作的泊位编号

Step2:遍历每一天,如果当天停靠同一泊位则按Sheet3中平均时间先后排队停靠

Step3:针对每一个体,设置两个目标函数,一个为所有船只等待时间(如果船到达时间有空闲泊位,则无等待时间,如果船到达泊位,仍有船处于停靠时间内,计算等待时间),第二个目标函数为被泊位闲置(这里的泊位闲置可以定义为所有泊位闲置时间总和且闲置时间从1个小时后统计,也可定义为当天被闲置的泊位数量)

Step4:整体框架建议采用模拟退火算法,多目标寻优配合NS-Ⅱ非支配排序

模拟退火算法程序框架:clearclcT=1000; %初始化温度值T_min=1; %设置温度下界alpha=0.99; %温度的下降率num=1000; %颗粒总数n=2; %自变量个数sub=[]; %自变量下限up=[]; %自变量上限for i=1:num    for j=1:n        x(i,j)=;    end    fx(i,1)=fun(x(i,1),x(i,2));end%以最小化为例[bestf,a]=min(fx);bestx=x(a,:);trace(1)=bestf;while(T>T_min)    for i=1:num        for j=1:n            xx(i,j)=;        end        ff(i,1)=fun(xx(i,1),xx(i,2));        delta=ff(i,1)-fx(i,1);        if deltarand                fx(i,1)=ff(i,1);                x(i,:)=xx(i,:);            end        end      end    if min(fx)<bestf        [bestf,a]=min(fx);        bestx=x(a,:);    end    trace=[trace;bestf];    T=T*alpha;enddisp(\'最优解为:\')disp(bestx)disp(\'最优值为:\')disp(bestf)
NS-Ⅱ:function [TT,chrom]=ns2(NN,F1,F2)% 快速非支配排序a = 0;T1 = [];T2 = [];chrom=NN;chrom1 = [];chrom2 = [];while a == 0 %根据被支配数进行分级和排序    M = [];    for i = 1:length(F1)        M(i,1) = length(find(F1<F1(i,1)))+length(find(F2<F2(i,1)));%目标函数最小化这里为    end    b1 = [];    b2 = [];    [b1,b2] = sort(M); %b1返回从小到大排序,b2返回原始序号    if  length(chrom)>0 && b1(1) == 0   %无被支配数进入一级用T1矩阵保存        T1 = [T1;F1(b2(1)),F2(b2(1))];        chrom1 = [chrom1;chrom(b2(1),:)];        F1(b2(1)) = [];        F2(b2(1)) = [];        chrom(b2(1),:) = [];    else  %有被支配数进入二级用T2矩阵保存        a = 1;        T2 = [F1,F2];        chrom2 = chrom;    endendT2 = T2(b2,:);chrom2 = chrom2(b2,:); if size(T1,1) > 2  %T1矩阵不用进行拥挤度调整排序,直接对T2进行排序调整即可    y = yongji(T1);%拥挤度    for i = 2:size(T1,1)            if y(i-1) > y(i)                T1(i-1:1:i,:) = T1(i:-1:i-1,:); %根据拥挤度调整排序,如果后者优于前者则反转顺序                chrom1(i-1:1:i,:) = chrom1(i:-1:i-1,:);            end    endendif length(T2) > 0  %T1矩阵不用进行拥挤度调整排序,直接对T2进行排序调整即可    y = yongji(T2);%拥挤度    for i = 2:size(T2,1)        if b1(i) == b1(i-1)            if y(i-1) > y(i)                T2(i-1:1:i,:) = T2(i:-1:i-1,:); %根据拥挤度调整排序,如果后者优于前者则反转顺序                chrom2(i-1:1:i,:) = chrom2(i:-1:i-1,:);            end        end    endend%排序重组TT = [T1;T2];chrom = [chrom1;chrom2];
function y=yongji(H)%计算拥挤度y1=H(:,1);y2=H(:,2);[yy1,a1]=sort(y1);[yy2,a2]=sort(y2);L=[];L=[1 1];for i=2:length(yy1)-1    L=[L;(yy1(i+1,1)-yy1(i-1,1))/(max(yy1)-min(yy1)),(yy2(i+1,1)-yy2(i-1,1))/(max(yy2)-min(yy2))];endL=[L;1 1];L=[L(a1,1),L(a2,2)];y=sum(L,2);end

第二问,从经营收入角度出发,本问比较开放,可以自己设置费用单价,例如3小时内多少价格,超过3小时每小时多少价格,或者按分钟计费也行,要解决本问还要从船公司角度去思考,Sheet1中有船停靠平均时间和方差,假设船只停靠时间为满足正态分布的事件,有均值和方差,那就可以构建出关于时间的正太分布函数模型,例如ZH1,平均停靠时间7.4,方差为6.1,可以通过自定义函数fanwei求出每个船只在0.95水平的停靠时间范围,调用格式fanwei(平均时间,方差,0.95)

自定义函数下载链接https://pan.baidu.com/s/1F284360bohld5RO3Thp5AA提取码:z5ko

数据准备:采用第一问停靠0,1矩阵,计算每个船只停靠时间范围

Step1:生成初始个体,个体中基因长度为船数,每个基因位点为固定合作的泊位编号

Step2:遍历每一天,如果当天停靠同一泊位则按Sheet3中平均时间先后排队停靠

Step3:针对每一个体,计算停靠时间,如果采用上述第一种计费方法,那么船只就会出现一定的侥幸心里,比如对比最小停靠时间和平均停靠时间,如果前者不小于后者,那么船只就会有侥幸心理,会按平均时间停靠,如果前者小于后者,就会加快卸货效率,按最小停靠时间采取最小,这只是个例子,大家可以自由发挥。设置两个目标函数,一个为所有船只等待时间(如果船到达时间有空闲泊位,则无等待时间,如果船到达泊位,仍有船处于停靠时间内,计算等待时间),第二个目标函数为船总的停靠时间

Step4:整体框架建议采用模拟退火算法,多目标寻优配合NS-Ⅱ非支配排序

第三问,由于防疫工作的需要,尽可能减少船只前后停靠的间隔时间,例如港口A,当天有两只船a1、a2停靠,但是a1停靠完后需要过好几个小时a2才到港,如果船a3到港时间快一点,那么可以是否考虑将船a3插入进来或者重新安排a2的泊位。其实本问只需在第二问基础上增加一个目标函数即可

Step3:设置三个目标函数,一个为所有船只等待时间(如果船到达时间有空闲泊位,则无等待时间,如果船到达泊位,仍有船处于停靠时间内,计算等待时间),第二个目标函数为船总的停靠时间,第三个目标函数为当天泊位工作时间之和(每天的工作时间为第一个船只到港至最后一个船只离岗)

第四问,可能前面大家会觉得这步就是一个问题吗,No,做题要循循渐进,这个问才会考虑一个船可停靠多个泊位

数据准备:第一问中的0,1矩阵

Step1:生成初始个体,个体中基因长度为比如10天内的所有船只停靠次数,每个基因位点随机对应一个泊位编号

Step2:遍历每一天,如果当天停靠同一泊位则按Sheet3中平均时间先后排队停靠,这里为了降低运算量,可写一个判断:如果有满足停靠的其他空闲泊位,那么就优先从中选择

Step3:针对每一个体,设置三个目标函数,一个为所有船只等待时间(如果船到达时间有空闲泊位,则无等待时间,如果船到达泊位,仍有船处于停靠时间内,计算等待时间),第二个目标函数为船总的停靠时间,第三个目标函数为当天泊位工作时间之和(每天的工作时间为第一个船只到港至最后一个船只离岗)

Step4:整体框架建议采用模拟退火算法,多目标寻优配合NS-Ⅱ非支配排序

第五问,在第一问我们模拟了1127条船只基本Sheet2产生100天内停靠的0,1矩阵,这里我们就直接按每6天等间距将第七天列数据换为0,就当作休息日,那么原本在第七天到港的船只,就需要被重新安排至下周一(怎么安排也可以自己定,一般实际上是被安排至下一周一),同第四问求解一致

大家在做题的时候一定要看清楚问题的先后逻辑,并且题目背景是疫情,所以要尽可能减少港口泊位的运作时间

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
区块链推广区块链资讯

人民创投区块链研究院发布《传媒产业区块链应用发展研究报告》(附全文下载)

2021-11-12 23:32:33

区块链推广

智能合约开发实战——元交易(Metatransaction)系列三,前端如何发起元交易的代码讲解

2021-11-13 8:00:50

重要说明

本站资源大多来自网络,如有侵犯你的权益请联系管理员 区块链Bi站  或给邮箱发送邮件834379394@qq.com 我们会第一时间进行审核删除。 站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果你遇到支付完成,找不到下载链接,或者不能下载,或者解压失败,先不要忙,加客服主的QQ:834379394 (客服有可能有事情或者在睡觉不能及时的回复您,QQ留言后,请耐心等待即可!)

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索