1 Barrier Method 中的 central path 与 Primal Dual Method 中的 central path 是不是一个东西?
是一个东西,我们可以从优化命题的 Lagrangian 函数这一角度出发分析这一点。
Barrier Method 中的优化命题的 Lagrangian 函数为:L(x,λ,ν)=f0(x(t))+∑i=1m1tfi(x(t))fi(x(t))+νT(Ax(t)b)=f0(x(t))+∑i=1mλifi(x(t))+νT(Ax(t)b)=f0(x(t))mt
Primal Dual Method 中优化命题的 Lagrangian 函数为:L(x,s,λ)=cTx∑i=1nxisiλT(Axb)
从这里我们可以看出来,Barrier Method 中我们控制 t 使得 duality gap 为 mt,在Primal Dual 内点法中我们控制 ∑ni=1xisi=σμ 其实是一致的。而且有 mt=σμ 这样一个关系的存在。因此我们在 Barrier Method 中增加 t 和与在 Primal Dual 的方法中使 σμ 下降其实是在做一件事情。 2 Central Path 有啥好处?
从上面的举例可以看出,如果没有 central path ,迭代点往往非常靠近约束边界。如果我们能够将迭代点拉回到 central path 附近,那么即使这次迭代对与目标函数下降的贡献不大,那么也可以使得在下次迭代时目标函数能够取得较大下降。此外,central path 还对算法的热启动(warm start)有影响。因为在很多场合(例如 MPC),我们需要求解一系
列结构一致,参数相似的优化命题,传统的初始点给点的方法是把上一次的解作为初始点,但我们可以看出,上一次的解往往靠近约束边界而并不靠近 central path,因此这种初始点给定方法并不完善。考虑给出一个靠近 central path 点才是更好的。相关内容可以参考文献[3]。 3 两种方法有什么区别?
从第一问的分析可以看出,二者的共同点还是很明显的。文献[2]列出了一些区别,比如 Barrier Method 有内外两层迭代,而 Primal Dual Method 只有一层迭代。另外一个区别是 Barrier Method 的迭代点肯定是严格可行的,而 Primal Dual Method 的迭代点可以是不可行的。关于这一点我还没有进一步去了解。 Ref.
[1] Boyd, Stephen, and Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.
[2] Nocedal, Jorge, and Stephen J. Wright. “Numerical Optimization 2nd.” (2006).
[3] Yildirim, E. Alper, and Stephen J. Wright. “Warm-start strategies in interior-point methods for linear programming.”
SIAM Journal on Optimization 12.3 (2002): 782-810.