2015年全国大学生数学建模竞赛B题出租车资源配置(含word论文和源代码资源)

news2024/12/25 0:24:20

文章目录

  • 一、部分题目
  • 二、部分论文
  • 三、部分源代码
    • 问题1
    • 问题3
  • 四、完整word版论文和源代码

一、部分题目

2015高教社杯全国大学生数学建模竞赛题目

B题 “互联网+”时代的出租车资源配置

出租车是市民出行的重要交通工具之一,“打车难”是人们关注的一个社会热点问题。随着“互联网+”时代的到来,有多家公司依托移动互联网建立了打车软件服务平台,实现了乘客与出租车司机之间的信息互通,同时推出了多种出租车的补贴方案。

请你们搜集相关数据,建立数学模型研究如下问题:

问题1 试建立合理的指标,并分析不同时空出租车资源的“供求匹配”程度。

问题2 分析各公司的出租车补贴方案是否对“缓解打车难”有帮助?

问题3 如果要创建一个新的打车软件服务平台,你们将设计什么样的补贴方案,并论证其合理性。

请添加图片描述

二、部分论文

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

三、部分源代码

问题1

完整代码 https://github.com/yan-fanyu/CUMCM-Paper-And-SourceCode
sheng=shaperead('counties_china.shp', 'UseGeoCoords', true); chengdu=sheng(2333:2345);
boundall=[]; name=cell(13,1);
for i=1:length(chengdu) boundall=[boundall;chengdu(i).BoundingBox]; name{i}=chengdu(i).LAST_NAME9;
end
name{1}='成都';
name{2}='金堂';
name{3}='双流';
name{4}='温江';
name{6}='新都';
name{7}='大邑';
name{8}='浦江';
name{9}='新津';
name{10}='都江堰';
name{11}='彭州';
name{12}='邛崃';
name{13}=' 崇 州 '; minlon=min(boundall(:,1));%min(chengdu.Lon); maxlon=max(boundall(:,1));%max(chengdu.Lon); minlat=min(boundall(:,2));%min(chengdu.Lat); maxlat=max(boundall(:,2));%max(chengdu.Lat); dataall=[];
for i=1:24
data=dlmread(['cityID510100realDate20150909_',num2str(i),'_t.txt']);
 






























end
 
tlen=length(data); nump=tlen/3; datat=zeros(nump,3); datat(:,1)=data(1:3:tlen);
datat(:,2)=data(2:3:tlen);
datat(:,3)=data(3:3:tlen);
cancel=datat(:,1)>maxlon | datat(:,1)<minlon | datat(:,2)>maxlat | datat(:,2)<minlat; datat(cancel,:)=[];
dataall(i).taxi=datat; data=dlmread(['cityID510100realDate20150909_',num2str(i),'_p.txt']); tlen=length(data);
nump=tlen/3; datap=zeros(nump,3); datap(:,1)=data(1:3:tlen);
datap(:,2)=data(2:3:tlen);
datap(:,3)=data(3:3:tlen);
cancel=datap(:,1)>maxlon | datap(:,1)<minlon | datap(:,2)>maxlat | datap(:,2)<minlat; datap(cancel,:)=[];
dataall(i).passenger=datap;
 


%plot fignum=[]; eachfignum=1; for i=1:24
datat=dataall(i).taxi; datap=dataall(i).passenger; if mod(i-1,eachfignum)==0
k=ceil(i/eachfignum); hfig=figure(k);
 
fignum=[fignum,hfig]; if eachfignum==1
set(gcf,'PaperType','A4', ... 'paperOrientation', 'portrait', ...
'paperunits','CENTIMETERS','PaperPosition',[.00, .00,10,8]);

 








end
 
else





end
 


set(gcf,'PaperType','A4', ... 'paperOrientation', 'portrait', ...
'paperunits','CENTIMETERS','PaperPosition',[.00, .00,21,29]);
 

if eachfignum>1

subplot(ceil(eachfignum/2),2,mod(i,eachfignum)*(mod(i,eachfignum)~=0)+eachfignum*(mo d(i,eachfignum)==0))
end geoshow(chengdu);
title([num2str(i),'点;黄-成都;绿-出租;红-乘客'])
hold on scatter(datat(:,1),datat(:,2),datat(:,3),'filled','o','g')
scatter(datap(:,1),datap(:,2),datap(:,3),'filled','s','r') title([num2str(i),'点;成都;绿-出租;红-乘客']) xlabel('经度')
ylabel('纬度')
for kk=1:length(chengdu)

text(mean(chengdu(kk).BoundingBox(:,1)),mean(chengdu(kk).BoundingBox(:,2)),name(kk)); end
hold off
if mod(i-1,eachfignum)==0 figname=strcat('chengdu_part',num2str(k),'.jpg');
 



end
 


end
 
saveas(hfig, figname, 'jpg');
 

savefig(fignum,'chengdu.fig') close all figs=openfig('chengdu.fig'); for k=1:length(fignum)
figname=strcat('chengdu_part',num2str(k),'.jpg'); saveas(figs(k), figname, 'jpg');
end close all
%mean plot meanall=[]; for i=1:24
meanall=[meanall;[mean(dataall(i).taxi(:,3)),mean(dataall(i).passenger(:,3))]];
end h=1:24;
set(gcf,'PaperType','A4', ... 'paperOrientation', 'portrait', ...
'paperunits','CENTIMETERS','PaperPosition',[.00, .00,16,10]); [hAx,hLine1,hLine2]=plotyy(h,meanall(:,1),h,meanall(:,2)); ylabel(hAx(1),'出租车均值')
ylabel(hAx(2),'乘客均值')
set(hLine1,'LineStyle','--','Marker','*','MarkerSize',6,'LineWidth',1.5)
set(hLine2,'LineStyle',':','Marker','o','MarkerSize',6,'LineWidth',1.5) xtlabel=num2cell(h);%cat(2,num2cell(h(1:4:end-2)),method); set(hAx,'XTick',h,'XTickLabel',xtlabel,'xlim',[1,24])
grid on xlabel('时间')
leglabel={'出租车均值','乘客需求均值'};
 
legend(leglabel,'Location','Best')
title('成都市 201599 日全天出租车分布和乘客需求均值图') figname=strcat('chengdu_mean','.jpg');
saveas(gcf, figname, 'jpg');
%matching C0=[0.1:0.1:0.9,1:50];
lc0=length(C0); match=[]; matchall=[]; matchpoint=[]; for i=1:24
p0=dataall(i).passenger; lp0=size(p0,1); t0=dataall(i).taxi; r=size(t0,1); disp=zeros(lp0,lc0);
for j=1:lp0
p00=ones(r,1)*p0(j,1:2); d=dis(p00(:,1),p00(:,2),t0(:,1),t0(:,2));
for k=1:lc0
ts=sum(t0(d<=C0(k),3)); if ts<p0(j,3)
disp(j,k)=1; elseif ts>p0(j,3)
disp(j,k)=-1;
 







end
 





end
 
else


end
 


disp(j,k)=0;
 














end
 
idx=ones(lp0,1)*(1:lc0); idx(disp>0)=inf; idxsel=min(idx,[],2); idxsel(isinf(idxsel))=C0(end); match(i).loc=p0(:,1:2); match(i).matchp=disp; match(i).matchpstats=idxsel;
matchall=[matchall;[i*ones(lp0,1),p0(:,1:2),disp,idxsel]]; matchpoint=[matchpoint,lp0];
 

mathpointcum=cumsum(matchpoint); newtime=zeros(size(matchall,1),1); newtime(ismember(matchall(:,1),[8,9]))=1;
newtime(ismember(matchall(:,1),[18,19]))=2;
newtime(ismember(matchall(:,1),[7,10:17]))=3; newtime(ismember(matchall(:,1),20:22))=4; newtime(ismember(matchall(:,1),[1:6,23:24]))=5;
%plot fignum=[]; eachfignum=1; for i=1:24
loc=match(i).loc; measure=match(i).matchpstats; if mod(i-1,eachfignum)==0
k=ceil(i/eachfignum); hfig=figure(k);%figure(i);%figure(ceil(i/6));% fignum=[fignum,hfig];
if eachfignum==1 set(gcf,'PaperType','A4', ...
'paperOrientation', 'portrait', ...
 









end
 


else





end
 
'paperunits','CENTIMETERS','PaperPosition',[.00, .00,10,8]);


set(gcf,'PaperType','A4', ... 'paperOrientation', 'portrait', ...
'paperunits','CENTIMETERS','PaperPosition',[.00, .00,21,29]);
 

if eachfignum>1

subplot(ceil(eachfignum/2),2,mod(i,eachfignum)*(mod(i,eachfignum)~=0)+eachfignum*(mo d(i,eachfignum)==0))
end
geoshow(chengdu); %  此处用 mapshow 投影会不正确
hold on scatter(loc(:,1),loc(:,2),measure,'filled','s','b') title([num2str(i),'点;成都;蓝-打车难易程度;']) xlabel('经度')
ylabel('纬度')
for kk=1:length(chengdu)

text(mean(chengdu(kk).BoundingBox(:,1)),mean(chengdu(kk).BoundingBox(:,2)),name(kk)); end
hold off
if mod(i-1,eachfignum)==0 figname=strcat('chengdupipei_part',num2str(k),'.jpg'); saveas(hfig, figname, 'jpg');
end
end

savefig(fignum,'chengdupipei.fig') close all figs=openfig('chengdupipei.fig');
 
for k=1:length(fignum) figname=strcat('chengdupipei_part',num2str(k),'.jpg'); saveas(figs(k), figname, 'jpg');
end close all

%%%所有时点乘客打车难易度散点set(gcf,'PaperType','A4', ...
'paperOrientation', 'portrait', ... 'paperunits','CENTIMETERS','PaperPosition',[.00, .00,16,14]);
plot(matchall(:,end),'*') xlabel('乘客数据点') ylabel('邻域半径(km)')
title('所有时点乘客打车难易度')
set(gca,'YTick',1:5:lc0) xtlabel=cat(2,num2cell(C0(1:5:lc0))); set(gca,'YTickLabel',xtlabel)
axis tight grid on
figname=strcat('chengdupipei_scatter','.jpg'); saveas(gcf, figname, 'jpg');
%%%所有时点乘客打车难易度分布
set(gcf,'PaperType','A4', ... 'paperOrientation', 'portrait', ...
'paperunits','CENTIMETERS','PaperPosition',[.00, .00,16,14]); geoshow(chengdu);
hold on scatter(matchall(:,1),matchall(:,2),matchall(:,end),'filled','s','b') title('所有时点;成都;蓝-打车难易程度;')
xlabel('经度')
 
ylabel('纬度')
for kk=1:length(chengdu)

text(mean(chengdu(kk).BoundingBox(:,1)),mean(chengdu(kk).BoundingBox(:,2)),name(kk)); end
hold off figname=strcat('chengdupipei_all','.jpg'); saveas(gcf, figname, 'jpg');


问题3

完整代码 https://github.com/yan-fanyu/CUMCM-Paper-And-SourceCode
%问题(3)方案 1 time=8;
op=dataall(time).passenger;%选择 8 点的乘客数据
lp0=size(op,1); ebt=10;%每天补贴 1 元
lbt=30;%补贴 30 天
bt=ebt*ones(1,lbt); cbt=cumsum(bt);%累计补贴b0=1.645;
baifenbi=@(butie)exp(b0-11.532./butie);%S curve cper=baifenbi(cbt)/100;%预测订单数t0=dataall(time-1).taxi;
r=size(t0,1); matchn=[];
matchna=match(time).matchpstats;%8 点的难易度
for i=1:lbt
p0=op;
p0(:,3)=p0(:,3).*(1-cper(i));
disp=zeros(lp0,lc0); for j=1:lp0
 
p00=ones(r,1)*p0(j,1:2); d=dis(p00(:,1),p00(:,2),t0(:,1),t0(:,2));
for k=1:lc0
ts=sum(t0(d<=C0(k),3)); if ts<p0(j,3)
disp(j,k)=1; elseif ts>p0(j,3)
disp(j,k)=-1;

 






end
 





end
 
else


end
 


disp(j,k)=0;
 

 













end
 
idx=ones(lp0,1)*(1:lc0); idx(disp>0)=inf; idxsel=min(idx,[],2); idxsel(isinf(idxsel))=C0(end); matchn(i).loc=p0(:,1:2); matchn(i).matchp=disp; matchn(i).matchpstats=idxsel; matchna=[matchna,idxsel];
 


%问题(3)方案 2 time=8;
op=dataall(time).passenger;%选择 8 点的乘客数据[count,center]=hist(op(:,3)); count=count./sum(count);
set(gcf,'PaperType','A4', ... 'paperOrientation', 'portrait', ...
 
'paperunits','CENTIMETERS','PaperPosition',[.00, .00,10,8]); hist(op(:,3))
ylabel('频数')
xlabel('乘客需求')
title('成都市 8 点乘客需求条图') figname=strcat('chengdu8bar','.jpg'); saveas(gcf, figname, 'jpg');

%密集点datat=dataall(8).taxi; datap=dataall(8).passenger; set(gcf,'PaperType','A4', ...
'paperOrientation', 'portrait', ... 'paperunits','CENTIMETERS','PaperPosition',[.00, .00,10,8]);
geoshow(chengdu); % 此处用 mapshow 投影会不正确
title('8 点成都乘客打车需求最大区') hold on
scatter(datat(:,1),datat(:,2),datat(:,3),'filled','o','g') [~,idx]=max(datap(:,3)); scatter(datap(idx,1),datap(idx,2),datap(idx,3),'filled','s','r') legend('出租车','乘客','Location','Best')
xlabel('经度')
ylabel('纬度')
for kk=1:length(chengdu)

text(mean(chengdu(kk).BoundingBox(:,1)),mean(chengdu(kk).BoundingBox(:,2)),name(kk)); end
hold off figname=strcat('chengdu8miji','.jpg'); saveas(gcf, figname, 'jpg');
 

% 方 案 2 datat=dataall(8).taxi; datap=dataall(8).passenger; sumt=sum(datat(:,3)); datat(:,3)=datat(:,3)*0.99;
datat(end+1,1:2)=datap(idx,1:2); datat(end,3)=sumt-sum(datat(:,3)); p0=datap;
t0=datat; r=size(t0,1); disp=zeros(lp0,lc0); matchn=[];
matchna=match(time).matchpstats;%8 点的难易度
for j=1:lp0
p00=ones(r,1)*p0(j,1:2); d=dis(p00(:,1),p00(:,2),t0(:,1),t0(:,2));
for k=1:lc0
ts=sum(t0(d<=C0(k),3)); if ts<p0(j,3)
disp(j,k)=1; elseif ts>p0(j,3)
disp(j,k)=-1;
 







end
 





end
 
else


end
 


disp(j,k)=0;
 

idxs=ones(lp0,1)*(1:lc0); idxs(disp>0)=inf;
 
idxsel=min(idxs,[],2); idxsel(isinf(idxsel))=C0(end); matchn.loc=p0(:,1:2); matchn.matchp=disp; matchn.matchpstats=idxsel; matchna=[matchna,idxsel]; set(gcf,'PaperType','A4', ...
'paperOrientation', 'portrait', ... 'paperunits','CENTIMETERS','PaperPosition',[.00, .00,12,8]);
plot(1:40,matchna(1:40,1),'ro',1:40,matchna(1:40,2),'b+') title('方案 2 的应用前后对比')
xlabel('数据点')
ylabel('难易度') grid on
figname=strcat('chengdu8mijiduibi','.jpg'); saveas(

四、完整word版论文和源代码

Word论文和源代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1939406.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【CSS in Depth 2 精译_019】3.2 CSS 的盒模型

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09; 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位&#xff08;已完结&#xff09; 2.1 相对…

STM32基础篇:USART(下)

双缓冲与连续发送 双缓冲 在发送数据的时候&#xff0c;首先将要发送的字节写入TDR中&#xff0c;然后TDR将此字节发生给移位寄存器&#xff0c;由移位寄存器执行串并转换&#xff0c;通过Tx引脚逐个比特位发送出去。 在此过程中&#xff0c;存在两级缓冲&#xff0c;即双缓…

[GIS实验]居住环境适宜性评价

目的&#xff1a; 拟购买住宅&#xff0c;需在现有条件下&#xff0c;基于地理空间分析方法和空间认知模型对居住环境进行综合评价。通过该实验掌握基于GIS的地理空间认知方法及土地适宜性评价基本原理与方法。 数据&#xff1a; &#xff08;1&#xff09;人口调查图&#…

记录uni-app横屏项目:自定义弹出框

目录 前言&#xff1a; 正文&#xff1a; 前言&#xff1a;横屏的尺寸问题 最近使用了uniapp写了一个横屏的微信小程序和H5的项目&#xff0c;也是本人首次写的横屏项目&#xff0c;多少是有点踩坑不太适应。。。 先说最让我一脸懵的点&#xff0c;尺寸大小&#xff0c;下面一…

探索Python错误美化:pretty_errors库的魔法之旅

探索Python错误美化&#xff1a;pretty_errors库的魔法之旅 背景&#xff1a;为什么需要pretty_errors&#xff1f; 在Python编程中&#xff0c;错误和异常是不可避免的。然而&#xff0c;Python默认的错误信息往往不够直观&#xff0c;对于新手来说可能难以理解。pretty_erro…

MySQL学习之InnoDB引擎,索引

Mysql中的引擎 我们先来看一下MySql提供的有哪些引擎 mysql> show engines; 从上图我们可以查看出 MySQL 当前默认的存储引擎是InnoDB,并且在5.7版本所有的存储引擎中只有 InnoDB 是事务性存储引擎&#xff0c;也就是说只有 InnoDB 支持事务。 查看MySQL当前默认的存储引…

Transformer之Vision Transformer结构解读

论文地址 代码地址 写在前面 什么是Transformer呢&#xff1f;就是把符号向量化为Token&#xff0c; 再和位置编码求和或者做阿达玛积&#xff0c;最后送入一定层数的Attention Block构成的Encoder和Decoder&#xff0c;就完成了Transformer的基础功能。 那么&#xff0c;把上…

关于模的问题

写代码的时候遇到模的问题 class Solution:def countCompleteDayPairs(self, hours: List[int]) -> int:ans 0t [0 for _ in range(24)]for h in hours:u (24-h%24)%24ans t[u]t[h%24] 1return ans如果写成 u (24-h%24) 是不对的&#xff0c;没有考虑h等于0的情况

【多任务YOLO】 A-YOLOM: You Only Look at Once for Real-Time and Generic Multi-Task

You Only Look at Once for Real-Time and Generic Multi-Task 论文链接&#xff1a;http://arxiv.org/abs/2310.01641 代码链接&#xff1a;https://github.com/JiayuanWang-JW/YOLOv8-multi-task 一、摘要 高精度、轻量级和实时响应性是实现自动驾驶的三个基本要求。本研究…

51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动TFT大屏_I2C_HW参考代码(v1.3) 硬件I2C方式

本篇介绍单片机使用硬件I2C方式控制RA8889驱动彩屏。 提供STC8H8K64U和STC8051U34K64的参考代码。 【硬件部份】STC8H8K64U/STC8051U34K64 RA8889开发板 7寸TFT 800x480 1. 实物连接图&#xff1a;STC8H8K64URA8889开发板&#xff0c;使用P2口I2C接口&#xff1a; 2.实物连…

怎样制作高品质的电子画册,一看就会

随着数字化进程的加速&#xff0c;电子画册以其便捷的传播方式、丰富的展现形式&#xff0c;越来越受到各类人士的青睐。一份高品质的电子画册&#xff0c;不仅需要有吸引人的内容&#xff0c;更需要有专业的制作技巧。下面&#xff0c;就让我来为您详细解析&#xff0c;如何制…

量子计划 Quark 捯饬

1 蓝牙 系统镜像中具有内置的蓝牙驱动程序&#xff0c;可以按照以下步骤启动蓝牙&#xff1a; bluetoothctl# 进入 bluetoothctl 界面后。运行scan扫描列出附近所有的蓝牙设备 scan on# 复制设备的MAC地址&#xff0c;然后使用以下命令连接到设备&#xff1a; pair A4:xx:xx:…

艺术与技术的交响曲:CSS绘图的艺术与实践

在前端开发的世界里&#xff0c;CSS&#xff08;层叠样式表&#xff09;作为网页布局和样式的基石&#xff0c;其功能早已超越了简单的颜色和间距设置。近年来&#xff0c;随着CSS3的普及&#xff0c;开发者们开始探索CSS在图形绘制方面的潜力&#xff0c;用纯粹的代码创造出令…

32_ConvNeXt网络详解

1.1 简介 ConvNeXt是一种计算机视觉模型&#xff0c;由Meta AI&#xff08;前Facebook AI&#xff09;的研究人员在2022年提出&#xff0c;它旨在探索卷积神经网络&#xff08;CNN&#xff09;在图像识别任务上的潜力&#xff0c;尤其是在与当时流行的Vision Transformer&…

【windows】【系统还原】亦是美kms执行一键关闭defender 之后,windows defender 被卸载了,无论如何都打不开

在那之后&#xff0c;你是否一直无法启动 defender&#xff1f;&#xff1f;&#xff1f; 你是否一直担心电脑的安全问题&#xff1f;&#xff1f; 我也尝试了很多方法 无论是 powershell 执行 dism.exe /online /cleanup-image /scanhealth dism.exe /online /cleanup-ima…

【项目】星辰博客介绍

目录 一、项目背景 二、项目功能 1. 登录功能&#xff1a; 2. 列表页面&#xff1a; 3. 详情页面&#xff1a; 4. 写博客&#xff1a; 三、技术实现 四、功能页面展示 1. 用户登录 2. 博客列表页 3. 博客编辑更新页 4.博客发表页 5. 博客详情页 五.系统亮点 1.强…

c# 开发AutoCAD扩展

在C#中开发AutoCAD扩展涉及使用AutoCAD的.NET API&#xff0c; 利用AutoCAD的功能并创建自定义命令、对话框、块、图层和其他图形元素。以下是一些关键步骤和概念&#xff0c;可以帮助你开始使用C#开发AutoCAD扩展&#xff1a; 准备开发环境 安装AutoCAD&#xff1a;确保你有一…

图片转文档,和同行比我的优势在哪?

图片转Word/Excel | 极简AI工具箱&#xff0c;我自己做的这个在线工具。 图片转word&#xff0c;图片转excel这个功能&#xff0c;我认为还是有不小的需求的。百度上搜索&#xff0c;可以看到不少广告。说明有需求才会有这么多公司愿意花钱打广告。 我这里说的不是单纯的文字识…

CPU工作模式- 保护模式

保护模式 概述 随着软件的规模不断增加&#xff0c;需要更高的计算量、更大的内存容量内存一大&#xff0c;首先要解决的问题是寻址问题&#xff0c;因为16位的寄存器最好只能表示 2 16 2^{16} 216个地址&#xff0c;所以CPU的寄存器和运算单元都要扩展成32位虽然扩展CPU内部…

UDP详细总结

UDP协议特点 UDP是无连接的传输层协议&#xff1b; UDP使用尽最大努力交付&#xff0c;不保证可靠交付&#xff1b; UDP是面向报文的&#xff0c;对应用层交下来的报文&#xff0c;不合并&#xff0c;不拆分&#xff0c;保留原报文的边界&#xff1b; UDP没有拥塞控制&#…