当前位置: 首页 > news >正文

【数学建模】2023数学建模国赛C题完整思路和代码解析

C题第一问代码和求解结果已完成,第一问数据量有点大,经过编程整理出来了单品销售额的汇总数据、将附件2中的单品编码替换为分类编码,整理出了蔬菜各品类随着时间变化的销售量,并做出了这些疏菜品类的皮尔森相关系数的热力图,代码和数据处理结果下载见文末地址

后续更新第二问、第三问思路和代码

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

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

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

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

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

要分析蔬菜各品类及单品销售量的分布规律及相互关系,可以首先利用附件中的销售流水明细数据进行统计和分析。以下是一些步骤和方法:

1. 销售量分布规律:针对每个蔬菜品类和单品,计算它们在不同日期的销售量,然后可以绘制销售量的时间序列图。

2. 销售量的相关性:*可以计算不同蔬菜品类或单品之间的销售量的相关性。使用相关系数来衡量它们之间的线性关系。如果相关系数接近1或-1,表示它们之间存在强烈的正相关或负相关关系。

3. 销售量的分布统计: 对于每个蔬菜品类或单品,计算其销售量的统计数据,如平均销售量、最大销售量、最小销售量、销售量的标准差等。

4. 销售量的季节性分析: 使用季节性分析方法,如季节性分解或周期性分析,来确定销售量的季节性模式。

5. 销售量的趋势分析:利用时间序列分析方法,如移动平均法或指数平滑法,来识别销售量的趋势。

6. 销售量的影响因素:考虑可能影响销售量的因素,如促销活动、天气变化、节假日等。分

通过以上分析,可以得出关于不同蔬菜品类和单品销售量的分布规律和相互关系的结论。

国赛C题部分代码如下(完整代码见文末地址):

% 初始化一个向量来存储每个分类编码的销量总和
totalSales = zeros(size(uniqueCodes));% 遍历每个唯一的分类编码并计算销量总和
for i = 1:length(uniqueCodes)code = uniqueCodes(i);totalSales(i) = sum(data(data(:, 1) == code, 2));
end
% 打印结果
result = [uniqueCodes, totalSales];
% 对 result 最后得到的结果按分类编码进行排序
result = sortrows(result, 1);
% 存储文件
writematrix(result, "(原始)品类销售量数据汇总.xlsx");

 
(完整代码见文末地址)
% 读取附件1中的单品编码和分类编码的对应关系
file1 = '附件1调整后数据.xlsx'; % 文件名
data1 = readtable(file1); % 读取数据% 读取附件2中的数据
file2 = '附件2调整后数据.xlsx'; % 文件名
data2 = readtable(file2); % 读取数据sortCode1 = data1.sort_code; % 分类编码列名为 "分类编码"% 提取附件2的数据中的单品编码
singleCode2 = data2.single_code; % 单品编码列名为 "单品编码"% 使用单品编码1和分类编码1的对应关系来替换单品编码2
for i = 1:length(singleCode2)index = find(strcmp(singleCode1, singleCode2{i}));if ~isempty(index)data2.sort_code(i) = sortCode1(index(1)); % 假设每个单品编码只对应一个分类编码
end% 将修改后的数据保存到新的文件中(可选)
newFile = 'problem1_2修改后数据.xlsx';
writetable(data2, newFile);

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

要分析各蔬菜品类的销售总量与成本加成定价的关系,并确定未来一周的日补货总量和定价策略以最大化商超的收益,需要进行以下步骤:

第一步:计算销售总量与成本加成定价的关系

  • 1. 对于每个蔬菜品类,从附件2中获取历史销售数据(2020年7月1日至2023年6月30日)。

  • 2. 计算每个品类的销售总量,可以按月或按季度进行汇总,以观察销售趋势。

  • 3. 计算每个品类的总成本,成本包括进货成本和运营成本(如运输成本、储存成本等)。

  • 4. 根据成本和销售总量,计算每个品类的毛利润(销售总收入减去总成本)。

第二步:制定未来一周的日补货总量和定价策略

1. 针对未来一周(2023年7月1日至7日),考虑以下因素:

  • - 以往的销售趋势,包括季节性和周内波动。

  • - 各蔬菜品类的库存水平。

  • - 供应商的供货情况和价格波动。

  • - 商超的销售目标和利润目标。

2. 制定每个品类的日补货总量,可以根据历史销售数据和销售预测来确定。确保库存足够满足需求,但避免过多的库存浪费。

3. 制定每个品类的定价策略,一般采用成本加成定价方法。考虑品类的毛利润率、市场需求、竞争情况和顾客的价格敏感度。定价策略应能最大程度地提高毛利润。

4. 定期监控销售数据和库存水平,根据需要进行调整,以适应市场变化。

每个品类的具体情况可能不同,因此需要根据每个品类的特点和历史数据来制定补货和定价策略。此外,利润最大化不仅取决于销售和定价策略,还受到成本管理、库存控制和市场竞争等因素的影响,因此需要综合考虑多个因素来做出决策。建议使用优化算法或数学规划方法来找到最佳的补货和定价策略。

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

要制定单品的补货计划,以控制可售单品总数在27到33个之间,并满足最小陈列量要求(2.5千克),同时最大化商超的收益,可以采用以下步骤:

第一步:确定可售单品

1. 针对2023年6月24日至30日的可售品种,列出所有可供选择的单品。

第二步:建立数学模型

1. 为每个可售单品定义以下参数:

- Q_i:单品$i$的补货量(千克)

- P_i:单品$i$的定价策略(以百分比表示的成本加成,例如,如果成本为10元,定价策略为20%,则售价为12元)

- C_i:单品$i$的进货成本(元/千克)

- D_i:单品$i$的销售需求(千克)

- S_i:单品$i$的最小陈列量(2.5千克)

2. 定义目标函数:商超的总收益,可以表示为所有单品的毛利润之和,即

3. 约束条件:

- 可售单品总数约束:

- 单品补货量非负约束:

- 单品需求满足约束:

- 最小陈列量满足约束:

第三步:求解数学模型

使用线性规划或其他优化算法来求解上述数学模型,以找到最佳的单品补货量和定价策略,以最大化商超的总收益。这将提供7月1日的单品补货计划。

问题 4 :为了更好地制定蔬菜商品的补货和定价决策,商超还需要采集哪些相关数据,这些数据对解决上述问题有何帮助,请给出你们的意见和理由。思路和代码下载见文末地址

附件 1 6个蔬菜品类的商品信息附件 2 销售流水明细数据附件 3 蔬菜类商品的批发价格附件 4 蔬菜类商品的近期损耗率注 (1) 附件 1中,部分单品名称包含的数字编号表示不同的供应来源。

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

2023数学建模国赛C题代码和思路下载地址:C题代码和思路分析

相关文章:

【数学建模】2023数学建模国赛C题完整思路和代码解析

C题第一问代码和求解结果已完成,第一问数据量有点大,经过编程整理出来了单品销售额的汇总数据、将附件2中的单品编码替换为分类编码,整理出了蔬菜各品类随着时间变化的销售量,并做出了这些疏菜品类的皮尔森相关系数的热力图&#…...

论数据库的种类

摘要 数据库是现代信息管理和数据存储的重要工具,几乎在各个领域都有广泛应用。不同类型的数据库适用于不同的应用场景和需求。本文将介绍几种常见的数据库种类,并探讨它们的特点和适用范围。 正文 一、关系型数据库(RDBMS) 关…...

docker笔记4:高级复杂安装-mysql主从复制

1.主从搭建步骤 1.1新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORDroot \ -d…...

MySQL卸载干净再重新安装【Windows】

家人们,谁懂啊? 上学期学的数据库,由于上学期不知道为什么抽风,过得十分的迷,上课跟老师步骤安装好了Mysql,但后面在使用的过程中出现了问题,而且还出现了忘记密码这么蠢的操作,后半…...

在VScode中如何将界面语言设置为中文

VSCode安装后的默认界面是只有英文的,如果想用中文界面,那么就需要安装对应的插件,vscode插件可以从扩展中心去搜索并安装。 安装vscode后打开vscode,点击左侧的扩展按钮。 在搜索框中输入chinese,弹出chinese&#x…...

jenkins如何请求http接口及乱码问题解决

文章目录 1.插件安装2.请求pipline语法3.插件方式实现4.乱码问题解决5.值得注意 1.插件安装 需要安装HTTP Request 插件;安装方式不介绍。 2.请求pipline语法 官网链接,上面有详细语法:https://plugins.jenkins.io/http_request/ 附一个d…...

景区洗手间生活污水处理设备厂家电话

诸城市鑫淼环保小编带大家了解一下景区洗手间生活污水处理设备厂家电话 MBR生活污水处理设备构造介绍: mbr一体化污水处理的设计主要是对生活污水和相类似的工业有机污水的处理,其主要处理手段是采用目前较为成熟的生化处理技术接触氧化法,水…...

Java基础(四)

151. LinkedList特征分析 增删快 可以打断连接,重新赋值引用,不 涉及数据移动操作,效率高 查询慢 双向链表结构数据存储非连 续,需要通过元素一一 跳转 152 ArrayList和LinkedList对比分析 ArrayList特征 查询快。增删慢 适用于数据产出之…...

Android WIFI工具类 特别兼容Android12

直接上代码: package com.realtop.commonutils.utils;import android.annotation.SuppressLint; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothManager; import android.bluetooth.BluetoothProfile; import android.content.Con…...

【Android Framework系列】第14章 Fragment核心原理(AndroidX版本)

1 简介 Fragment是一个历史悠久的组件,从API 11引入至今,已经成为Android开发中最常用的组件之一。 Fragment表示应用界面中可重复使用的一部分。Fragment定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。…...

Python 网页爬虫原理及代理 IP 使用

目录 前言 一、Python 网页爬虫原理 二、Python 网页爬虫案例 步骤1:分析网页 步骤2:提取数据 步骤3:存储数据 三、使用代理 IP 四、总结 前言 随着互联网的发展,网络上的信息量变得越来越庞大。对于数据分析人员和研究人…...

失效的访问控制及漏洞复现

失效的访问控制(越权) 1. 失效的访问控制(越权) 1.1 OWASP TOP10 1.1.1 A5:2017-Broken Access Control 未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其…...

MLOps:掌握机器学习部署:Docker、Kubernetes、Helm 现代 Web 框架

介绍: 在机器学习的动态世界中,从开发模型到将其投入生产的过程通常被认为是复杂且多方面的。 然而,随着 Docker、Kubernetes 等工具以及 FastAPI、Streamlit 和 Gradio 等用户友好的 Web 框架的出现,这一过程变得比以往更加简化…...

Python标识符命名规范

简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。 Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:…...

对 fastq 和 bam 进行 downsample

对 fastq 和 bam 进行 downsample 一、Fastq1、seqtk二、Bam1、samtools2、Picard DownsampleSam3、比较 并行采样模板 一、Fastq 1、seqtk Seqtk 是一种快速轻量级的工具,用于处理 FASTA 或 FASTQ 格式的序列。 它可以无缝解析 FASTA 和 FASTQ 文件,这…...

网络爬虫:如何有效的检测分布式爬虫

分布式爬虫是一种高效的爬虫方式,它可以将爬虫任务分配给多个节点同时执行,从而加快爬虫的速度。然而,分布式爬虫也容易被目标网站识别为恶意行为,从而导致IP被封禁。那么,如何有效地检测分布式爬虫呢?本文…...

elementUI可拖拉宽度抽屉

1&#xff0c;需求&#xff1a; 在elementUI的抽屉基础上&#xff0c;添加可拖动侧边栏宽度的功能&#xff0c;实现效果如下&#xff1a; 2&#xff0c;在原组件上添加自定义命令 <el-drawer v-drawerDrag"left" :visible.sync"drawerVisible" direc…...

OpenPCDet系列 | 8.4 nuScenes数据集数据调用和数据分析

文章目录 1. 对数据集遍历1.1 统计mini版本的nuScenes各模态数据和关键帧的数量1.2 单独遍历lidar模态数据1.3 遍历scene统计数据1.4 遍历sample统计数据1.5 遍历sample_data统计数据1.6 数据集的底层结构2. 对数据集可视化2.1 render_sample和render_sample_data2.2 nusc.rend…...

WeiTitlePopupWindow

目录 1 WeiTitlePopupWindow 1.1 // 设置可点击 1.2 // 设置弹窗外可点击 1.3 // 设置弹窗宽度和高度 1.4 // 设置弹窗布局界面 WeiTitlePopupWindow // 设置可点击setTouchable(true);...

qemu/kvm学习笔记

qemu/kvm架构 cpu虚拟化的示例 Reference: kvmtest.c [LWN.net] 主要步骤&#xff1a; QEMU通过/dev/kvm设备文件发起KVM_CREATE_VM ioctl&#xff0c;请求KVM创建一个虚拟机。KVM创建虚拟机相应的结构体&#xff0c;并为QEMU返回一个虚拟机文件描述符QEMU通过虚拟机文件描述…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...