想要看更加舒服的排版、更加准时的推送
关注公众号“不太灵光的程序员”
每日八点有干货推送,微信随时解答你的疑问
公众号“不太灵光的程序员” 同时发布《2020年 MathorCup数学建模 A题 无车承运人平台线路定价问题,定价评价》

2020年第十届MathorCup高校数学建模挑战赛题目

A题 无车承运人平台线路定价问题

本文解决问题2 的 定价评价 问题

想了解问题1 相关解题思路,关注公众号或点击下方链接:

数据分析小白入门篇,mathorcup数学建模 A题 无车承运人平台线路定价问题,特征间的相关性分析​blog.csdn.net

想了解问题3 相关解题思路,关注公众号或点击下方链接:

数据分析小白入门篇,mathorcup数学建模 A题 无车承运人平台线路定价问题,特征间的相关性分析​blog.csdn.net

题目详情附件及源码下载请关注公众号“不太灵光的程序员”回复关键字“MC2020A”

对代码存在疑问,请在公众号留言,我会及时和您取得联系。

题目回顾

问题 1:通过定量分析的方法,研究影响无车承运人平台进行货运线路定价的主要因素有哪些,并说明理由。

问题 2:根据附件 1 数据,通过建立数学模型,对已经成交货运线路历史交易数据中的定价进行评价。

问题 3: 建立关于线路定价的数学模型,给出附件 2 的线路任务的三次报价以及总成本定价,并填充在附件3 的表格中;给出你们的调价策略;评价你们对附件 2 的线路任务所给出的定价。

其中附件 3 的表格以 Excel文件形式,连同论文答卷一起上传至参赛系统,请勿改变附件 3 中各任务ID 的原有顺序。

附件 3 将用于测试报价的准确性,对于某个确定的任务,三次报价中有一次成交,则后续价格将不再考虑。

3、定价评价

3.1. 假定评价指标

我们将对历史交易数据中的定价的评价分 假设分为由两部分来决定,一部分是收益率, 一部分是响应时长。

收益率

收益率 =(线路价格 - 线路成本)/ 线路成本

接下来我们把收益率划分为分类数据也就是数据离散化:

收益率 [min, 0, 0.5, max] 分别 为 不合理 合理 非常合理

响应时长

存在在给定的时间内任务没有司机接单,订单线路调价的情况,所以 响应时长 只用 交易成功时长 来计算可能还不够准确,当有调价的情况是 应该是 调价审核完成时间 到交易结束的时长 。

昨天的 代码里把 “调价审核完成时间”, “业务类型”, “需求类型2” 特征给删除了,注意补充上

因为 调价审核完成时间 存在 N 值情况,我们可以 把出现 N 的值 由 “交易开始时间” 补充,这样 交易结束时间 减 调价审核完成时间 就是我们要的 响应时长 了。

观察了下 交易成功时长的 数据 交易成功时长的最小是 0 平均值 1604.89 最大值 50746 ,单位是分钟,转换成天来分析可能合适点。

接下来 我们把响应时长划分为分类数据:

响应时长 [min, 1, 2.5, max] 分别 为 非常合理 合理 不合理

3.2 对历史数据进行评价

利用 收益率 和 响应时长 来综合评价历史定价是否合理。

  • 如果收益率 和 响应时长 都是合理或者非合理,那么历史定价就是非常合理的,
  • 如果收益率 和 响应时长 有一个不合理,那么历史定价就是合理;
  • 如果收益率 和 响应时长 都是不合理,那么历史定价就是不合理;

由 收益率 和 响应时长 生成 综合评价 特征

3.3 数据可视化

查看 综合评价评分 占比,占比使用 饼状图 更直观一点。

        plt.pie 饼状图x       :(每一块)的比例,如果sum(x) > 1会使用sum(x)归一化;labels  :(每一块)饼图外侧显示的说明文字;explode :(每一块)离开中心距离;startangle :起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起;shadow  :在饼图下面画一个阴影。默认值:False,即不画阴影;labeldistance :label标记的绘制位置,相对于半径的比例,默认值为1.1, 如<1则绘制在饼图内侧;autopct :控制饼图内百分比设置,可以使用format字符串或者format function'%1.1f'指小数点前后位数(没有用空格补齐);pctdistance :类似于labeldistance,指定autopct的位置刻度,默认值为0.6;radius  :控制饼图半径,默认值为1;counterclock :指定指针方向;布尔值,可选参数,默认为:True,即逆时针。将值改为False即可改为顺时针。wedgeprops :字典类型,可选参数,默认值:None。参数字典传递给wedge对象用来画一个饼图。例如:wedgeprops={'linewidth':3}设置wedge线宽为3。textprops :设置标签(labels)和比例文字的格式;字典类型,可选参数,默认值为:None。传递给text对象的字典参数。center :浮点类型的列表,可选参数,默认值:(0,0)。图标中心位置。frame :布尔类型,可选参数,默认值:False。如果是true,绘制带有表的轴框架。rotatelabels :布尔类型,可选参数,默认为:False。如果为True,旋转每个label到指定的角度。

源代码

import matplotlib.pyplot as plt
import pandas as pddf = pd.read_csv("car_new.csv")df["收益率"] = (df["线路价格"] - df["线路总成本"]) / df["线路总成本"]
yield_rate_category = [df["收益率"].min(), 0, 0.5, df["收益率"].max()]
yield_rate_lables = ["不合理", "合理", "非常合理"]
df['收益率评价'] = pd.cut(df['收益率'], yield_rate_category, labels=yield_rate_lables)df["调价审核完成时间"] = df.apply(lambda x: x["交易开始时间"] if x["调价审核完成时间"] == "N" else x["调价审核完成时间"], axis=1)
df["响应时长"] = (pd.to_datetime(df["交易结束时间"]) - pd.to_datetime(df["调价审核完成时间"])).dt.total_seconds() / (60 * 60 *24)
response_time_category = [df["响应时长"].min(), 1, 2.5, df["响应时长"].max()]
response_time_lables = ["非常合理", "合理", "不合理"]
df['响应时长评价'] = pd.cut(df['响应时长'], response_time_category, labels=response_time_lables)def evaluate(yield_rate_lables, response_time_lables):if yield_rate_lables in ["非常合理", "合理"] and response_time_lables in ["非常合理", "合理"]:return "非常合理"elif "不合理" == yield_rate_lables == response_time_lables:return "不合理"else:return "合理"df["综合评价"] = df.apply(lambda x: evaluate(x["收益率评价"], x["响应时长评价"]), axis=1)# df.to_csv(f"car_new3.csv", encoding="utf_8_sig", index=False)# df = pd.read_csv("car_new3.csv")# 创建一个画布 画布比例
plt.figure(figsize=(6, 7))# 解决中文显示问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 声明标题
plt.title("历史货运线路交易定价评价")# 将数据载入画布
plt.pie(df.groupby(by="综合评价")["综合评价"].count(),labels=["不合理", "非常合理", "合理"],explode=(0.3, 0, 0),  # 将某一块分割出来,值越大分割出的间隙越大autopct='%.2f',  # 每块的占比shadow=True,  # 阴影设置startangle=30,  # 逆时针起始角度设置
)# 添加图例
plt.legend(loc="upper right", fontsize=10, bbox_to_anchor=(1.1, 1.05), borderaxespad=0.3)
# loc =  'upper right' 位于右上角
# bbox_to_anchor=[0.5, 0.5] # 外边距 上边 右边
# ncol=2 分两列
# borderaxespad = 0.3图例的内边距# 保存的文件名 分辨率
# plt.savefig('历史货运线路交易定价评价.png', dpi=300)
plt.show()

98年建模a题论文_2020年 MathorCup数学建模 A题 无车承运人平台线路定价问题,定价评价...相关推荐

  1. 亚太数学建模竞赛优秀论文_全国大学生数学建模竞赛介绍

    大学生数学建模全国大学生数学建模竞赛介绍 全国大学生数学建模竞赛始于1992年每年一届,目前已经成为全国高校规模最大的基础性学科竞赛,也是世界上规模最大的数学建模竞赛,竞赛不分专业,但分为专科和本科两 ...

  2. Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数学建模竞赛历年考察知识点统计可视化分析、论文评阅标准参考、国内外CUMCM数学建模类参考文献论文集合之详细攻略

    Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数学建模竞赛历年考察知识点统计可视化分析.论文评阅标准参考.国内外CUMCM数学建模类参考文献论文集合之详细攻略 目录 全国大学生 ...

  3. Mathorcup数学建模竞赛第六届-【妈妈杯】A题:淡水养殖池塘水华发生及池水自净化研究(附一等奖获奖论文、matlab和SAS代码)

    赛题描述 文中涉及附件数据详见第六届Mathorcup数学建模竞赛A题 淡水养殖池塘水华发生及池水净化处理数据​​​​​​​ 目前在我国水产养殖中,池塘养殖产量约占淡水养殖的70%.近年来,随着淡水生 ...

  4. Mathorcup数学建模竞赛第六届-【妈妈杯】A题:淡水养殖池塘水华发生及池水自净化研究(附特等奖获奖论文、SAS和matlab代码)

    赛题描述 文中涉及附件数据详见第六届Mathorcup数学建模竞赛A题 淡水养殖池塘水华发生及池水净化处理数据 目前在我国水产养殖中,池塘养殖产量约占淡水养殖的70%.近年来,随着淡水生态系统水体污染 ...

  5. Mathorcup数学建模竞赛第六届-【妈妈杯】A题:水产养殖池塘综合研究(附一等奖获奖论文、lingo和matlab代码)

    赛题描述 文中涉及附件数据详见第六届Mathorcup数学建模竞赛A题 淡水养殖池塘水华发生及池水净化处理数据 目前在我国水产养殖中,池塘养殖产量约占淡水养殖的70%.近年来,随着淡水生态系统水体污染 ...

  6. 2023年美赛D题思路/2023年美国大学生数学建模D题思路

    思路见文末,比赛开始就更新,先占坑 美赛.数学建模.美国大学生数学建模.美赛思路.美国大学生数学建模思路.2023美赛.2023美国大学生数学建模竞赛.2023美赛思路.2023美赛数据.2023美赛 ...

  7. Mathorcup数学建模竞赛第六届-【妈妈杯】A题:淡水养殖池塘水华发生及池水自净化研究(附一等奖获奖论文和matlab代码)

    赛题描述 文中涉及附件数据详见第六届Mathorcup数学建模竞赛A题 淡水养殖池塘水华发生及池水净化处理数据 目前在我国水产养殖中,池塘养殖产量约占淡水养殖的70%.近年来,随着淡水生态系统水体污染 ...

  8. Mathorcup数学建模竞赛第六届-【妈妈杯】A题:基于模糊综合评价和灰色关联度的淡水养殖池塘水华分析、预测及净化模型(附一等奖获奖论文和matlab代码)

    赛题描述 文中涉及附件数据详见第六届Mathorcup数学建模竞赛A题 淡水养殖池塘水华发生及池水净化处理数据 目前在我国水产养殖中,池塘养殖产量约占淡水养殖的70%.近年来,随着淡水生态系统水体污染 ...

  9. 常见30种数学建模模型_11.12|认识数学模型与数学建模许可

    [报告题目]认识数学模型与数学建模 [报告时间]2020年11月12日17:00-19:30 [报告地点]A118 [主讲人]许可 [主讲人简介]许可,副教授,硕士生导师,沈阳理工大学优秀主讲教师,入 ...

最新文章

  1. c语言调用shell脚本或命令
  2. 忍者必须死3 玩什么忍者_降维:忍者新手
  3. 机器学习原理与算法(六) 支持向量机
  4. mongo的php查询,使用PHP进行简单查询的mongo查询速度慢
  5. MDK调试:设置断点处,代码运行的次数
  6. pycharm中python的默认安装路径_mac PyCharm添加Python解释器及添加package路径的方法...
  7. bigdecimal不等于0怎么写_写文章死憋写不出来,怎么破?
  8. linux 权限管理命令chown、chgrp、umask、linux新建文件或目录的默认权限755
  9. Command ‘docker‘ not found, but can be installed with:
  10. 如何使用ps去改变图片的背景颜色(白底、蓝底和红底)
  11. Struts 官方下载地址
  12. java.util.LinkedHashMap cannot be cast to 问题
  13. 高并发累加器 Striped64
  14. win10如何更改计算机用户名,手把手教你win10下怎么修改账户用户名
  15. 这位闯进程序员界的维密天使,她到底可以编出什么?!
  16. Java开发必学:Java翻译器软件下载手机版
  17. 23个经过时间考验的应用程序,可以管理您的远程软件开发团队
  18. Codec2入门:框架解析
  19. Tyvj 1038 忠诚
  20. comsol波动光学模块案例分析

热门文章

  1. saccharomyces_cerevisiae 酿酒酵母
  2. linux校时写入硬件,手动校正 Linux 系统时间并把时间写入硬件,系统启动时自动校正时间并把时间写入硬件。...
  3. python opencv调节图片亮度与对比度
  4. python中tkinter圆弧_Tkinter(Python)中弧的选项
  5. html form提交前验证,form表单提交前验证实现方法
  6. Centos7上安装rabbitmq和使用
  7. linux桌面版排行2019_2019 年适合新手的 Linux 发行版 top 5
  8. android:layout_gravity和android:gravity属性的区别
  9. telnet给服务器发消息,[摘抄]使用telnet命令直接发送
  10. 群同态基本定理证明_近世代数(3)——群的基本性质