组合优化问题一直是工业界的经典难题。无论是旅行商问题(TSP),还是车辆路径规划(CVRP)和柔性车间调度(FFSP),一旦规模扩展,传统算法就会力不从心。
启发式搜索虽然仍在发挥作用,但面对高维度、高变化的实际任务,工程师们越来越希望借助 AI 模型“学会”策略。
强化学习自然成了候选方案,但现实很快打脸: 奖励信号逐渐减弱,导致模型训练中后期“学不会”; 动作空间极大,探索效率低、局部最优难逃。
最近,一篇来自中国移动、清华、北大等机构的 ICML 2025 论文,提出了一种名为 Preference Optimization(PO) 的新方法,为 RL 在组合优化领域注入了全新的思路。
与其学奖励,不如学“谁更强”
这篇论文的核心 idea 很清晰:
与其让模型去学习一个模糊的奖励函数,不如干脆让它学谁比谁强。
也就是说,把原本强化学习依赖的数值奖励 r(τ)
,转化成偏好信号 τ₁ ≻ τ₂
,在训练中只关注解之间的优劣关系,而非精确的数值。
这个转变带来了两个明显的优势:
- 学习稳定:比较“哪个更优”远比拟合精确奖励靠谱;对奖励缩放不敏感:偏好是无量纲的,不需要 reward shaping,不受单位影响。
Preference Optimization 如何做到的?
PO 并不是简单改个损失函数,它是一个完整的偏好驱动强化学习框架,融合了以下三大关键机制:
1. 套上“重参数化”的帽子
首先,它将原始的 reward 函数重写为策略概率的函数:
r^(x,τ)=α⋅logπ(τ∣x)+C
这样一来,“谁更好”就变成了“谁的策略概率更高”,优化目标也从 reward learning 转为 policy preference learning。
2. 用经典偏好模型套公式
然后,使用类似 Bradley-Terry 的偏好模型,把“哪个解更好”转换成一个概率值:
P(τ1≻τ2)=σ(r^(x,τ1)−r^(x,τ2))
训练目标就成了一个对比学习式的最大 log-likelihood 问题,专注于强化相对排序,而非拟合数值。
3. 把本地搜索变成训练的一部分
很多 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% |
- 收敛速度提升 1.5~2.5 倍解的质量逼近最优解甚至打平泛化能力对大规模和异分布任务表现良好
更重要的是,这种优化方式模块化、结构无关,能直接迁移到 MatNet、Pointerformer、ELG 等各种结构中。
为什么这值得关注?
我认为这项工作的意义不仅仅在于性能,而在于它改变了强化学习在组合优化中的训练范式:
- 它找到了比 reward 更稳定的训练信号天然契合 RLHF 的发展趋势,可与人类偏好结合摆脱了 reward shaping 的繁琐,代码更轻,调参更少
更进一步,从语言大模型的 DPO(Direct Preference Optimization),到本地优化的 PO,它们本质上都在告诉我们:偏好比 reward 更值得建模。
未来展望:偏好优化 + 大模型的下一个方向?
传统强化学习对 reward 的依赖,是它在实际工程中落地的一大障碍。尤其是在大模型参与调度、推荐、运筹等复杂系统时,reward 函数往往难以定义,甚至根本不可观测。
而偏好优化则提供了一个更人性、更现实的通道:你不需要告诉模型“分数是多少”,只需要告诉它“哪个更好”。
如果我们能把调度逻辑、工程规则、用户习惯等 encode 成偏好函数,未来的大模型系统将有能力实现自动优化策略生成,甚至打通人类偏好与系统行动之间的链路。
如果你对强化学习、组合优化、偏好建模感兴趣,或者在做 AI 优化系统的工程落地,欢迎一起来讨论。
加微信 atar24,备注「偏好优化」,我拉你进群,我们一起聊聊 RL 到 PO 的转型路径,以及它在工程端的真正可能性。