数学建模经历以及获奖建议

2025 年的全国大学生数学建模比赛(CUMCM)已经落下帷幕。以下是博主的比赛经历。

比赛规则

  • 三人为一对,分别担任建模手编程手论文手
  • 选择一组题目,解决对应问题并上传。通常包含一篇论文(PDF 格式)以及支撑材料(压缩文件)

数学建模竞赛的基本流程

  • 建模手将问题转化为数学模型
  • 编程手根据数学模型编写程序代码
  • 数据输入程序,得到结果
  • 论文手问题数学模型结果整理成论文
  • 论文程序代码构成问题最终的解决方案

这里引用小嗷犬的图片来解释


数学建模竞赛详细介绍

全国大学生数学建模竞赛,以下简称国赛,是中国规模最大的数学建模竞赛,也是世界上规模最大的数学建模竞赛。参加比赛不仅可以能增长见识,如果能获奖,则该奖项可以被写在履历中来丰富自己的学术经历

以今年(2025)国赛 广东赛区为例:

  • 比赛时间:九月四号下午六点开赛,到九月七号晚上八点截止
  • 比赛时长:3 天
  • 报名费用:100 元 / 人
  • 比赛语言:中文
  • 比赛题目:ABCDE 五组题目,本科生只能选择 ABC 组题目,专科生可以选择 ABCDE 题目
  • 比赛奖项
    • 国家级:一等奖、二等奖
    • 省级:一等奖、二等奖、三等奖
    • 赞助商特别奖项

赛前准备

选择队友

以博主自身经历来看,数学建模比赛的特点是时间紧任务重,因此选择队友是非常重要的一步。一个好的队友能在关键时刻起到决定性作用。

团队分工不一定要十分明确,例如在这次比赛中博主是编程手,但论文是博主使用 latex 生成的。论文手是博主朋友,他只需将对应内容发给博主即可,而他也帮助博主编写相关程序。建模手则是位女生,她在最后的时候帮助博主寻找合适图片,文献来帮博主分担工作。由此可见,模型构建与算法实现是紧密结合的。三个位置相互帮助才能产出一个好的作品。

能否完赛,取决于建模手和编程手,建模手和编程手决定了团队的下限;能否拿奖,取决于论文手,论文手决定了团队的上限。因为评委老师一开始只能看到你的论文。因此论文的美观程度对于评委影响是十分巨大的。

知识储备

因为博主是论文手,因此本文主要从论文手角度分析其所需要的的知识储备:

  • 论文排版:推荐使用LaTeX
  • 论文参考文献BibTeX

另外为新手推荐数模资料

工具准备

由于比赛要求论文格式为 pdf,因此推荐使用 latex 编辑器TeXstuio,网上有不少安装教程,例如TeXstudio 安装,如果觉得安装时间过长的话(大约 40 分钟),那么可以考虑使用 Overleaf来写论文, Overleaf是一个支持多人同时编辑的在线 LaTeX 编辑器。

利用 LaTeX 运行后直接生成 pdf 文件,因此不必再将其他格式文件转成 pdf 格式。

本人经历

从找队友说起,博主和朋友打算参加比赛。于是在校园墙发布帖子,很快就有人来加微信询问。由于我俩都是计算机专业的,所以最后选择了应用数学专业的同学,她来负责建模。

由于报名人数太多,学校要求队内没有参加过美赛(美国大学生数学建模竞赛)并且拿 S 奖以上同学的队伍进行模拟比赛。于是博主便开始找关于国赛论文的资料,找到了小嗷犬发布相关模板(做博客的想法也是从那时候开始的)。后面比赛是在家里面做完的,大概看了一下,绝大多数队伍都通过了初选。

在后面就是学雅思,学车了。其实没怎么学相关知识。只是提前回学校看了看。

比赛情况

我们选择的是 A 组题《烟幕干扰弹的投放策略》。一共是有 5 道问题。第一问就是纯物理模型计算,我查找相关论文的时候看到了这个


要知道当时比赛也就开始了 2 小时,点进去发现内容和 A 题完全一致的时候我人直接懵了。

然后建模手开始计算,最后算出答案发现和其他人答案不一样(其他人答案哪来的你别问),就开始改,改了半天还是这个答案。于是启动 GPT-5 最新模型,发现思路没有问题。但答案就是出不来。最后搞到 12 点也没出来,女生说太晚了先睡觉吧。我俩也怕女生熬太久身体扛不住,就只能先宿舍睡觉了。因为三点没有大巴车,我和我朋友又花了 20 分钟走回宿舍。收拾完躺到床上就 2 点了,第一天的建模以信心满满开始,以无解失败告终。

第二天起来我先写程序,跑了一上午好不容易跑出来并加到论文中去,但第一题还是出不来正确结果。下午我和我朋友坐机房里面分析,突然看到一组数据不太对,然后我俩就问 AI 为什么思路一样数据不对,得到的答案是重力加速度我们 g 取的 10,别人取的 9.8。。。

那很明显了,初高中的后遗症,经典默认题目会给 g=10m/s^2,这波建模手全责。等第一题搞完第二天都快结束了,然后建模手开始做第二题,这题倒是很快,不过等论文写好已经是凌晨 2 点了,重复昨天的流程。第二天也结束了。

等起来已经是 11 点了,赶紧吃饭。第三天需要把第三问第四问写出来,不然第四天晚上交很可能来不及。 第三位算出来六点多,和别人的十一点多差的有点大。建模手直接不会了,问 AI,AI 算的也不是这个,第四问也是如此。就这样一直改,改到 3 点最终确定使用一开始的方案,然后回去休息,等他躺床上已经是 5 点了,天都快亮了。

最后一天我们借助 AI 完成了第五问,把论文的相关内容进行填充,把图片加入文章,找了相关文献,还写了支撑材料。多亏 GPT-5 大人,让我们在 7 点半的时候生成了 MD5 码,并在最后成功上传作品。

全国大学生数学建模比赛

全国大学生 AI 建模比赛

作品信息

我们的作品正文部分共计 23 页,算上附录的代码共 97 页。使用了运动学模型,模拟退火算法,候选策略池和蚁群算法,以及分时分段拼接遮蔽策略。以下是我们论文的部分摘要:

对于问题一,本文建立了导弹 — 真目标 — 烟幕云团的几何相交判据,将题目中的遮蔽判定为云团中心到视线线段的最小距离不超过 10m,同时在有效窗内离散时间、先粗扫后用二分 Brent 法求出进入与离开遮蔽时刻。接着在运动学计算中将导弹视为匀速飞行,干扰弹视为抛体运动再配合全局时间网格评估最小距离并提取最长连续遮蔽段。最终数值结果给出 τin=2.913s、τout =4.348s,对应有效遮蔽时长∆τ =1.435s。

对于问题二,建立 “投放 — 起爆 — 下沉” 的运动学模型,在扫描满足 d2 ≤ 100 的最长连续段作为目标函数的同时,也全局时间网格上预计算导弹与视线。在编码时采用遗传算法并且配合核心操作模块,多次重启以提升收敛稳定性。得到最优投放策略:速度 v ≈ 106.82m/s, 航向 θ ≈ 178.46◦, 起爆点 Rburst≈(17451.9,9.4,1753.2),投放点 Rdrop≈(17769.90,0.73,1800.00)。

对于问题三,通过优化投放策略,使遮蔽时长最大。我们建立 “导弹恒速直线 — 烟幕云团抛体起爆后下沉” 的运动学模型与 “球 — 视线线段相交” 遮蔽判据,在速度 v = 140m/s、航向 θ = 180◦ 的启发式设定下,采用核心操作模块,最终得出最优遮蔽时长为 6.80s,第一枚投放点与起爆点为 (17800,0,1800) 与 (17310,0,1739.975),第二枚投放点与起爆点为 (17310,0,1800), 与 (16540,0,1651.775),第三枚投放点与起爆点 (17030,0,1800) 与 (16190,0,1623.600)。

对于问题四,构建导弹以 300 米每秒匀速运动、无人机沿等高直线飞行、烟幕先做 “自由落体” 运动,起爆后以 3 米每秒下沉的运动学模型,以便让三枚烟幕的并集有效 遮蔽时长达到最大。借助点到线段距离以及细时间步积分构建精确评估器,在速度 70 至 140 米每秒、投放与延时 0.1 至 10 秒的可行范围内,运用 “候选策略池 + 蚁群算法” 进行全局寻优,以单机严格遮蔽秒数作为启发,并对当代最优解添加信息素以提高收敛效率,数值结果显示:最优方案的并集有效遮蔽总时长为 11.7 秒。

对于问题五,采用 “分时分段拼接遮蔽” 策略。在构建基于几何逆解的烟幕投放 模型之下,设置导弹与真目标之间的线段为爆点。在各种约束条件包括:速度约束 (70–140m/s)、每架无人机投放间隔 (≥1s)、起爆延时 (0.1–10s) 与云团判据 (半径 10m, 起爆后 20s, 下沉 3m/s) 下优化模型。再设计密集起爆时隙网格、竖直高度离散扫描、半秒级双向时间微调,并采用 “遮蔽最少优先” 的二次补位提升总量。最终得出三导弹遮蔽时长分别为 6.9s、6.8s、3.5s,总计 17.2s。

最后整活

一道惊怒的声音响起:“小子,你都做了什么?没有 GPT,我等如何建模?” 只听博主淡然一笑:“很简单,我来建模不就是了”。说罢他的气息不再掩饰,显露而出,建模颠佬!一瞬间,全场又是一寂。众人只听道他口中吟道:

灯火通明建模夜,题组如潮案前叠。

乱麻数据寻规律,模型初构意难决。

迭代数回终有隙,误差如刺心有泪。

挑灯再改星渐淡,不肯轻言方案歇。

初闻建模知路远,仍携纸笔向难前。

三月磨题身似茧,团队同研影如烟。

百算千推心似铁,殚精只为构精尖。

今朝赛场挥毫处,炼数炼模更炼天!

最后,靠着这些经验,第一次参赛拿个省级二等奖是没什么问题的。