56
1 Contents College 4 • §4.1, §4.2, §4.4, §4.6 • Extra literature on resource constrained project scheduling (will be handed out)

CONSTRUCTION FIDIC DELAY ANASYS

Embed Size (px)

DESCRIPTION

CONSTRUCTION FIDIC DELAY ANASYS

Citation preview

Page 1: CONSTRUCTION FIDIC DELAY ANASYS

1

Contents College 4• §4.1, §4.2, §4.4, §4.6

• Extra literature on resource constrained project scheduling (will be handed out)

Page 2: CONSTRUCTION FIDIC DELAY ANASYS

2

Project Scheduling

• Project definition:

A complex and large scale one-of-a-kind product or service, made up by a number of component activities (jobs), that entails a considerable financial effort and must be time-phased, i.e. scheduled, according to specified precedence and resource requirements (Hax and Candea, 1984)

Page 3: CONSTRUCTION FIDIC DELAY ANASYS

3

Project properties• Project goals: quality, time, costs,

customer satisfaction• Network of activities/jobs• Limited resource capacity• Project life-cycle:

– Order acceptance– Engineering and process planning– Material and resource scheduling– Project execution– Evaluation & service

Page 4: CONSTRUCTION FIDIC DELAY ANASYS

4

Project examples

• Construction• Production• Management• Research• Maintenance• Installation, implementation

Page 5: CONSTRUCTION FIDIC DELAY ANASYS

5

Hierarchical planningStrategic Strategic

resource planning

Rough-cut capacity planning

Project scheduling

Detailed scheduling

Tactical

Tactical/ operational

Operational

Rough-cut process planning

Engineering & process planning

Page 6: CONSTRUCTION FIDIC DELAY ANASYS

6

Project breakdown structure

Project

Main Activity

ActivityActivityProject

Scheduling

RCCPMain Activity

ActivityActivity

Main Activity

ActivityActivity

Page 7: CONSTRUCTION FIDIC DELAY ANASYS

7

Project scheduling topics• Project representation (precedence

graph)• Critical Path Method (CPM)• Resource-constrained project

scheduling– standard problem– methods– extensions

Page 8: CONSTRUCTION FIDIC DELAY ANASYS

8

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

Project representation / precedence graph

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

“job on node”-representation:

Page 9: CONSTRUCTION FIDIC DELAY ANASYS

9

Project representation example 1

1 2 4

1 2

3 5

6

7

4 6

35

7

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

“job on node”-representation:

“job on arc”-representatio

n:

Page 10: CONSTRUCTION FIDIC DELAY ANASYS

10

Project representation example 2

1

2 4

3 5

6

“job on node”-representation:

“job on arc”-representation:

12

4 6

3

5

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

Page 11: CONSTRUCTION FIDIC DELAY ANASYS

11

Project scheduling• Without resource constraints relatively

easy• With resource constraints very complex:

when jobs share resources with limited availability, these jobs cannot be processed simultaneously draw disjunctive arcs

Example 4.6.1:Jobs 1 2 3 4 5p(j) 8 4 6 4 4

R(1,j) 2 1 3 1 2R(2,j) 3 0 4 0 3

Resource R1 R2Available 4 8

1 4

2 5

3

Page 12: CONSTRUCTION FIDIC DELAY ANASYS

12

Project scheduling without resource constraints:

critical path method (CPM)• Critical job: job without slack

• Critical path = chain of critical jobs

– Forward procedure– Backward procedure

'jj

''jj

''j

'j

'j

SpCslackj job of time completion possiblelatest C

j job of time completion possibleearliest Cj job of time starting possibleearliest S

Page 13: CONSTRUCTION FIDIC DELAY ANASYS

13

Project scheduling without resource constraints:

critical path method (CPM)• Critical path method initialization:

– determine earliest starting time for all jobs– determine latest completion time for all

jobs– determine which jobs have no slack

• 2 CPM solution methods:– Forward procedure– Backward procedure

Page 14: CONSTRUCTION FIDIC DELAY ANASYS

14

• Forward CPM procedure

• Backward CPM procedure

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

STEP3:

Critical path method

'jjmax CmaxC j

'j

'j

'kjk

'j

pSC

CmaxS

j'j

'j

pC0S

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

pCSSminC

jmax''j

max''j

pCSCC

Page 15: CONSTRUCTION FIDIC DELAY ANASYS

15

Critical path method example

1

2 4

3 5

6 TS

2

3

1

4

2

1 00

Source(project start)

Sink(project start)

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

Page 16: CONSTRUCTION FIDIC DELAY ANASYS

16

Critical path method example(cont.)

1

2 4

3 5

6 TS

2

3

1

4

2

1

jduration

S’ C’’

Legend:0

0

0

3

3

70

0

8

0

87

8

3

3

6

0 8

Critical job:C’’ = C’ = S’+p

Job p(j) Predecessors S' C''1 2 - 0 32 3 - 0 33 1 - 0 64 4 1,2 3 75 2 2,3 3 86 1 4 7 8

Page 17: CONSTRUCTION FIDIC DELAY ANASYS

17

• Suppose jobs require a resource:

resource requirements

Resource constraints

321 4 5 6 7 8

321

456

1

2

3

4

5

6

Job p(j) Predecessors S' C'' R(1,j)1 2 - 0 3 32 3 - 0 3 13 1 - 0 6 24 4 1,2 3 7 25 2 2,3 3 8 36 1 4 7 8 3

Page 18: CONSTRUCTION FIDIC DELAY ANASYS

18

Resource constraints (cont.)• Suppose :

Cmax increases by 2321 4 5 6 7 8

321

456

4R1

9 10

1

2

3 4 5 6

Page 19: CONSTRUCTION FIDIC DELAY ANASYS

19

Resource-Constrained Project Scheduling Problem (RCPSP)

• n jobs j=1,…,n• N resources i=1,…,N• Rk: availability of resource k• pj: duration of job j• Rkj:requirement of resource k for job j• Pj: (immediate) predecessors of job j

Page 20: CONSTRUCTION FIDIC DELAY ANASYS

20

RCPSP• Goal: minimize makespan:• Restrictions:

– no job may start before T=0– precedence relations– finite resource capacity

'jjmax CmaxC

Page 21: CONSTRUCTION FIDIC DELAY ANASYS

21

RCPSP exampl

e

4R1

0 2 4 6 8 10

23 4 562

4

2R2 0 2 4 6 8 10

1 23

4 562

12

12

Job p(j) P(j) S' C'' R(1,j) R(2,j)1 2 - 0 3 3 22 3 - 0 3 1 13 1 - 0 6 2 14 4 1,2 3 7 2 15 2 2,3 3 8 3 26 1 4 7 8 3 1

1

Page 22: CONSTRUCTION FIDIC DELAY ANASYS

22

Disjunctive arcsSuppose R1=4. These

jobscannot be performedsimultaneously:• job 1 & 3• job 3 & 6• job 4 & 5• job 5 & 6

1

2 4

3 5

6

disjunctive arcs

Job p(j) Predecessors S' C'' R(1,j)1 2 - 0 3 32 3 - 0 3 13 1 - 0 6 24 4 1,2 3 7 25 2 2,3 3 8 36 1 4 7 8 3

Page 23: CONSTRUCTION FIDIC DELAY ANASYS

23

Priority-rule-based scheduling• Generation scheme

– serial– parallel

• Priority rule– latest finish time– minimum slack

• Sampling procedure

Page 24: CONSTRUCTION FIDIC DELAY ANASYS

24

Serial scheduling methodEach stage represents a job n stages• completed set of jobs: scheduled jobs• decision set: jobs of which all predecessors

have been scheduled• remaining set: other jobsprocedure:1. Start with an empty schedule2. Select job from decision set with highest

priority, and schedule it as early as possible3. Repeat step 2 if the decision set is not

empty

Page 25: CONSTRUCTION FIDIC DELAY ANASYS

25

Job p(j) P(j) R(1,j) v(j) (priority)1 2 - 1 22 3 - 1 13 3 1 2 2

1

2

3

Decision set

2R1 0 2 4 6 8

2

Serial scheduling method example (1)

Page 26: CONSTRUCTION FIDIC DELAY ANASYS

26

Job p(j) P(j) R(1,j) v(j) (priority)1 2 - 1 22 3 - 1 13 3 1 2 2

Decision set

1

2

32R1

0 2 4 6 8

2

1

Serial scheduling method example (2)

Page 27: CONSTRUCTION FIDIC DELAY ANASYS

27

Job p(j) P(j) R(1,j) v(j) (priority)1 2 - 1 22 3 - 1 13 3 1 2 2

Decision set

1

2

32R1

0 2 4 6 8

2

1 3

Serial scheduling method example (3)

Page 28: CONSTRUCTION FIDIC DELAY ANASYS

28

2R1 0 2 4 6 8

2

Serial scheduling method example (4)

1 3 21

2

3

Job p(j) P(j) R(1,j) v(j) (priority)1 2 - 1 22 3 - 1 13 3 1 2 2

Page 29: CONSTRUCTION FIDIC DELAY ANASYS

29

Parallel scheduling method• At most n stages• Each stage n represents:1. partial schedule2. schedule time tn

3. four disjoint sets of jobs:– completed set: scheduled jobs, completed at tn

– active set: scheduled jobs, not completed yet– decision set: all unscheduled jobs, that could be

scheduled– remaining set: all unscheduled jobs, that cannot be

scheduled

Page 30: CONSTRUCTION FIDIC DELAY ANASYS

30

Parallel scheduling methodprocedure:1. Start with an empty schedule. 2. Let T be the first time in which an

unscheduled job may start. Let D be the collection of jobs that may be started on T, and of which all predecessors are scheduled

3. Select the job from D with the highest priority, and schedule it from time T

4. Repeat step 2 if there remain jobs to be scheduled

Page 31: CONSTRUCTION FIDIC DELAY ANASYS

31

Parallel scheduling method example (1)

2R1 0 2 4 6 8

2 1

2

3

Job p(j) P(j) R(1,j) v(j) (priority)1 2 - 1 22 3 - 1 13 3 1 2 2

Decision set

0T

Page 32: CONSTRUCTION FIDIC DELAY ANASYS

32

Parallel scheduling method example (2)

2R1 0 2 4 6 8

2

11

2

3

Job p(j) P(j) R(1,j) v(j) (priority)1 2 - 1 22 3 - 1 13 3 1 2 2

Decision set

0T

Page 33: CONSTRUCTION FIDIC DELAY ANASYS

33

Parallel scheduling method example (3)

2R1 0 2 4 6 8

2

12 1

2

3

Job p(j) P(j) R(1,j) v(j) (priority)1 2 - 1 22 3 - 1 13 3 1 2 2

Decision set

3T

Page 34: CONSTRUCTION FIDIC DELAY ANASYS

34

Parallel scheduling method example (4)

2R1 0 2 4 6 8

2

1 31

2

3

Job p(j) P(j) R(1,j) v(j) (priority)1 2 - 1 22 3 - 1 13 3 1 2 2

2

Page 35: CONSTRUCTION FIDIC DELAY ANASYS

35

Priority-rule-based scheduling• Generation scheme

– serial– parallel

• Priority rule– latest finish time– minimum slack

• Sampling procedure

Page 36: CONSTRUCTION FIDIC DELAY ANASYS

36

Priority-rule-based scheduling: priority rules

• Latest finish time (LFT) priority rule:

• Minimum slack (MS) priority rule

current earliest starting time

''jj Cv

)SpC(v *'jj

''jj

Page 37: CONSTRUCTION FIDIC DELAY ANASYS

37

MS priority rule example (1)

2R1 0 2 4 6 8

2

11

2

3

Job p(j) P(j) R(1,j) S'(j) C''(j) v(j) (priority)1 2 - 1 0 2 02 3 - 1 0 5 -23 3 1 2 2 5 0

)SpC(v *'jj

''jj

serial scheduling scheme

Page 38: CONSTRUCTION FIDIC DELAY ANASYS

38

MS priority rule example (2)Job p(j) P(j) R(1,j) S'(j) C''(j) v(j) (priority)1 2 - 1 0 22 3 - 1 0 5 -23 3 1 2 2 5 0

2R1 0 2 4 6 8

2

1 31

2

3

)SpC(v *'jj

''jj

Page 39: CONSTRUCTION FIDIC DELAY ANASYS

39

MS priority rule example (3)

2R1 0 2 4 6 8

2

11

2

3

2

Job p(j) P(j) R(1,j) S'(j) C''(j) v(j) (priority)1 2 - 1 0 22 3 - 1 5 5 33 3 1 2 2 5

3

)SpC(v *'jj

''jj

Page 40: CONSTRUCTION FIDIC DELAY ANASYS

40

Priority-rule-based scheduling• Generation scheme

– serial– parallel

• Priority rule– latest finish time– minimum slack

• Sampling procedure

Page 41: CONSTRUCTION FIDIC DELAY ANASYS

41

• Multi-pass priority-rule-based heuristics– multi-priority rule procedures

1 scheduling scheme, x priority rules generate x schedules, keep the best found

– sampling procedures1 scheduling scheme, 1 priority rulejobs are randomly selected from the decision set

Priority-rule-based scheduling

Page 42: CONSTRUCTION FIDIC DELAY ANASYS

42

Sampling procedure• Random sampling

– all jobs have the same probability:• Biased random sampling

– job with highest priority has highest probability, however not proportionally

• Regret-based random sampling– job with highest priority proportionally has

the highest probability

D1v:Dj j

Page 43: CONSTRUCTION FIDIC DELAY ANASYS

43

Biased random samplingProbability that job j is selected (Pj):

first sort jobs on non-increasing priority[j] is the position of job j in the list

factor) (bias 10

1C:where

,CP

i

i

jj

:1n1Pj

random samplingdeterministic:0

Page 44: CONSTRUCTION FIDIC DELAY ANASYS

44

Biased random sampling(example)

78C1PPPC25.05.0CPC125.05.0CP

C5.05.0CP

5.0 suppose ,vvv ,}1,2,3{D

321

23

32

11

231

factor) (bias 10

1C:where

,CP

i

i

jj

Page 45: CONSTRUCTION FIDIC DELAY ANASYS

45

Regret-based random sampling• Regret of job = difference between priority

value and lowest overall priority value:

• Probability that job is selected:

random sampling; deterministic

iijj vminvw

0)(factor bias ,

1w1C:where

)0P(1wCP

ii

jjj

:0 :

n1Pj

Page 46: CONSTRUCTION FIDIC DELAY ANASYS

46

Regret-based random sampling(example)

5.0 :suppose ,1v ;2v },2,1{D 21

41.0P and 59.0P

41.0)12(1C1PP

C)1w(CP011vminvw2C)1w(CP112vminvw

1vvmin

21

21

5.022iDi22

5.011iDi11

2iDi

Page 47: CONSTRUCTION FIDIC DELAY ANASYS

47

Time/costs trade-off (§4.4)• Assumptions:

– by allocating money (for additional resources) to jobs their processing time (pj) can be reduced

– linear relation between allocated money and pj

– minimum and maximum processing time– cj = marginal costs of reducing pj:

maxj

minj p ,p

minj

maxj

maxj

minj

ppcc

minjc

maxjc

minjp max

jp

)pp(cc )pcosts( jmaxjj

maxjj

unit timeper costs overhead fixedc0

Page 48: CONSTRUCTION FIDIC DELAY ANASYS

48

Time/costs trade-off heuristicDefinitions:• source and sink in precedence graph• critical path: longest path from source to

sink• Gcp = sub-graph of critical path(s)• cut set: set of nodes in sub-graph Gcp whose

removal results in disconnecting the source from the sink in the precedence graph

• minimal cut set: if putting back 1 node in the graph connects the source to the sink

Page 49: CONSTRUCTION FIDIC DELAY ANASYS

49

Time/costs trade-off heuristicSTEP 1: Set .

Determine Gcp .STEP 2: Determine all minimum cut sets mcs in

Gcp.Consider only those minimum cut sets ofwhich all processing times .If there is no such set: STOP

STEP 3: For each mcs compute the costs ofreducing all pj in mcs with one time unitLet mcs* be the mcs with the lowest costsIf the lowest costs are <c0 apply thechanges, revise Gcp and go to STEP 1

jp p maxjj

minjj p p

Page 50: CONSTRUCTION FIDIC DELAY ANASYS

50

Time/costs trade-off heuristic example 4.4.1

8

2 4

35

6

7

1

6

9

12

7

12

10

59

10

11

12

13

1410

67

98

7

5

processing time

141211963156 pathlongest 6 unit timeper costs overhead fixedc0

7:p4 of savings net6c2c12 and 11 :costslowest with setscut minimum

14,12,11,9,6,3,1:setscut minimum

12012

TS

Page 51: CONSTRUCTION FIDIC DELAY ANASYS

51

Time/costs trade-off heuristic example 4.4.1

8

2 4

35

6

7

1

6

9

12

7

12

10

59

10

11

12

13

1410

67

97

7

5

processing time

1413,12119631:55 pathlongest

6:p4 of savings net6c2c

11 :costslowest withset cut minimum14,12,13,11,9,6,3,1:setscut minimum

11

011

TS

Page 52: CONSTRUCTION FIDIC DELAY ANASYS

52

Time/costs trade-off heuristic example 4.4.1

8

2 4

35

6

7

1

6

9

12

7

12

10

59

10

11

12

13

1410

66

97

7

5

processing time

1412107421:or

1413,12119631:54 pathlongest

5:p*,5:p2 of savings net6c4cc2,11 :costslowest withset cut minimum

14,12,13},11,9,6,3{j12,10,7,4,2i:j,i,1:setscut minimum

1120112

TS

Page 53: CONSTRUCTION FIDIC DELAY ANASYS

53

Time/costs trade-off heuristic example 4.4.1

8

2 4

35

6

7

1

5min

9

12

7

12

10

59

10

11

12

13

1410

65

97

7

5

processing time

1412107421:or

1413,12119631:53 pathlongest

*4:p,11:p1 of savings net6c5cc4,11 :costslowest withset cut minimum

14,12,13},11,9,6,3{j12,10,7,4i:j,i,1:setscut minimum

1140114

TS

job 2 hitsminimum

Page 54: CONSTRUCTION FIDIC DELAY ANASYS

54

Time/costs trade-off heuristic example 4.4.1

8

2 4

35

6

7

1

5min

9

11

7

12

10

59

10

11

12

13

1410

64min

97

7

5

processing time

1412107421:or

1413,12119631:52 pathlongest

STOP savings net no6c6cc4,6 :costslowest withset cut minimum

14,12,13},9,6,3{j12,10,7,4i:j,i,1:setscut minimum

064

TS

Page 55: CONSTRUCTION FIDIC DELAY ANASYS

55

Time/costs trade-off LP model Decision variables:xj = earliest starting time of job jpj = processing time of job jTotal cost:

Constraints:precedence relations:max/min processing times:Cmax determination:all variables :

)pp(ccCcminj

jmaxjj

maxjmax0

kjif0xpx jjk minjj

maxjj pp,pp

)j(pxC jjmax

0 0xj

Page 56: CONSTRUCTION FIDIC DELAY ANASYS

56

Time/costs trade-off:nonlinear costs

Discrete time-framework:• decreasing convex cost-function

• non-decreasing overhead cost-function c0(t)• use the same heuristic as for the linear

costsContinuous time-framework:• non-linear model with the same constraints

as the LP-model, but with the objective:

)1p(c)p(c)p(c)1p(c jjjjjjjj

j

jj

maxC

00 )p(cdt)t(c