资讯动态

数学建模竞赛:数据驱动决策与随机规划在供应链优化中的应用

发布时间:2026/8/23 17:11:18 来源:尧图企业网站定制
1. 赛题核心与破题思路从“原料”到“模型”的转化2021年的国赛C题题目是《生产企业原材料的订购与运输决策》。乍一看这像是一个经典的供应链管理或运筹学问题很多队伍会立刻想到线性规划、整数规划、库存论这些工具。但如果你真的只把它当成一个数学建模题来做可能就错过了拿高奖的关键。这道题的精髓在于它首先是一个数据驱动的决策问题其次才是一个数学优化问题。它考察的是你如何从一堆看似杂乱、不完美的现实数据原料订单、供应商供货、企业消耗中提炼出规律构建出可靠的预测模型并在此基础上进行科学的优化决策。整个过程就像给一个混乱的生产车间建立一套数字化的“大脑”。为什么这么说我们来看题目的设定。它给了你近五年的原料订购量、供应商的供货量、以及企业的实际消耗量。这些数据不是凭空捏造的完美数列而是充满了现实世界的“噪声”季节性波动、供应商的供货不稳定有最大供货量限制、企业的生产计划调整、甚至可能包含一些异常值比如某个月突然的停产检修。你的第一个任务不是急着去建优化模型而是理解数据、清洗数据、并从中挖掘出可靠的规律。这些规律将成为你所有后续模型的“地基”。地基不牢后面无论用多高级的算法得出的决策都可能是空中楼阁。所以破题的第一步是进行彻底的数据分析。你需要分别对三家供应商A, B, C的供货数据、企业的订购数据、以及240家企业的消耗数据进行探索性数据分析。这包括但不限于计算基本的统计量均值、方差、极值绘制时间序列图观察趋势和周期性分析不同供应商供货的稳定性可以用变异系数来衡量以及不同企业消耗模式的差异性。这里一个常见的坑是直接对所有企业或所有时间的数据求平均这会把重要的差异信息抹平。正确的做法是分而治之按供应商分类分析供货特征按企业规模或消耗模式聚类分析需求特征。例如你可能会发现供应商A的供货量稳定但上限不高B的供货波动大但偶尔能提供大量原料C则介于两者之间。企业的消耗也可能呈现出明显的周期性比如与季度相关和趋势性缓慢增长。这些洞察将直接指导你后续预测模型的选择和参数设置。2. 预测模型构建时间序列分析与机器学习的权衡在摸清数据规律后核心任务就是预测未来24周即2021年9月1日开始的半年每家供应商的供货量以及每家企业的原料需求量。这是整个赛题的“发动机”。预测不准后面的订购与运输方案就是无本之木。2.1 供货量预测应对不确定性的艺术对于供应商的供货量预测题目暗示其服从一定的分布。这是一个关键提示。你不能简单地对历史数据做线性回归或直接用ARIMA因为供货量受供应商产能、合同、市场等因素影响更像是一个随机过程。常见的思路是拟合概率分布。你可以对每家供应商历史每周的供货量数据进行分布检验。使用K-S检验或Q-Q图去验证其是否服从正态分布、均匀分布或某种自定义分布。例如供应商A的供货量可能集中在某个区间内均匀分布而供应商B的供货量可能近似正态分布但右偏即偶尔有特大供货量。更高级的做法是采用蒙特卡洛模拟。假设你通过分析认为供应商A的供货量在[2000, 2400]吨之间均匀分布供应商B服从均值为2200、标准差为300的正态分布并截断在最小最大值之间。那么你可以通过随机抽样模拟出未来24周成千上万种可能的供货情景。这不仅能给出一个期望的预测值更能给出预测的不确定性范围置信区间这为后续的鲁棒优化提供了输入。这一点是论文的加分项体现了对现实世界不确定性的深刻认识。2.2 企业需求量预测从聚合到个体的策略对于240家企业的原料需求量预测复杂度更高。直接为240家企业分别建立精细模型时间成本太高且容易过拟合。一个行之有效的策略是聚类 代表性建模。首先根据企业历史消耗数据的时间序列特征如年均消耗量、消耗波动性、季节性强度等使用聚类算法如K-Means, DBSCAN将240家企业分成若干大类。比如可以分成“稳定消耗型”、“季节性波动型”、“快速增长型”和“不规则型”等。聚类后从每个类别中选取1-2家最具代表性的企业为其建立精细的预测模型。对于这些代表企业可以尝试多种时间序列模型经典时序模型如ARIMA自回归积分滑动平均模型适合具有稳定趋势和季节性的序列。需要检验序列的平稳性并进行差分、季节差分等预处理。指数平滑模型如Holt-Winters三参数指数平滑对具有趋势和季节性的数据非常直观有效。机器学习模型如LightGBM或XGBoost可以将时间戳第几周、第几月、历史滞后值前1周、前4周、前52周的值作为特征进行训练。这类模型往往能捕捉更复杂的非线性关系。注意在预测时必须考虑新冠疫情的特殊影响。2020年初的数据很可能出现断崖式下跌或异常波动。处理方式可以是将疫情期数据作为特殊时段单独分析或在模型中加入疫情虚拟变量更稳妥的做法是如果疫情期数据严重破坏了序列模式可以主要依据疫情前的数据建立规律并对疫情后的恢复趋势进行合理估计。在论文中必须明确阐述你对异常数据的处理方式。为每个聚类代表企业确定最优模型后将该模型的预测逻辑或参数“迁移”到同类的其他企业进行需求量预测。最后汇总所有企业的预测值得到总需求量的预测区间。这里务必给出预测的误差评估如使用历史数据回测的MAPE平均绝对百分比误差以体现模型的可靠性。3. 订购与运输模型多目标约束下的优化求解在获得了未来24周供货量和需求量的预测最好是一个范围或多种情景后就进入了核心的优化决策阶段制定每家供应商的订购方案以及每周给每家企业的运输方案。目标很明确在满足生产需求的前提下最小化成本包括订购成本和运输成本并最大化保障能力减少缺货风险。3.1 模型建立一个两阶段随机规划框架这是一个典型的带有不确定性的多周期决策问题。一个强大的建模框架是两阶段随机规划。第一阶段决策确定未来24周每周向每家供应商的订购量。这个决策需要在不确定性实际供货量和需求量实现之前做出。第二阶段决策每周不确定性实际供货量、实际需求量实现后决定如何将到手或未完全到手的原料运输给240家企业以应对实际需求。目标函数是最小化总期望成本订购成本 运输成本 缺货惩罚成本或等价地最大化满足率。约束条件包括供应商每周的供货能力上限。每周运输到每家企业的量不能超过其当周实际需求量但可以少于不足部分即为缺货。库存平衡约束本周的库存 上周库存 本周到货量 - 本周运输总量。这里“到货量”是一个随机变量取决于订购量和供应商的实际供货能力。库存容量约束如果题目给出了仓库容量。3.2 线性规划与整数规划的应用将上述模型具体化通常需要用到线性规划或混合整数规划。运输成本如果与运输量成正比那么运输决策就是连续的线性变量。订购成本可能涉及固定成本如每次下单的手续费和可变成本单价*数量如果考虑固定成本就需要引入0-1整数变量来表示是否向某供应商下单问题就变为混合整数规划。一个简化但有效的建模方式是忽略固定订购成本重点关注可变成本。那么订购决策变量是连续的。由于供货量不确定我们可以使用情景法来处理随机性。即用上一阶段蒙特卡洛模拟生成的数百或数千种可能的供货-需求情景来代替连续的随机分布。模型的目标就转化为最小化在所有情景下的平均总成本。这样一个随机规划问题就转化为了一个大规模但确定性的线性规划问题。3.3 求解策略与技巧面对240家企业、24周、多家供应商和数百情景变量和约束的规模会非常庞大直接求解可能困难。需要一些技巧分解与聚合不一定非要为240家企业每家每周都设一个运输变量。可以先将企业按地区或聚类分组假设组内企业运输单价相同先决策到组的运输量再在组内平均分配。这能极大减少变量。滚动优化不要试图一次性求解24周的所有决策。采用模型预测控制的思想每次只优化未来4-8周的决策只执行第一周的决策到下一周根据实际发生的数据更新预测重新进行优化。这样更符合实际管理也降低了模型复杂度。使用专业求解器在编程实现时利用Python的PuLP、ortools库或MATLAB的intlinprog、linprog函数连接Gurobi、CPLEX等商业求解器比赛通常提供学术版可以高效求解大规模线性规划问题。4. 模型评价、灵敏度分析与论文呈现完成模型构建和求解后如何让你的论文脱颖而出关键在于系统的模型评价和深刻的灵敏度分析。4.1 模型评价不止于结果不要只给出一个最终的订购运输方案表就了事。你需要设计一套评价体系成本分析详细列出总成本构成订购、运输、缺货惩罚各占多少并分析其合理性。保障能力分析计算在整个预测期内需求满足率的平均值、最低值最差情况。分析缺货主要发生在哪些周、哪些类型的企业原因是什么是供应商供货不足还是运输分配不合理。方案鲁棒性测试将你们得到的“最优”方案放入之前蒙特卡洛模拟生成的、但未用于建模的新情景例如1000种中进行测试。观察方案在这些新情景下的平均成本和满足率。如果表现依然稳定说明你们的方案鲁棒性强如果波动很大说明方案对不确定性过于敏感需要反思。对比基准建立一个简单的基准策略进行对比例如“均匀订购策略”每周向每家供应商订购固定量或“按历史平均比例订购策略”。用相同的数据测试清晰地展示你们优化模型带来的提升如成本降低了百分之多少满足率提高了多少。4.2 灵敏度分析展现思维的深度这是论文区分度最大的地方。你需要改变模型中的一些关键参数或假设观察结果如何变化并解释其管理含义。需求波动敏感性将企业需求预测的波动性上调或下调10%重新优化看订购方案和总成本如何变化。结论可能是面对需求不确定性增加向稳定型供应商如A的订购比例是更稳妥的策略。供应商可靠性分析假设某家供应商如B的供货波动变得更大标准差增加分析最优的供应商组合是否会发生变化。这能为企业选择战略供应商提供依据。运输成本变化如果运输单价上涨模型是否会倾向于更早地囤积库存提前订购以减少后期运输分析库存策略与运输成本的权衡关系。惩罚权重的影响提高缺货的惩罚成本观察模型是否会倾向于更加保守的订购策略以及满足率的提升幅度。这探讨了“服务水平”与“成本”之间的权衡曲线。4.3 论文呈现将逻辑故事化国赛论文评审时间紧清晰的逻辑和直观的呈现至关重要。摘要用精炼的语言概括“问题是什么、用了什么方法、得到了什么结果、有什么特色和结论”。务必包含关键数据和结论例如“通过聚类分析和时间序列预测...建立了两阶段随机规划模型...在测试中比基准策略成本降低15.2%满足率稳定在98.5%以上...”。模型假设清晰列出所有假设如“供应商供货量相互独立”、“运输成本与距离成正比”、“不考虑原料仓储变质”等并说明其合理性。图表可视化多用图表说话。包括数据分布直方图、时间序列分解图、聚类结果可视化、优化模型框图不是mermaid而是用文字和箭头描述的流程图、成本构成饼图、灵敏度分析折线图等。确保每个图表都有明确的标题和注释。代码与数据虽然论文正文不贴大量代码但可以在附录中给出核心算法的伪代码或简短代码片段体现实现过程。确保使用的数据和处理后的数据可追溯。最后记住数学建模竞赛比拼的不仅是数学和编程能力更是解决问题的能力和逻辑叙述的能力。从理解数据这个“原料”开始到构建预测和优化“模型”再到进行严谨的评价和“分析”整个流程要形成一个完整、自洽、有洞察力的故事。你的论文就是在向评委讲述这个如何用数学工具解决一个现实供应链难题的精彩故事。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价