← Back to Home

First Glance

可以想象这道题会是一种类似于站台疏散(2014A)的题目,可以模拟消防员/受灾人员的位置,也可以模拟火灾和烟雾的变化。 题目贴心给出了6个房间一个hallway的配置,显然是提示队伍先在简单的场景上建模,再扩展到复杂的房型上去。

在第一个任务Sweep Model的建立时也提示了要找最短路径,这是一个类似TSP或者哈密尔顿环路的问题, 解法有很多,很适合比较不同算法的performance。 但要注意不要掉到找最优解的这个思路里。在数学建模比赛中,比较和分析不同算法,往往比得到一个最优解要好很多: 关键在于你怎么评估一个算法优于另一个。当然如果你使用并证明你的方法是最优的肯定也行,作为读者我肯定也想知道这个方法平均比benchmark好多少, 所以无论用不用最优算法,建立一个比较不同解法的框架是必不可少的

题目要求分析

出题人特意留了一个Apply Your Model的小节,要求队伍显式地声明:

其实就是明显地提示了建模完成之后应该从哪些角度来分析,甚至可以对着这三个要求想象出应该生成的图表是啥样的。

模型扩展方向

剩下的任务是对Sweep Model的扩展,在基础假设之上:

一些结论

  • 有火灾的房间应该先去,因为去晚了就烧完了,再也去不了了
  • 考虑火灾的蔓延,起火房间的周边也应该提高优先级
  • 消防员人数的提升有边际效应,对于一层楼的任务来说,堆到一定数量之后再多人也提升有限
  • 火势蔓延很快,如果晚到现场几分钟可能就会有些房间不能救了

LaTeX

有一支队伍在赛前决定尝试使用LaTeX写论文,除了出现了一些技术问题以外,事实证明会让他们的论文更早看上去成型, 在心理上也会更早认为自己做出了最终版的文章,最终的交付结果也相当好,应该推广。

赛后整理出来的文档也非常干净:

LaTeX文档效果展示

精选图例

以下是今年各队论文中值得学习的图表。好的图表应该自带信息量,不需要大段文字解释就能让读者看懂结论。

左:房间家具的伪3D建模;右:对应的搜索路径方案。两张图并排对比

左边的图例其实只是对房间做的家具建模,伪3D;右边的图例是搜索方案。想到并排放是神来之笔。

搜索可视化:标注了视野范围、行动路径和搜救数量的房间平面图

这个搜索的可视化包含了视野、行动路径、搜救数量,如果还能比较两个不同策略,看上去就很有意思。

建筑平面图的图论抽象:节点为房间,边权用线条深浅表示

图论问题建图模板,注意边权用线的深度来表示了。

不同搜索策略的性能对比图表

不要忘记比较不同策略的表现。

视觉效果有趣的路径模拟可视化

意义不明但看上去是在公路上开车模拟的作图 : )

无需文字说明即可传达结论的自说明图表

自带说明的作图,不需要文字就知道他的结论。

用两帧像素图制作的烟雾蔓延动画

烟雾模拟,用两个像素图做了个小动画。

多维信息整合:黑色渐变条为房间着火时间线,黄色bar为搜索耗时,同时对比两种搜索算法

这张图其实有超多信息:黑色的渐变条是不同房间着火的时间线,黑了就去不了了。 黄色的bar是搜索房间用的时间,但是team忘记做legend了。 此外比较了两个不同搜索算法的路径和搜索时间。如果不叫fastest/slowest可能会更好一点。

这一届的参赛选手确实在图表里花了心思,每一张图表里都整合了多维度的信息。 赛前给他们的启发是看NASA做的图,一张图展示旅行者号如何借助引力弹弓出太阳系:

NASA旅行者号引力弹弓轨迹图:一张图展示了行星位置、飞越时间和速度变化 NASA旅行者号引力弹弓轨迹图的另一个版本

小小的工作量证明

小篇幅高信息密度的分析图表 小篇幅高信息密度的分析图表

小篇幅,大信息量。

比赛过程 & 复盘

今年比赛在时间线上追得更紧了,不纠结选A或B,直接开干,第一天结束的时候就要求写文章。 第一周结束的时候有队伍基本具备可以交的水准了,这样第二周调整的时间也比较多。

第二周赛前做了一个check-list,把比赛要问的问题和各组目前有的情况都填进去, 这样大家会容易知道目标是什么,这个下次比赛前就应该做好:

第二周赛前checklist:各组的进度和待完成项对照表

Outstanding选讲

以下两支队伍的论文值得精读,风格截然不同:16843方法论惊艳但过度设计,17401工作量极简但结构清晰。

16843: 工作量惊人的最强作品

这支队伍提出了一个叫RACE-S的完整框架。核心想法:把建筑建模成两张图—— G1是真实状态(消防员看不到),G2是概率规划图(消防员用来决策)。 每推开一扇门,G1的信息揭示给G2,触发路径重规划。

展示为什么好

一页纸讲清整个算法架构——流程图在上,伪代码在下,读者不需要翻来翻去:

16843论文第13页:Fig 4.1流程图展示RACE-S从概率图G2到贪心初始化、局部搜索、仿真验证的完整pipeline。下方是Algorithm 1 DynamicPlanner伪代码

3D渲染配2D路径——先让你看懂空间,再告诉你消防员怎么走:

16843论文第17页:Layout 1办公室的3D渲染(homestyler制作)和2D路径规划图 16843论文第18页:Layout 2医院的3D渲染和两层楼消防员路径,用颜色区分不同消防员

不同颜色代表不同消防员,一眼看出任务分配是否均衡。3D渲染用的是homestyler,零成本但效果很好。

响应者时间线——一张图看出所有人是否忙得均匀:

16843论文第19页:左侧消防员数量vs成本曲线,右上角4个消防员的时间线图(灰色=移动,蓝色=服务)

右上角时间线:灰色=移动、蓝色=服务。四人几乎同时完成,说明分配均衡。这种图一张顶三段话。

讨论:G1/G2框架是否必要

16843论文第7页:Fig 3.2展示G1(确定性真实图)和G2(概率规划图)的关系,以及Gillespie状态转移的定义

Fig 3.2: 左边G1是真实状态,右边G2用概率分布替代房间人数。推开门后信息从G1流向G2。

DLF

G1/G2这个想法我注意到了,但我们的搜索也是当作不知道房间里有多少人来做的,目标就是遍历完所有房间。我们的调度是根据着火的优先级——如果着火了,相邻房间也更危险,所以要早访问。我认为这比他们的方案务实,而且效果等价。

OPUS

从实际效果看确实趋同:都是优先访问高危房间。区别在于"怎么表达不确定性"——你们用启发式规则(着火→邻居优先),简洁可解释;他们用概率图建模,更形式化但多了一层抽象。

不过两者不完全等价:你们的方案是出发前就定好优先级,而G1/G2允许每推开一扇门后根据实际情况动态重规划。

DLF

但重规划具体会改变什么?每个房间发现伤员就立即处理,这是贪心的。多出来的信息很难导致路径变化。

OPUS

读了原文确认:隐藏的信息是每个房间的实际人数 M(0) 和 N(0)。揭示后主要影响这个房间的service time——人多就要花更多时间安抚和带出去,后续路线因此要重排。

但重排的逻辑还是贪心的:到了就处理完再走,不会出现"放弃当前房间去另一个"的反直觉决策。实际决策层面和你们的方案趋同

DLF

再说Gillespie算法,这其实就是一个状态转移。我建立一个普通的状态转移方程有什么不一样?

OPUS

Gillespie是连续时间的随机模拟:每次事件的发生时间根据转移速率随机采样,自动跳到下一个事件时刻。固定步长要么太小浪费计算,要么太大丢失事件。

而且他们模型里人会"变"——ambulatory变non-ambulatory。越晚到一个房间,service time越长。理论上这会让replanning做出非贪心选择:先去"恶化速度快"的房间。

DLF
理论上可以,但实际呢?
OPUS
实际上这个效应在他们的参数设置里很弱(转移速率c值是 $O(10^{-3})$),论文结果里没有展示过这个效应真正导致了路径改变。
DLF
所以这篇文章唯一的问题是:把数学用在了不是特别需要的地方。他想让消防员在火场使用一个人直觉上不可能采用的搜索方案。但瑕不掩瑜,展示和工程实现是真的强。
OPUS
同意。这篇论文的真正价值不在于方法是否"必要",而在于他们用流程图、伪代码和可视化把一个复杂系统说清楚了

17401: 工作量极简的特殊O奖

和16843的复杂框架相反,17401用的全是标准方法(贪心聚类、nearest-neighbor、2-opt局部搜索), 没有方法论创新,图例重复、占版面大,画得算清晰,像初中生里最好的产物。 盲选的话这篇大概率不是O。但它像一本给初学者的入门教材,不卷, 6个递进式场景,每个只加一个变量。

递进式场景设计

从简单到复杂,每一步只引入一个新挑战:

17401论文第12页:Scenario 3高密度办公室的图论建模(上)和三个消防员的聚类分配着色图(下),红绿蓝三色表示三人负责的区域

上:高密度办公室的图论抽象。下:聚类分配用颜色区分——注意蓝色消防员路径最长但分配了快速搜索的储物间,保持总工作量均衡。

17401论文第13页:三个消防员的优化路径图,路线交叉少、回溯少

优化后的路径:散布式分配但回溯极少。图论建模虽然简单,但配上清晰的可视化就很有说服力。

算法对比

对比了自己的方法和两个baseline(nearest-neighbor、顺序搜索),用柱状图展示不同消防员数量下的表现差异:

17401论文第14页:Fig 8算法对比柱状图,三种策略×不同消防员数量,优化算法比baseline快15-22%

一张图同时展示:三种算法×四种消防员配置。信息密度高,结论一目了然。15-22%的改进幅度也老实地写了——没有夸大。

Letter to LEPC

给应急规划委员会的信,把数学结论翻译成决策者能直接用的东西:

17401论文第23页:Letter to LEPC,给出按建筑规模分级的消防员配置建议和优先级tradeoff的量化数据

具体建议:6-12房间用2-3人,12-20房间用3-5人。"接受3-8%的总时间增加,换取高优先区域40-50%的提速。" 这种量化的政策建议是很多队伍不会做的——他们只给模型输出,不翻译成人话。

两队对比

  • 16843:方法复杂(G1/G2、Gillespie、UCB),但复杂度没有带来决策上的实质提升。真正的价值在展示——流程图、3D渲染、时间线图都是一流水准。
  • 17401:模型很浅,贪心+nearest-neighbor+2-opt就是运筹学课本第一章的水平。6个scenario看起来递进,但每个都是同一套方法换个输入跑一遍,没有因为新约束引入新的建模思路。但它确实是Outstanding——这大概是美国队伍里最好的一篇了。对初学者来说是个好消息:不需要卷方法论,把基本功做扎实、结构写清楚,也能拿奖。