D-W分解与列生成算法
引言
D-W分解是单纯性法创始人Dantizg和凸优化理论创始人Wolfe在上世纪60年代提出的一种针对具有块状对角结构的大规模线性规划模型(P)的分解算法。这个方法的基本思想就是用Minkowski定理将(P)中简单约束集分解为该简单约束集极点的凸组合和极射线的非负组合,将模型做等价转换,从维度庞大的原始变量空间转换到维度低的多的凸组合空间。更重要的是,使用D-W对(P)进行分解后的模型(MP)又恰好能够使用列生成算法进行求解,且由于模型具有独特的块状对角结构,使得我们可以同时产生多个(这个个数就是简单约束对应矩阵块的个数)定价子问题并行计算,又进一步加速了列生成算法求解(MP)的进程。
关于一些缩写的说明
- P:Primal Problem,在本文指的就是还没有用D-W分解处理的那个原始的模型。
- MP:Master Problem,在本文指的是用D-W分解对P进行处理后得到的那个模型。
- RMP:Restricted Master Problem,这是列生成算法中的概念,指的就是只考虑MP中部分列时的模型。
- SP:Subproblem,这时列生成算法中的概念,指的是用来获取MP中列的定价子问题。
理论
Minkowski定理
Definition 1. 如果集合中某个点不能由该集合中任意两点的凸组合所表示,那么就说这个点是这个集合的一个极点。
Definition 2. 假设
Definition 3. 如果
Theorem 1. 任意多面体都可以分解为极点的凸组合加上极方向的非负组合。
Minkowski定理的直观解释
以上图为例,极方向的非负组合张成的区域就像一个探照灯,假设我们手拿着探照灯,那么极点的凸组合就控制着手的位置,当我们将手从极点
D-W分解算法
适合用D-W分解处理的模型的特征
DW分解能处理的问题一定是对变量进行分组,然后对约束系数矩阵做对应分块处理之后出现块状对角结构的线性规划模型。约束系数矩阵中那些独立矩阵块
D-W分解的步骤
设
利用Minkowski定理分解简单约束集
对于第
根据Minkowski定理可将其分解为,
将分解结果代回原模型(P)
对结果稍加整理和变形,得到(MP),
使用列生成算法求解D-W分解得到的(MP)
记
注意到,(MP)模型中变量
实战
续上,






.png)