本届五一杯 提供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

分段三次样条回归
(Univariate Spline)
+ 保序回归

把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

公共工具模块
(前缀和O(1) SSE
+ RTS平滑 + 绘图框架)

所有问题二方案共用的「后厨」:用前缀和把线性/二次拟合SSE的计算从O(n)压到O(1),大幅加速所有方案的扫描;RTS Savitzky-Golay平滑速度序列;Agg非交互后端直接保存图片,不弹窗。

Q2-1

q2ai.py

BOCPD贝叶斯在线变点检测
+ HSMM精细化搜索
+ RTS平滑

贝叶斯在线变点检测(BOCPD)实时更新每个时刻「运行长度」的概率,找到概率突变的位置就是变点候选。再用隐半马尔可夫模型(HSMM)在候选附近精细搜索,确定最终节点。

Q2-2

q21_pelt_fast.py

PELT惩罚变点检测
(l2代价 + 二分搜索λ)

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信息准则一维扫描
(前缀和O(1)二次SSE)

把「找两个变点」转化为:遍历所有候选节点组合,计算「第1段线性+第2段二次+第3段二次」模型的总BIC(平衡拟合误差和模型复杂度),BIC最小的组合就是最优划分。二次SSE用前缀和O(1)计算极快。

Q2-6

q25_hmm_fast.py

HMM三状态Viterbi解码
(纯NumPy,无需hmmlearn)

把三段式形变看作「隐状态」(慢/中/快),速度序列为「观测」,用隐马尔可夫模型学习各状态的速度分布(高斯),再用Viterbi算法找出最可能的状态序列,状态切换点即为变点。单向转移矩阵约束阶段不可逆。

▶  问题三

Q3-1

q3ai.py

鲁棒卡尔曼平滑(RTS)
+ 迭代插补(MICE+GBRT)
+ 孤立森林 & MAD Z-score
+ 梯度提升回归(分位数损失)

去噪:卡尔曼滤波前向预测+后向RTS平滑,分变量设参数提取趋势。补齐:迭代插补(MICE)每次用梯度提升树预测一个变量的缺失值,迭代20次收敛。异常:孤立森林+MAD Z-score双保险。建模:梯度提升分位数回归,鲁棒对异常点。

Q3-2

q31_wavelet_stl.py

小波阈值去噪
+ 三次样条插值补齐
+ STL分解残差控制图
+ 岭回归(滞后特征+格兰杰检验)

去噪:小波变换把信号分解为高低频,对高频系数做软阈值截断,保留低频趋势重构。补齐:三次样条插值连接非缺失点。异常:STL把序列分解为趋势+季节+残差,对残差建控制图检测异常。建模:岭回归加入滞后项,格兰杰检验验证因果。

Q3-3

q32_ssm_lof_var.py

状态空间模型+EM算法
+ 局部异常因子(LOF)
+ 向量自回归(VAR)
+ 格兰杰因果检验

去噪与补齐:状态空间模型(SSM)把去噪和补缺合一,用EM算法同时估计模型参数和缺失值。异常:LOF(局部异常因子)比较每个点与邻域点的密度比值,孤立于高密度区的点=异常。建模:VAR对所有变量联合建模,格兰杰检验提取因果链。

Q3-4

q33_cusum_lstm.py

小波阈值去噪
+ 三次样条补齐
+ CUSUM在线异常检测
+ LSTM滑动窗口预测

去噪:小波软阈值。补齐:三次样条。异常: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

分阶段随机森林
+ 五种变点检测择优
+ 增量Δy累积预测

五种变点检测方法都跑一遍,哪种方案让训练集重建RMSE最低就选哪种。然后对三个阶段分别训练随机森林,预测位移增量(Δy),累积加回去还原绝对位移。实验集直接按附件阶段标签对应阶段专家模型预测。

Q4-3

q42.py

分阶段贝叶斯岭回归
+ 多项式×傅里叶基展开
+ 95%置信带

把原始特征展开成多项式和傅里叶基函数,再用贝叶斯岭回归拟合,自动估计正则化强度,每个预测点都有置信区间(±1.96σ)。累积标准差传播给出全过程预测置信带。

Q4-4

q43.py

每阶段四模型择优①
(线性/岭回归/SVR/XGBoost
+ 5折CV竞争)

对每个阶段同时训练四种模型(线性回归、岭回归、SVR-RBF核、XGBoost),用5折交叉验证R²最高的模型作为该阶段的「专家」。三个阶段可能选不同模型,最终拼成分阶段混合预测器。

Q4-5

q44.py

每阶段四模型择优②
(LASSO/决策树/AdaBoost/LightGBM
+ 5折CV竞争)

与Q4-4策略相同(5折CV竞争),但换了四套模型:LASSO(L1稀疏自动选特征)、决策树(深度CV优化,直观)、AdaBoost(对异常点鲁棒的自适应提升)、LightGBM(叶子级分裂,速度最快)。

▶  问题五

Q5-1

q5ai.py

ARD-GP变量组合筛选
+ BOCPD+HSMM阶段识别
+ EVT/GPD分阶段预警阈值

用自动关联度确定(ARD)高斯过程:不同输入维度有独立长度尺度,长度尺度越大说明该变量对预测贡献越小,由此筛选最优5变量组合(C(6,5)=6种)。阶段划分用BOCPD+HSMM,预警阈值用极值理论(GPD)对各阶段速度尾部建模,分阶段给出T1/T2/T3三级阈值。

Q5-2

q51_xgboost_lstm.py

XGBoost特征重要性筛选
+ SHAP值(可选)
+ XGBoost vs LSTM双模型对比
+ EVT预警

用XGBoost的特征重要性(及可选的SHAP值)替代ARD-GP做变量筛选,选出最重要的5个变量。速度预测同时训练XGBoost和LSTM,对比二者精度,择优作为最终预警模型。阶段划分和EVT预警框架与Q5-1共用。

Q5-3

q52_lasso_arimax.py

LASSO变量筛选
+ ARIMAX(外生变量ARIMA)
+ EVT预警

LASSO回归(L1正则)让不重要的变量系数自动归零,自然完成变量筛选。速度预测用ARIMAX:在传统ARIMA基础上加入外生变量(降雨、孔压等),用auto_arima自动定阶(p/d/q),统计学可解释性强。

Q5-4

q53_xgboost_bnn.py

XGBoost特征重要性筛选
+ 贝叶斯神经网络
(MC Dropout近似贝叶斯推断)
+ EVT预警

变量筛选用XGBoost重要性。速度预测用贝叶斯神经网络:训练时正常Dropout,推理时保持Dropout开启并重复前向N次,N次预测的均值=点预测,标准差=认知不确定性(epistemic uncertainty),可给出概率预警。

Q5-5

q54_xgboost_transformer_lstm.py

XGBoost+SHAP变量筛选
+ Transformer Encoder
+ LSTM基线对比
+ EVT预警

变量筛选用XGBoost重要性+SHAP。速度预测主力用Transformer Encoder(多头自注意力机制,捕捉长程时序依赖),同时训练LSTM基线对比。Transformer能自动关注「哪些历史时刻对当前预测最重要」,在长序列上通常优于LSTM。

Q5-6

q55_physics_stacking.py

物理-数据融合
+ Voight拐点法
+ Granger因果筛变量
+ Stacking集成
(XGB+RF+LSTM→Ridge元学习)
+ Fukuzono经验公式预警

阶段识别: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元能省多少秒评分贪心购置;再做删一买一局部交换精炼

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐