2026年五一杯数模竞赛BC题六篇参考论文发布
本届五一杯 提供BC两题助攻,一份资料两道题目助攻,赛中将会提供完整计算结果+多种模型求解代码+一对一思路、论文定制+AI账号使用权限。
目前 BC题更新python代码、C题matlab代码
B题、C题一对一示例论文;B题、C题免费参考论文;B题、C题完整版论文
B题 问题一二三四各四种算法,共计4*4*4*4 256种算法方案
C题 问题一六种算法、问题二六种算法、问题三五种算法、问题四五种算法、问题五六种算法,共计5400种算法组合方案+一套完整的C题高精度计算方案,
分享版【一套完整代码+论文】链接: https://bzdshumo.com
提取码: 24wb




以下为B题 C题代码大纲 供大家参考
|
问题编号 |
文件名 |
核心算法 / 模型 |
大白话介绍 |
|
▶ 问题一 |
|||
|
Q1-1 |
q1ai.py |
高斯过程回归(GPR) |
把A值送入「智能插值器」,自动学习A→B的弯曲映射,并输出每个预测的不确定区间(置信带)。再用保序回归保证校正值物理单调:A越大,校正后不能减小。额外用贝叶斯变点检测残差是否存在结构性偏移。 |
|
Q1-2 |
q11_spline.py |
分段三次样条回归 |
把A→B的关系想象成一根「弯曲钢条」,用三次样条在数据点之间拟合最平滑的曲线,平滑度由参数s控制。交叉验证自动选最优s,再加保序回归强制单调。 |
|
Q1-3 |
q12_lowess.py |
局部加权回归(LOWESS) |
对每个A值只看附近一小段(带宽frac控制),在局部做加权线性回归,越近的点权重越大。无数个局部拟合拼出整体校正曲线,对局部异常波动自适应。 |
|
Q1-4 |
q13_bayesian_ridge.py |
贝叶斯岭回归 |
先把A扩展成多项式和正弦余弦波等特征,再用「带自动正则化的线性回归」拟合映射。贝叶斯岭回归自动估计惩罚强度,避免过拟合,还能输出每点的不确定性(±σ)。 |
|
Q1-5 |
q14_random_forest.py |
随机森林回归 |
把A扩展成8维特征(A、A²、A³、对数、时间索引、差分等),建几百棵决策树,每棵用随机特征和随机样本,最终平均预测。能自动捕捉非线性和随时间变化的漂移。 |
|
Q1-6 |
q15_xgboost.py |
XGBoost梯度提升树 |
在随机森林基础上升级:每棵新树专门学「上一棵树哪里预测错了」,不断纠错(梯度提升)。额外加入滑动均值、滑动标准差、偏离均值等时序统计特征,感知局部波动上下文。 |
|
▶ 问题二 |
|||
|
Q2-工具 |
q2_utils_fast.py |
公共工具模块 |
所有问题二方案共用的「后厨」:用前缀和把线性/二次拟合SSE的计算从O(n)压到O(1),大幅加速所有方案的扫描;RTS Savitzky-Golay平滑速度序列;Agg非交互后端直接保存图片,不弹窗。 |
|
Q2-1 |
q2ai.py |
BOCPD贝叶斯在线变点检测 |
贝叶斯在线变点检测(BOCPD)实时更新每个时刻「运行长度」的概率,找到概率突变的位置就是变点候选。再用隐半马尔可夫模型(HSMM)在候选附近精细搜索,确定最终节点。 |
|
Q2-2 |
q21_pelt_fast.py |
PELT惩罚变点检测 |
PELT把「找最优两个变点」转化为带惩罚参数λ的最优化问题,λ越大变点越少。用二分搜索在30次内找到恰好2个变点的最优λ,速度极快。备用BinSeg强制n_bkps=2。 |
|
Q2-3 |
q22_cusum_fast.py |
CUSUM累积和统计量 |
CUSUM把位移增量与均值的偏差累积起来,当坡体进入加速阶段时偏差持续为正,累积量出现明显拐点。对CUSUM一阶差分找两个最大正跳变,再用滑动窗口均值差向量化精细定位。 |
|
Q2-4 |
q23_slope_fast.py |
滑动窗口斜率突变检测 |
用线性卷积计算每个窗口内的局部斜率(位移速度),用中值滤波去掉毛刺,然后对斜率序列求差分,找到斜率「突然变大」的两个位置,即阶段转换节点。 |
|
Q2-5 |
q24_bic_fast.py |
BIC信息准则一维扫描 |
把「找两个变点」转化为:遍历所有候选节点组合,计算「第1段线性+第2段二次+第3段二次」模型的总BIC(平衡拟合误差和模型复杂度),BIC最小的组合就是最优划分。二次SSE用前缀和O(1)计算极快。 |
|
Q2-6 |
q25_hmm_fast.py |
HMM三状态Viterbi解码 |
把三段式形变看作「隐状态」(慢/中/快),速度序列为「观测」,用隐马尔可夫模型学习各状态的速度分布(高斯),再用Viterbi算法找出最可能的状态序列,状态切换点即为变点。单向转移矩阵约束阶段不可逆。 |
|
▶ 问题三 |
|||
|
Q3-1 |
q3ai.py |
鲁棒卡尔曼平滑(RTS) |
去噪:卡尔曼滤波前向预测+后向RTS平滑,分变量设参数提取趋势。补齐:迭代插补(MICE)每次用梯度提升树预测一个变量的缺失值,迭代20次收敛。异常:孤立森林+MAD Z-score双保险。建模:梯度提升分位数回归,鲁棒对异常点。 |
|
Q3-2 |
q31_wavelet_stl.py |
小波阈值去噪 |
去噪:小波变换把信号分解为高低频,对高频系数做软阈值截断,保留低频趋势重构。补齐:三次样条插值连接非缺失点。异常:STL把序列分解为趋势+季节+残差,对残差建控制图检测异常。建模:岭回归加入滞后项,格兰杰检验验证因果。 |
|
Q3-3 |
q32_ssm_lof_var.py |
状态空间模型+EM算法 |
去噪与补齐:状态空间模型(SSM)把去噪和补缺合一,用EM算法同时估计模型参数和缺失值。异常:LOF(局部异常因子)比较每个点与邻域点的密度比值,孤立于高密度区的点=异常。建模:VAR对所有变量联合建模,格兰杰检验提取因果链。 |
|
Q3-4 |
q33_cusum_lstm.py |
小波阈值去噪 |
去噪:小波软阈值。补齐:三次样条。异常:CUSUM累积和在线检测,超过控制限即报异常,适合工程连续监测场景。建模:LSTM(长短期记忆网络)用滑动窗口学习时序依赖,预测下一时刻表面位移,能捕捉长程非线性关系。 |
|
Q3-5 |
q34_wavelet_iforest_gpr.py |
小波阈值去噪 |
去噪:小波软阈值。补齐:三次样条。异常:孤立森林随机划分「隔离」异常点,短路径=异常。建模:高斯过程回归,用RBF+Matérn+WhiteKernel复合核同时捕捉平滑趋势和周期性,并输出每个预测点的置信区间。 |
|
▶ 问题四 |
|||
|
Q4-工具 |
q4_utils.py |
公共工具模块 |
问题四所有方案共用的「基座」:集成问题二五种变点检测方法,对训练集自动择优阶段划分;构造爆破影响量特征(距离+药量的物理衰减公式);提供统一的增量Δy预测和累积还原框架;提取表4.1指定时刻预测值。 |
|
Q4-1 |
q4ai.py |
分阶段XGBoost |
用XGBoost梯度提升树作为各阶段主预测模型,同时训练线性回归基线对比。训练集阶段自动识别(五种变点检测择优),实验集用给定阶段标签迁移。预测位移增量Δy后累积还原绝对位移。 |
|
Q4-2 |
q41.py |
分阶段随机森林 |
五种变点检测方法都跑一遍,哪种方案让训练集重建RMSE最低就选哪种。然后对三个阶段分别训练随机森林,预测位移增量(Δy),累积加回去还原绝对位移。实验集直接按附件阶段标签对应阶段专家模型预测。 |
|
Q4-3 |
q42.py |
分阶段贝叶斯岭回归 |
把原始特征展开成多项式和傅里叶基函数,再用贝叶斯岭回归拟合,自动估计正则化强度,每个预测点都有置信区间(±1.96σ)。累积标准差传播给出全过程预测置信带。 |
|
Q4-4 |
q43.py |
每阶段四模型择优① |
对每个阶段同时训练四种模型(线性回归、岭回归、SVR-RBF核、XGBoost),用5折交叉验证R²最高的模型作为该阶段的「专家」。三个阶段可能选不同模型,最终拼成分阶段混合预测器。 |
|
Q4-5 |
q44.py |
每阶段四模型择优② |
与Q4-4策略相同(5折CV竞争),但换了四套模型:LASSO(L1稀疏自动选特征)、决策树(深度CV优化,直观)、AdaBoost(对异常点鲁棒的自适应提升)、LightGBM(叶子级分裂,速度最快)。 |
|
▶ 问题五 |
|||
|
Q5-1 |
q5ai.py |
ARD-GP变量组合筛选 |
用自动关联度确定(ARD)高斯过程:不同输入维度有独立长度尺度,长度尺度越大说明该变量对预测贡献越小,由此筛选最优5变量组合(C(6,5)=6种)。阶段划分用BOCPD+HSMM,预警阈值用极值理论(GPD)对各阶段速度尾部建模,分阶段给出T1/T2/T3三级阈值。 |
|
Q5-2 |
q51_xgboost_lstm.py |
XGBoost特征重要性筛选 |
用XGBoost的特征重要性(及可选的SHAP值)替代ARD-GP做变量筛选,选出最重要的5个变量。速度预测同时训练XGBoost和LSTM,对比二者精度,择优作为最终预警模型。阶段划分和EVT预警框架与Q5-1共用。 |
|
Q5-3 |
q52_lasso_arimax.py |
LASSO变量筛选 |
LASSO回归(L1正则)让不重要的变量系数自动归零,自然完成变量筛选。速度预测用ARIMAX:在传统ARIMA基础上加入外生变量(降雨、孔压等),用auto_arima自动定阶(p/d/q),统计学可解释性强。 |
|
Q5-4 |
q53_xgboost_bnn.py |
XGBoost特征重要性筛选 |
变量筛选用XGBoost重要性。速度预测用贝叶斯神经网络:训练时正常Dropout,推理时保持Dropout开启并重复前向N次,N次预测的均值=点预测,标准差=认知不确定性(epistemic uncertainty),可给出概率预警。 |
|
Q5-5 |
q54_xgboost_transformer_lstm.py |
XGBoost+SHAP变量筛选 |
变量筛选用XGBoost重要性+SHAP。速度预测主力用Transformer Encoder(多头自注意力机制,捕捉长程时序依赖),同时训练LSTM基线对比。Transformer能自动关注「哪些历史时刻对当前预测最重要」,在长序列上通常优于LSTM。 |
|
Q5-6 |
q55_physics_stacking.py |
物理-数据融合 |
阶段识别:BOCPD找候选+Voight拐点法(物理公式验证加速阶段开始)双重确认。变量筛选:格兰杰因果检验建立「降雨→孔压→速度」因果链。预测:Stacking集成——XGBoost+随机森林+LSTM作基学习器,Ridge回归作元学习器融合三者。预警:EVT/GPD+Fukuzono滑坡经验公式双重验证阈值。 |
|
问题 |
文件名 |
算法名称 |
方法类型 |
大白话解释 |
|
问题一 |
||||
|
问题一 |
problem1.py |
综合版(解析法) |
闭合公式推导+完整输出 |
直接算出结论:A车间3道工序串行,各类设备全用,运输200s加各工序时间累加,一次得出最终答案 |
|
问题一 |
q11_analytical.py |
解析法 |
闭合公式 Closed-Form,O(1) |
像做数学题,直接套公式算每道工序耗时,可严格证明全局最优 |
|
问题一 |
q12_milp.py |
混合整数线性规划 MILP |
PuLP + CBC,0-1变量线性化 |
把用几台设备做哪道工序写成数学优化问题,用0-1变量离散化台数乘时间的双线性乘积,交给求解器自动找最优 |
|
问题一 |
q13_cpsat.py |
约束规划 CP-SAT |
Google OR-Tools IntervalVar建模 |
用专为调度设计的区间变量建模,内置调度剪枝,比MILP通常快10~100倍,整数原生支持避免取整误差 |
|
问题二 |
||||
|
问题二 |
problem2.py |
综合版(列表调度) |
事件驱动启发式+完整输出 |
完整工程实现,含跨车间运输计算、C车间C3~C5重复3遍展开、五车间并行竞争设备资源 |
|
问题二 |
q21_list_scheduling.py |
列表调度启发式 |
事件驱动,4种优先级规则择优 |
维护可开始工序清单,每次按规则(最早开始/最早结束/最长/最短)挑一个提交,取4套规则最优结果 |
|
问题二 |
q22_genetic_algorithm.py |
遗传算法 GA |
排列染色体+OX交叉+变异,200代 |
把27道工序执行顺序编码成基因链,几十条基因链互相杂交加变异进化200代,留下完工最早的后代 |
|
问题二 |
q23_simulated_annealing.py |
模拟退火 SA |
Metropolis准则+几何降温 a=0.995 |
高温时大胆尝试坏方案防陷局部最优,温度越低越谨慎,3种邻域操作(换位/插入/翻转),约12.8万次评估 |
|
问题三 |
||||
|
问题三 |
problem3.py |
综合版(双班组列表调度) |
双班组设备池+多图可视化 |
两班组设备合并成一个大池子,每台设备记住所属班组和当前位置,统一调度,输出6张分析图 |
|
问题三 |
q31_list_scheduling.py |
列表调度(双班组) |
双班组合并池,4规则择优 |
在问题二基础上把设备池翻倍(班组1加2合并),每台设备保留team标签和初始位置,试4套优先规则取最优 |
|
问题三 |
q32_genetic_algorithm.py |
GA 双层染色体 |
工序排列+班组分配比例联合进化 |
染色体多一层:第一层决定工序顺序,第二层决定每道工序用多少比例的班组1设备,两层同时进化找最优分配 |
|
问题三 |
q33_cpsat.py |
CP-SAT 精确建模 |
IntervalVar+AddCircuit运输约束 |
对每台设备乘每道工序建区间变量,用AddCircuit精确排序设备经手工序,并在相邻工序间注入跨车间运输时间约束 |
|
问题四 |
||||
|
问题四 |
problem4.py |
综合版(贪心购置) |
贪心增量+双班组调度+完整输出 |
完整工程实现,涵盖设备购买决策加调度,直接输出题目要求的表4(调度结果)和表5(购买情况) |
|
问题四 |
q41_greedy.py |
贪心增量购置 |
Best-Improvement逐件贪心,内层列表调度 |
每轮枚举所有再买一台的可能,选能让完工时间缩短最多的那件买下,重复至预算不够或无改进 |
|
问题四 |
q42_simulated_annealing.py |
SA 双层退火 |
外层退火购置向量+内层启发式调度 |
把买哪些设备编码为10维整数向量(5类x2班组),用退火在购置方案空间搜索,邻域为加减换一台,超预算用罚函数 |
|
问题四 |
q43_sensitivity.py |
敏感性分析驱动 |
瓶颈感知三阶段:分析→购置→精炼 |
计算每类设备利用率加关键路径占比加单位成本边际收益;按每花1元能省多少秒评分贪心购置;再做删一买一局部交换精炼 |
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)