0% found this document useful (0 votes)
139 views50 pages

Project Scheduling Techniques Overview

This document provides an overview of basic project scheduling techniques. It discusses job-on-arc and job-on-node networks to represent precedence constraints between tasks. It also covers the critical path method (CPM) for determining the minimum project duration without resource constraints. The document introduces the program evaluation and review technique (PERT) which accounts for uncertainty in task durations. It describes adding resource constraints and integer programming formulations to schedule tasks under limited renewable resources. Finally, it discusses heuristic approaches used in practice and decision support for resource leveling.

Uploaded by

movila
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
139 views50 pages

Project Scheduling Techniques Overview

This document provides an overview of basic project scheduling techniques. It discusses job-on-arc and job-on-node networks to represent precedence constraints between tasks. It also covers the critical path method (CPM) for determining the minimum project duration without resource constraints. The document introduces the program evaluation and review technique (PERT) which accounts for uncertainty in task durations. It describes adding resource constraints and integer programming formulations to schedule tasks under limited renewable resources. Finally, it discusses heuristic approaches used in practice and decision support for resource leveling.

Uploaded by

movila
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

Basic Project Scheduling

IEOR 4405

Project Scheduling
Jobs subject to precedence constraints
Job on arc format (most common)
2
1

5
4

6
7

IEOR 4405

Overview
No resource
Constraints
Project
Scheduling
Resource
Constraints

Critical Path
Method (CPM)
Program Evaluation
and Review Technique
(PERT)

Heuristic Resource
Leveling
Integer Programming
Formulations

IEOR 4405

Planning a Concert
Task

Predecessors

Plan concert

Advertise

Sell tickets

Hold concert

B, C

IEOR 4405

Job on Arc Network


Not allowed: no
two jobs can have
the same starting
and ending node!

C
B

Need to introduce
a dummy job.

D
C

IEOR 4405

Changing a Tire
Task

Predecessors

Remove flat tire from wheel

Repair puncture on flat tire

Remove spare from trunk

Put spare on wheel

A, C

Place repaired tire in trunk

B, C

IEOR 4405

Job on Arc Network

A
C

B
D

Is this correct?

IEOR 4405

Job on Arc Network

B
E

IEOR 4405

Job on Node Network


No need for a
dummy node
Less used
traditionally
Recently more
popular

IEOR 4405

Critical Path Method (CPM)


Think of unlimited machines in parallel
and n jobs with precedence
constraints
Processing times pj as before

Objective to minimize makespan


IEOR 4405

10

Critical Path Method


Forward procedure:
Starting at time zero, calculate the
earliest each job can be started
The completion time of the last job is the
makespan

Backward procedure
Starting at time equal to the makespan,
calculate the latest each job can be
started so that this makespan is realized
IEOR 4405

11

Forward Procedure
Step 1:
Set at time t = 0 for all jobs j with no predecessors,
Sj=0 and set Cj = pj.
Step 2:
Compute for each job j

Cj = S j + p j .

S 'j max Ck' ,


all k j

Step 3:
The optimal makespan is
Cmax
STOP
IEOR 4405

maxC1' , C2' ,..., Cn'


12

Backward Procedure
Step 1:
Set at time t = Cmax for all jobs j with no successors,
Cj= Cmax and set Sj = Cmax - pj.
Step 2:
Compute for each job j

Sj = Cj - pj.

C 'j' min S k'' ,


k all j

Step 3:
Verify that
''
''
0

min{
S
,...,
S
STOP
1
n }.
IEOR 4405

13

Comments
The forward procedure gives the earliest
possible starting time for each job
The backwards procedures gives the
latest possible starting time for each job
If these are equal the job is a critical
job.
If these are different the job is a slack
job, and the difference is the float.
A critical path is a chain of jobs
starting at time 0 and ending at Cmax.
IEOR 4405

14

Example
j

pj

12 7

12 10 6

10 11 12 13 14

10 9

7
10

12
11

14

13

8
IEOR 4405

15

Forward Procedure
Cmax 56
5+6=11 11+12=23
2
4
5
1

23+10=33
7
33+9=42

14+12=26 26+10=36
6
9

5+9=14

10

43+8=51 51+5=56
12

11

5
14+7=21

36+7=43
8
26+6=32
IEOR 4405

13

14

43+7=50

16

Backwards Procedure
24-12=12 34-10=24
2
4
14-9=5
1

36-10=26

26-12=14

43-9=34
7
51-8=43

43-7=36
6
9

10

12
11

5
35-10=26

51-8=43
8
43-7=36
IEOR 4405

56-5=51
13

56
14

56-5=51

17

Critical Path
2

7
10

12
11

14

13

IEOR 4405

18

Variable Processing Times

IEOR 4405

19

Time/Cost Trade-Offs
Assumed the processing times were
fixed
More money shorter processing
time
max
p min

p
j
j
j
Start with linear costs
Processing time c a c b
j
j
Marginal costc j p max p min
j
j
IEOR 4405

20

Linear Costs
Resources (money)

a
j

c bj

p min
j

p max
j
IEOR 4405

Processing
time

21

Solution Methods
Objective: minimum cost of project
Time/Cost Trade-Off Heuristic
Good schedules
Works also for non-linear costs

Linear programming formulation


Optimal schedules
Non-linear version not easily solved
IEOR 4405

22

Sources, Sinks, and Cuts


Cut set

Sink node

Source (dummy) node

IEOR 4405

Minimal cut set

23

Time/Cost Trade-Off Heuristic


Step 1:
Set all processing times at their maximum

pj p

max
j

Determine all critical paths with these processing times


Construct the graph Gcp of critical paths
Continue to Step 2

IEOR 4405

24

Time/Cost Trade-Off Heuristic


Step 2:
Determine all minimum cut sets in Gcp
Consider those sets where all processing times are larger
than their minimum

p j p min
j , j Gcp

If no such set STOP; otherwise continue to Step 3

IEOR 4405

25

Time/Cost Trade-Off Heuristic


Step 3:
For each minimum cut set:
Compute the cost of reducing all processing times by one
time unit.
Take the minimum cut set with the lowest cost
If this is less than the overhead per time unit go on to Step
4; otherwise STOP

IEOR 4405

26

Time/Cost Trade-Off Heuristic


Step 4:
Reduce all processing times in the minimum cut set by
one time units
Determine the new set of critical paths
Revise graph Gcp and go back to Step 2

IEOR 4405

27

Example
11

Pj max

12 7

12 10 6

10 9

Pj min

cja

20

25 20 15 30 40 35 25 30 20 25 35 20 10

cj

IEOR 4405

10 11 12 13 14

28

Maximum Processing Times


2

7
10

12
11

14

13

IEOR 4405

29

Maximum Processing Times


Cmax 56
2

7
10

12
11

14

13

IEOR 4405

30

Critical Path Subgraph (Gcp)


C1=7
C6=3
6

C12=2

C9=4
9

3
C3=4

12

C14=8
14

11

C11=2

Cut sets: {1},{3},{6},{9},


{11},{12},{14}.

IEOR 4405

Minimum cut
set with lowest cost

31

Critical Path Subgraph (Gcp)


C1=7
C6=3
6

C12=2

C9=4
9

3
C3=4

12
11

IEOR 4405

14

13

C11=2

Cut sets: {1},{3},{6},{9},


{11},{12,13},{14}.

C14=8

C13=4

Minimum cut
set with lowest cost

32

Critical Path Subgraph (Gcp)


C1=7
C6=3
6

C12=2

C9=4
9

3
C3=4

12
11

IEOR 4405

14

13

C11=2

Reduce processing time


next on job 6

C14=8

C13=4

Processing time at
minimum

33

Critical Path Subgraph (Gcp)


C2=2
2

C4=3
4

C7=4
7

C1=7
C6=3
6

C9=4
9

3
C3=4

C10=5
10
C12=2
12
11

C11=2

C14=8
14

13

C13=4
This set cannot be decreased,
Choose 2 and 6 instead

IEOR 4405

34

Linear Programming
Formulation
Objective is weighted avg. of makespan and
cost
n
Here total cost is linear
c0Cmax c bj c j p max
pj
j
j 1

n
Want to minimize
c0Cmax c j p j .
j 1

IEOR 4405

35

Linear Program
Minimize

subject to

c0Cmax c j p j .
j 1

xk p j x j 0, j k A
p j p max
, j
j
pj p

min
j

, j

x j 0, j
Cmax x j p j 0, j
IEOR 4405

36

PERT

IEOR 4405

37

Program Evaluation and


Review Technique (PERT)
Assumed processing times deterministic
Processing time of j random with mean
j and variance j2.
Want to determine the expected
makespan
Assume we have
pja = most optimistic processing time
pjm = most likely processing time (mode)
pjb = most pessimistic processing time
IEOR 4405

38

Expected Makespan
Estimate expected processing time
p aj 4 p mj p bj
j
6
Apply CPM with expected processing
times
Let Jcp be a critical path
Estimate expected makespan
E (Cmax ) j
jJ cp

IEOR 4405

39

Distribution of Makespan
Estimate the variance of processing
b
a
p

p
times
j
2j j
6
and the variance of the makespan
V (Cmax ) 2j
jJ cp

Assume it is normally distributed


IEOR 4405

40

Discussion
Potential problems with PERT:
Always underestimates project duration
other paths may delay the project

Non-critical paths ignored


critical path probability
critical activity probability

Activities are not always independent


same raw material, weather conditions, etc.

Estimates by be inaccurate
IEOR 4405

41

Discussion
No resource constraints:
Critical Path Method (CPM)
Simple deterministic
Time/cost trade-offs
Linear cost (heuristic or exact)
Non-linear cost (heuristic)

Accounting for randomness (PERT)

IEOR 4405

42

Adding Resource
Constraints

IEOR 4405

43

Resource Constraints

Renewable resources
Very hard problem
No LP
Can develop an IP
Let job n+1 be dummy job (sink) and
1 if job j is completed at time t
x jt
0 otherwise.
IEOR 4405

44

Makespan
Let H bound the makespan, e.g.
n

H pj
j 1

Completion time of job


j is
t x jt
t 1
and the makespan
H

t x
t 1

n 1,t

IEOR 4405

45

IP Formulation
Minimize
Subject to H

t x
t 1

t x
t 1

n 1,t

jt

pk txkt 0

t 1

t p j 1


j 1

If j prec k

Rij

x
u t

ju

Rj

x
t 1

IEOR 4405

jt

Each resource
used
For each job
46

In Practice
The IP cannot be solved
(Almost) always resource constraints
Heuristic:
Resource constraint Precedence constraint

Example: pouring foundation and


sidewalk
both require same cement mixer
delaying foundation delays building
precedence constraint: pour foundation first

not a logical constraint


IEOR 4405

47

Optimality of Heuristic
Say n jobs need the same resource
Could otherwise all be done
simultaneously
Add (artificial) precedence constraints
3
4
5
6
Have2n! possibilities
2
6
24
120
720

Will we select the optimal sequence?


IEOR 4405

48

Decision Support
Resource leveling
Solve with no resource constraints
Plot the resource use as a function of
time
If infeasible suggest precedence
constraints
Longest job
Minimum slack

User adds constraints


Start over
IEOR 4405

49

Example: One Resource


2

Uses resource

6
6

11

Resource Profile

Capacity

Time
10

20
IEOR 4405

30
50

You might also like