Mixed Integer LP

Post on 24-Oct-2014

36 views 1 download

Transcript of Mixed Integer LP

INTEGER LINEAR PROGRAMMING

ANTONIO J. CONEJO

2002

CONTENTS

1) REFERENCES

2) INTEGER LINEAR PROGRAMING• PURE INTEGER LINEAR PROGRAMMING

⇒ BRANCH AND BOUND• MIXED INTEGER LINEAR PROGRAMMING

⇒ BRANCH AND BOUND⇒ GOMORY CUTS

3) AVAILABLE SOFTWARE

REFERENCES

1. G.L. NEMHAUSER, L.A. WOLSEY. “INTEGER AND COMBINATORIAL OPTIMIZATION”. JOHN WILEY AND SONS. NEW YORK, 1988

2. S.P. BRADLEY, A.C. HAX, T.L. MAGNANTI. “APPLIED MATHEMATICAL PROGRAMMING”. ADDISON-WESLEY PUBLISHING COMPANY. READING, MASSACHUSETTES, 1977

Antonio Conejo 4

INTEGER LINEAR PROGRAMMING (1/2)

c xj jj

n

=∑

1

MINIMIZE

SUBJECT TO a b mij jj

n

i x i=∑ = =

112, , ,K

x nj ≥ =0 12 j , , ,K

n,1,2,j some or all for Ix j K=∈

INTEGER LINEAR PROGRAMMING (2/2)

POSSIBILITIES

• PURE INTEGER LINEAR PROGRAMMING• MIXED INTEGER LINEAR PROGRAMMING• 0/1 MIXED INTEGER LINEAR PROGRAMMING

SOLUTION METHODS

• BRANCH AND BOUND• GOMORY CUTS• BRANCH & CUT

PURE INTEGER LINEAR PROGRAMMING

VIABRANCH AND BOUND

PROCEDURE

1. SET UP OF BOUNDS

2. BRANCHING STRATEGY

3. SYSTEMATIC SOLUTION OF FURTHER CONSTRAINED LP PROBLEMS

4. TITHING OF BOUNDS

z z z< <∗

OBSERVATIONS

1. AN UPPER BOUND OF THE SOLUTION (OBJECTIVE FUNCTION VALUE) OF AN INTEGER LINEAR PROGRAMMING PROBLEM IS THE LOWEST VALUE OF ANY FEASIBLE INTEGER SOLUTION ENCOUNTERED

2. A LOWER BOUND OF THE SOLUTION OF AN INTEGER LINEAR PROGRAMMING PROBLEM IS THE OPTIMAL SOLUTION OF THE ASSOCIATED LINEAR PROGRAMMING PROBLEM

BRANCHING (1/3)IF IS NOT INTEGER BUT SHOULD BE

⇓BRANCHING

xj

x a bj = .

x aj ≤ x aj ≥ + 1

xxxj

j

j= ⇒

≤≥

3 7534.

BRANCHING (2/3)

LP0

x = a.b j

LP 1 LP 2

xj ≤ a xj ≥ a+1

BRANCHING (3/3)PROCEDURE

1. BY SYSTEMATIC BRANCHING TIGHTER BOUNDS OF THE FORM

z z z< <∗

ARE PROGRESSIVELY GENERATED2. THE BRANCHING REQUIRES THE SOLUTION OF MULTIPLE

LP'S WITH ADDITIONAL CONSTRAINTS, THEREFORE THE DUAL SIMPLEX ALGORITHM SHOULD BE USED

THE PRIMAL PROBLEMWITH AN ADDITIONAL CONSTRAINT

MINIMIZE

SUBJECT TO

[ ]− −

3 5

2 x1

x

−−

− −

−−−

1 00 23 2

0 1

41218

4

1

2L L L x

x

xx

1

2

26

=

INFEASIBLE

THE DUAL PROBLEMWITH AN ADDITIONAL CONSTRAINT

MAXIMIZE

SUBJECT TO [ ]

[ ]λ λ λ λ1 4, ,

41218

42 3

---

-L

[ ]λ λ λ λ1 4

1 00 23 2

0 1

3, , , - 52 3

−−

− −

≤ −L L

[ ] [ ]λ λ λ λ1 4 0, , , 0, 0 02 3 ≥λλλ

λ

1

2

3

4

03 2

1

0

=

L

L

/

FEASIBLE BUT NOT OPTIMAL

CUTTING RULESIT IS NOT REQUIRED TO FURTHER SUBDIVIDE BRANCH Lj IF

1. THE LP OVER Lj IS INFEASIBLE2. THE OPTIMAL LP SOLUTION OVER Lj IS INTEGER3. THE OPTIMAL LP SOLUTION zj IS SUCH THAT

(A VALUE LARGER THAN THE CURRENT UPPER BOUND)

IT IS SAID THAT Lj IS "FATHOMED" BY1. INFEASIBILITY2. INTEGRALITY3. BOUNDS

z zj >

OBSERVATION

IF ALL OBJETIVE FUNCTION COEFICIENTS ARE INTEGER AND ALL VARIABLES ARE INTEGER, THE BOUND

z* ≥ - a.b

IS EQUIVALENT TO THE BOUNDz* ≥ - a

AND THE BOUNDz* ≥ a.b

IS EQUIVALENT TO THE BOUNDz* ≥ a + 1

EXAMPLE (1/2)

MINIMIZE -5 x1 -8 x2 = z

SUBJECT TO x1 + x2 ≤ 6

5 x1 +9 x2 ≤ 45

x1 ≥ 0 & INTEGER

x2 ≥ 0 & INTEGER

EXAMPLE (2/2) L 0

x = 2.251

x ≥ 4 2 x ≤ 3 2

x = 3.752 z = - 41.25

z* ≥ - 41.25

L 1x = 1.8 1x = 4 2z = - 41

L 2x = 3 1x = 3 2z = - 39

x ≥ 2 1

L 3 L 4x = 1 1x = 4.44 2z = - 40.55

INFEASIBLE

* z* ≥ - 40.55

*

L 5x = 1 1x = 4 2z = - 37

L 6x = 0 1x = 5 2z = - 40

x ≤ 4 2 x ≥ 5 2

z* ≤ - 37

z* ≤ - 40 * *

z* ≤ - 39x ≤ 1 1

z* ≥ - 41

z* = - 40x*1 = 0x*2 = 5

MIXED INTEGER LINEAR PROGRAMMING

VIABRANCH AND BOUND

MIXED INTEGER LINEAR PROGRAMMING

JUST THE SAME THING THAT PURE INTEGER LINEAR PROGRAMMING BUT BRANCHING ONLY THOSE VARIABLES WHICH HAVE TO BE INTEGER

EXAMPLE (1/2)MINIMIZE 3x1 +2x2 -10 = z

SUBJECT TO x1 -2x2 +x3 = 5/2

2x1 +x2 +x4 = 3/2

x1 ≥ 0

x2 ≥ 0

x3 ≥ 0

x4 ≥ 0x2, x3 INTEGER

EXAMPLE (2/2) L 0

x = 0 ,1

x ≤ 2 3 x ≥ 3 3

x = 0 2

z = -10

z* ≥ -10

x ≤ 0 2 x ≥ 1 2

x = 2.5 , 3 x = 1.5 4

L 1x = 0 .5, 1 x = 0 2

z = -8.5

x = 2 ,3 x = 0.5 4

L 2x = 0 ,1 x = 0.252

z = -9.5

x = 3 ,3 x = 1.254z* ≤ - 8.5

L 3 L 4x = 0 ,1 x = 1 2

z = -8

x = 4.5 , 3 x = 0.5 4INFEASIBLE

*

* *

z* ≥ -9.5

(z* ≥ -8)

z* = - 8.5

x*1 = 0.5x*2 = 0x*3 = 2x*4 = 0.5

MIXED INTEGER LINEAR PROGRAMMING

VIAGOMORY CUTSANTONIO J. CONEJO

2002

GOMORY ALGORITHM (1/2)CONSTRAINTS

Ax b=

[ ]B NM L x

x b

B

N

=

Bx Nx bB N+ =

x B Nx B bB N+ =− −1 1

[ ]I B Nx

xb

B

N

M L− −

=1 1 B

[ ]I Yx

xb

B

N

M L

= ~

x Yx bB N+ = ~

GOMORY ALGORITHM (2/2)

• SELECT xBi NONINTEGRAL, THEN(1)

BECAUSE xNj ARE NON BASIC, IS NONINTEGRAL

• EACH Yij AND IS WRITTEN AS THE SUM OF AN INTEGER AND A NONNEGATIVE FRACTION LESS THAN 1, SO

x Y x bBi ij Nj i+ =∑ ~

Y I Fij ij= +ij

~ ~ ~b i fi = +i i

~bi

~bi

GOMORY ALGORITHM (2/2)

SOME Fij MAY BE 0, BUT IS GUARANTEED TO BE POSITIVE

• EQUATION (1) BECOMES

OR(2)

( )x I F x i fBi ij Nj i i+ + = +∑ ij~ ~

x I x i f F xBi Nj i i ij Nj+ − = −∑ ∑ij~ ~

~fi

GOMORY OBSERVATION• IF EACH VARIABLE IS REQUIRED TO BE INTEGRAL, THE

LEFT-HAND SIDE OF (2) SHOULD BE INTEGRAL, AND AS A RESULT, THE RIGHT-HAND SIDE TOO

• EACH AND IS NONNEGATIVE, SO TOO

• THEN, THE RIGHT-HAND SIDE OF (2) IS AN INTEGER WHICH IS SMALLER THAN A POSITIVE FRACTION LESS THAN ONE; THAT IS, A NONPOSITIVE INTEGER

OR(3)

• (3) IS THE SO CALLED GOMORY CUT

F x fij Nj − ≥∑ i 0

Fij xNjF xij Nj∑

~f F xij Nj i − ≤∑ 0

~

GOMORY ALGORITHM (1/2)

SELECT ONE (ANY) NONINTEGRAL BASIC VARIABLE, AND WITHOUT ASSIGNING ZERO VALUES TO THE NONBASIC VARIABLES, CONSIDER THE CONSTRAINT EQUATION REPRESENTED BY THE ROW OF THE SELECTED VARIABLE

REWRITE EACH FRACTIONAL COEFFICIENT AND CONSTANT IN THE CONSTRAINT EQUATION OBTAINED FROM STEP 1 AS THE SUM OF AN INTEGER AND A POSITIVE FRACTION BETWEEN 0 AND 1

STEP 1

STEP 2

GOMORY ALGORITHM (2/2)

THEN, REWRITE THE EQUATION SO THAT THE LEFT-HAND SIDE CONTAINS ONLY TERMS WITH FRACTIONAL COEFFICIENTS AND A FRACTIONAL CONSTANT, WHILE THE RIGHT-HAND SIDE CONTAINS ONLY TERMS WITH INTEGRAL COEFFICIENTS AND AN INTEGRAL CONSTANT

REQUIRE THE LEFT-HAND SIDE OF THE REWRITTEN EQUATION TO BE NONNEGATIVE. THE RESULTING INEQUALITY IS THE NEW CONSTRAINT

STEP 3

STEP 4

GOMORY CUTS EXAMPLE 1/14

CONSIDER THE PROBLEM:

RELAXED AND IN STANDARD FORM:

IN x IN, x 0 x 0 x 28 8x 7x 6 x 2x TO SUBJECT

80x120xZ MAXIMIZE

21

2

1

21

21

21

∈∈≥≥≤+≤+

+=

0x ,x ,x ,x 28 x 8x 7x 6 x x 2x TO SUBJECT

80x120xZ MAXIMIZE

4321

421

321

21

≥=++=++

+=

GOMORY CUTSEXAMPLE 2/14

THE SOLUTION IS

AND

THE EQUATION ASSOCIATED TO x2 IS USED TO GENERATE A CUT:

391.11z* =

.

92

97

91

98

Y;

914

920

x

xBxb~ *

*2

*1*

=

=

==

914x

92x

97x 432 =+−

GOMORY CUTSEXAMPLE 3/14

THEREFORE:

AND THE CUT

OR(1)2

5xx 43 ≥+

95f~

951

914f~i~b~

92f

920

92fiy

92f

921

97fiy

2222

22222222

21212121

=⇒+=⇔+=

=⇒+=⇔+=

=⇒+−=−⇔+=

95x

92x

920

xx

92

92

95

434

3 ≥+⇔≤

GOMORY CUTSEXAMPLE 4/14

THE CUT CAN BE EXPRESSED AS A FUNCTION OF x1 AND x2

TAKING INTO ACCOUNT THAT

THE CUT BECOMES

(1)

THE FEASIBILITY REGION IS REDUCED WITHOUT ELIMINATING INTEGER SOLUTIONS

2xx 21 ≤+

214

213

8x7x28xx2x6x−−=

−−=

7

GOMORY CUTSEXAMPLE 5/14

NEXT PROBLEM TO SOLVE IS

0x,x,x,x,x2

5xxx

28x8x7x6xx2xTOSUBJECT

80x120xZMAXIMIZE

54321

543

421

321

21

=−+

=++

=++

+=

THE GOMORY CUT HAS BEEN INCLUDED USING SLACK VARIABLE x5

GOMORY CUTSEXAMPLE 6/14

THE SOLUTION IS

380z* =

=

=

=

921

11911

Y;

1

2525

x

x

x

Bx; *

*3

*2

*1

*

GOMORY CUTSEXAMPLE 7/14

x1 IS USED TO GENERATE A NEW CUT. TAKING INTO ACCOUNT THAT 25*xb~ 11 ==

25x9

1xx 541 =−+

THEREFORE

21f~

212

25f~i~b~

98f

981

91fiy

0f011fiy

1111

12121212

11111111

=⇒+=⇔+=

=⇒+−=−⇔+=

=⇒+=⇔+=

GOMORY CUTSEXAMPLE 8/14

THE CUT BECOMES

OR(2)

EXPRESSING THIS CUT AT A FUNCTION OF VARIABLES x1AND x2

21x

980

x

x)

98(0

21

55

4≥⇔≤

169x5 ≥

1655xx 21 ≤+ (2)

GOMORY CUTSEXAMPLE 9/14

NEX PROBLEM TO BE SOLVED

0x,x,x,x,x,x9/16xx5/2xxx28x8x7x6xx2xTOSUBJET

80x120xz MAXIMIZE

654321

65

543

421

321

21

=−

=−+

=++

=++

+=

GOMORY CUTSEXAMPLE 10/14

THE SOLUTION IS

=

=

==

921

10

11911

Y;

87

169

1649

1641

x

x

x

x

x377.5;z *

*2

*5

*4

*1

**B

GOMORY CUTSEXAMPLE 11/14

USING x2 TO GENERATE A NEW CUT AND TAKING INTO ACCOUNT THAT 87/b~ 2 =

87x

92xx 632 =+−

THEN

87f~

870

87f~i~b~

92f

920

92fiy

0f011fiy

4444

42424242

41414141

=⇒+=⇔+=

=⇒+=⇔+=

=⇒+−=−⇔+=

GOMORY CUTSEXAMPLE 12/14

THE CUT BECOMES

( )87x

920

xx

2/9087

66

3 ≥⇔≤

OR

1663x 6 ≥ (3)

GOMORY CUTSEXAMPLE 13/14

THE LAST CUT AS A FUNCTION OF THE ORIGINAL VARIABLES BECOMES

3xx 21 ≤+

NEXT PROBLEM IS

0x,x,x,x,x,x,x63/16xx9/16xx5/2xxx28x8x7x6xx2x TO SUBJET

80x120xz MAXIMIZE

7654321

76

65

543

421

321

21

=−

=−

=−+

=++

=++

+=

GOMORY CUTSEXAMPLE 14/14

THE SOLUTION IS

=

==

31663

29

7

0

x

xx

x

x

x360;z

*1

*6

*5

*4

*3

**B

THIS SOLUTION IS INTEGER AND THEREFORE IS THE OPTIMAL SOLUTION OF THE ORIGINAL PROBLEM

360z0;x3;x **2

*1 ===

Antonio Conejo 43

MODELINGUSING 0/1 VARIABLES

ANTONIO J. CONEJO

2002

MODELING (1/6)ALTERNATIVE CONSTRAINTS

AT LEAST ONE OF THE CONSTRAINTS BELOW SHOULD BE MET

THIS IS EXPRESSED AS

a x ba x b

T

T1 1

2 2

{ }0,1y,y1yy

byBxabyBxa

21

21

222T2

111T1

∈≤+

≤−

≤−

MODELING (2/6)ALTERNATIVE CONSTRAINTS

AND

22T22

11T11

bBxa THAT SO BbBxa THAT SO B

≤−

≤−

MODELING (3/6)ALTERNATIVE CONSTRAINTS

POSIBILITIES:

cba100y

010y

2

1

a. Ambas restricciones han de cumplirseb. Restricción 1 desactivada, ha de cumplirse 2c. Restricción 2 desactivada, ha de cumplirse 1

MODELING (4/6)DISCONTINUITY

THE FUNCTION

IS EXPRESSED AS

AND

f xx

k cx x( ) =

=+ >

0 00

{ }

f x ky cxx Byxy

( )

,

= +≤≥

001

B SO THAT x B≤

MODELING (5/6)DISCONTINUITY

1)

( )

0x,Bx

cxkxf

1y

≥≤

+=

=

2)

( ) 0)x(f

0x,0x

cxxf

0y

=

≥≤

=

=

MODELING (6/6)DISCONTINUITY

f(x)

c

k

x

MODELING (1/4)PIECE-WISE LINEAR NONCONVEX FUNCTION

THE FUNCTION

WHERE

f xx x aa x a a x ba b a x b b x c

( ) ( )( ) ( )

=≤ ≤

+ − < ≤+ − + − < ≤

αα βα β γ

0

cba0

0

<<<

γ<α<β<

MODELING (2/4)PIECE-WISE LINEAR NONCONVEX FUNCTION

IS EXPRESSED AS

{ }

f x x x x

x x x x

aw x aw b a x b a w

x c b w

w w

w w

( )

( ) ( )( )

, ,

= + +

= + +

≤ ≤− ≤ ≤ −

≤ ≤ −

α β γ1 2 3

1 2 3

1 1

2 2 1

3 2

1 2

1 2

0

0 1

MODELING (3/4)PIECE-WISE LINEAR NONCONVEX FUNCTION

cbaCase

100w2

110w1

) ( ) 1321 xxf;0x,0x,ax0a α===≤≤

) ( ) 2321 xaxf;0x,abx0,axb β+α==−≤≤=

) ( ) ( ) 3321 xabaxf,bcx0;abx,axc γ+−β+α=−≤≤−==

MODELING (4/4)PIECE-WISE LINEAR NONCONVEX FUNCTION

f(x)

x1 x2 x3 x

a b c

α

β

γ

MODELING (1/4)PIECE-WISE LINEAR NONCONVEX FUNCTION WITH

INITIAL DISCONTINUITY

THE FUNCTION

WHERE

≤<−γ+−β+−α+≤<−β+−α+≤<−α+

=

=

dxc)cx()bc()ab(fcxb)bx()ab(fbxa)ax(f

0x0

)x(f

0

0

0

dcba0

0

<<<<

β<α<β<

MODELING (2/4)PIECE-WISE LINEAR NONCONVEX FUNCTION WITH

INITIAL DISCONTINUITYIS EXPRESSED AS

{ }

f x vf x x x

x va x x x

w b a x b a vw c b x c b w

x d c w

v ww w

v w w

( )

( ) ( )( ) ( )

( )

, , ,

= + + +

= + + +

− ≤ ≤ −− ≤ ≤ −

≤ ≤ −

≥≥

0 1 2 3

1 2 3

1 1

2 2 1

3 2

1

1 2

1 2

0

0 1

α β γ

MODELING (3/4)PIECE-WISE LINEAR NONCONVEX FUNCTION WITH

INITIAL DISCONTINUITY

b0

01 110V

dcaCase100w2

110w1

) ( ) 0xf;0x;0x,0xa 321 ====

) ( ) 10321 xfxf;0x,0x,abx0b α+===−≤≤

) ( ) ( ) 20321 xabfxf;0x,bcx0,abxc β+−α+==−≤≤−=

) ( ) ( ) ( ) 30321 xbcabfxf,cdx0;bcx,abxd γ+−β+−α+=−≤≤−=−=

MODELING (4/4)PIECE-WISE LINEAR NONCONVEX FUNCTION WITH

INITIAL DISCONTINUITY f(x)

x1 x2 x3 x

a b c

α

β

γ

f0

d

AVAILABLE SOFTWARE

• LINDO• GAMS (CPLEX)