You are on page 1of 58

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 x
j j
j
n
=

1
MINIMIZE
SUBJECT TO
a b m
ij j
j
n
i
x i
=

= =
1
12 , , , K
x n
j
= 0 12 j , , , K
n , 1,2, j some or all for I x
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
VIA
BRANCH 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
x
j
x a b
j
= .
x a
j

x a
j
+ 1
x
x
x
j
j
j
=

3 75
3
4
.
BRANCHING (2/3)

LP
0
x = a.b
j
LP
1
LP
2
x
j
a x
j
a+1
BRANCHING (3/3)
PROCEDURE
1. BY SYSTEMATIC BRANCHING TIGHTER BOUNDS OF THE
FORM
z z z < <

ARE PROGRESSIVELY GENERATED


2. THE BRANCHING REQUIRES THE SOLUTION OF MULTIPLE
LP'S WITH ADDITIONAL CONSTRAINTS, THEREFORE THE
DUAL SIMPLEX ALGORITHM SHOULD BE USED
THE PRIMAL PROBLEM
WITH AN ADDITIONAL CONSTRAINT
MINIMIZE
SUBJECT TO
| |

(
3 5
2
x
1
x

(
(
(

(
(
(
1 0
0 2
3 2
0 1
4
12
18
4
1
2
L L L

x
x
x
x
1
2
2
6

(
=

INFEASIBLE
THE DUAL PROBLEM
WITH AN ADDITIONAL CONSTRAINT
MAXIMIZE
SUBJECT TO
| |
| |

1 4
, ,
4
12
18
4
2 3
-
-
-
-
L

(
(
(
| |
1 4
1 0
0 2
3 2
0 1
3 , , , - 5
2 3

(
(
(

L L
| |
| |
1 4
0 , , , 0, 0 0
2 3

1
2
3
4
0
3 2
1
0

(
(
(
(
=

(
(
(
L
L
/
FEASIBLE BUT NOT OPTIMAL
CUTTING RULES
IT IS NOT REQUIRED TO FURTHER SUBDIVIDE BRANCH L
j
IF
1. THE LP OVER L
j
IS INFEASIBLE
2. THE OPTIMAL LP SOLUTION OVER L
j
IS INTEGER
3. THE OPTIMAL LP SOLUTION z
j
IS SUCH THAT
(A VALUE LARGER THAN THE CURRENT UPPER BOUND)
IT IS SAID THAT L
j
IS "FATHOMED" BY
1. INFEASIBILITY
2. INTEGRALITY
3. BOUNDS
z z
j
>
OBSERVATION
IF ALL OBJETIVE FUNCTION COEFICIENTS ARE INTEGER
AND ALL VARIABLES ARE INTEGER, THE BOUND
z* - a.b
IS EQUIVALENT TO THE BOUND
z* - a
AND THE BOUND
z* a.b
IS EQUIVALENT TO THE BOUND
z* a + 1
EXAMPLE (1/2)
MINIMIZE -5 x
1
-8 x
2
= z
SUBJECT TO x
1
+ x
2
6
5 x
1
+9 x
2
45
x
1
0 & INTEGER
x
2
0 & INTEGER
EXAMPLE (2/2)
L
0
x = 2.25
1
x 4
2
x 3
2
x = 3.75
2
z = - 41.25
z* - 41.25
L
1
x = 1.8
1
x = 4
2
z = - 41
L
2
x = 3
1
x = 3
2
z = - 39
x 2
1
L
3
L
4
x = 1
1
x = 4.44
2
z = - 40.55
INFEASIBLE
*
z* - 40.55
*
L
5
x = 1
1
x = 4
2
z = - 37
L
6
x = 0
1
x = 5
2
z = - 40
x 4
2
x 5
2
z* - 37
z* - 40
*
*
z* - 39
x 1
1
z* - 41
z* = - 40
x*
1
= 0
x*
2
= 5
MIXED INTEGER LINEAR
PROGRAMMING
VIA
BRANCH 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 3x
1
+2x
2
-10 = z
SUBJECT TO x
1
-2x
2
+x
3
= 5/2
2x
1
+x
2
+x
4
= 3/2
x
1
0
x
2
0
x
3
0
x
4
0
x
2
, x
3
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
1
x = 0 .5,
1
x = 0
2
z = -8.5
x = 2 ,
3
x = 0.5
4
L
2
x = 0 ,
1
x = 0.25
2
z = -9.5
x = 3 ,
3
x = 1.25
4
z* - 8.5
L
3
L
4
x = 0 ,
1
x = 1
2
z = -8
x = 4.5 ,
3
x = 0.5
4
INFEASIBLE
*
* *
z* -9.5
(z* -8)
z* = - 8.5
x*
1
= 0.5
x*
2
= 0
x*
3
= 2
x*
4
= 0.5
MIXED INTEGER LINEAR
PROGRAMMING
VIA
GOMORY CUTS
ANTONIO J. CONEJO
2002
GOMORY ALGORITHM (1/2)
CONSTRAINTS
Ax b =
| | B N M L
x
x
b
B
N

(
(
(
=
Bx Nx b
B N
+ =
x B Nx B b
B N
+ =
1 1
| | I B N
x
x
b
B
N
M L

(
(
=
1 1
B
| | I Y
x
x
b
B
N
M L

(
(
=
~
x Yx b
B N
+ =
~
GOMORY ALGORITHM (2/2)
SELECT x
Bi
NONINTEGRAL, THEN
(1)
BECAUSE x
Nj
ARE NON BASIC, IS NONINTEGRAL
EACH Y
ij
AND IS WRITTEN AS THE SUM OF AN INTEGER
AND A NONNEGATIVE FRACTION LESS THAN 1, SO
x Y x b
Bi ij Nj
i
+ =

~
Y I F
ij ij
= +
ij
~ ~ ~
b i f
i
= +
i i
~
b
i
~
b
i
GOMORY ALGORITHM (2/2)
SOME F
ij
MAY BE 0, BUT IS GUARANTEED TO BE
POSITIVE
EQUATION (1) BECOMES
OR
(2)
( )
x I F x i f
Bi ij Nj
i i
+ + = +

ij
~ ~
x I x i f F x
Bi Nj
i i
ij
Nj
+ =

ij
~ ~
~
f
i
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 f
ij Nj

i
0
F
ij
x
Nj
F x
ij Nj

~
f F x
ij 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
80x 120x Z MAXIMIZE
2 1
2
1
2 1
2 1
2 1

+
+
+ =
0 x , x , x , x
28 x 8x 7x
6 x x 2x TO SUBJECT
80x 120x Z MAXIMIZE
4 3 2 1
4 2 1
3 2 1
2 1

= + +
= + +
+ =
GOMORY CUTS
EXAMPLE 2/14
THE SOLUTION IS
AND
THE EQUATION ASSOCIATED TO x
2
IS USED TO GENERATE A
CUT:
391.11 z
*
=
.
9
2
9
7
9
1
9
8
Y ;
9
14
9
20
x
x
B
x b
~
*
*
2
*
1
*
|
|
|
|
|
.
|

\
|

=
|
|
|
|
.
|

\
|
=
|
|
.
|

\
|
= =
9
14
x
9
2
x
9
7
x
4 3 2
= +
GOMORY CUTS
EXAMPLE 3/14
THEREFORE:
AND THE CUT
OR
(1)
2
5
x x
4 3
+
9
5
f
~
9
5
1
9
14
f
~
i
~
b
~
9
2
f
9
2
0
9
2
f i y
9
2
f
9
2
1
9
7
f i y
2 2 2 2
22 22 22 22
21 21 21 21
= + = + =
= + = + =
= + = + =
9
5
x
9
2
x
9
2
0
x
x
9
2
9
2
9
5
4 3
4
3
+
|
|
.
|

\
|
|
.
|

\
|

GOMORY CUTS
EXAMPLE 4/14
THE CUT CAN BE EXPRESSED AS A FUNCTION OF x
1
AND x
2
TAKING INTO ACCOUNT THAT
THE CUT BECOMES
(1)
THE FEASIBILITY REGION IS REDUCED WITHOUT
ELIMINATING INTEGER SOLUTIONS
2
x x
2 1
+
2 1 4
2 1 3
8x 7x 28 x
x 2x 6 x
=
=
7
GOMORY CUTS
EXAMPLE 5/14
NEXT PROBLEM TO SOLVE IS
0 x , x , x , x , x
2
5
x x x
28 x 8x 7x
6 x x 2x TO SUBJECT
80x 120x Z MAXIMIZE
5 4 3 2 1
5 4 3
4 2 1
3 2 1
2 1

= +
= + +
= + +
+ =
THE GOMORY CUT HAS BEEN INCLUDED USING SLACK
VARIABLE x
5
GOMORY CUTS
EXAMPLE 6/14
THE SOLUTION IS
380 z
*
=
|
|
|
|
|
.
|

\
|

=
|
|
|
|
|
|
|
.
|

\
|
=
|
|
|
|
.
|

\
|
=
9
2
1
1 1
9
1
1
Y ;
1
2
5
2
5
x
x
x
B
x ;
*
*
3
*
2
*
1
*
GOMORY CUTS
EXAMPLE 7/14
x
1
IS USED TO GENERATE A NEW CUT. TAKING INTO
ACCOUNT THAT 2 5
*
x b
~
1 1
= =
2
5
x
9
1
x x
5 4 1
= +
THEREFORE
2
1
f
~
2
1
2
2
5
f
~
i
~
b
~
9
8
f
9
8
1
9
1
f i y
0 f 0 1 1 f i y
1 1 1 1
12 12 12 12
11 11 11 11
= + = + =
= + = + =
= + = + =
GOMORY CUTS
EXAMPLE 8/14
THE CUT BECOMES
OR
(2)
EXPRESSING THIS CUT AT A FUNCTION OF VARIABLES x
1
AND x
2
2
1
x
9
8
0
x
x
)
9
8
(0
2
1
5
5
4

|
|
.
|

\
|

16
9
x
5

16
55
x x
2 1
+
(2)
GOMORY CUTS
EXAMPLE 9/14
NEX PROBLEM TO BE SOLVED
0 x , x , x , x , x , x
9/16 x x
5/2 x x x
28 x 8x 7x
6 x x 2x TO SUBJET
80x 120x z MAXIMIZE
6 5 4 3 2 1
6 5
5 4 3
4 2 1
3 2 1
2 1

=
= +
= + +
= + +
+ =
GOMORY CUTS
EXAMPLE 10/14
THE SOLUTION IS
|
|
|
|
|
|
|
|
|
.
|

\
|

=
|
|
|
|
|
|
|
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
|
.
|

\
|
= =
9
2 1
1 0
1 1
9
1 1
Y ;
8
7
16
9
16
49
16
41
x
x
x
x
x 377.5; z
*
*
2
*
5
*
4
*
1
* *
B
GOMORY CUTS
EXAMPLE 11/14
USING x
2
TO GENERATE A NEW CUT AND TAKING INTO
ACCOUNT THAT
8 7/ b
~
2
=
8
7
x
9
2
x x
6 3 2
= +
THEN
8
7
f
~
8
7
0
8
7
f
~
i
~
b
~
9
2
f
9
2
0
9
2
f i y
0 f 0 1 1 f i y
4 4 4 4
42 42 42 42
41 41 41 41
= + = + =
= + = + =
= + = + =
GOMORY CUTS
EXAMPLE 12/14
THE CUT BECOMES
( )
8
7
x
9
2
0
x
x
2/9 0
8
7
6
6
3

|
|
.
|

\
|

OR
16
63
x
6
(3)
GOMORY CUTS
EXAMPLE 13/14
THE LAST CUT AS A FUNCTION OF THE ORIGINAL
VARIABLES BECOMES
3 x x
2 1
+
NEXT PROBLEM IS
0 x , x , x , x , x , x , x
63/16 x x
9/16 x x
5/2 x x x
28 x 8x 7x
6 x x 2x TO SUBJET
80x 120x z MAXIMIZE
7 6 5 4 3 2 1
7 6
6 5
5 4 3
4 2 1
3 2 1
2 1

=
=
= +
= + +
= + +
+ =
GOMORY CUTS
EXAMPLE 14/14
THE SOLUTION IS
|
|
|
|
|
|
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
|
|
.
|

\
|
= =
3
16
63
2
9
7
0
x
x
x
x
x
x 360; z
*
1
*
6
*
5
*
4
*
3
* *
B
THIS SOLUTION IS INTEGER AND THEREFORE IS THE
OPTIMAL SOLUTION OF THE ORIGINAL PROBLEM
360 z 0; x 3; x
* *
2
*
1
= = =
Antonio Conejo 43
MODELING
USING 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 b
a x b
T
T
1 1
2 2

{ } 0,1 y , y
1 y y
b y B x a
b y B x a
2 1
2 1
2 2 2
T
2
1 1 1
T
1

+


MODELING (2/6)
ALTERNATIVE CONSTRAINTS
AND
2 2
T
2 2
1 1
T
1 1
b B x a THAT SO B
b B x a THAT SO B


MODELING (3/6)
ALTERNATIVE CONSTRAINTS
POSIBILITIES:
c b a
1 0 0 y
0 1 0 y
2
1
a. Ambas restricciones han de cumplirse
b. Restriccin 1 desactivada, ha de cumplirse 2
c. Restriccin 2 desactivada, ha de cumplirse 1
MODELING (4/6)
DISCONTINUITY
THE FUNCTION
IS EXPRESSED AS
AND
f x
x
k cx x
( ) =
=
+ >

0 0
0
{ }
f x ky cx
x By
x
y
( )
,
= +

0
01
B SO THAT x B
MODELING (5/6)
DISCONTINUITY
1)
( )
0 x , B x
cx k x f
1 y

+ =
=
2)
( ) 0 ) x ( f
0 x , 0 x
cx x f
0 y
=


=
=
MODELING (6/6)
DISCONTINUITY
f(x)
c
k
x
MODELING (1/4)
PIECE-WISE LINEAR NONCONVEX FUNCTION
THE FUNCTION
WHERE
f x
x x a
a x a a x b
a b a x b b x c
( ) ( )
( ) ( )
=

+ <
+ + <



0
c b a 0
0
< < <
< < <
MODELING (2/4)
PIECE-WISE LINEAR NONCONVEX FUNCTION
IS EXPRESSED AS
{ }
f x x x x
x x x x
aw x a
w 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
c b a Case
1 0 0 w
2
1 1 0 w
1
) ( )
1 3 2 1
x x f ; 0 x , 0 x , a x 0 a = = =
) ( )
2 3 2 1
x a x f ; 0 x , a b x 0 , a x b + = = =
) ( ) ( )
3 3 2 1
x a b a x f , b c x 0 ; a b x , a x c + + = = =
MODELING (4/4)
PIECE-WISE LINEAR NONCONVEX FUNCTION

f(x)
x
1
x
2
x
3

x
a b c



MODELING (1/4)
PIECE-WISE LINEAR NONCONVEX FUNCTION WITH
INITIAL DISCONTINUITY
THE FUNCTION
WHERE

< + + +
< + +
< +
=
=
d x c ) c x ( ) b c ( ) a b ( f
c x b ) b x ( ) a b ( f
b x a ) a x ( f
0 x 0
) x ( f
0
0
0
d c b a 0
0
< < < <
< < <
MODELING (2/4)
PIECE-WISE LINEAR NONCONVEX FUNCTION WITH
INITIAL DISCONTINUITY
IS EXPRESSED AS
{ }
f x vf x x x
x va x x x
w b a x b a v
w c b x c b w
x d c w
v w
w 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
b
0
0
1 1 1 0
V
d c a Case
1 0 0 w
2
1 1 0 w
1
) ( ) 0 x f ; 0 x ; 0 x , 0 x a
3 2 1
= = = =
) ( )
1 0 3 2 1
x f x f ; 0 x , 0 x , a b x 0 b + = = =
) ( ) ( )
2 0 3 2 1
x a b f x f ; 0 x , b c x 0 , a b x c + + = = =
) ( ) ( ) ( )
3 0 3 2 1
x b c a b f x f , c d x 0 ; b c x , a b x d + + + = = =
MODELING (4/4)
PIECE-WISE LINEAR NONCONVEX FUNCTION WITH
INITIAL DISCONTINUITY


f(x)
x
1
x
2
x
3

x
a b
c



f
0

d
AVAILABLE SOFTWARE
LINDO
GAMS (CPLEX)

You might also like