← 返回博客

量子计算科普系列 · 第 38 篇

当物流遇上量子:QAOA 怎么优化路径与排班

前情提要:第 8 篇《Grover:在干草堆里快速找针》给过一个结论——量子搜索能在"无序里找目标"这件事上,把经典需要的 N 次尝试降到约根号 N 次,这是量子"加速"最直观的例子。第 28 篇《变分量子算法:NISQ 时代的「实用派」》则讲过,QAOA 正是把"组合优化"这类难题,包成一个"经典在外、量子在内"的变分循环。两篇一个给了加速直觉、一个给了算法骨架,但都没落到具体行业。今天就拿物流这个最烧脑的场景,看看量子到底怎么进场。

每天,一家快递公司要决定:几百辆车从哪个仓出发、按什么顺序送货;一座机场要排:几百个航班在哪条跑道起降;一个仓库要算:拣货员走哪条路线最短。这些问题的共同点只有一个字——爆。

一、隐形难题:组合爆炸

这类问题叫"组合优化"。10 个点的送货顺序有约 360 万种,20 个点就超过 240 万亿种——选项总数随节点数呈指数级暴涨,这就是第 1 篇《为什么需要量子计算》讲过的"指数墙"。物流、航空、仓储里绝大多数调度,本质上都是在这堵墙前面找一条"足够好"的路。

二、经典硬扛:模拟退火与禁忌搜索

经典世界没有"一秒穷举 240 万亿种"的魔法,工程师靠的是近似求解。

  • 模拟退火:像一块慢慢冷却的金属,先允许随机乱跳、再逐渐"怕冷"只接受更优解,靠概率跳出局部最优;
  • 禁忌搜索:记一本"短时黑名单",避免刚走过的路反复打转;
  • 分支定界:像一棵不断被剪枝的搜索树,先把明显不行的分支砍掉。

这套工具箱很强,撑起了今天几乎所有的物流调度系统。但第 37 篇讲过,任何"经典独自扛"的方案,都有它的软肋。

三、经典撞的墙:大实例质量掉得快

当节点从几十涨到几千,搜索空间膨胀到宇宙原子量级,启发式也力不从心:它只能在"探索新路"和"深耕老路"之间艰难平衡,规模一大,给出的近似解质量迅速下滑;更糟的是,你往往不知道它离真正最优还差多少。于是物流公司只能把区域拆小、用经验规则兜底——算得动,但谈不上"最优"。

四、QAOA 进场:把物流翻译成"哈密顿量"

量子怎么进来?第 28 篇的 QAOA(量子近似优化算法)正是为这类问题设计的。思路分两步:

先把问题写成一个"评分函数"——成本哈密顿量,给每个可能的排班方案打分(成本越低越好);再配一个混合哈密顿量,负责让系统在各个方案之间来回跳。然后套用第 37 篇的混合框架:量子线路在两种哈密顿量之间来回演化,经典优化器在外调参数,最终把"低分(优)方案"出现的概率放大。

graph LR A["实际问题: 路径或排班"] --> B["建模为组合优化"] B --> C["经典求解器: 模拟退火"] C --> D["解空间爆炸, 取近似解"] B --> E["QAOA: 经典加量子混合"] E --> F["小实例优于经典"] E --> G["大实例仍受限"]

五、现实边界:小实例能赢,大实例还早

把边界说透,免得被宣传带偏。

在几十个节点以下的小实例里,QAOA 已经能逼近、甚至在一些基准上超过经典启发式——这证明"量子 + 组合优化"这条路走得通。但一到工业规模(几千节点、几十种约束),NISQ 机器就卡住了:编码那么多变量需要的量子比特数,加上噪声,远超过今天芯片的 capacity。所以真正的工业落地,大概率不是"量子算整张排班表",而是"量子算表里最难的那块组合子问题",其余仍交给经典。这条路,要等纠错把比特数和保真度提上去,才真正铺开。

费曼自检

合上页面,用三句话复述今天的主线。参考版本:

1. 物流的路径、排班、拣货本质是组合优化,选项数随节点指数爆炸,经典只能靠近似求解。 2. QAOA 把问题写成成本哈密顿量(打分)和混合哈密顿量(跳变),用混合框架放大优解概率。 3. 小实例上 QAOA 已能逼近甚至超过经典启发式,但工业规模受 NISQ 比特数与噪声限制,要和经典混合、等纠错。

两道自测题(点开看答案):

<details> <summary>自测一:为什么模拟退火这类经典启发式在大规模物流问题上"质量会掉"?</summary>

答案:因为搜索空间随节点指数膨胀,启发式只能在"探索新解"与"深耕当前解"之间权衡,规模一大就难以覆盖足够的解空间;而且通常无法判断得到的近似解离全局最优还差多远,只能"够用就行"。 </details>

<details> <summary>自测二:QAOA 里的"成本哈密顿量"和"混合哈密顿量"分别干什么?</summary>

答案:成本哈密顿量给每个候选方案打一个分数(成本越低越好),是问题的"评分表";混合哈密顿量负责让量子状态在各个候选方案之间来回跳变,避免卡死在局部最优。两者交替演化、配合经典调参,把低分(优)方案的概率放大。 </details>

一件动手小事:在 Qiskit 或 Azure Quantum 的示例库里搜 "QAOA max-cut",跑一个 4–6 个节点的小图,再把节点数调大一点重跑,对比经典贪心解法的结果——你会直观看到"小实例量子能赢、大实例开始吃力"的那条边界。

下一篇,我们把镜头从"找路"切换到"算钱":金融里天天在做的蒙特卡洛,为什么量子理论上能快一个量级。下次见。