Upload
sabithqsat
View
247
Download
6
Embed Size (px)
DESCRIPTION
CONSTRUCTION FIDIC DELAY ANASYS
Citation preview
1
Contents College 4• §4.1, §4.2, §4.4, §4.6
• Extra literature on resource constrained project scheduling (will be handed out)
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)
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
4
Project examples
• Construction• Production• Management• Research• Maintenance• Installation, implementation
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
6
Project breakdown structure
Project
Main Activity
ActivityActivityProject
Scheduling
RCCPMain Activity
ActivityActivity
Main Activity
ActivityActivity
7
Project scheduling topics• Project representation (precedence
graph)• Critical Path Method (CPM)• Resource-constrained project
scheduling– standard problem– methods– extensions
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:
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:
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
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
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
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
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
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
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
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
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
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
20
RCPSP• Goal: minimize makespan:• Restrictions:
– no job may start before T=0– precedence relations– finite resource capacity
'jjmax CmaxC
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
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
23
Priority-rule-based scheduling• Generation scheme
– serial– parallel
• Priority rule– latest finish time– minimum slack
• Sampling procedure
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
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)
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)
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)
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
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
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
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
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
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
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
35
Priority-rule-based scheduling• Generation scheme
– serial– parallel
• Priority rule– latest finish time– minimum slack
• Sampling procedure
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
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
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
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
40
Priority-rule-based scheduling• Generation scheme
– serial– parallel
• Priority rule– latest finish time– minimum slack
• Sampling procedure
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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