Difference between revisions of "Duality"

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search
Line 11: Line 11:
  
 
=== Definition: ===
 
=== Definition: ===
 
  
 
'''Primal'''<blockquote>Maximize <math>z=\textstyle \sum_{j=1}^n \displaystyle c_j x_j</math> </blockquote><blockquote>subject to:
 
'''Primal'''<blockquote>Maximize <math>z=\textstyle \sum_{j=1}^n \displaystyle c_j x_j</math> </blockquote><blockquote>subject to:
Line 21: Line 20:
 
Minimize <math>v=\textstyle \sum_{i=1}^m \displaystyle b_i y_i</math>
 
Minimize <math>v=\textstyle \sum_{i=1}^m \displaystyle b_i y_i</math>
  
subject to:<blockquote><math>\textstyle \sum_{i=1}^m \displaystyle a_{i,j} y_i\lneq c_j \qquad (j=1, 2, ... , n)  </math></blockquote><blockquote><math>y_i\gneq 0 \qquad (i=1, 2, ... , m)</math></blockquote></blockquote>
+
subject to:<blockquote><math>\textstyle \sum_{i=1}^m \displaystyle a_{i,j} y_i\gneq c_j \qquad (j=1, 2, ... , n)  </math></blockquote><blockquote><math>y_i\gneq 0 \qquad (i=1, 2, ... , m)</math></blockquote></blockquote>Between the primal and the dual, the variables <math>c</math> and <math>b</math> switch places with each other. The coefficient (<math>c_j</math>) of the primal becomes the Right Hand Side (RHS) of the dual. The RHS of the primal (<math>b_j</math>) becomes the coefficient of the dual. The less than or equal to constraints in the primal become greater than or equal to in the dual problem.
  
 
=== Constructing a Dual: ===
 
=== Constructing a Dual: ===
 
<math>\begin{matrix} \max(c^Tx)  \\ \ s.t. Ax\leq b \\ x \geq 0 \end{matrix}</math> <math> \quad \longrightarrow \quad</math><math>\begin{matrix} \\ \min(b^Ty)  \\ \ s.t. A^Tx\geq c \\ y \geq 0 \end{matrix}</math>
 
<math>\begin{matrix} \max(c^Tx)  \\ \ s.t. Ax\leq b \\ x \geq 0 \end{matrix}</math> <math> \quad \longrightarrow \quad</math><math>\begin{matrix} \\ \min(b^Ty)  \\ \ s.t. A^Tx\geq c \\ y \geq 0 \end{matrix}</math>
 +
 +
=== Duality Properties: ===
 +
 +
==== Weak Duality ====
 +
 +
* let <math>x=[x_1, ... , x_n]  </math> be any feasible solution to the primal
 +
* let <math>y = [y_1, ... , y_m]  </math>be any feasible solution to the dual
 +
* <math>\therefore  </math>(z value for x) <math>\leq  </math>(v value for y)
 +
 +
The weak duality theorem says that the z value for x in the primal is always less than or equal to the v value of y in the dual.
  
 
== Numerical Example ==
 
== Numerical Example ==

Revision as of 21:45, 9 November 2020

Author: Claire Gauthier, Trent Melsheimer, Alexa Piper, Nicholas Chung, Michael Kulbacki (SysEn 6800 Fall 2020)

Steward: TA's name, Fengqi You

Introduction

Every linear programming optimization problem may be viewed either from the primal or the dual, this is the principal of duality. Duality develops the relationships between one linear programming problem and another related linear programming problem. For example in economics, if the primal optimization problem deals with production and consumption levels, then the dual of that problem relates to the prices of goods and services. The dual variables in this example can be referred to as shadow prices.

The shadow price of a constraint ...

Theory, methodology, and/or algorithmic discussions

Definition:

Primal

Maximize

subject to:


Dual

Minimize

subject to:

Between the primal and the dual, the variables and switch places with each other. The coefficient () of the primal becomes the Right Hand Side (RHS) of the dual. The RHS of the primal () becomes the coefficient of the dual. The less than or equal to constraints in the primal become greater than or equal to in the dual problem.

Constructing a Dual:

Duality Properties:

Weak Duality

  • let be any feasible solution to the primal
  • let be any feasible solution to the dual
  • (z value for x) (v value for y)

The weak duality theorem says that the z value for x in the primal is always less than or equal to the v value of y in the dual.

Numerical Example

Construct the Dual for the following maximization problem:

maximize

subject to:

For the problem above, form augmented matrix A. The first two rows represent constraints one and two respectively. The last row represents the objective function.

Find the transpose of matrix A

From the last row of the transpose of matrix A, we can derive the objective function of the dual. Each of the preceding rows represents a constraint. Note that the original maximization problem had three variables and two constraints. The dual problem has two variables and three constraints.

minimize

subject to:

Applications

Conclusion

References

  1. https://ocw.mit.edu/courses/sloan-school-of-management/15-084j-nonlinear-programming-spring-2004/lecture-notes/lec18_duality_thy.pdf
  2. http://web.mit.edu/15.053/www/AMP-Chapter-04.pdf