15.081J/6.251J Introduction to Mathematical Programming Lecture 9: Duality Theory II

advertisement
15.081J/6.251J Introduction to Mathematical
Programming
Lecture 9: Duality Theory II
1
Outline
Slide 1
• Strict complementary slackness
• Geometry of duality
• The dual simplex algorithm
• Duality and degeneracy
2
Strict Complementary Slackness
Slide 2
Assume that both problems have an optimal solution:
min c′ x
s.t. Ax ≥ b
x ≥ 0,
max p′ b
s.t. p′ A ≤ c′
p ≥ 0.
There exist optimal solutions to the primal and to the dual that satisfy
• For every j, either xj > 0 or p′ Aj < cj .
• For every i, we have either a′i x > bi or pi > 0.
2.1
Example
Slide 3
min
s.t.
5x1 + 5x2
x1 + x2 ≥ 2
2x1 − x2 ≥ 0
x1 , x2 ≥ 0.
• Is (2/3, 4/3) strictly complementary?
• Which are all the strictly complementary solutions?
3
The Geometry of Duality
Slide 4
min
s.t.
c′ x
a′i x ≥ bi ,
i = 1, . . . , m
max p′ b
m
�
pi ai = c
s.t.
i=1
p≥0
1
c
c
a1
a3
A
a2
c
B
a5
a4
a1
c
a3
a4
a2
a1
c
C
a1
a5
a1
D
a2
c
a1
a3
a3
a2
x *
a1
2
4
Dual Simplex Algorithm
4.1
Motivation
Slide 5
• In simplex method B −1 b ≥ 0
• Primal optimality condition
c′ − c′B B −1 A ≥ 0′
same as dual feasibility
• Simplex is a primal algorithm: maintains primal feasibility and works
towards dual feasibility
• Dual algorithm: maintains dual feasibility and works towards primal
feasibility
−c′B xB
xB(1)
..
.
xB(m)
c̄1
|
...
c̄n
|
B −1 A1
|
...
B −1 An
|
Slide 6
• Do not require B −1 b ≥ 0
• Require c̄ ≥ 0 (dual feasibility)
• Dual cost is
p′ b = c′B B −1 b = c′B xB
• If B −1 b ≥ 0 then both dual feasibility and primal feasibility, and also
same cost ⇒ optimality
• Otherwise, change basis
4.2
An iteration
Slide 7
1. Start with basis matrix B and all reduced costs ≥ 0.
2. If B −1 b ≥ 0 optimal solution found; else, choose l s.t. xB(l) < 0.
3. Consider the lth row (pivot row) xB(l) , v1 , . . . , vn . If ∀i vi ≥ 0 then dual
optimal cost = +∞ and algorithm terminates.
4. Else, let j s.t.
c̄i
c̄j
= min
|vj | {i|vi <0} |vi |
5. Pivot element vj : Aj enters the basis and AB(l) exits.
3
Slide 8
x2
p2
1
.
D
c
1
.
.
. .
.
B
b
C
C
A
.
.
A
E
D
1
x1
2
E
1
p1
(b)
(a)
4.3
.
.
B
1/2
An example
Slide 9
min x1 + x2
s.t. x1 + 2x2 ≥ 2
x1 ≥ 1
x1 , x2 ≥ 0
min
s.t.
x1 + x2
x1 + 2x2 − x3 = 2
x1 − x4 = 1
x1 , x2 , x3 , x4 ≥ 0
max
s.t.
2p1 + p2
p1 + p2 ≤ 1
2p1 ≤ 1
p1 , p2 ≥ 0
x1
x2
x3
x4
0
1
1
0
0
x3 =
−2
−1
−2*
1
0
x4 =
−1
−1
0
0
1
Slide 10
Slide 11
x1
x2
x3
x4
−1
1/2
0
1/2
0
x2 =
1
1/2
1
−1/2
0
x4 =
−1
−1*
0
0
1
x1
x2
x3
x4
−3/2
0
0
1/2
1/2
x2 =
1/2
0
1
−1/2
1/2
x1 =
1
1
0
0
−1
4
x2
.
B
p2
A'
.
C
.
C
. .
.
A
A
.
c
.
.
D
D
A' '
x1
p1
b
(a)
5
.
B
(b)
Duality and Degeneracy
• Any basis matrix B leads to dual basic solution p′ = cB ′ B −1 .
Slide 12
• The dual constraint p′ Aj = cj is active if and only if the reduced cost cj
is zero.
• Since p is m-dimensional, dual degeneracy implies more than m reduced
costs that are zero.
• Dual degeneracy is obtained whenever there exists a nonbasic variable
whose reduced cost is zero.
5.1
Example
Slide 13
min 3x1 + x2
max
s.t. x1 + x2 − x3 = 2
s.t.
2x1 − x2 − x4 = 0
x1 , x2 , x3 , x4 ≥ 0,
2p1
p1 + 2p2 ≤ 3
p1 − p2 ≤ 1
p1 , p2 ≥ 0.
Equivalent primal problem
min 3x1 + x2
s.t. x1 + x2 ≥ 2
2x1 − x2 ≥ 0
x1 , x2 ≥ 0.
Slide 14
Slide 15
• Four basic solutions in primal: A, B, C, D.
• Six distinct basic solutions in dual: A, A′ , A′′ , B, C, D.
• Different bases may lead to the same basic solution for the primal, but
to different basic solutions for the dual. Some are feasible and some are
infeasible.
5
5.2
Degeneracy and uniqueness
• If dual has a nondegenerate optimal solution, the primal problem has a
unique optimal solution.
• It is possible, however, that dual has a degenerate solution and the dual
has a unique optimal solution.
6
Slide 16
MIT OpenCourseWare
http://ocw.mit.edu
6.251J / 15.081J Introduction to Mathematical Programming
Fall 2009
For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
Download