2015年国赛高教杯数学建模B题互联网+时代的出租车资源配置解题全过程文档及程序

news2024/9/29 10:09:27

2015年国赛高教杯数学建模

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

  出租车是市民出行的重要交通工具之一,“打车难”是人们关注的一个社会热点问题。随着“互联网+”时代的到来,有多家公司依托移动互联网建立了打车软件服务平台,实现了乘客与出租车司机之间的信息互通,同时推出了多种出租车的补贴方案。
  请你们搜集相关数据,建立数学模型研究如下问题:
   (1) 试建立合理的指标,并分析不同时空出租车资源的“供求匹配”程度。
   (2) 分析各公司的出租车补贴方案是否对“缓解打车难”有帮助?
   (3) 如果要创建一个新的打车软件服务平台,你们将设计什么样的补贴方案,并论证其合理性。

整体求解过程概述(摘要)

  本文研究了“互联网+”时代出租车资源的优化配置问题。通过模糊综合评价和多元回归拟合方法给出了供求匹配评价模型,提出了基于打车难度系数的出租车动态补贴方案。
  对于不同时空出租车资源的供求匹配程度问题,本文从宏观和微观两个角度进行评价。宏观上引入里程利用率、车辆满载率、万人拥有量作为评价指标,采用模糊综合评价的方法,求出了深圳、西安、拉萨这三个城市的评价分数(分别为0.1868、0.3046、0.7029),即西安、拉萨的供求平衡比深圳要好。微观上本文以深圳市为例,利用供、求的影响因素,建立了基于多元回归拟合的供求匹配模型,通过拟合供给和需求的表达式,采用供求比作为供求匹配程度的衡量指标,求解不同时空(高峰期、低谷期、拥堵区、非拥堵区)的供求比,结果分别为0.7046、1.6037、0.6886、1.5813,结果表明:高峰期的供求比远小于低谷期,拥堵区的供求比远小于非拥堵区。
  对于现有补贴方案能否缓解打车难的问题,本文首先分析了补贴方案对降低司机拒单率,提高乘客拼车率的影响。依据司机拒单率、乘客拼车率与司机的补贴、乘客补贴的正负相关性,本文分别使用高斯分布模型和Logit模型求解函数表达式。进而通过拒单率、拼车率对问题一的供应量表达式进行改进,构建打车难度系数评价模型。针对深圳市2014年9月5号的统计数据,求解可得总体打车难度系数在不补贴时为 0.2816,在快的打车的补贴模式下为 0.1885,在滴滴打车补贴模式下为0.2030。仿真结果表明:补贴后乘客、出租车的成功匹配率提高了11%左右。 在设计合理的补贴方案时,本文综合考虑了社会供求关系和公司补贴金额这两个因素。依据现行的补贴方案,采用等步长逐步搜索法,求出使得供求匹配最佳时,司机和乘客的最优补贴金额(司机11.4元每单,乘客15.4元每单)。接着,本文给出供求比置信区间(0.8—1),以解决供求匹配最佳导致补贴费用过高的问题,此时求得供求比为0.8,司机补贴7.3元每单,乘客不补贴,将其定义为基础补贴。为权衡供求和补贴金额,建立基于供求优化的动态补贴模型,使实际补贴在基础补贴的前提下浮动小于 5元。最后,本文结合Logit模型及经济学原理,求解总补贴金额的函数表达式。仿真结果表明,相对于不补贴的情况,新的补贴方案下供求匹配度提高了34.62%左右。

模型假设:

  1、出租车司机收入按正常打表计算,不考虑消费者额外给的小费。
  2、司机认为利益受损失不会接单,即不会前往顾客所在地。
  3、司机一旦到达乘客所在处就表示一定接单。
  4、考虑现实生活中的拒单、拼车等实际情况。
  5、顾客按单计算,即两人一起拼车记为一单。
  6、每一单的路程均大于起步价所含路程。
  7、采用对乘客和司机进行补贴的方案可以有效地平衡供求。
  8、不考虑突发情况,极端自然状况导致的绕行和停车。

问题分析:

  出租车问题与人民生活密切相关,但现实生活中往往出现打车难的现象。我们分析打车难的原因主要是供求不匹配。首先,针对打车难的现状,我们可以从多个方面得到评价指标,对不同时空的供求匹配程度做出评价。我们可以通过供求匹配指标,求出补贴前后的打车难度系数,分析能否缓解打车难。为了进一步解决供求匹配问题,同时考虑到软件公司的补贴花费,我们可以设计基于多因素的动态补贴方案,并通过模拟仿真,判断补贴方案推行前后,打车难的问题是否得到缓解。
  问题一的分析
  在分析不同时空出租车资源的“供求匹配”程度时,考虑到时空既可以指不同的城市、年份,又可以指某个城市内部的不同区域、时间段,所以我们从宏观和微观这两个角度来分析这个问题。从宏观上看,随着“互联网+”时代的到来,打车软件使用率明显增加,从而改善了供求关系。而在同一年中,一线、二线、三线城市的出租车供求匹配程度同样差异巨大。分析可知,供求的主要体现指标为:里程利用率、车辆满载率、万人拥有量。我们采用模糊综合评价的方法,得到不同城市的供求匹配度。从微观上看,我们选取某个城市(深圳)作为研究对象,从乘客和出租车司机这两个角度分析影响供求的因素。通过数据可以拟合出供应和需求的函数表达式,就可以得到供求比。对于不同时空的分析,我们选取高峰期、低谷期、拥堵区和非拥堵区,分别计算其供求比,评价不同时空的供求匹配程度。
  问题二的分析
  在分析出租车公司的补贴方案是否对“缓解打车难”有帮助时,首先需要对打车难度进行界定,然后再分析补贴方案实施前后,打车难度的变化。考虑到打车难的原因主要为出租车供不应求,司机可能会拒单,乘客可能会拒绝拼车,因此我们利用第一问的供求匹配模型,引入拒单率、拼车率来构建打车难度系数关系式。由常识可知,拒单率、拼车率与补贴分别是负相关和正相关的,我们利用概率模型就可以得到其函数表达式。
  通过查阅资料,我们可以得到快的打车和滴滴打车的现行补贴方案。由于对司机和乘客进行补贴会使得拒单量和拼车率发生变化,所以我们可以求出补贴前后的拒单率和拼车率,再结合打车难度系数关系式,计算出具体结果从而判断补贴是否能有效缓解打车难。但是,考虑到打车软件的使用群众多为中青年,我们可以分析打车难度系数与年龄的关系,从而得到更加符合实际的模型。为了更直观地分析补贴对打车难度的影响,我们还可以进行仿真实验。
  问题三的分析
  首先需要分析补贴的目的,我们认为补贴会对社会和软件公司造成影响,第一、补贴能够调节供求匹配度,第二、从软件公司利益的角度,要尽可能使得补贴金额少。所以我们从这两方面进行综合考虑设计补贴方案。 经过调查发现,现有的补贴方案是按接单数进行补贴,所以我们通过接单数对乘客和司机分别补贴。通过分析可知,补贴对乘客的影响因素为等待时间,补贴对司机的影响因素为堵车时间及油费,因此我们可以通过这些因素构建动态补贴模型对补贴金额进行适当调整。 在设计具体的补贴方案时,我们可以从第二问中公司现行的补贴方案出发,通过对补贴金额进行调整,搜索出供求匹配程度为0.8~1的最佳补贴金额范围。在此置信区间内时,我们寻找出尽可能使得软件公司的补贴花费最小的最佳补贴金额,可以作为基础补贴金额。在基础补贴金额上,再进行优化供求的动态调整。与问题二类似,我们可以使用仿真来检验新的补贴方案下供求匹配程度是否得到改善。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:

%第三问搜索算法 
functionminQ = brute_force(G,F,phi,lambda) 
minQ=1000; 
fori = 1:301 % p2 
for j = 1:301 % p1 
%         if abs((G(i)*(0.75*lambda(j)+1)-G(i)*0.25*phi(i))/F(j)
1)<maxQ 
%             maxQ = abs((G(i)*(0.75*lambda(j)+1)
G(i)*0.25*phi(i))/F(j)-1); 
%             maxp1 = (j-1)/10; 
%             maxp2 = (i-1)/10; 
%         end 
%   ´ò×¢Ê͵ÄÊǵÚÈýÎÊ×ʼµÄµ¥²½ËÑË÷´úÂë 
if abs((G(i)*(0.75*lambda(j)+1)-G(i)*0.25*phi(i))/F(j)-1)<0.2 
plot((j-1)/10,(i-1)/10,'b.'); 
holdon; 
ifi+j<minQ 
minQ = i+j; 
end 
end 
end 
end
% 第二问仿真 
functioncnt = fangzhen(people_bonus,driver_bonus) 
ifnargin< 2 
q1 = 0 ; q2 = 0; 
else 
q1 = driver_bonus;q2 = people_bonus; 
end 
car_pos1 = rand(20,1); 
car_pos1 = [ones(20,1).*2000,car_pos1.*6000]; 
car_pos2 = rand(20,1); 
car_pos2 = [ones(20,1).*4000,car_pos2.*6000]; 
car_pos3 = rand(20,1); 
car_pos3 = [car_pos3.*6000,ones(20,1).*2000]; 
car_pos4 = rand(20,1); 
car_pos4 = [car_pos4.*6000,ones(20,1).*4000]; 
car_pos = [[car_pos1;car_pos2;car_pos3;car_pos4;],ones(80,1)]; 
car_pos_t = car_pos; 
car_pos1 = rand(25,1); 
car_pos1 = [ones(25,1).*2000,car_pos1.*6000]; 
car_pos2 = rand(25,1); 
car_pos2 = [ones(25,1).*4000,car_pos2.*6000]; 
car_pos3 = rand(25,1); 
car_pos3 = [car_pos3.*6000,ones(25,1).*2000]; 
car_pos4 = rand(25,1); 
car_pos4 = [car_pos4.*6000,ones(25,1).*4000]; 
p_pos = [[car_pos1;car_pos2;car_pos3;car_pos4;],ones(100,1)]; 
p_pos_t = p_pos; 
figure(1) 
holdon 
d = 200;cnt = 0; 
fori = 1:80 
nowbest = [d,0]; 
for j = 1:100 
ifp_pos(j,3)==0  
continue; 
end 
delta = abs(car_pos(i,1)-p_pos(j,1)) + abs(car_pos(i,2)
p_pos(j,2)); 
if delta <nowbest(1) 
nowbest(2) = j; 
nowbest(1) = delta; 
end 
end 
ifnowbest(1) < d &&nowbest(2) > 0 
cnt = cnt + 1; 
p_pos(nowbest(2),3) = 0; 
end 
end 
cnt% ûÓв¹Ìù 
t_p_pos = p_pos; 
holdon 
p_pos = p_pos_t; 
car_pos = car_pos_t; 
d = 310;cnt = 0; 
fori = 1:80 
nowbest = [d,0]; 
for j = 1:100 
ifp_pos(j,3)==0  
continue; 
end 
delta = abs(car_pos(i,1)-p_pos(j,1)) + abs(car_pos(i,2)
p_pos(j,2)); 
if delta <nowbest(1) 
nowbest(2) = j; 
nowbest(1) = delta; 
end 
end
ifnowbest(1) < d &&nowbest(2) > 0 
cnt = cnt + 1; 
p_pos(nowbest(2),3) = 0; 
end 
end 
fori = 1:100 
ift_p_pos(i,3)==0 
plot(t_p_pos(i,1),t_p_pos(i,2),'go'); 
elseifp_pos(i,3)==0 
plot(p_pos(i,1),p_pos(i,2),'r*'); 
end 
end 
cnt 
figure(2) 
holdon 
p_pos = p_pos_t; 
car_pos = car_pos_t; 
d = 300;cnt = 0; 
fori = 1:80 
nowbest = [d,0]; 
for j = 1:100 
ifp_pos(j,3)==0  
continue; 
end 
delta = abs(car_pos(i,1)-p_pos(j,1)) + abs(car_pos(i,2)
p_pos(j,2)); 
if delta <nowbest(1) 
nowbest(2) = j; 
nowbest(1) = delta; 
end 
end 
ifnowbest(1) < d &&nowbest(2) > 0 
cnt = cnt + 1; 
p_pos(nowbest(2),3) = 0; 
end 
end 
fori = 1:100 
ift_p_pos(i,3)==0 
plot(t_p_pos(i,1),t_p_pos(i,2),'go'); 
elseifp_pos(i,3)==0 
plot(p_pos(i,1),p_pos(i,2),'r*') 
end 
end 
cnt 
end
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

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

相关文章

在VM虚拟机上进行磁盘扩容

将/dev/mapper/ol-root从100G扩容到105G 初始状态的/dev/mapper/ol-root分配了100G 在VM上新增一个5G的物理硬盘 创建PV并纳入VG 对原本的LV扩容 扩大文件系统 完成。

vue框架学习 -- 日历控件 FullCalendar 使用总结

最近在项目中要实现日期排班的功能&#xff0c;正好要用到日历视图的控件&#xff0c;经过对比发现&#xff0c;vue 中 使用 FullCalendar 可以实现相关需求&#xff0c;下面对使用过程做一个总结。 一. 引入 FullCalendar 控件 package.json 中添加相关依赖 "dependen…

无人机专业实操重要性凸显,组装、调试、改装技术详解

无人机专业的实操性在当今技术飞速发展的背景下显得尤为重要&#xff0c;这不仅体现在无人机的日常应用上&#xff0c;还贯穿于无人机的组装、调试及改装等关键环节中。以下是对这些技术环节的详细解析&#xff1a; 一、无人机组装技术 无人机的组装是无人机技术的基础&#x…

828华为云征文|使用sysbench对Flexus X实例对mysql进行性能测评

目录 一、Flexus X实例概述 1.1 Flexus X实例 1.2 在mysql方面的优势 二、在服务器上安装MySQL 2.1 在宝塔上安装docker 2.2 使用宝塔安装mysql 2.3 准备测试数据库和数据库表 三、安装sysbench并进行性能测试 3.1 使用yum命令sysbench 3.2 运行 sysbench 并进行性能测…

Jumpserver堡垒机应用部署案例

本案例主要讲述了如何安装Jumpserver堡垒机应用&#xff0c;以及使用Jumpserver堡垒机对接OpenStack平台进行管理 一、OpenStack平台对接堡垒机 案例准备 1.规划节点 IP 主机名 节点 192.168.20.21 controller OpenStack Controller节点 192.168.20.22 jumpserver O…

0基础跟德姆(dom)一起学AI 机器学习02-KNN算法

【理解】KNN算法思想 K-近邻算法&#xff08;K Nearest Neighbor&#xff0c;简称KNN&#xff09;。比如&#xff1a;根据你的“邻居”来推断出你的类别 KNN算法思想&#xff1a;如果一个样本在特征空间中的 k 个最相似的样本中的大多数属于某一个类别&#xff0c;则该样本也属…

从事人工智能学习Python还是学习C++?

人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是当今科技领域最热门的研究方向之一。AI 涉及多个学科和技术&#xff0c;特别是机器学习、神经网络、深度学习等技术的应用。在AI的开发过程中&#xff0c;编程语言的选择对于开发效率和项目实现至…

戴尔电脑怎么开启vt虚拟化_戴尔电脑新旧机型开启vt虚拟化教程

最近使用戴尔电脑的小伙伴们问我&#xff0c;戴尔电脑怎么开启vt虚拟。大多数可以在Bios中开启vt虚拟化技术&#xff0c;当CPU支持VT-x虚拟化技术&#xff0c;有些电脑会自动开启VT-x虚拟化技术功能。而大部分的电脑则需要在Bios Setup界面中&#xff0c;手动进行设置&#xff…

C++ | Leetcode C++题解之第443题压缩字符串

题目&#xff1a; 题解&#xff1a; class Solution { public:int compress(vector<char>& chars) {int n chars.size();int write 0, left 0;for (int read 0; read < n; read) {if (read n - 1 || chars[read] ! chars[read 1]) {chars[write] chars[re…

QT九月28日

1.实现登录界面 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget>class Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget(); }; #endif // WIDGET_H源文件 #include "widget.h" #include <QIcon> #in…

服务器分类极简理解

塔式服务器 塔式服务器外形类似于电脑主机机箱&#xff0c;它的特点有易于维护、灵活性高、噪音低、无需专门的机架 塔式服务器适用于中小型企业或办公室等环境 刀片服务器 刀片服务器是在标准高度的机架式机箱内可插装多个卡式的服务器单元&#xff0c;它的特点是高可用性、…

openEuler 下载rpm 包

有2种方式 1、使用dnf 下载软件包 2、或者开启缓存&#xff0c;安装自动获取rpm其他事项 3、dnf 安装数据库的机器&#xff0c;应屏蔽数据软件的更新 4、下载的rpm 莫名奇妙的不能安装1、dnf download 下载软件包 # resolve 解决依赖 ,destdir 指定下载路径 dnf download -…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于变分模态分解和组合深度神经网络的综合能源系统多元负荷预测》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

「漏洞复现」九块九付费进群系统 wxselect SQL注入漏洞

0x01 免责声明 请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;作者不为此承担任何责任。工具来自网络&#xff0c;安全性自测&#xff0c;如有侵权请联系删…

数据结构与算法笔记7:最小生成树-Prim和Kruskal算法

常用的最小生成树的算法主要有两种&#xff0c;一种是Prim算法&#xff0c;一种是Kruskal算法。题目链接&#xff1a;KamaCoder 53. 寻宝&#xff08;第七期模拟笔试&#xff09; 这里假设有V个节点&#xff0c;因为我们的节点的标号是1~V&#xff0c;这样我们直接使用标号作…

JSON的C实现(上)

JSON的C实现&#xff08;上&#xff09; JSON的C实现&#xff08;上&#xff09;前言JSON简介JSON的C实现思路小结 JSON的C实现&#xff08;上&#xff09; 前言 JSON是众多项目中较为常见的数据交换格式&#xff0c;为不同项目、系统间的信息交换提供了一个规范化标准。JSON…

1.7 软件缺陷管理

欢迎大家订阅【软件测试】 专栏&#xff0c;开启你的软件测试学习之旅&#xff01; 文章目录 前言1 缺陷介绍2 缺陷描述及提交3 缺陷跟踪流程4 案例分析 前言 在软件开发和测试过程中&#xff0c;缺陷&#xff08;通常称为“bug”&#xff09;是不可避免的。了解和有效管理这些…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第十二集:制作完整地图和地图细节设置以及制作相机系统的跟随玩家和视角锁定功能

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、制作完整的地图和地图细节设置 1.制作地图前的设置2.制作地图前期该做的事3.制作地图之堆叠素材4.制作地图后期该做的事5.制作地图之修复意想不到的Bug二、…

ping基本使用详解

在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为&#xff1a; 用来检测网络的连通情况和分析网络速度根据域名得到服务器 IP根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量。我们通常会用它来直接 ping ip 地址&#xff0c;来测试网络的连…

Cisco Secure Firewall Management Center Virtual 7.4.2 - 思科 Firepower 管理中心软件

Cisco Secure Firewall Management Center Virtual 7.4.2 - 思科 Firepower 管理中心软件 Firepower Management Center Software 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-fmc-7/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 实现管理任务…