0% found this document useful (0 votes)
15 views

Ch 1_Integer Programming_15 01 24

The document provides an overview of Integer Programming, distinguishing between Integer Linear Programs (ILP) and Mixed Integer Linear Programs (MILP). It includes various problem sets and examples related to project selection, cargo loading, word selection, and song distribution, all requiring the formulation of ILP models. Additionally, it discusses methods like Branch and Bound and Cutting Plane for solving these integer programming problems.

Uploaded by

kogila8749
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Ch 1_Integer Programming_15 01 24

The document provides an overview of Integer Programming, distinguishing between Integer Linear Programs (ILP) and Mixed Integer Linear Programs (MILP). It includes various problem sets and examples related to project selection, cargo loading, word selection, and song distribution, all requiring the formulation of ILP models. Additionally, it discusses methods like Branch and Bound and Cutting Plane for solving these integer programming problems.

Uploaded by

kogila8749
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Operations Analysis II

IE 322

Integer Programming

Dr. Mehdi MRAD


Definition
• Integer Linear Programs are linear programs
with some or all the variables restricted to
integer or (discrete) values.
• If all the variables restricted to integer or
(discrete) values, then the Problem is an
integer linear program ILP.
• If some variables are integer or (discrete) (but
not all) then the problem is a Mixed Integer
Linear Program MILP.
Example 9-1-1 (Project Selection)
Five projects are being evaluated over a 3-year planning
table gives the expected returns for each project and the
associated yearly expenditures
expenditures (million $)/yr
projects 1 2 3 Returns (million $)
1 5 1 8 20
2 4 7 10 40
3 3 9 2 20
4 7 4 1 15
5 8 6 10 30
Available funds (million $) 25 25 25

Which project should be selected over the 3-year horizon?


Problem Set 9.1A

Problem (1)

Modify and solve the project selection problem


to account for the following additional
restrictions :
a. Project 5 must be selected if either project 1
or project 3 is selected.
b. Projects 2 and 3 are mutually exclusive.
Problem (2)
Five items are to be loaded in a vessel. The weight wj ,
volume vj and the value rj for item j are given in the following
table. The maximum allowable cargo weight and volume are
111 tons and 109 m3.
item j Unit weight wj Unit Volume vj Unit Value rj
1 5 1 4
2 8 8 7
3 3 6 6
4 2 5 5
5 7 4 4

Formulate the ILP model of the most valuable


cargo problem.
Problem 7
You have the following three-letter words : AET, FAR,
TVA, ADV, JOE, FIN, OSF and KEN. Suppose that we
assign a numeric values to the alphabet starting with A
= 1 and ending with Z = 26. Each word is sorted by
adding numeric codes of its three letters. For example,
AFT has a score of 1+6+20 =27. You are to select five of
the given eight words that yield the maximum total
score. Simultaneously, the selected five words must
satisfy the following conditions :
Sum of letter 1 scores < Sum of letter 2 scores < Sum of
Letter 3 scores

Formulate the Problem as an ILP and find the optimum


solution.
Problem 10

The Record-a-Song company has contracted with a


rising star to record eight songs. The duration of the
different songs are 8, 3, 5, 5, 9, 6, 7 and 12 minutes,
respectively. Record-a-Song uses a two-sided cassette
tape for the recording . Each side has a capacity of 30
minutes. The company would like to distribute the
songs between the two sides such that the length of
the songs on each side is about the same. Formulate
the problem as an ILP.
Problem 11

In Problem 10 suppose that the nature of the melodies


dictates that songs 3 and 4 cannot be recorded on the
same side. Formulate the problem as an ILP.
Would it be possible to use a 25-minutes tape (each
side) to record the eight songs?
If not use ILP to determine the minimum tape capacity
needed to make the recording.
Example 9-1-1 (Installing security telephones)
To promote on-campus safety, the security department is in process of installing
emergency telephones at selected locations. The department wants to install the
minimum number of telephones, provided that each of the main street of the cam
is served by at least one telephone. The following figure maps the principal streets
to K) on the campus.
It’s logical to place the telephones at street intersections so that each telephone w
serve at least two streets.
Give the ILP that minimize the number of telephones to install.

1 2 3
Street A Street B

Street K
Street I
Street G

4 Street C 5
F
eet

Street H

Street J
Str

Street E Street D
6 8
7
Problem Set 9.1B
Problem 1

ABC is an ILT trucking company that delivers loads to five customers . The following
list provides the customers associated with each route :
Route Customers served on the route
1 1,2,3,4
2 4,3,5
3 1,2,5
4 2,3,5
5 1,4,2
6 1,3,5

The following matrix lists distances among the truck terminal and the
customers
ABC 1 2 3 4 5
ABC 0 10 12 16 9 8
1 10 0 32 8 17 10
2 12 32 0 14 21 20
3 16 8 14 0 15 18
4 9 17 21 15 0 11
5 8 10 20 18 11 0

The objective is to determine the least distance needed to make the daily deliveries to
all five customers
Network Design Problems
Shortest path Problem

Consider the graph G (V, E) where V is the set of nodes and E is the set of arcs.
Each arc e  E has a distance ce . Formulate the shortest path problem from
node s to node t as a linear program.
(2,6)
2 (3,
1 7)
(1,5) (7,
3)
s (9,3)
t
3
(4, (10
2) ,6) )
,5)

4
(6,
(8

5
4
(5,9)

(e, ce ) = ( number of the arc, cost of the arc)


1 if arc e is considerd in the path
xe 0 otherwise
Objective function

Min  ce x e
eE

Constraints

x1  x4 1
x1  x2  x7 0
x2  x3 0
x7  x8  x9  x10 0
x4  x5  x8 0
x5  x10  x6 0
x3  x6  x9 1
xe  0,1 e  E
let   (i ) set of arcs leaving node i
let   (i ) set of arcs insident t o node i

the formulatio n is

Min  ce xe
eE

S .T
x e
1
e  ( s )

x  x e e
0 i  V /s, t
e  ( i ) e  ( i )

x e
1
e  ( t )

xe  0,1 e  E
Min cost flow

Consider the graph G (V, E) where V is the set of nodes and E is the set of arcs.
Each arc e  E has a capacity ce and a unit cost of flow αe . We need to send a
quantity of flow d=6 from node s to t with minimum total cost. Formulate the
problem as a linear program

(2,6,1)
2 (3,
1 7,2
2) )
(1,5, (7,
3,4
)
s (9,3,4)
t
3
(4, (10
,6,1
)

)
3

2,2 ) 4,2
,5,

) (6 ,
(8

5
4
(5,9,2)

(e, ce, αe ) = ( number of the arc, capacity of the arc, unit cost of flow on
the arc )
x e
the total amount of flow that passes on arc e

Objective function

Min 
eE
 x e e

Constraints
x1  x4 6
x1  x2  x7 0
x2  x3 0
x7  x8  x9  x10 0
x4  x5  x8 0
x5  x10  x6 0
x3  x6  x9 6
xe ce e  E
xe 0 e  E
let   (i ) set of arcs leaving node i
let   (i ) set of arcs going to node i

the formulatio n is

Min  x
eE
e e

S .T
x e
d
e  ( s )

x e
 x e
0 i  V /s, t 
e  ( i ) e  ( i )

x e
d
e  ( t )

xe ce e  E
xe 0 e  E
Min cost flow with fixed charge

Consider the graph G (V, E) where V is the set of nodes and E is the set of arcs.
Each arc e  E has a capacity ce ,a unit cost of flow αe and a fixed cost fe of
installing the arc e. We need to send a quantity of flow d=6 from node s to t
with minimum total cost. Formulate the problem as a linear program

(2,6,1,15)
2 (3,
0) 1 7,2
,2 ,1 (7, ,20
(1,5 3,4 )
,15
s ) (9,3,4,10)
t
3 (10
,6,1 0)
)

(4, 2
,25

2,2 ,25 2 ,
) ,4,
3

,10 (6
,5,

) 5
(8

4 0)
(5,9,2,1

(e, ce, αe , fe ) = ( number of the arc, capacity of the arc, unit cost of flow on the arc,
fixed cost of installing the arc )
x e
the total amount of flow that passes on arc e

1 if arc e is used
ye 0 otherwise

Objective function
Min 
eE
 x
e e

eE
f y
e e

Constraints
x1  x4 6
x1  x2  x7 0
x2  x3 0
x7  x8  x9  x10 0
x4  x5  x8 0
x5  x10  x6 0
x3  x6  x9 6
xe ce ye e  E
xe 0 e  E
ye  0,1e  E
let   (i ) set of arcs leaving node i
let   (i ) set of arcs going to node i

the formulatio n is

Min 
eE
 x  f y
e e
eE
e e

S .T
x e
d
e  ( s )

x e
 x e
0 i  V /s, t 
e  ( i ) e  ( i )

x e
d
e  ( t )

xe ce ye e  E
xe 0 e  E
ye  0,1e  E
B&B and Cutting Plane Methods
The two commonly used methods are:

1. Branch and bound method

2. Cutting Plane Method

Neither method is consistently effective; but


B&B is far more successful.
Branch-and-Bound (B&B)
• Developed in 1960 by A Land and G Doig

• Relax the integer restrictions in the problem


and solve it as a regular LP. Let’s call this LP1.

• Test if integer requirements are met. Else


branch to get sub-problems LP2 and LP3.
Branching
• If LP1 (in general LPi) fails to yield integer solution,
branch on any variable that fails to meet this
requirement.
Note: In mixed integer problems, a continuous variable is
never selected for branching.
Bounding / Fathoming
• Select LP1 (in general LPi) and solve. Three conditions
arise.

– Infeasible solution, declare fathomed (no further


investigation of LPi).

– Integer solution. If it is better than the current best


solution update the current best. Declare fathomed.

– Non-integer solution. If it is worse than the current best,


declare fathomed. Else branch again.
Best Bound
• In maximization, the solution to a sub-problem is
superior if it’s integer and raises the current lower
bound.

• In minimization, the solution to a sub-problem is


superior if it’s integer and lowers the current upper
bound.

• When all sub-problems have been fathomed, stop.


The current bound is the best bound.
Branch and Bound Example
Maximise z=5 x1+ 4x2
Subject to:
x1 + x2 ≤ 5
10x1 + 6x2≤45
x1, x2 ≥ 0 and integer
Remove the
Relax ILP integrality Get LP1
constraint

Maximise z=5 x1+ 4x2


Subject to:
x1 + x 2 ≤ 5
LP1
10x1 + 6x2≤45
x1, x2 ≥ 0
Branch on x1

LP3 LP2

Maximise z=5 x1+ 4x2 Maximise z=5 x1+ 4x2


Subject to: Subject to:
x1 + x 2 ≤ 5 x1 + x 2 ≤ 5
10x1 + 6x2≤45 10x1 + 6x2≤45
x1 ≤3 x1 ≥ 4
x1, x2 ≥ 0 x1, x2 ≥ 0

You might also like