最优传输系列是基于Computational Optimal Transport开源书的读书笔记

3.5 网络单纯形法

有了3.4节里的西北角算法,我们现在有能力枚举可能为最优解的传输,离解决Kantorovich relaxation又更近一步了。
在3.5小节里,我们迈出这至关重要的一步,介绍网络单纯形法(Simplex method),终于可以从头到尾解决最优传输问题了。

3.4里提到,最优传输属于线性规划问题,所以它的可行集是一个高维多面体

单纯形法的本质思想在于,从可行多面体的一个顶点出发,每一步都到达一个离最优更接近的顶点,逐步达到最优。
单纯形的最差复杂度是指数级的,不过它的平均复杂度却非常高效,一般在多项式时间内找到最优解。

那么,在具体介绍之前,这里给出单纯形法的总体结构
最优传输系列-第七篇(3.5-3.5.2)
如果加入(i,j)(i,j)后图中存在环,方程组可能无解

3.5.1 检查最优解

对于一个可行解P,如果与P对应的Kantorovich对偶问题解,(f,g)(f,g)也是可行的,那么P和(f,g)(f,g)即为最优解
找到对应的(f,g)(f,g)十分简单,只需满足这个条件:
Pi,j>0,Ci,j=fi+gj\forall P_{i,j}>0, C_{i,j}=f_{i}+g_{j}
注意P中最多有n+m1n+m-1条不为零的传输,也就是说,需要解的方程组里最多只能有n+m1n+m-1个方程,所以解一定是不唯一的。
于是我们设一些自由变量为零,得到一个解。
最优传输系列-第七篇(3.5-3.5.2)
上图为一个可行的解
下图中即为解F§的过程,可以看到设f1f_1为零,即可让方程组有唯一解
最优传输系列-第七篇(3.5-3.5.2)
此时如果(f,g)(f,g)中所有元素都满足(i,j),Ci,jfi+gj\forall (i,j), C_{i,j}\geq f_{i}+g_{j},那么我们就已经找到最优解了。
不过因为方程组只保证存在流量的路径满足以上条件,在方程组的范围外很有可能存在Pi,j=0,Ci,j<fi+gjP_{i,j}=0,C_{i,j}<f_{i}+g_{j},那么(f,g)(f,g)不符合条件。
这时,把不满足条件的边(i,j)(i,j)加入到方程组中,使得它也符合条件,这样向最优解更进一步。

3.5.2 单纯形法-迭代

如果加入(i,j)(i,j)后,方程组里仍然不存在环,那么只需要重新解一遍方程组,回到第二步检查是否得到了最优解。这种情况下,本质上只是减少了一个自由变量,P本身不需要改变,只是改变它的对偶解(f,g)(f,g)

如果存在环,那么必须将环移去,否则方程组可能无解
最优传输系列-第七篇(3.5-3.5.2)
拆开一个环的过程十分容易理解:新加入的边(i,j)(i,j)在P中并没有质量,那么只需将环“旋转”,把零质量“转”到另一条边,再把该边去除,环即不复存在
最优传输系列-第七篇(3.5-3.5.2)
图3.5:这里加入边(1,3)(1,3)后,出现环(13211)(1\rightarrow 3'\rightarrow 2\rightarrow 1'\rightarrow 1)
经过旋转过程,最小质量边(1,1)(1,1)被移除,它的质量转移给(1,3)(1,3)

将环移除后,只需再次解方程组,回到第二步

3.5.3给出了对迭代改进的证明,确定每次迭代只会得到更优的结果
P~,C=P,C+θ(Ci,j(fifg))<P,C\langle\tilde{\mathbf{P}}, \mathbf{C}\rangle=\langle\mathbf{P}, \mathbf{C}\rangle+\theta\left(\mathbf{C}_{i, j}-\left(\mathbf{f}_{i}-\mathbf{f}_{g}\right)\right)<\langle\mathbf{P}, \mathbf{C}\rangle

经过3.5.3证明,每次迭代只可能离最优解更进一步,网络单纯形法一定会达到最优。
单纯形法中图操作的具体实现有不同的方式,这篇论文中对高效图操作有详细的介绍。
这样,我们终于有了完整的解决最优传输的方法,达到了学习的一个里程碑。

相关文章:

  • 2022-12-23
  • 2021-10-25
  • 2021-08-10
  • 2021-10-10
  • 2022-12-23
  • 2021-09-17
  • 2021-11-21
猜你喜欢
  • 2021-05-25
  • 2021-07-05
  • 2021-12-26
  • 2021-08-27
  • 2022-12-23
  • 2022-01-20
相关资源
相似解决方案