Javascript required
Skip to content Skip to sidebar Skip to footer

Dual to Find Optimal Solution in Linear Program

The dual of a given linear program (LP) is another LP that is derived from the original (the primal) LP in the following schematic way:

  • Each variable in the primal LP becomes a constraint in the dual LP;
  • Each constraint in the primal LP becomes a variable in the dual LP;
  • The objective direction is inversed – maximum in the primal becomes minimum in the dual and vice versa.

The weak duality theorem states that the objective value of the dual LP at any feasible solution is always a bound on the objective of the primal LP at any feasible solution (upper or lower bound, depending on whether it is a maximization or minimization problem). In fact, this bounding property holds for the optimal values of the dual and primal LPs.

The strong duality theorem states that, moreover, if the primal has an optimal solution then the dual has an optimal solution too, and the two optima are equal.[1]

These theorems belong to a larger class of duality theorems in optimization. The strong duality theorem is one of the cases in which the duality gap (the gap between the optimum of the primal and the optimum of the dual) is 0.

Constructing the dual LP [edit]

Given a primal LP, the following algorithm can be used to construct its dual LP.[1] : 85 The primal LP is defined by:

The dual LP is constructed as follows.

From this algorithm, it is easy to see that the dual of the dual is the primal.

Vector formulations [edit]

If all constraints have the same sign, it is possible to present the above recipe in a shorter way using matrices and vectors. The following table shows the relation between various kinds of primals and duals.

Primal Dual Note
Maximize c T x subject to A xb, x ≥ 0 Minimize b T y subject to A T yc, y ≥ 0 This is called a "symmetric" dual problem
Maximize c T x subject to A xb Minimize b T y subject to A T y = c, y ≥ 0 This is called an "asymmetric" dual problem
Maximize c T x subject to A x = b, x ≥ 0 Minimize b T y subject to A T yc

The duality theorems [edit]

Below, suppose the primal LP is "maximize c T x subject to [constraints]" and the dual LP is "minimize b T y subject to [constraints]".

Weak duality [edit]

The weak duality theorem says that, for each feasible solution x of the primal and each feasible solution y of the dual: c T xb T y. In other words, the objective value in each feasible solution of the dual is an upper-bound on the objective value of the primal, and objective value in each feasible solution of the primal is a lower-bound on the objective value of the dual. This implies:

max x c T x ≤ min y b T y

In particular, if the primal is unbounded (from above) then the dual has no feasible solution, and if the dual is unbounded (from below) then the primal has no feasible solution.

The weak duality theorem is relatively simple to prove. Suppose the primal LP is "Maximize c T x subject to A xb, x ≥ 0". Suppose we create a linear combination of the constraints, with positive coefficients, such that the coefficients of x in the constraints are at least c T. This linear combination gives us an upper bound on the objective. The variables y of the dual LP are the coefficients of this linear combination. The dual LP tries to find such coefficients that minimize the resulting upper bound. This gives the LP "Minimize b T y subject to A T yc, y ≥ 0".[1] : 81–83 See the tiny example below.

Strong duality [edit]

The strong duality theorem says that if one of the two problems has an optimal solution, so does the other one and that the bounds given by the weak duality theorem are tight, i.e.:

max x c T x = min y b T y

The strong duality theorem is harder to prove; the proofs usually use the weak duality theorem as a sub-routine.

One proof uses the simplex algorithm and relies on the proof that, with the suitable pivot rule, it provides a correct solution. The proof establishes that, once the simplex algorithm finishes with a solution to the primal LP, it is possible to read from the final tableau, a solution to the dual LP. So, by running the simplex algorithm, we obtain solutions to both the primal and the dual simultaneously.[1] : 87–89

Another proof uses the Farkas lemma.[1] : 94

Theoretical implications [edit]

1. The weak duality theorem implies that finding a single feasible solution is as hard as finding an optimal feasible solution. Suppose we have an oracle that, given an LP, finds an arbitrary feasible solution (if one exists). Given the LP "Maximize c T x subject to A xb, x ≥ 0", we can construct another LP by combining this LP with its dual. The combined LP has both x and y as variables:

Maximize 1

subject to A xb, A T yc, c T xb T y, x ≥ 0, y ≥ 0

If the combined LP has a feasible solution (x,y), then by weak duality, c T x = b T y. So x must be a maximal solution of the primal LP and y must be a minimal solution of the dual LP. If the combined LP has no feasible solution, then the primal LP has no feasible solution too.

2. The strong duality theorem provides a "good characterization" of the optimal value of an LP in that it allows us to easily prove that some value t is the optimum of some LP. The proof proceeds in two steps:[2] : 260–261

  • Show a feasible solution to the primal LP with value t; this proves that the optimum is at least t.
  • Show a feasible solution to the dual LP with value t; this proves that the optimum is at most t.

Examples [edit]

Tiny example [edit]

Consider the primal LP, with two variables and one constraint:

maximize 3 x 1 + 4 x 2 subject to 5 x 1 + 6 x 2 = 7 x 1 0 , x 2 0 {\displaystyle {\begin{aligned}{\text{maximize }}&3x_{1}+4x_{2}\\{\text{subject to }}&5x_{1}+6x_{2}=7\\&x_{1}\geq 0,x_{2}\geq 0\end{aligned}}}

Applying the recipe above gives the following dual LP, with one variable and two constraints:

minimize 7 y 1 subject to 5 y 1 3 6 y 1 4 y 1 R {\displaystyle {\begin{aligned}{\text{minimize }}&7y_{1}\\{\text{subject to }}&5y_{1}\geq 3\\&6y_{1}\geq 4\\&y_{1}\in \mathbb {R} \end{aligned}}}

It is easy to see that the maximum of the primal LP is attained when x 1 is minimized to its lower bound (0) and x 2 is maximized to its upper bound under the constraint (7/6). The maximum is 4 · 7/6 = 14/3.

Similarly, the minimum of the dual LP is attained when y 1 is minimized to its lower bound under the constraints: the first constraint gives a lower bound of 3/5 while the second constraint gives a stricter lower bound of 4/6, so the actual lower bound is 4/6 and the minimum is 7 · 4/6 = 14/3.

In accordance with the strong duality theorem, the maximum of the primal equals the minimum of the dual.

We use this example to illustrate the proof of the weak duality theorem. Suppose that, in the primal LP, we want to get an upper bound on the objective 3 x 1 + 4 x 2 {\displaystyle 3x_{1}+4x_{2}} . We can use the constraint multiplied by some coefficient, say y 1 {\displaystyle y_{1}} . For any y 1 {\displaystyle y_{1}} we get: y 1 ( 5 x 1 + 6 x 2 ) = 7 y 1 {\displaystyle y_{1}\cdot (5x_{1}+6x_{2})=7y_{1}} . Now, if y 1 5 x 1 3 x 1 {\displaystyle y_{1}\cdot 5x_{1}\geq 3x_{1}} and y 1 6 x 2 4 x 2 {\displaystyle y_{1}\cdot 6x_{2}\geq 4x_{2}} , then y 1 ( 5 x 1 + 6 x 2 ) 3 x 1 + 4 x 2 {\displaystyle y_{1}\cdot (5x_{1}+6x_{2})\geq 3x_{1}+4x_{2}} , so 7 y 1 3 x 1 + 4 x 2 {\displaystyle 7y_{1}\geq 3x_{1}+4x_{2}} . Hence, the objective of the dual LP is an upper bound on the objective of the primal LP.

Farmer example [edit]

Consider a farmer who may grow wheat and barley with the set provision of some L land, F fertilizer and P pesticide. To grow one unit of wheat, one unit of land, F 1 {\displaystyle F_{1}} units of fertilizer and P 1 {\displaystyle P_{1}} units of pesticide must be used. Similarly, to grow one unit of barley, one unit of land, F 2 {\displaystyle F_{2}} units of fertilizer and P 2 {\displaystyle P_{2}} units of pesticide must be used.

The primal problem would be the farmer deciding how much wheat ( x 1 {\displaystyle x_{1}} ) and barley ( x 2 {\displaystyle x_{2}} ) to grow if their sell prices are S 1 {\displaystyle S_{1}} and S 2 {\displaystyle S_{2}} per unit.

Maximize: S 1 x 1 + S 2 x 2 {\displaystyle S_{1}\cdot x_{1}+S_{2}\cdot x_{2}} (maximize the revenue from producing wheat and barley)
subject to: x 1 + x 2 L {\displaystyle x_{1}+x_{2}\leq L} (cannot use more land than available)
F 1 x 1 + F 2 x 2 F {\displaystyle F_{1}\cdot x_{1}+F_{2}\cdot x_{2}\leq F} (cannot use more fertilizer than available)
P 1 x 1 + P 2 x 2 P {\displaystyle P_{1}\cdot x_{1}+P_{2}\cdot x_{2}\leq P} (cannot use more pesticide than available)
x 1 , x 2 0 {\displaystyle x_{1},x_{2}\geq 0} (cannot produce negative quantities of wheat or barley).

In matrix form this becomes:

Maximize: [ S 1 S 2 ] [ x 1 x 2 ] {\displaystyle {\begin{bmatrix}S_{1}&S_{2}\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}}
subject to: [ 1 1 F 1 F 2 P 1 P 2 ] [ x 1 x 2 ] [ L F P ] , [ x 1 x 2 ] 0. {\displaystyle {\begin{bmatrix}1&1\\F_{1}&F_{2}\\P_{1}&P_{2}\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}\leq {\begin{bmatrix}L\\F\\P\end{bmatrix}},\,{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}\geq 0.}

For the dual problem assume that y unit prices for each of these means of production (inputs) are set by a planning board. The planning board's job is to minimize the total cost of procuring the set amounts of inputs while providing the farmer with a floor on the unit price of each of his crops (outputs), S 1 for wheat and S 2 for barley. This corresponds to the following LP:

Minimize: L y L + F y F + P y P {\displaystyle L\cdot y_{L}+F\cdot y_{F}+P\cdot y_{P}} (minimize the total cost of the means of production as the "objective function")
subject to: y L + F 1 y F + P 1 y P S 1 {\displaystyle y_{L}+F_{1}\cdot y_{F}+P_{1}\cdot y_{P}\geq S_{1}} (the farmer must receive no less than S 1 for his wheat)
y L + F 2 y F + P 2 y P S 2 {\displaystyle y_{L}+F_{2}\cdot y_{F}+P_{2}\cdot y_{P}\geq S_{2}} (the farmer must receive no less than S 2 for his barley)
y L , y F , y P 0 {\displaystyle y_{L},y_{F},y_{P}\geq 0} (prices cannot be negative).

In matrix form this becomes:

Minimize: [ L F P ] [ y L y F y P ] {\displaystyle {\begin{bmatrix}L&F&P\end{bmatrix}}{\begin{bmatrix}y_{L}\\y_{F}\\y_{P}\end{bmatrix}}}
subject to: [ 1 F 1 P 1 1 F 2 P 2 ] [ y L y F y P ] [ S 1 S 2 ] , [ y L y F y P ] 0. {\displaystyle {\begin{bmatrix}1&F_{1}&P_{1}\\1&F_{2}&P_{2}\end{bmatrix}}{\begin{bmatrix}y_{L}\\y_{F}\\y_{P}\end{bmatrix}}\geq {\begin{bmatrix}S_{1}\\S_{2}\end{bmatrix}},\,{\begin{bmatrix}y_{L}\\y_{F}\\y_{P}\end{bmatrix}}\geq 0.}

The primal problem deals with physical quantities. With all inputs available in limited quantities, and assuming the unit prices of all outputs is known, what quantities of outputs to produce so as to maximize total revenue? The dual problem deals with economic values. With floor guarantees on all output unit prices, and assuming the available quantity of all inputs is known, what input unit pricing scheme to set so as to minimize total expenditure?

To each variable in the primal space corresponds an inequality to satisfy in the dual space, both indexed by output type. To each inequality to satisfy in the primal space corresponds a variable in the dual space, both indexed by input type.

The coefficients that bound the inequalities in the primal space are used to compute the objective in the dual space, input quantities in this example. The coefficients used to compute the objective in the primal space bound the inequalities in the dual space, output unit prices in this example.

Both the primal and the dual problems make use of the same matrix. In the primal space, this matrix expresses the consumption of physical quantities of inputs necessary to produce set quantities of outputs. In the dual space, it expresses the creation of the economic values associated with the outputs from set input unit prices.

Since each inequality can be replaced by an equality and a slack variable, this means each primal variable corresponds to a dual slack variable, and each dual variable corresponds to a primal slack variable. This relation allows us to speak about complementary slackness.

Infeasible program [edit]

A LP can also be unbounded or infeasible. Duality theory tells us that:

  • If the primal is unbounded, then the dual is infeasible;
  • If the dual is unbounded, then the primal is infeasible.

However, it is possible for both the dual and the primal to be infeasible. Here is an example:

Applications [edit]

The max-flow min-cut theorem is a special case of the strong duality theorem: flow-maximization is the primal LP, and cut-minimization is the dual LP. See Max-flow min-cut theorem#Linear program formulation.

Other graph-related theorems can be proved using the strong duality theorem, in particular, Konig's theorem.[3]

The Minimax theorem for zero-sum games can be proved using the strong-duality theorem.[1] : sub.8.1

Alternative algorithm [edit]

Sometimes, one may find it more intuitive to obtain the dual program without looking at the program matrix. Consider the following linear program:

Minimize i = 1 m c i x i + j = 1 n d j t j {\displaystyle \sum _{i=1}^{m}c_{i}x_{i}+\sum _{j=1}^{n}d_{j}t_{j}}
subject to i = 1 m a i j x i + e j t j g j , {\displaystyle \sum _{i=1}^{m}a_{ij}x_{i}+e_{j}t_{j}\geq g_{j},} 1 j n {\displaystyle 1\leq j\leq n}
f i x i + j = 1 n b i j t j h i , {\displaystyle f_{i}x_{i}+\sum _{j=1}^{n}b_{ij}t_{j}\geq h_{i},} 1 i m {\displaystyle 1\leq i\leq m}
x i 0 , t j 0 , {\displaystyle x_{i}\geq 0,\,t_{j}\geq 0,} 1 i m , 1 j n {\displaystyle 1\leq i\leq m,1\leq j\leq n}

We have m +n conditions and all variables are non-negative. We shall define m +n dual variables: y j and s i . We get:

Minimize i = 1 m c i x i + j = 1 n d j t j {\displaystyle \sum _{i=1}^{m}c_{i}x_{i}+\sum _{j=1}^{n}d_{j}t_{j}}
subject to i = 1 m a i j x i y j + e j t j y j g j y j , {\displaystyle \sum _{i=1}^{m}a_{ij}x_{i}\cdot y_{j}+e_{j}t_{j}\cdot y_{j}\geq g_{j}\cdot y_{j},} 1 j n {\displaystyle 1\leq j\leq n}
f i x i s i + j = 1 n b i j t j s i h i s i , {\displaystyle f_{i}x_{i}\cdot s_{i}+\sum _{j=1}^{n}b_{ij}t_{j}\cdot s_{i}\geq h_{i}\cdot s_{i},} 1 i m {\displaystyle 1\leq i\leq m}
x i 0 , t j 0 , {\displaystyle x_{i}\geq 0,\,t_{j}\geq 0,} 1 i m , 1 j n {\displaystyle 1\leq i\leq m,1\leq j\leq n}
y j 0 , s i 0 , {\displaystyle y_{j}\geq 0,\,s_{i}\geq 0,} 1 j n , 1 i m {\displaystyle 1\leq j\leq n,1\leq i\leq m}

Since this is a minimization problem, we would like to obtain a dual program that is a lower bound of the primal. In other words, we would like the sum of all right hand side of the constraints to be the maximal under the condition that for each primal variable the sum of its coefficients do not exceed its coefficient in the linear function. For example, x 1 appears in n + 1 constraints. If we sum its constraints' coefficients we get a 1,1 y 1 +a 1,2 y 2 + ... +a 1,;;n;; y n  +f 1 s 1. This sum must be at most c 1. As a result, we get:

Maximize j = 1 n g j y j + i = 1 m h i s i {\displaystyle \sum _{j=1}^{n}g_{j}y_{j}+\sum _{i=1}^{m}h_{i}s_{i}}
subject to j = 1 n a i j y j + f i s i c i , {\displaystyle \sum _{j=1}^{n}a_{ij}y_{j}+f_{i}s_{i}\leq c_{i},} 1 i m {\displaystyle 1\leq i\leq m}
e j y j + i = 1 m b i j s i d j , {\displaystyle e_{j}y_{j}+\sum _{i=1}^{m}b_{ij}s_{i}\leq d_{j},} 1 j n {\displaystyle 1\leq j\leq n}
y j 0 , s i 0 , {\displaystyle y_{j}\geq 0,\,s_{i}\geq 0,} 1 j n , 1 i m {\displaystyle 1\leq j\leq n,1\leq i\leq m}

Note that we assume in our calculations steps that the program is in standard form. However, any linear program may be transformed to standard form and it is therefore not a limiting factor.

Real-life interpretations [edit]

The duality theorem has an economic interpretation. If we interpret the primal LP as a classical "resource allocation" problem, its dual LP can be interpreted as a "resource valuation" problem. See also Shadow price.

The duality theorem has a physical interpretation too.[1] : 86–87

References [edit]

  1. ^ a b c d e f g Gärtner, Bernd; Matoušek, Jiří (2006). Understanding and Using Linear Programming. Berlin: Springer. ISBN3-540-30697-8. Pages 81–104.
  2. ^ Lovász, László; Plummer, M. D. (1986), Matching Theory, Annals of Discrete Mathematics, 29, North-Holland, ISBN0-444-87916-1, MR 0859549
  3. ^ A. A. Ahmadi (2016). "Lecture 6: linear programming and matching" (PDF). Princeton University.

Dual to Find Optimal Solution in Linear Program

Source: https://en.wikipedia.org/wiki/Dual_linear_program