Constructing the Dual of a Standard-Form LP

Given a standard-form maximization LP, mechanically write down its dual. The standard primal is max cTx\max\ \mathbf{c}^T\mathbf{x} subject to AxbA\mathbf{x}\le\mathbf{b}, x0\mathbf{x}\ge\mathbf{0}; its dual is min bTy\min\ \mathbf{b}^T\mathbf{y} subject to ATycA^T\mathbf{y}\ge\mathbf{c}, y0\mathbf{y}\ge\mathbf{0}. Students practice extracting both the full dual and individual pieces (objective, one constraint).

Step 1 of 157%

Tutorial

Standard Form and Its Dual

A standard-form linear program (LP) in maximization form is

max cTxsubject toAxb, x0,\max\ \mathbf{c}^T\mathbf{x}\quad\text{subject to}\quad A\mathbf{x}\le\mathbf{b},\ \mathbf{x}\ge\mathbf{0},

where AA is an m×nm\times n matrix, bRm\mathbf{b}\in\mathbb{R}^m, cRn\mathbf{c}\in\mathbb{R}^n, and the nn decision variables x1,,xnx_1,\dots,x_n are required to be nonnegative.

Bounding the primal objective from above amounts to choosing nonnegative multipliers y1,,ym0y_1,\dots,y_m\ge 0 so that the weighted combination of the rows of AA dominates c\mathbf{c}. The dual LP is the problem of finding the tightest such bound:

min bTysubject toATyc, y0.\min\ \mathbf{b}^T\mathbf{y}\quad\text{subject to}\quad A^T\mathbf{y}\ge\mathbf{c},\ \mathbf{y}\ge\mathbf{0}.

There is one dual variable yiy_i per primal constraint, and one dual constraint per primal variable.

Recipe for converting primal to dual:

  1. Replace max\max with min\min.
  2. The primal RHS vector b\mathbf{b} becomes the dual objective coefficients.
  3. The primal objective coefficients c\mathbf{c} become the dual RHS.
  4. Transpose the constraint matrix and flip \le to \ge.
  5. Both primal and dual variables are nonnegative.

For example, the dual of

max 4x1+x2s.t.x1+2x26, 3x1+x29, x1,x20\max\ 4x_1+x_2\quad\text{s.t.}\quad x_1+2x_2\le 6,\ 3x_1+x_2\le 9,\ x_1,x_2\ge 0

is

min 6y1+9y2s.t.y1+3y24, 2y1+y21, y1,y20.\min\ 6y_1+9y_2\quad\text{s.t.}\quad y_1+3y_2\ge 4,\ 2y_1+y_2\ge 1,\ y_1,y_2\ge 0.
navigate · Enter open · Esc close · ⌘K/Ctrl K toggle