Lec7.ppt

Lecture 7:
From Project Planning
to Scheduling
© J. Christopher Beck 2008
1
Outline




Reasoning about Resources
Job Shop Scheduling
Resource Constrained Project
Scheduling
Alternative Resources



Parallel Machines
Introduction to Solution Techniques
LEKIN Demo
© J. Christopher Beck 2008
2
Readings

P Ch 2.2, 5.1
© J. Christopher Beck 2008
3
Resource Capacity

Most of the project
planning problems we
looked at are easy


e.g., finding makespan by CPM,
linear time/cost trade-off
What makes scheduling hard is
resource capacities
© J. Christopher Beck 2008
4
Resource Capacity
Examples




Machine can only do one
thing at a time
Call-centre staff member can only talk
to one caller at a time
Classroom can only seat 50 students
Planes can only take-off
once per minute
© J. Christopher Beck 2008
5
Job Shop Scheduling (JSP)
Operation/Task/
Activity
Each operation
requires one unit
of one resource
Each resource
has a capacity
of 1
© J. Christopher Beck 2008
Job
Precedence Constraint
6
Job Shop Scheduling (JSP)
Need to decide
the order of each
operation on
each resource
JSP is Hard
makespan
© J. Christopher Beck 2008
7
Job Shop Scheduling (JSP)

Can you schedule this?

min. Makespan?
Jobs
Processing times
0
J0R0[15]  J0R1[50]  J0R2[60]
1
J1R1[50]  J1R0[50]  J1R2[15]
2
J2R0[30]  J2R1[15]  J2R2[20]
© J. Christopher Beck 2008
8
Beyond the JSP #1



Resource have a capacity ≥ 1
Operations can require more than 1 unit
of a resource
Resource Constraint Project Scheduling
Problem (RCPSP)
RCPSP is a
generalization
of JSP
© J. Christopher Beck 2008
9
RCPSP Example
(1 Machine)
Is this the
minimum
makespan?
Capacity of R = 6
Job p(j) Predecessors S' C'' R(1,j)
1 2
0 3
3
2 3
0 3
1
3 1
0 6
2
4 4
1,2
3 7
2
5 2
2,3
3 8
3
6 1
4
7 8
3
Resource requirements
6
5
4
3
2
1
3
2
5
1
1 2 3 4
© J. Christopher Beck 2008
4
5 6
6
7 8
10
What if the Capacity
of R = 4?
Capacity of R = 4
Job p(j) Pred. S'
1 2
0
2 3
0
3 1
0
4 4 1,2
3
5 2 2,3
3
6 1
4
7
C'' R(1,j) 6
3
3
5
3
1
4
6
2
3
7
2
8
3
2
8
3
1
2
1
3
1 2 3 4
© J. Christopher Beck 2008
4
5 6
5
7 8
6
9 10
11
RCPSP Example
Job p(j) P(j) S' C'' R(1,j) R(2,j)
1 2
- 0 3
3
2
2 3
- 0 3
1
1
3 1
- 0 6
2
1
4 4 1,2 3 7
2
1
5 2 2,3 3 8
3
2
6 1
4 7 8
3
1
A good question
for a test or exam
R1  4
R2  2
Each operation requires both resources!
© J. Christopher Beck 2008
12
Scheduling Game

http://www.otsys.com/onTimeGame.htm
© J. Christopher Beck 2008
13
Beyond the JSP #2


What if each operation has
a choice of resources?
Identical resources: “parallel machines”


an operation can go on any resource
Non-identical
an operation might have different
processing time depending on resource
 only a subset of resources are possible for
an operation
14
© J. Christopher Beck 2008

From a previous midterm
Parallel Machines




Consider the 6 parallel machine
scheduling problem in the table
Release dates on all jobs are 0
There are no precedence constraints
Find the minimum makespan
Jobs 1 2 3 4 5 6 7 8 9 10 11 12 13
pj
6 6 6 7 7 8 8 9 9 10 10 11 11
© J. Christopher Beck 2008
15
Beyond the JSP #3


Optimize something other than
makespan
Minimize maximum lateness Due date for



Weight for
each job
each job
Min Lmax
Lmax = max(C1 – d1, … Cn – dn)
Minimize total weighted tardiness


Min ΣwjTj
Tj = max(Cj – dj, 0)
© J. Christopher Beck 2008
16
Next 10 Lectures


Solving scheduling problems
Heuristics



Dispatch Rules
Shifting Bottleneck
Search

Tree Search


constraint programming, integer programming
Local Search
© J. Christopher Beck 2008
17
LEKIN Demo
© J. Christopher Beck 2008
18