180 likes | 215 Views
Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming problem is associated with another linear programming problem called the dual .
E N D
Duality Theory 對偶理論
One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming problem is associated with another linear programming problem called the dual. The relationships between the dual problem and the original problem (called the primal) prove to be extremely useful in a variety of ways.
Primal and Dual Problems Primal Problem Dual Problem Max s.t. Min s.t. for for for for The dual problem uses exactly the same parameters as the primal problem, but in different location.
In matrix notation Primal Problem Dual Problem Maximize subject to Minimize subject to Where and are row vectors but and are column vectors.
Example Dual Problem in Algebraic Form Primal Problem in Algebraic Form Min s.t. Max s.t.
Primal Problem in Matrix Form Dual Problem in Matrix Form Max s.t. Min s.t.
Primal-dual table for linear programming Primal Problem Coefficient of: Right Side Coefficient of: Coefficients for Objective Function (Minimize) Dual Problem VI VI VI Right Side Coefficients for Objective Function (Maximize)
Relationships between Primal and Dual Problems One Problem Other Problem Constraint Variable Objective function Right sides Minimization Maximization Variables Constraints Unrestricted Constraints Variables Unrestricted
The feasible solutions for a dual problem are those that satisfy the condition of optimality for its primal problem. A maximum value of Z in a primal problem equals the minimum value of W in the dual problem.
Rationale: Primal to Dual Reformulation Lagrangian Function Max cx s.t. Ax b x 0 L(X,Y) = cx - y(Ax - b) = yb + (c - yA) x =c-yA Min yb s.t. yA c y 0
The following relation is always maintained yAx yb (from Primal: Ax b) yAx cx (from Dual : yA c) From (1) and (2), we have (Weak Duality) cx yAx yb At optimality cx* = y*Ax* = y*b is always maintained (Strong Duality). (1) (2) (3) (4)
“Complementary slackness Conditions” are obtained from (4) ( c - y*A ) x* = 0 y*( b - Ax* ) = 0 xj* > 0 y*aj = cj , y*aj> cjxj* = 0 yi* > 0 aix* = bi , ai x*<biyi* = 0 (5) (6)
Any pair of primal and dual problems can be converted to each other. The dual of a dual problem always is the primal problem.
Converted to Standard Form Dual Problem Min W = yb, s.t. yA c y 0. Max (-W) = -yb, s.t. -yA -c y 0. Converted to Standard Form Its Dual Problem Max Z = cx, s.t. Ax b x 0. Min (-Z) = -cx, s.t. -Ax -b x 0.
Min s.t. Min s.t.
Max s.t. Max s.t.
Application of “Complementary Slackness Conditions”. Example: Solving a problem with 2 functional constraints by graphical method. Optimal solution: x1=10 x2=0 x3=0