ieor 44051 basic project scheduling. ieor 44052 project scheduling zjobs subject to precedence...

50
IEOR 4405 1 Basic Project Scheduling

Upload: houston-feathers

Post on 15-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

IEOR 4405 1

Basic Project Scheduling

IEOR 4405 2

Project Scheduling

Jobs subject to precedence constraintsJob on arc format (most common)

2 5

1 4

3

6

7 20

IEOR 4405 3

Overview

ProjectScheduling

No resourceConstraints

ResourceConstraints

Critical PathMethod (CPM)

Program Evaluationand Review Technique

(PERT)

Heuristic ResourceLeveling

Integer ProgrammingFormulations

IEOR 4405 4

Planning a Concert

Task Predecessors

A Plan concert -

B Advertise A

C Sell tickets A

D Hold concert B, C

IEOR 4405 5

Job on Arc Network

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

Need to introduce a dummy job.

AB

D

C

AB

DC

IEOR 4405 6

Changing a Tire

Task Predecessors

A Remove flat tire from wheel -

B Repair puncture on flat tire A

C Remove spare from trunk -

D Put spare on wheel A, C

E Place repaired tire in trunk B, C

IEOR 4405 7

Job on Arc Network

A B

C D

E

Is this correct?

IEOR 4405 8

Job on Arc Network

A B

C D

E

IEOR 4405 9

Job on Node Network

A B E

DC

No need for a dummy node

Less used traditionally

Recently more popular

IEOR 4405 10

Critical Path Method (CPM)

Think of unlimited machines in parallel… and n jobs with precedence

constraintsProcessing times pj as before

Objective to minimize makespan

IEOR 4405 11

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

makespanBackward procedure

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

IEOR 4405 12

Forward ProcedureStep 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’ = Sj

’ + pj.

Step 3:The optimal makespan isSTOP

,max '

all

'k

jkj CS

''2

'1max ,...,,max nCCCC

IEOR 4405 13

Backward ProcedureStep 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.

Step 3:Verify that STOP }.,...,min{0 ''''

1 nSS

,min ''

all

''k

jkj SC

IEOR 4405 14

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 15

Example

j 1 2 3 4 5 6 7 8 9 10 11 12 13 14

pj 5 6 9 12 7 12 10 6 10 9 7 8 7 5

1

2

3

6 9

5 8

4 7

11

10

12 14

13

IEOR 4405 16

Forward Procedure

1

2

3

6 9

5 8

4 7

11

10

12 14

13

5

5+6=11 11+12=23 23+10=33

5+9=14

14+12=26

14+7=21

26+10=36

26+6=32

36+7=4343+7=50

33+9=42

43+8=51 51+5=56

56max C

IEOR 4405 17

Backwards Procedure

1

2

3

6 9

5 8

4 7

11

10

12 14

13

14-9=5

24-12=12 34-10=24 43-9=34

26-12=14

36-10=26

35-10=26

43-7=36

43-7=36

51-8=4356-5=51

51-8=43

56-5=51 56

IEOR 4405 18

16 9 12 14

Critical Path

2

3

5 8

4 7

11

10

13

IEOR 4405 19

Variable Processing Times

IEOR 4405 20

Time/Cost Trade-Offs

Assumed the processing times were fixed

More money shorter processing time

Start with linear costsProcessing timeMarginal cost

maxminjjj ppp

minmaxjj

bj

aj

j pp

ccc

IEOR 4405 21

Linear Costs

Resources (money)

Processingtimemax

jp

ajc

bjc

minjp

IEOR 4405 22

Solution Methods

Objective: minimum cost of projectTime/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 23

Sources, Sinks, and Cuts

Source (dummy) node

Sink node

Minimal cut set

Cut set

IEOR 4405 24

Time/Cost Trade-Off Heuristic

Step 1:

Set all processing times at their maximum

Determine all critical paths with these processing times

Construct the graph Gcp of critical paths

Continue to Step 2

maxjj pp

IEOR 4405 25

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

If no such set STOP; otherwise continue to Step 3

cpjj Gjpp ,min

IEOR 4405 26

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 27

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 28

Example

j 11 2 3 4 5 6 7 8 9 10 11 12 13 14

Pj max 5 6 9 12 7 12 10 6 10 9 7 8 7 5

Pj min 3 5 7 9 5 9 8 3 7 5 6 5 5 2

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

cj 7 2 4 3 4 3 4 4 4 5 2 2 4 8

IEOR 4405 29

Maximum Processing Times

1

2

3

6 9

5 8

4 7

11

10

12 14

13

IEOR 4405 30

Maximum Processing Times

1

2

3

6 9

5 8

4 7

11

10

12 14

13

56max C

IEOR 4405 31

Critical Path Subgraph (Gcp)

1

3

6 9

11

12 14

C1=7

C3=4

C6=3 C9=4

C11=2

C12=2 C14=8

Minimum cutset with lowest cost

Cut sets: {1},{3},{6},{9}, {11},{12},{14}.

IEOR 4405 32

Critical Path Subgraph (Gcp)

1

3

6 9

11

12 14

C1=7

C3=4

C6=3 C9=4

C11=2

C12=2 C14=8

13

Cut sets: {1},{3},{6},{9}, {11},{12,13},{14}.

C13=4

Minimum cutset with lowest cost

IEOR 4405 33

Critical Path Subgraph (Gcp)

1

3

6 9

11

12 14

C1=7

C3=4

C6=3 C9=4

C11=2

C12=2 C14=8

13

Reduce processing timenext on job 6

C13=4

Processing time atminimum

IEOR 4405 34

Critical Path Subgraph (Gcp)

1

3

6 9

11

12 14

C1=7

C3=4

C6=3 C9=4

C11=2

C12=2 C14=8

13

C13=4

2 4 7

10

C2=2 C4=3 C7=4

C10=5

This set cannot be decreased, Choose 2 and 6 instead

IEOR 4405 35

Linear Programming Formulation

Objective is weighted avg. of makespan and cost

Here total cost is linear

Want to minimize

n

jjjj

bj ppccCc

1

maxmax0

n

jjj pcCc

1max0 .

IEOR 4405 36

Linear Program

Minimize

subject to

jpxC

jx

jpp

jpp

Akjxpx

jj

j

jj

jj

jjk

,0

,0

,

,

,0

max

min

max

n

jjj pcCc

1max0 .

IEOR 4405 37

PERT

IEOR 4405 38

Program Evaluation and Review Technique (PERT)Assumed processing times deterministicProcessing time of j random with mean j

and variance j2.

Want to determine the expected makespan

Assume we havepj

a = most optimistic processing time

pjm = most likely processing time (mode)

pjb = most pessimistic processing time

IEOR 4405 39

Expected Makespan

Estimate expected processing time

Apply CPM with expected processing times

Let Jcp be a critical pathEstimate expected makespan

6

4 bma

jjjj

ppp

cpJj

jCE )(ˆmax

IEOR 4405 40

Distribution of Makespan

Estimate the variance of processing times

and the variance of the makespan

Assume it is normally distributed

62

ab

jjj

pp

cpJj

jCV 2max )(ˆ

IEOR 4405 41

Discussion

Potential problems with PERT: Always underestimates project duration

other paths may delay the project

Non-critical paths ignoredcritical path probabilitycritical activity probability

Activities are not always independentsame raw material, weather conditions, etc.

Estimates by be inaccurate

IEOR 4405 42

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 43

Adding Resource Constraints

IEOR 4405 44

Resource Constraints

Renewable resourcesVery hard problemNo LPCan develop an IPLet job n+1 be dummy job (sink) and

otherwise.0

at time completed is job if1 tjx jt

IEOR 4405 45

Makespan

Let H bound the makespan, e.g.

Completion time of job j isand the makespan

n

jjpH

1

H

tjtxt

1

H

ttnxt

1,1

IEOR 4405 46

IP Formulation

MinimizeSubject to

H

ttnxt

1,1

1

0

1

1

1

11

H

tjt

j

n

j

pt

tujuij

H

tktk

H

tjt

x

RxR

txpxt

j

If j prec k

For each job

Each resourceused

IEOR 4405 47

In Practice

The IP cannot be solved (Almost) always resource constraintsHeuristic:

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 48

Optimality of Heuristic

Say n jobs need the same resourceCould otherwise all be done

simultaneouslyAdd (artificial) precedence constraintsHave n! possibilities

Will we select the optimal sequence?

2 3 4 5 6

2 6 24 120 720

IEOR 4405 49

Decision Support

Resource leveling Solve with no resource constraints Plot the resource use as a function of

time If infeasible suggest precedence

constraintsLongest jobMinimum slack

User adds constraints Start over

IEOR 4405 50

Example: One Resource

Uses resource

3

6 11

66

2

9

Time

10 20 30

Resource ProfileCapacity