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万元再砍一半,瓶颈设备(传感/抛光)是关键 |

相关推荐
无敌昊哥战神1 小时前
【LeetCode 37】解数独 (Sudoku Solver) —— 回溯法详解 (Python/C/C++)
c语言·c++·python·算法·leetcode
风筝在晴天搁浅1 小时前
LeetCode 162.寻找峰值
算法·leetcode
itzixiao2 小时前
L1-067 洛希极限(10分)[java][python]
java·开发语言·算法
jinyishu_2 小时前
链表经典OJ题
c语言·数据结构·算法·链表
葫三生2 小时前
三生原理文章被AtomGit‌开源社区收录的意义探析?
人工智能·深度学习·神经网络·算法·搜索引擎·开源·transformer
AI进化营-智能译站2 小时前
ROS2 C++开发系列15-模板实现通用算法|宏定义ROS2调试开关|一次编码适配多平台
java·c++·算法·ai
刀法如飞2 小时前
Java数组去重的20种实现方式——指导AI解决不同问题的思路
java·算法·面试
良木生香2 小时前
【C++初阶】STL——Vector从入门到应用完全指南(1)
开发语言·c++·神经网络·算法·计算机视觉·自然语言处理·数据挖掘
Brilliantwxx2 小时前
【C++】String的模拟实现(代码实现与坑点讲解)
开发语言·c++·笔记·算法