© J. Christopher Beck 20051 Lecture 4: Project Planning 1.

18
© J. Christopher Beck 2005 1 Lecture 4: Project Planning 1
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of © J. Christopher Beck 20051 Lecture 4: Project Planning 1.

© J. Christopher Beck 2005 1

Lecture 4: Project Planning 1

© J. Christopher Beck 2005 2

Outline ROMAN

Project scheduling system Project representation

Job-on-node CPM – forward & backward PERT – CPM with estimates Some slides taken from Twente

University (see Pinedo CD)

© J. Christopher Beck 2005 3

ROMAN

How do you shut down a nuclear power plant for maintenance? Very carefully

10,000 to 40,000 jobs

$1,000,000 per day

© J. Christopher Beck 2005 4

Problem

Given a set of jobs, precedence constraints & resource requirements, assign resources to jobs for specific periods to: Minimize makespan Makes sure all jobs can be done safely

Jobs: refueling, repairs, plant modifications, maintenance

© J. Christopher Beck 2005 5

Approach

Decision tree for sophisticated safely analysis

Constraint programming based project scheduling system Builds on basic algorithms we will

study

© J. Christopher Beck 2005 6

Project Planning: Example 1

Rules for “job on node” networks: network contains no directed cycles event numbering network contains no redundant arcs

1 2 4

3 5

6

7

Job Duration Predecessors1 2 -2 3 13 1 14 4 25 2 36 1 4,57 3 4,5

© J. Christopher Beck 2005 7

Example 2

1

2 4

3 5

6

“job on node”-representation:

Job p(j) Predecessors1 2 -2 3 -3 1 -4 4 1,25 2 2,36 1 4

© J. Christopher Beck 2005 8

Example 2 Alternative

“job on node”-representation:

Job p(j) Predecessors1 2 -2 3 -3 1 -4 4 1,25 2 2,36 1 4

1

2

3

6

Makespan?Critical Path?

4

5

© J. Christopher Beck 2005 9

Critical Path Method

Find Critical path and makespan Two steps:

forward procedure – find min. makespan

backward procedure – find CP

© J. Christopher Beck 2005 10

Forward Procedure

STEP1: For each job that has no predecessors: STEP2: compute for each job j:

STEP3: 'j

jmax CmaxC j

'j

'j

'k

jk

'j

pSC

CmaxS

j'j

'j

pC

0S

1

2

3

64

5

S’1 = 0

S’2 = 0

S’3 = 0

C’1 = 2

C’2 = 3

C’3 = 1

S’4 = 3

S’5 = 3

S’6 = 7

C’6 = 8

C’5 = 5

C’4 = 7

C’max = 8

© J. Christopher Beck 2005 11

Backward Procedure

STEP1: For each job that has no successors: STEP2: compute for each job j:

STEP3: Verify that: ''jj

Smin0 j''j

''j

''kk allj

''j

pCS

SminC

jmax''j

max''j

pCS

CC

1

2

3

64

5

S’’1 = 1

S’’2 = 0

C’’1 = 3

C’’2 = 3

S’’3 = 7 S’’5 = 5

S’’6 = 7

C’’3 = 8

C’’6 = 8

C’’5 = 8

S’’4 = 3 C’’4 = 7

C’max = 8

© J. Christopher Beck 2005 12

Critical Path

If S’j = S’’j then activity is in the critical pathJob S’j S’’j

1 0 1

2 0 0

3 0 7

4 3 3

5 3 5

6 7 7

Job S’j S’’j

1 0 1

2 0 0

3 0 7

4 3 3

5 3 5

6 7 7

© J. Christopher Beck 2005 13

Example 4.2.3

Jobs 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 4

3

5

7

8

10

1214

13

6 9

11

1) Find makespan2) Find CP

© J. Christopher Beck 2005 14

What if …

Great, project scheduling is easy! In the real world, do we really

know the duration of a job? What if pj = (μj, δj)? (Believe it or not, that is current

research!)

© J. Christopher Beck 2005 15

Program Evaluation & Review Technique (PERT)

Idea: estimate pj and use CPM to estimate: Ê(Cmax) – expected makespan Ṽ(Cmax) – variance of makespan

© J. Christopher Beck 2005 16

PERT

Given pj = (μj , δj), let pj = μj

Use CPM to find critical path Estimate the expected makespan

Ê(Cmax) = Σ μj, j in critical path Ṽ(Cmax) = Σ (δj

2), j in critical path

This is a very crude approximation! See Example 4.3.2

Q: What if there are two CPs?

© J. Christopher Beck 2005 17

Estimating (μj , δj)

Assume you have 3 estimates of pj

Optimistic: paj

Most likely: pmj

Pessimistic: pbj

Estimates: μj = (pa

j+4pmj+pb

j) / 6 δj = (pb

j-paj) / 6

© J. Christopher Beck 2005 18

Example 4.3.1

Jobs 1 2 3 4 5 6 7 8 9 10

11

12

13

14

paj 4 4 8 1

06 1

24 5 1

07 6 6 7 2

pmj 5 6 8 1

17 1

211

6 10

8 7 8 7 5

pbj 6 8 1

418

8 12

12

7 10

15

8 10

7 812 4

3

5

7

8

1012

14

13

6 9

11

Find expected makespan andvariance

Hint: samegraph as 4.2.3