Column Generation for Dantzig-Wolfe Masters

Use column generation to solve the Dantzig-Wolfe master LP: form reduced costs from restricted-master duals, set up the pricing subproblem via the modified cost vector, and decide whether a column prices in.

Step 1 of 157%

Tutorial

The Restricted Master and Reduced Costs

After Dantzig-Wolfe reformulation of a block-structured LP, the master problem has one variable λk\lambda_k for each extreme point xk\mathbf{x}^k of the subproblem polyhedron PP:

minλ0  k(cTxk)λks.t.k(A1xk)λk=b1,kλk=1.\min_{\lambda\geq 0}\;\sum_k (c^T\mathbf{x}^k)\,\lambda_k \quad\text{s.t.}\quad \sum_k (A_1\mathbf{x}^k)\,\lambda_k = b_1,\quad \sum_k \lambda_k = 1.

Because PP may have an enormous number of extreme points, we never enumerate them. Instead, we solve a restricted master that uses only a small subset of columns, then check whether any missing column would improve the objective. This check uses the reduced cost.

Let π\pi be the dual prices for the linking constraints A1x=b1A_1\mathbf{x}=b_1, and let μ\mu be the dual price for the convexity constraint kλk=1\sum_k\lambda_k=1. The reduced cost of the column associated with extreme point xk\mathbf{x}^k is

cˉk=cTxkπT(A1xk)μ.\bar{c}_k = c^T\mathbf{x}^k - \pi^T(A_1\mathbf{x}^k) - \mu.

If cˉk<0\bar{c}_k<0, the column prices in -- adding λk\lambda_k to the restricted master can decrease the objective. If cˉk0\bar{c}_k\geq 0 for every extreme point, the current restricted master solution is optimal for the full master.

For instance, with c=[12]c=\begin{bmatrix}1\\2\end{bmatrix}, A1=[11]A_1=\begin{bmatrix}1 & 1\end{bmatrix}, π=3\pi=3, μ=2\mu=-2, and xk=[21]\mathbf{x}^k=\begin{bmatrix}2\\1\end{bmatrix}:

cTxk=1(2)+2(1)=4,A1xk=1(2)+1(1)=3,cˉk=43(3)(2)=3.\begin{align*} c^T\mathbf{x}^k &= 1(2)+2(1)=4,\\ A_1\mathbf{x}^k &= 1(2)+1(1)=3,\\ \bar{c}_k &= 4 - 3(3) - (-2) = -3. \end{align*}

Since cˉk=3<0\bar{c}_k=-3<0, this column prices in.

navigate · Enter open · Esc close · ⌘K/Ctrl K toggle