Skip to content

Dantzig-Wolfe Decomposition

Dantzig-Wolfe Decomposition

Problem Formulation

The Dantzig-Wolfe decomposition is designed to deal with large scale LPs with special structures. Consider the following LP:

where and . In general, the first set of equality constraints are called the coupling constraints. The second set of equality constraints are independent.

Constraint Separation

Suppose that the first set is harder to deal with. Define a polyhedron :

Then the original LP can be written as:

where we have singled out the hard constraint . is assumed to be a bounded polyhedron, i.e., polytope, and therefore must have a finite number of extreme points.

Extreme Points Representation

Let denote all the extreme points of , where and is arbitrarily large. Any point in a polytope (i.e., bounded polyhedron) can be represented as a convex combination of its extreme points:

where the extreme points 's are fixed for the polyhedron . Then, we can write as:

The master problem, , is equivalent to the original problem , namely, if is optimal for .

Column Generation

has an arbitrarily large extreme points, corresponding variables with equality constraints. However, doesn not have many constraints but have many variables, i.e., columns. We can rewrite as:

We apply Column Generation algorithm to solve :

  1. Choose a subset of of columns and variables. The restricted master problem will be:

    Obtain an optimal solution of , and an optimal dual solution and .

  2. Check the optimality of using the dual information. Find the minimum reduced cost:

    If , then is optimal for and terminate. Otherwise, add the column with the minimum reduced cost to , and continue.

Enumerating all the extreme points in (2) is computationally expensive. Moreover, we do not know all the extreme points. We need to be able to generate them on the fly. The key idea of Dantzig-Wolfe is that enumerating through all the extreme points of is equivalent to minimizing the reduced cost over the polytope directly.

Note that the dual variable is fixed, so it can be pulled outside of the minimization problem. The column generation algorithm can be rewritten as:

  1. Choose a subset of columns and variables. Solve the :

    Obtain the optimal solution of and the optimal dual solution and .

  2. To check the optimality of , we solve the following subproblem :

    If , then is optimal for . Terminate. Otherwise, the optimal BFS of the above problem is an extreme point of the polyhedron . Denote it as . Add the column to the constraints matrix in , and add to the cost coefficient.

Note that the dual variables and can be obtained from computing as done in simplex method. In particular, is the first components of , and is the last component of . Here, is the vector of coefficients of 's corresponding to the basic variables, and is the basis matrix of .

Numerical Example

Consider the following LP:

Divide the constraints into two groups: The first group consists of the constraint where and . The second group is the constraint , where the polyhedron . is a 3-D cube, which has eight extreme points ; it is bounded and has no extreme rays.

The master problem in the can be written as:

Note that has two equality constraints. Pick two columns, or equivalently choose two extreme points of , to start the column generation algorithm. Pick and , and the corresponding convex weights . Note that the specific indices do not matter. We can always order the extreme points such that the first extreme point is and the second is . We have:

The can be written explicitly as:

The basis matrix and its inverse are:

The optimal solution is:

Form the dual variable:

Note that the optimal dual variable corresponds to the hard constraints, , and the optimal dual variable corresponds to .

To compute the minimum reduced cost, we form the pricing problem:

which is:

The optimal solution is , which is another extreme point of the cube . The optimal cost , therefore, the reduced cost of is . This variables enters the restricted problem. The associated column is , and the associated cost coefficient is .

The new is:

The optimal solution is , , . The optimal basis matrix and its inverse are:

The dual variables and the cost coefficients are:

The pricing porblem is:

The optimal , implying the current solution is optimal for the master problem. Hence, the final optimal solution is: