【数学建模】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,需求: 在elementUI的抽屉基础上,添加可拖动侧边栏宽度的功能,实现效果如下: 2,在原组件上添加自定义命令 <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] 主要步骤: QEMU通过/dev/kvm设备文件发起KVM_CREATE_VM ioctl,请求KVM创建一个虚拟机。KVM创建虚拟机相应的结构体,并为QEMU返回一个虚拟机文件描述符QEMU通过虚拟机文件描述…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
