2026年第二十三届五一数学建模竞赛B题四问参考答案+多算法对比

很多同学一直在后台、直播间疯狂私信:赛题有没有标准答案?能不能对答案?数值差一点是不是就做错了?

今天统一给大家把整套题的参考答案、建模逻辑、数值浮动原因,一次性讲清楚!

首先跟大家说重点:本次赛题给出的参考数值,绝对不是 100% 唯一标准答案,大家不用死磕一个数字,在合理区间内浮动都算正常。

为什么没有固定唯一答案?核心原因就是:题目存在大量需要自主设定的假设条件,不同假设,算出来的结果天差地别。

举个最直观的例子:车间 A 到班组的器械运输,你假设是整车一次性运送 ,和单个器械依次运送,耗时完全不一样;整车运输按基础时间计算,单个依次运输就要额外翻倍累加,光这一个假设,整体时间、成本都会拉开很大差距。

除此之外,本次建模最关键的分歧点还有一个:多台同类设备,能不能并行分担同一道工序?

有的队伍默认可以并行作业,有的队伍认为只能单台依次作业。题目本身没有明确规定两种情况孰对孰错,两种建模思路都具备合理性

针对这两种核心分歧,我直接给大家整理完善了五套配套代码,分两大方案:✅ 方案一:允许同类型设备并行分工作业✅ 方案二:每类设备仅单台独立完成工序

两套方案都完整测算出结果,大家可以对照自己的建模假设,匹配对应思路参考。

再给大家梳理下四道问题的整体结果逻辑:▫️问题一 :参考结果在 10 小时左右,受运输方式、设备作业假设影响最大;▫️问题二 :耗时大幅拉长,直接达到一天多,也是基于基础工序排布与运输规则推导;▫️问题三 :引入双班组优化,Q31、Q32、Q33 同框架不同算法,结果差异极小,仅相差几十以内,仅展示代表性结果即可;优化后耗时从一天多压缩至一天,设备是否并行,依旧会影响整体时长和优化幅度;▫️问题四:追加 50 万预算后,整体耗时大幅下降,从原先 21/23 小时左右,优化至 9 小时级别,各项指标都有明显改善。

很多同学纠结自己的数值和参考答案对不上,这里统一说明:只要你的建模逻辑合理、假设自洽、公式和代码没问题,在参考数值上下浮动几千、甚至一万,都是完全正常的!

尤其是选择单设备逐次运输模式的同学,整体耗时直接多出上千单位,这种差异是模型假设自带的,根本不是建模错误。

本次我也为大家整合了每一问优选参考结果,融合了多种模型方案,大家可以直接对照自己的论文、代码思路选用。

|-------------|-------------------|--------------|---------------|------------------------|
| 问题一 | 文件 | 最短时长 | 时:分:秒 | 建模假设 |
| 问题一 | problem1.py | 37280 s | 10:21:20 | 同类设备全部并行 分担工程量 |
| 问题一 | q11_analytical.py | 37280 s | 10:21:20 | 同上(与problem1.py 一致) |
| 问题一 | q1ai.py | 41600 s | 11:33:20 | 每类只用1台 完成全部工程量 |

|-------------|--------------------------|----------------------|-----------------|---------------|
| 问题二 | 文件 | 算法 | 最短时长(s) | 时:分:秒 |
| 问题二 | problem2.py | 列表调度(4种启发式取优) | 150525 s | 1天 17:48:45 |
| 问题二 | q22_genetic_algorithm.py | 遗传算法(GA) | 144190 s | 1天 16:03:10 |
| 问题二 | q2ai.py | OR-Tools CP-SAT 约束规划 | 151604 s | 42:06:44 |

|-------------|--------------------------|----------------------|-----------------|---------------|
| 问题三 | 文件 | 算法 | 最短时长(s) | 时:分:秒 |
| 问题三 | problem3.py | 列表调度(4种启发式取优) | 75935 s | 21:05:35 |
| 问题三 | q32_genetic_algorithm.py | 双层染色体遗传算法 | 78870 s | 21:54:30 |
| 问题三 | q3ai.py | OR-Tools CP-SAT 约束规划 | 123844 s | 34:24:04 |

|---------------|---------------|-------------|-------------|--------------|
| 问题三对比 | 方法 | 问题2 | 问题3 | 提升幅度 |
| 问题三对比 | 列表调度(并行假设) | 150525 | 75935 | −49.6% |
| 问题三对比 | GA (并行假设) | 144190 | 78870 | −45.3% |
| 问题三对比 | CP-SAT (单台假设) | 151604 | 123844 | −18.3% |

|-------------|----------------------------|------------------------|-----------------|---------------|--------------|
| 问题四 | 文件 | 算法 | 最短时长(s) | 时:分:秒 | 购置费用 |
| 问题四 | problem4.py | 贪心增量搜索 | 33875 s | 9:24:35 | 500,000 元 |
| 问题四 | q42_simulated_annealing.py | 模拟退火(SA) | 33875 s | 9:24:35 | 500,000 元 |
| 问题四 | q4ai.py | OR-Tools CP-SAT + 候选筛选 | 123844 s | 34:24:04 | 470,000 元 |

|---------------|--------------|-----------------------|------------------|
| 问题四结果 | 设备名称 | problem4 (贪心) | q42 (SA) |
| 问题四结果 | 精密灌装机 | 班组1: +1 | 班组2: +1 |
| 问题四结果 | 自动化输送臂 | 0 | 0 |
| 问题四结果 | 工业清洗机 | 0 | 0 |
| 问题四结果 | 高速抛光机 | 班组1: +3 | 班组1: +2, 班组2: +1 |
| 问题四结果 | 自动传感多功能机 | 班组1: +3 | 班组1: +1, 班组2: +2 |

|---------------|---------------|----------------------|-----------------|--------------|
| 问题四对比 | 方法 | 问题3 baseline | 问题4 优化后 | 缩短幅度 |
| 问题四对比 | 贪心(并行假设) | 75935 | 33875 | −55.4% |
| 问题四对比 | SA (并行假设) | -75935 | 33875 | −55.4% |
| 问题四对比 | CP-SAT (单台假设) | 123844 | 123844 | 0% |

|------------|------------|--------------|---------------|-------------------------|
| 综合 | 问题 | 推荐答案 | 时:分:秒 | 关键洞察 |
| 综合 | 问题1 | 37280 s | 10:21:20 | 同类多台并行是合理建模 |
| 综合 | 问题2 | 144190 s | 1天16:03:10 | GA 优于贪心(27道工序排列空间大) |
| 综合 | 问题3 | 75935 s | 21:05:35 | 双班组使工期减半 |
| 综合 | 问题4 | 33875 s | 9:24:35 | 50万元再砍一半,瓶颈设备(传感/抛光)是关键 |

相关推荐
Jerry13 分钟前
LeetCode 1002. 查找共用字符
算法
无限的鲜花30 分钟前
协程本质是函数加状态机——零基础深入浅出 C++20 协程
c++·算法·c++20
旖-旎1 小时前
《LeetCode 64 最小路径和 || LeetCode 174 地下城游戏》
c++·算法·leetcode·动态规划
森林古猿11 小时前
再论斜率优化
c++·学习·算法
万法若空1 小时前
【数学-简单数论】同余中的逆
线性代数·算法
凯瑟琳.奥古斯特2 小时前
力扣1009补码解法C++实现
开发语言·c++·算法·leetcode·职场和发展
KaMeidebaby2 小时前
卡梅德生物技术快报|蛋白的叠氮基修饰:实操解析:核酸模板耦合蛋白的叠氮基修饰实现靶蛋白定点共价标记
前端·人工智能·物联网·算法·百度
通信仿真爱好者3 小时前
第【60期】--大规模MIMO系统信号检测算法误码率比较 --matlab完整代码+参考文章
算法·matlab·mimo·信号检测
AI科技星4 小时前
全域谱分析:无穷维超复数信息场分形统一场论——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·python·算法·金融·乖乖数学·全域数学
先吃饱再说5 小时前
为什么堆能 O(log n) 插入?拆解完全二叉树的数组魔法
算法·排序算法