Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

21
updated 21 April2008 Linear Programs with Totally Unimodular Matrices

Transcript of Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Page 1: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

updated 21 April2008

Linear Programs with Totally Unimodular Matrices

Page 2: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Basic Feasible Solutions

0,

)2(4595

)1(6s.t.

85max

yx

yx

yx

yxz

0,,,

4595

6s.t.

85max

21

2

1

ssyx

syx

syx

yxz

Standard Form

slide 2

Page 3: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Basic Feasible Solutions

0,,,

4595

6s.t.

85max

21

2

1

ssyx

syx

syx

yxz

Solution Basic Variables Non-Basic Variables Intersection

BFS 1 x = 2.25 & y = 3.75 s1 = s2 = 0 (1) and (2)

BFS 2 x = 6 & s2 = 15 y = s1 = 0 (1) and x-axis

BFS 3 y = 5 & s1 = 1 x = s1 = 0 (2) and y-axis

BFS 4 s1 = 6 & s2 = 45 x = y = 0 x-axis and y-axis

slide 3

Page 4: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Vector-Matrix Representation

45

6

1095

011121

b

ssyx

A

45

6,

10

01,,

1

5,

09

11,,

15

6,

15

01,,

75.3

25.2,

95

11,,

121

11

12

1

bAAssB

bAAsyB

bAAsxB

bAAyxB

BB

BB

BB

BB

slide 4

Page 5: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Example MCNFP

5 1 4(1, 0,2)

3

2

0

-3

-2

(2, 0,2)

(4, 1,3)

(4, 0,3)

(3, 2,5)

slide 5

Page 6: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

LP for Example MCNFP

Min 3x12 + 2 x13 + x23 + 4 x24 + 4 x34 s.t. x12 + x13 = 5 {Node 1} x23 + x24 – x12 = -2 {Node 2}

x34 – x13 - x23 = 0 {Node 3} – x24 - x34 = -3 {Node 4}

2 x12 5, 0 x13 2, 0 x23 2, 1 x24 3,

0 x34 3,

slide 6

Page 7: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Matrix Representation of Flow Balance Constraints

3025

11000101100110100011

34

24

23

13

12

xxxxx

slide 7

Page 8: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Solving for a Basic Feasible Solution

3025

1100101001010011

34

24

13

12

xxxx

3025

1100101001010011

1

34

24

13

12

xxxx

slide 8

Page 9: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Cramer’s Rule

Use determinants to solve x=A-1b.

abaa

abaaB

AB

xnnnnn

nij

j

j

j

21

1112

,

Take the matrix A and replace column j with the vector b to form matrix Bj.

slide 9

Page 10: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Using Cramer’s Rule to Solve for x12

A

Bx

)2,1(

12

1100

1010

0101

0011

1103

1010

0102

0015

integer?an Is )2,1(B

?1Does Aslide 10

Page 11: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Total Unimodularity

• A square, integer matrix is unimodular if its determinant is 1 or -1.

• An integer matrix A is called totally unimodular (TU) if every square, nonsingular submatrix of A is unimodular.

TUTUNot 1100101001010011

1111

slide 11

Page 12: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Total Unimodularity

• A square, integer matrix is unimodular if its determinant is 1 or -1.

• An integer matrix A is called totally unimodular (TU) if every square, nonsingular submatrix of A is unimodular.

1100

1010

0101

0011

111

01

slide 12

Page 13: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Sufficient Conditions for TU

An integer matrix A is TU if1. All entries are -1, 0 or 12. At most two non-zero entries appear in any column3. The rows of A can be partitioned into two disjoint

sets M1 and M2 such that• If a column has two entries of the same sign, their rows are

in different sets.• If a column has two entries of different signs, their rows are

in the same set.

slide 13

Page 14: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

The Matrix of Flow Balance Constraints

3025

11000101100110100011

34

24

23

13

12

xxxxx

• Every column has exactly one +1 and exactly one -1.• This satisfies conditions 1 and 2.

• Let the row partition be M1 = {all rows} and M2 = {}.• This satisfies condition 3.

• Thus the flow balance constraint matrix is TU.

slide 14

Page 15: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Using Cramer’s Rule to Solve for x12

A

Bx

)2,1(

12

1100

1010

0101

0011

1103

1010

0102

0015

integer?an Is )2,1(B?1Does A Yes.

slide 15

Page 16: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Expansion by Minors: 4-by-4 Matrix

aaaaaaaaa

aaaaaaaaaa

a

aaaaaaaaa

aaaaaaaaaa

a

aaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaa

342414

332313

322212

41

442414

432313

422212

31

443414

433313

423212

21

443424

433323

423222

11

44342414

43332313

42322212

41312111

44434241

34333231

24232221

14131211

slide 16

Page 17: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Expansion by Minors: 3-by-3 Matrix

aaaaa

aaaaa

aaaaa

aaaaaaa

aaaaaaaa

aaaaaaaaa

3122322113

3123332112

3223332211

3231

222113

3331

232112

3332

232211

333231

232221

131211

slide 17

Page 18: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Using Cramer’s Rule to Solve for x12

A

Bx

)2,1(

12

1100

1010

0101

0011

1103

1010

0102

0015

integer?an Is )2,1(B

?1Does A Yes.slide 18

Page 19: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Using Cramer’s Rule to Solve for x12

1100101001013025

1103101001020015

• When we expand along minors, the determinants of the submatrices will be +1, -1, or 0.• Therefore, the determinant will be an integer: (5)(+1, -1, or 0) + (-2) (+1, -1, or 0) + 0 + (-3) (+1, -1, or 0).

slide 19

Page 20: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

Using Cramer’s Rule to Solve for x12

A

Bx

)2,1(

12

1100

1010

0101

0011

1103

1010

0102

0015

integer?an Is )2,1(B

?1Does A Yes.

Yes.

slide 20

Page 21: Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.

TU Theorems

• Matrix A is TU if and only if AT is TU.• Matrix A is TU if and only if [A, I] is TU.

– I is the identity matrix.

• If the constraint matrix for an IP is TU, then its LP relaxation has an integral optimal solution.

• The BFSs of an MCNF LP are integer valued.

slide 21