IROPS 恢复顾问 · 增强层
注入一场风暴,观察冲击半径在航网上级联扩散,并在约十分之一秒内得到一份符合 Part 117 与 CBA 的合法恢复方案;而人工应急则需要有来源依据的 4 到 12 小时。非法操作在代码中被掩码掉,因此不可能存在;当当天足够糟糕时,顾问会升级给人工处理,而不是自动批准大规模取消。
~0.11 s
恢复时间,本预设场景
对比有来源依据的人工 4 到 12 h(research.md)
0 非法
Part 117 + CBA 构造即合法
经单元测试的不变量,3 of 3 项测试通过
52 of 53
航班已重新配组(98%)
预设场景,实时应用输出
这是可运行的演示,而非一次部署。航网、机组和扰动均为合成并预设,本页每一个数字都由正在运行的引擎产生。
求解器从来不是问题。速度、合法性与可见性才是。
当非正常运行来袭、风暴导致枢纽停飞时,运行控制中心必须为刚刚失去机组的下游航班级联重新配组。如今其中很大一部分是人工应急,耗时有来源依据的 4 到 12 小时(research.md),并受两项硬约束、容不得一次失误:FAA Part 117 执勤与休息限制,以及各航司工会集体谈判协议。
一旦出错,就会滞留旅客并取消航班。自 DOT 自动退款规则于 2024 年 10 月生效以来,每一次 3 小时以上的级联延误也会变成自动财务打击。规模并非假设:IROPS 每年给行业造成约 $60B 成本(IATA),而 2022 年 12 月的西南航空崩溃大约 $1.2B,约 16,900 次取消、约 2 million 名滞留旅客。
令人不安的事实是:这一切都不会被一个更聪明的目标函数修好。航司的恢复太慢,赶不上真正要紧的窗口;风险太高,因为一次 Part 117 或 CBA 违规就是合规事件;也太不透明,因为冲击半径要到航班已经在取消时才看得见。这些是求解器周围的运行问题,不是求解器问题。
确定性代码做出每一个真正要紧的决定。可选的 LLM 只负责叙述,并且完全位于决策核心之外。
在一天较早时段让最繁忙的枢纽停飞,级联就此开始。冲击半径是停飞航班,加上因失去机组而产生的一跳下游航班,通过对轮转做图谱可达性计算得出。在预设场景中,那是 112 个航班、10 个站点、96 个在岗机组的航网上的 53 个航班。需要恢复的就是这一集合,在它造成伤害之前而不是之后被呈现出来。
Part 117(最长执勤期 780 分钟、最长飞行时间 480 分钟、最短衔接 30 分钟)以及一份样例 CBA(最多 4 个航段)在生成时即被强制执行。只有合法的恢复执勤——包括 deadhead 调机——才会成为候选列。非法指派无法被生成,因此也无法被选中。这就是合法性保证背后的全部想法:用构造来强制执行,而不是事后用惩罚来约束。
引擎是真正的 MIP 求解器(CBC via PuLP),不是包装器。它在候选执勤上选择最小成本的合法集合划分:每个开放航班恰好覆盖一次,每个机组最多使用一次,受墙钟时间界限约束。在预设场景中,它把一个含 1,815 个二元变量和 115 个约束的问题求解到 OPTIMAL。我们披露该引擎,并不声称能击败它。
该方案对照不作为基线,在同一成本模型上打分:恢复时间对比人工锚点、避免的取消,以及避免的 DOT 自动退款暴露。如果恢复会取消超过 15 percent 自动批准阈值,状态会翻转为 ESCALATE,并需要人工签核。如果求解器在时间预算内找不到可行的合法恢复,它也会升级,而不是假装成功。
每一条建议都被封入一份已签名的 recovery_plan.json:扰动、含每个机组与航班的所选方案、对照上限逐项核验的 Part 117 与 CBA 条款、恢复墙钟时间,以及相对人工基线的节省。它是运行控制中心关于为何推荐此次恢复的记录。可选的方案 Copilot(默认 Claude,可更换提供商,或无密钥本地桥接)用通俗语言解释方案,没有密钥则弃权。做决定的是确定性掩码、求解器和升级关卡。Copilot 只负责叙述。
下方每一个数字都是运行中的引擎在一个合成预设航网上的真实输出。
常规风暴可以恢复。 顾问枚举出 1,762 条合法恢复执勤(其中 52 条为 deadhead 调机)外加 53 条取消回退,因此 CBC 将一个 1,815 变量、115 约束的最小成本集合划分求解到 OPTIMAL,并在约 0.11 秒内返回状态 RECOVERED。它用 34 个机组(25 个一线加 9 个备份)重新配组 52 of 53 个航班(98 percent),并有 1 次取消。合法性关卡读数为 52 of 52 执勤合法、0 次 CBA 违规、0 非法,在求解后核验。对照取消全部 53 班的影子对比,本场景避免了 52 次取消以及约 $2.37M 的 DOT 退款暴露,二者均标注为对本场景示意。
严重事件会升级。 切换为严重后,大约只剩 30 percent 的机组。CBC 仍在约 0.05 秒内返回一份合法方案,并且仍是 0 非法,恢复 33 of 53 个航班(冲击半径的 62 percent)。但它会取消 20 of 53 个航班(38 percent),高于 15 percent 自动批准阈值,因此状态翻转为 ESCALATE,并需要人工签核。方案仍会展示并标记给管制员。只是不会被自动批准。这正是大多数自主化宣传跳过的部分:知道正确的动作何时不是给糟糕的一天盖橡皮图章。
恢复时间、98 与 62 percent 已恢复、避免的 52 次取消、大约 $2.37M 退款避免,以及 1,762 条合法执勤,全都是这一个预设场景的数字。我们在任何地方都能辩护的持久主张有两条:对照有来源依据的 4 到 12 小时人工基准,在数秒内完成恢复;以及构造即 0 非法,作为不变量在冲击半径、合法列与合法划分测试上经单元测试(3 of 3 通过)。场景节省对照的是最坏情况的不作为基线,这是最有利的表述,因此我们将其标注为示意,而不是头条。
买家已经拥有一个好的求解器。价值在于它周围的运行层。
| 做法 | 如何应对枢纽风暴 | 关于合法性与糟糕的一天 |
|---|---|---|
| 人工 OCC 应急 | 有来源依据的 4 到 12 小时手工为级联重新配组 | 合法性由疲惫的人在时间压力下核验;冲击半径要到航班取消时才看得见 |
| 推倒重来的优化器推销 | 承诺更聪明的目标函数以及一套新的记录系统 | 合法性被当作惩罚项;存在锁定风险,且在恢复不可能时没有诚实的升级 |
| StormCrew(增强层) | 注入即见冲击半径;由已披露的 CBC 引擎在数秒内给出合法方案 | 非法操作在代码中被掩码(0 非法,经单元测试);超过阈值则升级至人工签核;已签名审计产物 |
这里的诚实姿态不是胆怯。当买家已经拥有他们信任的求解器,且无法容忍锁定或在一年中最糟糕的一天得到无法解释的建议时,增强而非替换是唯一可信的进入方式。合法性保证应当属于确定性代码,用构造来强制执行,这样无论选择何种求解器或模型都无法打破它。
不会。StormCrew 是一层增强层,以影子与顾问模式运行在你已拥有的基于求解器的规划栈之上。它增加冲击半径可见性、合法性保证、秒级恢复和升级关卡,然后交回一份已签名方案供管制员接受。没有推倒重来,也没有锁定,因为持久价值是求解器周围的运行层,而不是一套新的记录系统。
不是,而且我们对此是刻意的。StormCrew 使用真正的 MIP 求解器(CBC via PuLP)作为引擎并予以披露。我们把一个更聪明优化器的故事对照成熟求解器做了基准,求解器赢了,所以我们改的是主张而不是数字。持久主张是相对人工应急的速度,以及构造即 0 非法,而不是优化器优越性。
合法性约束在执勤生成时通过动作掩码强制执行,因此非法恢复执勤永远不会作为候选被创建。Part 117 执勤、飞行时间和衔接限制以及样例 CBA 航段上限,在求解器看到任何列之前即已应用,这意味着非法指派不可能存在从而被选中。这是可证明的不变量,经单元测试为 0 非法,而不是模型试图保持高分的分数。
把它当作一个预设场景的示意,而不是保证结果。它在合成航网上计算,把顾问方案对照将整个冲击半径滞留的最坏情况不作为基线,使用每位旅客 $300 的 DOT 退款模型。这在设计上就是最有利的表述,并在屏幕上标注为示意。独立锚定的主张是相对有来源依据的 4 到 12 小时人工基准的速度,以及构造即 0 非法。
它会升级,而不是静默自动批准。在备份耗尽的严重运行中,方案仍然合法,仍然恢复 33 of 53 个航班,但因为会取消 38 percent,高于 15 percent 自动批准阈值,状态翻转为 ESCALATE,并需要人工签核。方案会被展示并标记,而不是盖橡皮图章,这正是要点:知道正确的动作何时不是自动批准。
不是。航网、机组、扰动和旅客计数均为合成并预设,没有真实航司数据,也没有真实机组记录。ADS-B、机组位置和天气等实时馈送是可回放文件,Jeppesen 与 IBS 集成是模拟适配器。合法性引擎和 CBC 优化器是真实代码,4 到 12 小时人工基准是外部有来源的锚点,因此本演示是对机制的忠实证明,而不是一次部署。
面向运行控制副总裁与总监、机组计划负责人,以及航司 CIO 与运营技术团队。
如果你的团队正在思考如何压缩 IROPS 恢复窗口,同时不冒 Part 117 或 CBA 违规的风险,我们真心想听听你们的想法。这个问题是全行业的,答案也将如此。