2018年MathorCup数学建模D题公交移动支付问题的评估方案解题全过程文档及程序
2018年第八届MathorCup高校数学建模挑战赛
D题 公交移动支付问题的评估方案
原题再现:
随着智能手机的普及和移动支付技术的提高,越来越多的支付手段可以转移到手机端。现有的现金缴费和实体公交卡刷卡的付费方式存在缺点,如公交卡在使用过程中存在着充值不方便、容易丢失、刷卡记录个人无法查看、跨地区无法使用等问题,现金支付带来很多不便,增加人工成本等,而公交移动支付则可以很好地解决这些问题。
以杭州为例,2016 年,杭州每天乘坐公交车的乘客约390万人次,每天大概能收到170 万零钱,约占公交票款金额的48%。旅游的黄金时间,比如2016年五一,投币金额达到260余万元。如果刷公交卡能使用移动支付,可以给市民和游客带来很大的方便。2017年5月23日,支付宝宣布,5月底前杭州市中心核心区域的公交线路支持支付宝,6月底前市区近5000辆公交车全部支持。以后,杭州本地市民和外地游客乘坐公交,无需再投币,刷手机或公交卡即可乘车。2017年4月,广州羊城通和支付宝宣布达成“互联网+”全面合作协议。未来,广州人可以把“羊城通”装进支付宝内,形成- -张电子卡,无需再携带实体卡。.2017年8月,由青岛真情巴士集团与支付宝合作,历时3个月推出的“青岛真情巴士公交卡”正式上线。
目前公交移动支付一-般是通过第三方支付平台进行,现需要你对该项目进行分析和评估。
问题1:附件1,2中给出了某城市的部分公交支付的信息和数据说明,试分析该城市乘车人的出行支付特征。
问题2:建立一个公交第三方支付平台的商业盈利数学模型,定量分析公交第三方支付平台的收支和盈利情况。(第三方支付平台的常见盈利模式见附件3)
问题3:问题1中给出的数据为四分之一的公交车和地铁安装移动支付设备后试营运期间得到的数据,根据问题1中的数据,试估计该城市全部公交实现公交第三方平台支付后的盈利情况。
问题4:结合前面的计算结果和结论,给移动支付公司写一份500字以内的商业计划可行性报告,并给出增加公司盈利的可行性方案建议。
整体求解过程概述(摘要)
本文参考附件数据并查阅大量资料、数据,构建了相应的数学模型,对乘客出行行为特征、平台盈利模型和未来的商业可行性等问题进行了研究。
对于问题一,首先对数据进行预处理:读入数据,对数据进行整合后,筛除未刷卡以及刷卡未记录的异常数据。然后,将出行支付基础特征如乘车时间、支付方式、乘车人作为基本因素利用 Pandas 进行数据分析、数据可视化。在分析了 24h、一周内以及月份间的支付方式,并且将乘客分类比较同类乘客的倾向性选择,以及不同乘客在不同时间的支付方式选择概率后,可得知该城市乘车人在不同时段内的支付方式:公交卡支付次数略大于移动支付,但均接近 50%;同类乘客在面临多种支付方式时,选择某种方式的概率也大致相同;乘车人在选择支付方式时基本不会长时间倾向于某种支付方式。
对于问题二,首先进行第三方支付平台盈利模式的探究:通过查阅相关资料结合公共交通的特性,分析得出平台具有的 4 种收入途径:广告费、服务费、手续费和沉淀资金利息收入,以及 3 种支出途径:前期广告宣传费用、移动端接入费用、固定支出。在建模过程中,由于变量对应的比例系数并不相同,需要利用分段函数进行线性规划。另外,用户数量、平台影响力与金额之间仍存在隐函数关系,需进一步讨论。通过已有数据和资料,进行未知数据的预测,将其代入盈利模型,定量计算并分析盈利的状况:

对于问题三,首先借助问题一的结论,在假设“安装了移动支付设备的四分之一公交、地铁为该城市最热门的线路”的前提下,依据公交线路客流量数据得到已安装设备车辆中移动支付所占比率。然后利用“供求关系”来分析提高设备覆盖率后的变动趋势,进而使用集计(创新扩散模型)与非集计(离散选择模型)两种模型,预测全覆盖条件下,移动支付与公交卡支付所占比率分别为 86.75%与 13.25%,最后利用问题二模型计算得到第三方平台盈利状况,结果为每月盈利约 724.179 万元。
对于问题四,首先查阅资料研究第三方移动支付平台的商业规划与发展状况。结合本次问题中已有的盈利模型进行具体分析。针对与公共交通系统进行合作的模式,研究其盈利状况和平台影响力的增长。通过具体的数据,得出相应的商业规划及发展的可行性方案,从中进行分析进而得出行为特征,并归纳成可行性方案的建议。
总之,本文主要利用 Python 的 Pandas 数据分析模块、MATLAB 等进行编程,归纳了出行支付特征,建立求解了第三方平台收支盈利模型,预测移动支付设备全覆盖条件下第三方平台盈利状况,并进行可行性研究,较好的解决了问题。
模型假设:
1. 假设安装了移动支付设备的四分之一公交、地铁为该城市最热门的线路。
2. 不考虑除移动设备支付、公交卡支付外的其他支付方式。
3. 假设用户选择是理性的。
问题分析:
问题一的分析
为了分析该城市乘车人的出行特征,我们从七个方面对数据进行了不同层面的分析。首先根据数据给出的信息,将乘车时间,乘车人 ID,支付方式等信息分类组合并进行数据处理。分析一天内、一周内、不同月份间的支付次数累和来表明不同时间下人们会选择何种支付方式,将出行的人群分类,并且分析不同人群对于支付方式的倾向性。在相同的条件下,筛选出不在我们讨论范围的异常数据,利用 PANDAS 读入数据,将结果可视化得到数据表格,再进行对数据的分析,分析可能出现的原因以及出行特征。
问题二的分析
为了得到第三方盈利模型,先要明确第三方支付平台需要在收入和支出的项目,收入项目分为:广告费、服务费、手续费和沉淀资金利息收入。支出项目分为:前期广告宣传费用,移动端接入费用,固定支出(基础设施投入,新项目固定成本,员工工资等)。因为该盈利模型涉及到很多变量,又存在着不随着变量改变的一些其他量,因此将等式列出来后,我们利用行列式,幂函数等函数,将变量细化,最后查找资料设定一些定量的取值,得到最终定量分析的结果,算出公交第三方支付平台的盈利模型能够很好地吻合题目。
问题三的分析
由于题目中给到的只有四分之一的公交和地铁安装移动支付设备后得到的数据,为了能够建立一个能够推出全部情况的模型,我们需要将占有率由四分之一推至全部,由于第一问的结果,提出这四分之一的线路占有绝大多数客流的假设,并且论证假设成立。将这个结果带入供应-需求模型,用以计算客户需求与第三方支付完全推广之后的关系。然后用著名的经济学家罗杰斯提出的创新扩散模型,将关系推广扩散,推测当第三方移动支付平台百分百应用时客流量的情况,再带入第二问的盈利模型求出第三方支付平台的盈利情况。
问题四的分析
在前三问的基础上,我们根据盈利模型求得的结果,为第三方移动支付平台的推广效益做出预测以及建议。通过结果和数据分析得到的结果,对公司发展进行可行性意见报告,用以作为公司决策的辅助。并且在可能的情况下,给出盈利最大的情况,并且给出可行的方案。
模型的建立与求解整体论文缩略图


全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码:(代码和文档not free)
The actual procedure is shown in the screenshot
def calculate_center_point(xy):return (int(xy[2]) + int(xy[0])) // 2, (int(xy[3]) + int(xy[1])) // 2# 画出人和车的中心点
def plot_people_points(xy, im):thickness = -1color = [0, 255, 0]center = calculate_center_point(xy)radius = 10cv2.circle(im, center, radius, color, thickness)def plot_car_points(xy, im):thickness = -1color = [0, 0, 255] # redcenter = calculate_center_point(xy)radius = 10cv2.circle(im, center, radius, color, thickness)# 计算人车距离
def calculate_distance(people_coords, car_coords):# 人与车的中心点centers_people = []centers_car = []# 分别计算中心点for i in people_coords:centers_people.append(calculate_center_point(i))for i_car in car_coords:centers_car.append(calculate_center_point(i_car))centers = itertools.product(people_coords, car_coords, repeat=1)for xy in centers:people_center_list = (((int(xy[0][2]) + int(xy[0][0])) // 2,(int(xy[0][3]) + int(xy[0][1])) // 2))car_center_list = (((int(xy[1][2]) + int(xy[1][0])) // 2,(int(xy[1][3]) + int(xy[1][1])) // 2))# 欧氏距离return ((car_center_list[0] - people_center_list[0]) ** 2 + (car_center_list[1] - people_center_list[1]) ** 2) ** 0.5
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:
2018年MathorCup数学建模D题公交移动支付问题的评估方案解题全过程文档及程序
2018年第八届MathorCup高校数学建模挑战赛 D题 公交移动支付问题的评估方案 原题再现: 随着智能手机的普及和移动支付技术的提高,越来越多的支付手段可以转移到手机端。现有的现金缴费和实体公交卡刷卡的付费方式存在缺点,如公交卡在使用过程中存在着充…...
js原型和原型链到底是什么
有必要重新审视js原型链 经大量资料查找之后自我理解的总结: 一说原型有太多的总结,把我都给劝退了,太多所谓的名词:constructor | proto | prototype | Object.prototype | Function.prototype | new 从js的底层来理解…...
RocketMQ5.0.0消息消费<二> _ 消息队列负载均衡机制
目录 一、消费队列负载均衡概览 二、消费队列负载均衡实现 1. 负载均衡UML 2. 启动RebalanceService线程 3. PUSH模式负载均衡 三、负载均衡策略 四、参考资料 一、消费队列负载均衡概览 RocketMQ默认一个主题下有4个消费队列,集群模式下同一消费组内要求每个…...
【数据库】MySQL数据库约束(六大约束)
目录 1.数据库约束 1.1约束类型 1.2 非空约束(NOT NULL ) 1.3 唯一约束(UNIQUE) 1.4默认值约束(DEFAULT ) 1.5主键约束(PRIMARY KEY) 1.6外键约束(FOREIGN KEY &…...
使用inotify监视文件后台运行收到 SIGTTIN 信号的原因及解决方案
一、起因 由于之前写了个程序要实时监控指定文件的变化状态,所以使用了“inotify”进行监视。但是却发现用了“inotify”之后进程无法手动后台运行了。 也就是 ./process.exe &,这种方法不行了。 原因是: 当使用inotify监视文件变化时&a…...
L3-021 神坛
在古老的迈瑞城,巍然屹立着 n 块神石。长老们商议,选取 3 块神石围成一个神坛。因为神坛的能量强度与它的面积成反比,因此神坛的面积越小越好。特殊地,如果有两块神石坐标相同,或者三块神石共线,神坛的面积…...
ArrayList和LinkedList区别
List<TreeNode> list new ArrayList<TreeNode>(); List<TreeNode> allTrees new LinkedList<TreeNode>(); 这两行代码都是用来创建一个存储多个 TreeNode 对象的列表,但是它们使用的底层实现不同。 ArrayList 是一种数组实现的动态数组&…...
977. 有序数组的平方 1. 两数之和 349. 两个数组的交集
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 …...
Mysql问题:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause
1 问题描述 使用Navicat连接到MySQL(版本:8.0.18),执行查询: select * from t_user WHERE user_name admin查询结果没有问题,但是报错: [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY claus…...
Idea springboot springCloud热加载热调试常用的两种方式
场景描述 在项目开发的过程中,需要修改调试的时候偶每次都需要重启项目浪费时间,下面是我整理的两种常用的两种方式方式一 修改启动配置方式(主要针对debug模式下) 点击启动配置》edit configrations… configration下面修改Upd…...
银河麒麟V10SP1高级服务器版本离线RPM方式升级openssl openssh 自动化升级系统补丁实战实例全网唯一
银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和实时性等需求,依据CMMI5级标准研制的提供内生本质安全、云原生支…...
2023-3-9-一篇简短的文章把C++左右值关系讲的透透彻彻
目录前言C左值和右值二、右值引用二、右值引用前言 对于C的左值和右值相信很多人都没有一个很透彻的了解,之前我也是不懂的时候查阅了好多文章,但是讲完我还是一头雾水,直到我遇到一篇宝藏文章,讲的左值右值的关系以及Move函数的用法是相当的清楚,文章链接在这,话不多说讲解一…...
Vue3这样子写页面更快更高效
在开发管理后台过程中,一定会遇到不少了增删改查页面,而这些页面的逻辑大多都是相同的,如获取列表数据,分页,筛选功能这些基本功能。而不同的是呈现出来的数据项。还有一些操作按钮。 对于刚开始只有 1,2 个页面的时候大多数开发者可能会直接将之前的页面代码再拷贝多…...
锐捷AP设置限速(胖模式)
基于整个AP限速命令 Ruijie(config)#wlan-qos ap-based { per-user-limit | total-user-limit } { down-streams | up-streams } average-data-rate average-data-rate burst-data-rate burst-data-rate per-user-limit 对AP上的每个用户进行限速 …...
聚势合力,电巢与SDIA协会“战略合作签约仪式”圆满落成
前言: 2023年03月02日下午,电巢科技与深圳市平板显示行业协会齐聚深圳南山电巢XR演播厅,共同举办了隆重的战略合作签约仪式。 双方就数字化建设、品牌赋能、人才培养、技术创新等企业服务深入合作上达成一致,合力为产业赋能&…...
Linux安装后基础配置--网络--ssh--基本软件
安装教程比较多就不写了。 网络配置 设置虚拟网络 修改网络配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33将ONBOOT由no改为yes: 修改为静态网络 /etc/sysconfig/network-scripts/ifcfg-eth33 BOOTPROTOstatic IPADDR192.168.1.129 GATEWAY192.168…...
剑指 Offer 66. 构建乘积数组
剑指 Offer 66. 构建乘积数组 难度:middle\color{orange}{middle}middle 题目描述 给定一个数组 A[0,1,…,n−1]A[0,1,…,n-1]A[0,1,…,n−1],请构建一个数组 B[0,1,…,n−1]B[0,1,…,n-1]B[0,1,…,n−1],其中 B[i]B[i]B[i] 的值是数组 AAA…...
1.1 误差的来源
不难发现,考察用计算机解决科学计算问题时所经历的几个环节(如图1-1所示),其中每一步都可能产生误差,首先,数学模型是通过对实际问题进行抽象与简化得到的,它与实际问题之间有误差.数学模型与实…...
python进程间通信
进程间通信表示进程之间的数据交换。 为了开发并行应用程序,需要在进程间交换数据。 下图显示了多个子过程之间同步的各种通信机制 - 各种通信机制 队列 队列可以用于多进程程序。 多处理模块的Queue类与Queue.Queue类相似。 因此,可以使用相同的API…...
麒麟Linux操作系统磁盘策略永久调整为deadline
1.前言在安装数据库,比如达梦数据库时,为获取磁盘最佳性能,一般要将数据磁盘设置为deadline。2. 修改磁盘调度算法2.1临时修改假设磁盘为sda,echo deadline > /sys/block/sda/queue/scheduler2.2通用机永久修改grubby --update-kernelALL …...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
