组合优化问题一直是工业界的经典难题。无论是旅行商问题(TSP)

还是车辆路径规划(CVRP)

和柔性车间调度(FFSP)

一旦规模扩展,传统算法就会力不从心。。
启发式搜索虽然仍在发挥作用,但面对高维度、高变化的实际任务,工程师们越来越希望借助 AI 模型“学会”策略。
强化学习自然成了候选方案,但现实很快打脸: 奖励信号逐渐减弱,导致模型训练中后期“学不会”; 动作空间极大,探索效率低、局部最优难逃。
最近,一篇来自中国移动、清华、北大等机构的 ICML 2025 论文,传送门:arxiv.org/abs/2505.08… 提出了一种名为 Preference Optimization(PO) 的新方法,为 RL 在组合优化领域注入了全新的思路。
这篇论文的核心 idea 很清晰:
与其让模型去学习一个模糊的奖励函数,不如干脆让它学谁比谁强。
也就是说,把原本强化学习依赖的数值奖励 r(τ),转化成偏好信号 τ₁ ≻ τ₂,在训练中只关注解之间的优劣关系,而非精确的数值。

这个转变带来了两个明显的优势:
PO 并不是简单改个损失函数,它是一个完整的偏好驱动强化学习框架,融合了以下三大关键机制:
首先,它将原始的 reward 函数重写为策略概率的函数:
r^(x,τ)=α⋅logπ(τ∣x)+C
这样一来,“谁更好”就变成了“谁的策略概率更高”,优化目标也从 reward learning 转为 policy preference learning。
然后,使用类似 Bradley-Terry 的偏好模型,把“哪个解更好”转换成一个概率值:
P(τ1≻τ2)=σ(r^(x,τ1)−r^(x,τ2))
训练目标就成了一个对比学习式的最大 log-likelihood 问题,专注于强化相对排序,而非拟合数值。
很多 RL4CO 方法会在测试阶段用 2-Opt 等局部搜索做微调,但这会增加推理时间,不利于部署。
而 PO 在训练阶段就把本地搜索引入了 fine-tuning,用改进过的解 LS(τ) 与原始解 τ 构造偏好对,让模型提前学会优化动作。
这不仅提升了解的质量,还不增加推理开销。

在经典的 TSP、CVRP 和 FFSP 数据集上,PO 被部署到多个主流强化学习求解器框架中(如 POMO、Sym-NCO、Pointerformer),并与传统的 REINFORCE 方法对比,结果非常抢眼:
方法 | TSP-100 Gap | CVRP-100 Gap | FFSP-100 Gap |
|---|---|---|---|
POMO + REINFORCE | 0.15% | 1.76% | 2.58% |
POMO + PO | 0.07% | 1.37% | 2.13% |
POMO + PO + Finetune | 0.03% | 1.19% | 0.00% |

更重要的是,这种优化方式模块化、结构无关,能直接迁移到 MatNet、Pointerformer、ELG 等各种结构中。
我认为这项工作的意义不仅仅在于性能,而在于它改变了强化学习在组合优化中的训练范式:
更进一步,从语言大模型的 DPO(Direct Preference Optimization),到本地优化的 PO,它们本质上都在告诉我们:偏好比 reward 更值得建模。
传统强化学习对 reward 的依赖,是它在实际工程中落地的一大障碍。尤其是在大模型参与调度、推荐、运筹等复杂系统时,reward 函数往往难以定义,甚至根本不可观测。
而偏好优化则提供了一个更人性、更现实的通道:你不需要告诉模型“分数是多少”,只需要告诉它“哪个更好”。
如果我们能把调度逻辑、工程规则、用户习惯等 encode 成偏好函数,未来的大模型系统将有能力实现自动优化策略生成,甚至打通人类偏好与系统行动之间的链路。
如果你对强化学习、组合优化、偏好建模感兴趣,或者在做 AI 优化系统的工程落地,欢迎一起来讨论。