2023高教社杯数学建模国赛C题思路解析+代码+论文

如下为C君的2023高教社杯全国大学生数学建模竞赛C题思路分析+代码+论文

C题蔬菜类商品的自动定价与补货决策

在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且品相随销售时间的增加而变差, 大部分品种如当日未售出,隔日就无法再售。因此,商超通常会根据各商品的历史销售和需求情况每天进行补货

由于商超销售的蔬菜品种众多、产地不尽相同,而蔬菜的进货交易时间通常在凌晨3:00-4:00,为此商家须在不确切知道具体单品和进货价格的情况下,做出当日各蔬菜品类的补货决策蔬菜的定价一般采用“成本加成定价”方法,商超对运损和品相变差的商品通常进行打折销售。可靠的市场需求分析,对补货决策和定价决策尤为重要。从需求侧来看,蔬菜类商品的销售量与时间往往存在一定的关联关系;从供给侧来看,蔬菜的供应品种在4月至10 月较为丰富,商超销售空间的限制使得合理的销售组合变得极为重要。

背景分析:前两段中,第一段给出了背景,没有什么可用的。第二段中,提出:“在不确切知道具体单品和进货价格的情况下,做出当日各蔬菜品类的补货决策蔬菜的定价一般采用“成本加成定价”方法”,这就意味着,我们后续可能需要对单品和进货价格做预测,预测常用的是机器学习算法进行预测,或者如果这道题目和时间序列有关,那就需要用到时间序列算法,比如ARIMA模型。

在预测模型结束后,根据背景分析,我们下一步可能要做补货决策模型和定价决策模型(这里大家可以看看之前的一道国赛题,机场出租车问题,也是需要很多个决策模型,大家可以从那个的优秀论文里找到一些思路),这里的模型需要兼顾过去的历史数据,以及一些动态变化的数据,比如预测未来的销量,品相对补货情况的影响等等。

题目提到了,可靠的市场需求分析,对补货决策和定价决策尤为重要。所以要有一个小节对市场需求进行详细分析。这里题目也给明了,是要对销量与时间做关联分析,从而寻找到时间对于销量的影响,这里其实也可以用拟合来做,多项式拟合等各种拟合的方式,具体后面看到题目再分析。

接着呢,又写了商超销售空间的限制,所以还要对销售进行组合。如果是空间组合问题,这里我想到的是装箱问题,比如二维、三维装箱问题,不过还是需要看题目具体怎么给,可能并不一定这么复杂。

附件1给出了某商超经销的6个蔬菜品类的商品信息;附件2和附件3分别给出了该商超2020年7月1日至2023年6月30日各商品的销售流水明细与批发价格的相关数据; 附件4给出了各商品近期的损耗率数据。请根据附件和实际情况建立数学模型解决以下问题:

分析:下面我们先对这几个附件进行分析,题目在分析完附件后再说。

附件1给出了某商超经销的6个蔬菜品类的商品信息,具体的;

可以看出,有两个信息和他们对应的索引,这里可以用类别来做聚类分析,就看后续的要求了,聚类分析可以用kmeans或者DBSCAN算法。或者简单的做统计分析也可以,看题目要求。

这里,要做如下几件事:

1 将销售日期转换为时间格式(python的话)

2 对于扫码销售时间,应该改变其格式,推荐用正则表达式提取需要的数字,将其转换为数值型数据。我看了下销售类型和是否打折销售,这两个指标需要量化,推荐用0或1来量化即可。

附件3是关于批发价格的。这个表可以新增三列,根据单品编号来后面追加3列,也就是和附件1对应起来,以便后续数据处理。这里可能需要对同一单品做关于时间的分析,也就是随着时间,这个单品的批发价格情况如何变化,可以针对情况做统计分析以及可视化

附件4可以和附件1合并,在附件1里追加一列,这样,附件3又可以多追加一列了。

对于题目的数据处理工作,很重要的一点就是要对多个表进行合并,以便后续分析了。

下面我们再介绍一些你们可以做的其他EDA(探索性数据分析)工作。

建议大家使用一些可视化方法,可以使用常见的EDA可视化方法:

l 直方图和密度图:展示数值变量的分布情况。

l 散点图:展示两个连续变量之间的关系。

l 箱线图:展示数值变量的分布情况和异常值。

l 条形图和饼图:展示分类变量的分布情况。

l 折线图:展示随时间或顺序变化的趋势。

l 热力图:展示不同变量之间的相关性。

l 散点矩阵图:展示多个变量之间的散点图矩阵。

l 地理图:展示地理位置数据和空间分布信息。

分析完附件,就可以来做题了。

问题1蔬菜类商品不同品类或不同单品之间可能存在一定的关联关系,请分析蔬菜各品类及单品销售量的分布规律及相互关系。

问题一分析:前半句告诉我们要用怎么样的方法,这道题目我的建议是针对蔬菜的品类做聚类分析(比如kmeans等聚类算法),针对单品销量做时间序列分析,来观察世界对销量的影响。

相互的关系,可以用拟合来做,比如:

1线性回归:使用线性回归模型来拟合销售量与其他特征之间的关系,例如时间、价格等。可以分别对不同品类或单品进行回归分析,得到各自的拟合曲线。

2非线性回归:如果线性模型无法很好地拟合数据,则可以尝试使用非线性回归模型,如多项式回归、指数函数拟合等。这些模型能够更灵活地适应可能存在的非线性关系。

3 时间序列模型:对于销售数据中具有时间信息的情况,可以使用时间序列模型,如ARIMA模型或季节性模型,来拟合销售量的变化趋势和周期性。这些模型可以帮助揭示销售量随时间的演变规律。

4面板数据模型:如果想同时考虑品类和单品之间的关联关系,可以使用面板数据模型,如固定效应模型或随机效应模型。这些模型考虑了跨个体和跨时间的相关性,可以更准确地估计各品类或单品之间的关系。

这样做,可以更好的获得各品类或单品之间销售量的关联性及其规律。这些模型可以帮助商超更好地理解不同品类或单品之间的相互影响,并为补货计划和定价决策提供指导。

问题2考虑商超以品类为单位做补货计划,请分析各蔬菜品类的销售总量与成本加成 定价的关系,并给出各蔬菜品类未来一周(2023年7月1-7日)的日补货总量和定价策略, 使得商超收益最大。

2-4问及其他助攻(代码、可视化方法、论文、讲解视频等)请看文末。

问题3因蔬菜类商品的销售空间有限,商超希望进一步制定单品的补货计划,要求可 售单品总数控制在27-33个,且各单品订购量满足最小陈列量2.5千克的要求。根据2023 年6月24-30日的可售品种,给出7月1日的单品补货量和定价策略,在尽量满足市场对各 品类蔬菜商品需求的前提下,使得商超收益最大。

问题4 为了更好地制定蔬菜商品的补货和定价决策,商超还需要采集哪些相关数据,

这些数据对解决上述问题有何帮助,请给出你们的意见和理由。

附件1 6个蔬菜品类的商品信息

附件2销售流水明细数据

附件3蔬菜类商品的批发价格

附件4蔬菜类商品的近期损耗率

(1)附件1中,部分单品名称包含的数字编号表示不同的供应来源。

(2)附件4中的损耗率反映了近期商品的损耗情况,通过近期盘点周期的数据计算得到。

有关思路、相关代码、讲解视频、参考文献、成品论文等相关内容可以点击下方群名片哦!
 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis的逆向工程

文章目录 前言MyBatis的逆向工程创建逆向工程的步骤添加依赖和插件创建MyBatis的核心配置文件创建逆向工程的配置文件执行MBG插件的generate目标 QBC查询增改 总结 前言 MyBatis的逆向工程 正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表…

TSN时间敏感网络

目录 时间敏感网络介绍 子协议介绍 时间同步 IEEE802.1AS 调度和流量整形 IEEE802.1Q IEEE802.1Qbv IEEE802.1cr IEEE802.1Qbu IEEE802.1Qch IEEE802.1Qav IEEE802.1Qcc 纠错机制与安全 IEEE802.1Qci IEEE802.1CB IEEE802.1Qca 参考 时间敏感网络介绍 TSN(Tim…

【Ambari】Python调用Rest API 获取集群状态信息并发送钉钉告警

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文…

Mybatis传递实体对象只能直接获取,不能使用对象.属性方式获取

mybatis的自动识别参数功能很强大,pojo实体类可以直接写进mapper接口里面,不需要在mapper.xml文件中添加paramType,但是加了可以提高mybatis的效率 不加Param注解,取值的时候直接写属性 //这里是单参数,可以不加param&#xff01…

Android学习之路(13) Handler详解

1. 简介 Handler是一套 Android 消息传递机制,主要用于线程间通信。 用最简单的话描述: handler其实就是主线程在起了一个子线程,子线程运行并生成Message,Looper获取message并传递给Handler,Handler逐个获取子线程中的Message.…

vue前端解决跨域

1,首先 axios请求,看后端接口路径,http://122.226.146.110:25002/api/xx/ResxxList,所以baseURL地址改成 ‘/api’ let setAxios originAxios.create({baseURL: /api, //这里要改掉timeout: 20000 // request timeout}); export default s…

C++ std::pair and std::list \ std::array

std::pair<第一个数据类型, 第二个数据类型> 变量名 例如&#xff1a; std::pair<int, string> myPair; myPair.first;拿到第一个int变量 myPair.second拿到第二个string变量 std::pair需要引入库#include "utility" std::make_pair() 功能制作一个…

二维数组前缀和(JAVA)

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 暴力 双层for循环&#xff0c;遍历子矩阵。 前缀和算法&#xff1a; class NumMatrix {private int sum[][];private int matrix[][];public NumMatrix(int[][] matrix) {this.matrixmatrix;int row…

手机电脑scoket通信 手机软件 APP inventor 服务端程序python

python scoket 通信 再帮助同学坐课题的时候接触到了scoket通信&#xff0c;了解到这应该是基层网络通信的原理&#xff0c;于是就导出搜索了一下相关的资料&#xff0c;简单来说scoket通信就是&#xff0c;可以让不同设备在同一个网络环境的条件下&#xff0c;可以实现相互通…

【Tomcat服务部署及优化】

Tomcat 一、什么是Tomcat?二、Tomcat 核心组件2.1 Tomcat 组件2.3 Container组件的结构2.4 Tomcat 请求过程 三、Tomcat 部署3.1 安装JDK3.2 设置JDK环境变量3.3 安装Tomcat并用supervisor启动解压添加到supervisord服务测试能否通过supervisorctl启动 四、Tomcat的端口和主要…

Visual Studio Code 终端配置使用 MySQL

Visual Studio Code 终端配置使用 MySQL 找到 MySQL 的 bin 目录 在导航栏中搜索–》服务 找到MySQL–>双击 在终端切换上面找到的bin目录下输入指令 终端为Git Bash 输入命令 ./mysql -u root -p 接着输入密码&#xff0c;成功在终端使用 MySQL 数据库。

C++11新特性④ | 模板类std::function和标准库函数std::bind

目录 1、引言 2、std::function函数模板类 3、std::bind标准库函数 4、std::bind和std::function配合使用 VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/article/details/12427258…