Chapter 9: Interval Scheduling, Reservations, and Timetabling
Chapter 9: Interval Scheduling, Reservations, and Timetabling
Timetabling
June 7, 2019
Contents
1.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Iteration 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Job 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Job 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.4 Job 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.5 Job 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.6 Job 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Job 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Job 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Job 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7 Job 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Step 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
2.1.3 Step 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.4 Step 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.5 Step 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Assignment 11
• Let νit denote the number of activities that may be assigned to resource i during in-
terval [t − 1, t].
• This factor thus corresponds to a potential utilization of resource i in time slot t. The
higher this number is, the more flexible resource i is in this time slot.
• A second factor is the number of resources to which activity j can be assigned, i.e., the
number of resources in set Mj , which is denoted by | Mj |. The larger this number,
the more flexible activity j is.
• Define for activity j a priority index Ij that is a function of wj /pj and | Mj |, i.e.,
Ij = f (wj /pj , | Mj |)
• The activities can now be ordered in increasing order of their indices, i.e.,
I1 ≤ I2 ≤ ... ≤ In
• If the activity needs a resource over the period [t, t + pj ], then the selection of resource
i depends on a function of the factors νi,t+1 , ..., νi,t+pj i.e., g(νi,t+1 , ..., νi,t+pj ). For
example,
pj
!
X
g(νi,t+1 , ..., νi,t+pj ) = νi,t+l /pj
l=1
g(νi,t+1 , ..., νi,t+pj ) = max νi,t+1 , ..., νi,t+pj
Chapter 09 Page 2
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
Activities 1 2 3 4 5 6 7
pj 3 10 9 4 6 5 3
wj 2 3 3 2 1 2 3
rj 5 0 2 3 2 4 5
dj 12 10 20 15 18 19 14
Mj {1,3} {1,2} {1,2,3} {2,3} {1} {1} {1,2}
1.2 Example
1.2.1 Iteration 0
Activities 1 2 3 4 5 6 7
Ij 3 6.67 9 4 6 2.5 2
Chapter 09 Page 3
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Job 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
Job 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Job 3 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Job 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Job 5 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0
Job 6 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
Job 7 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
Resource 1 1 1 3 3 4 6 6 6 6 6 5 5 4 4 3 3 3 3 2 1
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Job 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Job 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Job 3 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Job 4 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
Job 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Job 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Job 7 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
Resource 2 1 1 2 3 3 4 4 4 4 4 3 3 3 3 2 1 1 1 1 1
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Job 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
Job 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Job 3 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Job 4 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
Job 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Job 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Job 7 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
Resource 3 0 0 1 2 2 3 3 3 3 3 3 3 2 2 2 1 1 1 1 1
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Resource 1 1 1 3 3 4 6 6 6 6 6 5 5 4 4 3 3 3 3 2 1
Resource 2 1 1 2 3 3 4 4 4 4 4 3 3 3 3 2 1 1 1 1 1
Resource 3 0 0 1 2 2 3 3 3 3 3 3 3 2 2 2 1 1 1 1 1
1.2.2 Job 7
Chapter 09 Page 4
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Res 1 1 1 3 3 4 6 6 6 6 6 5 5 4 4 3 3 3 3 2 1
Res 2 1 1 2 3 3 4 4 4 4 4 3 3 3 3 2 1 1 1 1 1
Res 3 0 0 1 2 2 3 3 3 3 3 3 3 2 2 2 1 1 1 1 1
J7, g1,t 0 0 0 0 0 6 6 6 5.7 5.3 4.7 4.3 0 0 0 0 0 0 0 0
J7, g2,t 0 0 0 0 0 4 4 4 3.7 3.3 3.0 3.0 0 0 0 0 0 0 0 0
1.2.3 Job 6
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Res 1 1 1 3 3 4 5 5 5 5 5 4 3 3 3 3 2 1
Res 2 1 1 2 3 3 3 3 3 3 3 2 2 1 1 1 1 1
Res 3 0 0 1 2 2 3 3 3 3 3 3 3 2 2 2 1 1 1 1 1
J6, g1,t 0 0 0 0 4.8 5 4.8 2.8
1.2.4 Job 1
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Res 1 1 1 3 3 4 4 4 4 4 4 3 1
Res 2 1 1 2 3 3 3 3 3 3 3 2 2 1 1 1 1 1
Res 3 0 0 1 2 2 3 3 3 3 3 3 3 2 2 2 1 1 1 1 1
J1, g1,t 4 4 4 3.7
J1, g3,t 3 3 3 3
1.2.5 Job 4
Chapter 09 Page 5
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Res 1 1 1 3 3 3 3 3 3 1
Res 2 1 1 2 3 3 3 3 3 3 3 2 2 1 1 1 1 1
Res 3 0 0 1 2 2 2 2 2 3 2 2 2 1 1 1 1 1
J4, g2,t 3 3 0 0 0 0 0 0 0 0
J4, g3,t 2 2
1.2.6 Job 5
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Res 1 1 1 3 3 3 3 3 3 1
Res 2 1 1 2 2 2 2 1 1 1 1 1 1 1
Res 3 0 0 1 1 2 1 1 1 1 1 1 1 1
J5, g1,t 3
Time 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Res 1 1 1 1
Res 2 1 1 2 2 2 2 1 1 1 1 1 1 1
Res 3 0 0 1 1 2 1 1 1 1 1 1 1 1
The algorithm above can be extended to the case where number of each time of machine is
greater than 1
The number of machine type 1 and 2 are 2
Calculate the index priority of each job
P
K mjk
k=1 Nk × pj
Ij =
wj
where:
mjk : be the number of resource type k which is required by job j
Chapter 09 Page 6
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
Job 1 2 3 4
wj 3 2 2 1
pj 2 3 1 1
rj 0 2 1 2
dj 5 7 6 6
Machine 1 2 0 1 1
Machine 2 1 2 0 1
(2/2 + 1/2) 2
I1 =
3
Job 1 2 3 4
Ij 1 1.5 0.25 1
Time 0 1 2 3 4 5 6
M1 2 3 4 4 4 2 0
M2 1 1 4 4 4 3 2
RemainM1 2 2 2 2 2 2 2
RemainM2 2 2 2 2 2 2 2
1.4 Job 3
Time 0 1 2 3 4 5 6
M1 2 3 4 4 4 2 0
M2 1 1 4 4 4 3 2
Remain M1 2 2 2 2 2 2 2
Remain M2 2 2 2 2 2 2 2
J3,M1 usage 1.5 2 2 2 1
Chapter 09 Page 7
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
1.5 Job 4
Time 0 1 2 3 4 5 6
M1 2 2 3 3 3 1 0
M2 1 1 4 4 4 3 2
RemainM1 2 2 2 2 2 1 2
RemainM2 2 2 2 2 2 2 2
J4, M1 usage 1.5 1.5 1.5 1
J4, M2 usage 2 2 2 2
Total 3.5 3.5 3.5 2.5
1.6 Job 1
Time 0 1 2 3 4 5 6
M1 2 2 2 2 2 0 0
M2 1 1 3 3 3 2 2
Remain M1 2 2 2 2 2 0 2
Remain M2 2 2 2 2 2 1 2
J1, M1 usage 2 2 2 2
J1, M2 usage 0.5 0.5 1.5 1.5
Total 2.5 2.5 3.5 3.5
1.7 Job 2
Time 0 1 2 3 4 5 6
M1 0 0 0 0 0 0 0
M2 0 2 2 2 2 2 2
RemainM1 0 0 2 2 2 0 2
RemainM2 1 1 2 2 2 1 2
J2, M2 Usage 2
Total 2
Chapter 09 Page 8
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
2.1 Example
Gary, Hamilton, Izak and Reha are university professors attending a national conference.
During this conference seven one hour meetings have to be scheduled in such a way that
each one of the four professors can be present at all the meetings he has to attend. The goal
is to schedule all seven meetings in a single afternoon between 2 p.m. and 6 p.m.
Activities 1 2 3 4 5 6 7
Gary, 1 0 0 1 1 0 1
Hamilton 1 1 1 0 0 0 0
Izak 0 0 1 0 1 1 0
Reha 1 0 1 1 1 0 0
Chapter 09 Page 9
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
In this table, if activity i and j have the common resource, then there is an arc between
node i and node j
The degree of each node is
Node 1 2 3 4 5 6 7
Degree 5 2 5 4 5 2 3
2.1.2 Step 1
Among node 1, 3, and 5 choose an arbitrarily node. For example, node 1 is selected.
Coloring node 1 with Color 1, then update the staturation and degree of other node
Node 1 (Color 1) 2 3 4 5 6 7
Saturation _ 1 1 1 1 0 1
Degree _ 1 4 3 4 2 2
2.1.3 Step 2
Chapter 09 Page 10
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
2.1.4 Step 3
Node 5 is selected.
Coloring node 5 with Color 3, then update the staturation and degree of other node
2.1.5 Step 4
Node 4 is selected.
Coloring node 4 with Color 4
Step 1 : Job 1 and 6 are scheduled at the same time. Time slot 1
Step 2 : Job 3 and 7 are scheduled at the same time. Time slot 2
Step 1 : Job 5 and 2 are scheduled at the same time. Time slot 3
Step 1 : Job 4 is scheduled at time slot 4
3 Assignment
Q1 Consider the following reservation problem with 10 activities and zero slack. There are
three identical resources in parallel.
(a) Find the schedule that maximizes the total amount of processing (i.e., the sum of the
Chapter 09 Page 11
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
Job 1 2 3 4 5 6 7 8 9 10
pj 6 1 4 2 3 3 6 2 1 3
rj 2 7 5 2 1 0 4 8 0 0
dj 8 8 9 4 4 3 10 10 1 3
Q2 Consider the following instance with eight activities and three resources.
(a) Find the schedule that maximizes the total weight using CPLEX)
Job 1 2 3 4 5 6 7 8
pj 4 3 10 9 4 6 5 3
wj 3 2 3 3 2 1 2 3
rj 8 5 0 2 3 2 4 5
dj 12 12 10 20 15 18 19 14
Mj {2} {1,3} {1,2} {1,2,3} {2,3} {1} {1} {1,2}
(b)Select appropriate index functions Ij and g(νi,t+1 , ..., νi,t+pj ) and apply proper Algorithm.
Q3 Consider a hotel with two types of rooms: suites and regular rooms. There are n1 suites
and n2 regular rooms. If someone wants a suite, then the hotel makes a profit of w1 dollars
per night. If someone wants a regular room, the hotel makes a profit of w2 dollars per night
(w2 < w1 ). If a person wants a regular room and all regular rooms are taken, then the hotel
can put that person up in a suite. However, the hotel makes then only w2 dollars per night.
Assume that the hotel cannot ask the guest to change rooms in the middle of his stay; once
assigned to a room or suite the guest will stay there until he leaves (i.e., preemptions are
not allowed). Given n1 = 1, n2 = 3 and w1 = 3, w2 = 2. The following data is given
(a) Develop the mathematical model and solve using CPLEX)
Guest 1 2 3 4 5 6 7 8 9
pj 4 3 10 9 4 6 5 3 4
type 1 1 2 2 2 2 2 2 2
rj 8 5 0 2 3 2 4 5 7
dj 12 12 10 15 15 15 13 14 13
Chapter 09 Page 12
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc
Job 1 2 3 4 5
pj 1 1 1 1 1
T ool1 1 0 0 1 0
T ool2 0 1 1 0 0
T ool3 1 1 0 1 1
T ool4 0 1 1 1 1
adjacent?
(b) Develop an algorithm for verifying whether the tool sets can be numbered in that way.
Q5 Consider the following timetabling problem with two types of personnel. The total
number of personnel of type 1 is W1 = 3 and the total number of personnel of type 2 is
W2 = 4. (a) Determine first which type of personnel is the most critical (the tightest).
Job 1 2 3 4 5 6 7
pj 1 1 1 1 1 1 1
W1j 2 0 1 2 1 2 1
W2j 2 4 0 2 3 1 2
(b) Use the information under (a) to develop a heuristic for this problem with two types of
personnel
Chapter 09 Page 13