17
Duality Theory 對對對對

Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Embed Size (px)

Citation preview

Page 1: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Duality Theory

對偶理論

Page 2: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

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.

Page 3: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

The dual problem uses exactly the same parameters as the primal problem, but in different location.

Primal and Dual Problems

Primal Problem Dual Problem

Max

s.t.

Min

s.t.

n

jjjxcZ

1

,

m

iii ybW

1

,

n

jijij bxa

1

,

m

ijiij cya

1,

for for.,,2,1 mi .,,2,1 nj

for .,,2,1 mi for .,,2,1 nj ,0jx ,0iy

Page 4: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

In matrix notation

Primal Problem Dual Problem

Maximize

subject to

.0x .0y

Minimize

subject tobAx cyA

,cxZ ,ybW

Where and are row vectors but and are column vectors.

c myyyy ,,, 21 b x

Page 5: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Example

Maxs.t.

Min

s.t.

Primal Problemin Algebraic Form

Dual Problem in Algebraic Form

,53 21 xxZ ,18124 321 yyyW

1823 21 xx

122 2 x41x

0x,0x 21

522 32 yy

33 3 y1y

0y,0y,0y 321

Page 6: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Max

s.t.

Primal Problem in Matrix Form

Dual Problem in Matrix Form

Min

s.t.

,5,32

1

x

xZ

18

12

4

,

2

2

0

3

0

1

2

1

x

x

.0

0

2

1

x

x .0,0,0,, 321 yyy

5,3

2

2

0

3

0

1

,, 321

yyy

18

12

4

,, 321 yyyW

Page 7: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Primal-dual table for linear programmingPrimal Problem

Coefficient of: RightSide

Rig

ht

Sid

eDu

al P

rob

lem

Co

effi

cien

to

f:

my

y

y

2

1

21

11

a

a

22

12

a

a

n

n

a

a

2

1

1x 2x nx

1c 2c ncVI VI VI

Coefficients forObjective Function

(Maximize)

1b

mna2ma1ma

2bmb

Coe

ffic

ient

s fo

r O

bjec

tive

Fun

ctio

n(M

inim

ize)

Page 8: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

One Problem Other Problem

Constraint Variable

Objective function Right sides

i i

Relationships between Primal and Dual Problems

Minimization Maximization

Variables

Variables

Constraints

Constraints

0

0

0

0

Unrestricted

Unrestricted

Page 9: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

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.

Page 10: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Rationale: Primal to Dual Reformulation

Max cxs.t. Ax b x 0

L(X,Y) = cx - y(Ax - b) = yb + (c - yA) x

Min yb

s.t. yA c

y 0

Lagrangian Function )],([ YXL

X

YXL

)],([

= c-yA

Page 11: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

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)

Page 12: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

“Complementary slackness Conditions” are

obtained from (4)

( c - y*A ) x* = 0

y*( b - Ax* ) = 0

xj* > 0 y*aj = cj , y*aj > cj xj* = 0

yi* > 0 aix* = bi , ai x* < bi yi* = 0

(5)

(6)

Page 13: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Any pair of primal and dual problems can be

converted to each other.

The dual of a dual problem always is the primal

problem.

Page 14: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Min W = yb,

s.t. yA c

y 0.

Dual ProblemMax (-W) = -yb,

s.t. -yA -c

y 0.

Converted to Standard Form

Min (-Z) = -cx,

s.t. -Ax -b

x 0.

Its Dual Problem

Max Z = cx,

s.t. Ax b

x 0.

Converted toStandard Form

Page 15: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Mins.t.

64.06.0

65.05.0

7.21.03.0

21

21

21

xx

xx

xx

0,0 21 xx

21 5.04.0 xx

Mins.t.

][y 64.06.0

][y 65.05.0

][y 65.05.0

][y 7.21.03.0

321

-221

221

121

xx

xx

xx

xx

0,0 21 xx

21 5.04.0 xx

Page 16: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Maxs.t.

.0,0,0,0

5.04.0)(5.01.0

4.06.0)(5.03.0

6)(67.2

3221

3221

3221

3221

yyyy

yyyy

yyyy

yyyy

Maxs.t.

.0, URS:,0

5.04.05.01.0

4.06.05.03.0

667.2

321

321

321

321

yyy

yyy

yyy

yyy

Page 17: Duality Theory 對偶理論. One of the most important discoveries in the early development of linear programming was the concept of duality. Every linear programming

Application of

“Complementary Slackness Conditions”.

Example: Solving a problem with 2 functional constraints by graphical method.

0 , ,

104

3043..

372max

321

321

321

321

xxx

xxx

xxxts

xxxZ Optimal solution:

x1=10

x2=0

x3=0