Skip to content

aprlost/2023-CUMCM-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2023-CUMCM-C: 蔬菜类商品的自动定价与补货决策

本项目为 2023年全国大学生数学建模竞赛 C题(蔬菜类商品的自动定价与补货决策) 的解决方案代码仓库。项目旨在利用历史销售数据,建立数学模型,解决生鲜商超在蔬菜品类的定价与补货策略问题,以最大化商超收益。

项目背景

生鲜商超中,蔬菜类商品保鲜期短、品控难,且销量极易受时间和价格影响。如何制定合理的每日补货量定价策略,在满足市场需求的同时减少损耗、最大化利润,是商超运营的核心痛点。

本项目通过以下步骤解决该问题:

  1. 数据分析与清洗:处理历史销售流水、批发价格及损耗率数据。
  2. 需求预测:利用 LSTM/Transformer 模型预测未来 7 天的销量、批发价及销售单价。
  3. 定价决策:基于价格弹性系数,分析价格对销量的影响。
  4. 优化求解:使用粒子群算法在满足约束条件下寻找最优补货量和定价策略。

项目结构

1. 核心流程

按以下顺序运行脚本,体验完整的解决流程:

文件名 描述 输入 输出
step1.py 数据预处理:读取附件1-3,清洗、合并并按日聚合数据。 附件1-3.xlsx outpics/step1_aggregated_daily_data.csv
step2.py 弹性计算:计算各品类的价格弹性系数(OLS回归)。 step1_*.csv outpics/step2_price_elasticities.json
step3.py 时序预测:基于 LSTM 预测未来 7 天的销量及价格。 step1_*.csv outpics/step3_lstm_predictions.csv
step4.py 策略优化:利用 PSO (粒子群算法) 求解最优补货量与定价。 step3_*.csv, step2_*.json outpics/step5_optimal_strategy.csv

2. 高级模型

包含更复杂的模型实现(Transformer)及改进的预测逻辑:

  • best1.py / best2.py:集成了数据处理、特征工程(季节性分解、周期特征)与 Transformer 预测模型的完整脚本。相比基础 LSTM,Transformer 在捕捉长序依赖上表现更优。
    • 特点:使用 Huber Loss、RobustScaler、EarlyStopping 等策略提升模型鲁棒性。
    • 输出:生成详细的预测图表(保存在 plots/ 目录下)。

3. 辅助/实验脚本

  • 数据集读入.py:独立的数据读取脚本,包含对 附件4(损耗率)的处理逻辑。
  • 价格LSTM.py:专注于使用 Optuna 框架对 LSTM 模型进行超参数自动寻优(针对批发价预测)。
  • 粒子群.py:PSO 算法的独立实现或变体。

环境依赖

依赖以下库:

pip install pandas numpy matplotlib seaborn scikit-learn statsmodels tensorflow torch optuna openpyxl

使用

分步运行

理解每一步的中间结果。

  1. 确保 附件1.xlsx附件4.xlsx 位于项目根目录。
  2. 依次运行:
    python step1.py  # 生成聚合数据
    python step2.py  # 计算价格弹性
    python step3.py  # 训练LSTM并预测
    python step4.py  # 运行PSO优化,得到最终策略
  3. 查看 outpics/ 目录下的结果文件。

运行高级模型

获取更高精度的预测结果。

  1. 运行 best2.py
    python best2.py
  2. 程序将自动进行数据清洗、特征构建、模型训练及预测,并生成可视化图表。

结果展示

  • 预测结果:各品类未来一周的销量、成本及建议售价。
  • 最优策略:每日各品类的具体补货量 (kg)定价策略 (加成率)
  • 可视化:生成的销量趋势图保存在 plots/ 文件夹中。

贡献

本项目由以下参与者贡献和维护:

@aprlost @xphfdp

About

2023年全国大学生数学建模竞赛C题解决方案。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages