Download presentation
Published byKaden Freebairn Modified over 9 years ago
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 planning
Strategic resource planning Strategic Rough-cut process planning Rough-cut capacity planning Tactical Engineering & process planning Project scheduling Tactical/ operational RCCP: Order acceptance Detailed scheduling: van de individuele mensen Detailed scheduling Operational
6
Project breakdown structure
Main Activity Main Activity Main Activity RCCP Activity Activity Activity Activity Activity Activity Project Scheduling Main Activity = werkpakket: RCCP Activity: Project scheduling RCCP: grove werkvoorbereiding Project scheduling: gedetailleerde werkvoorbereiding
7
Project scheduling topics
Project representation (precedence graph) Critical Path Method (CPM) Resource-constrained project scheduling standard problem methods extensions
8
Project representation / precedence graph
“job on node”-representation: 1 2 4 6 3 5 7 Rules for “job on node” networks: network contains no directed cycles event numbering network contains no redundant arcs
9
Project representation example 1
“job on node”-representation: 1 2 4 6 3 5 7 1 2 4 6 JON: knoop = job pijl = relatie JOA: knoop = begin of einde van een job pijl = job kenmerken JOA: geen overbodige pijlen geen cykels lastig niet unieke netwerken (alleen interpretatie, niet afleiding??) LINEAIRE vs. NETWERK precedentie relaties “job on arc”-representation: 3 7 5
10
Project representation example 2
“job on node”-representation: 1 2 4 6 3 5 “job on arc”-representation: 6 1 4 2 5 3
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: 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 Slack = speling
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
Critical path method Forward CPM procedure Backward CPM procedure
STEP1: For each job that has no predecessors: STEP2: compute for each job j: STEP3: STEP1: For each job that has no successors: STEP2: compute for each job j: STEP3: Verify that: Bij AON netwerk kun je de jobs op volgorde afwerken
15
Critical path method example
Sink (project start) 2 1 3 4 1 Earliest completion time = earliest starting time + p(j) !!! S 2 4 6 T Source (project start) 1 2 3 5
16
Critical path method example (cont.)
Critical job: C’’ = C’ = S’+p 2 1 3 3 4 1 Legend: Earliest completion time = earliest starting time + p(j) !!! S 2 4 6 T duration 3 3 7 7 8 8 8 j 1 2 S’ C’’ 3 5 6 3 8
17
Resource constraints Suppose jobs require a resource:
resource requirements 6 1 2 3 4 5 6 5 4 3 2 1 1 2 3 4 5 6 7 8
18
Resource constraints (cont.)
Suppose : Cmax increases by 2 6 5 4 2 3 1 5 6 2 3 4 1 1 2 3 4 5 6 7 8 9 10
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
21
RCPSP example 4 1 2 6 5 2 3 4 Op ieder moment voor alle resources genoeg beschikbaar 2 4 6 8 10 12 2 1 3 5 2 4 6 2 4 6 8 10 12
22
Disjunctive arcs Suppose R1=4. These jobs cannot be performed
simultaneously: job 1 & 3 job 3 & 6 job 4 & 5 job 5 & 6 1 CPM werkt nu niet meer! 2 4 6 disjunctive arcs 3 5
23
Priority-rule-based scheduling
Generation scheme serial parallel Priority rule latest finish time minimum slack Sampling procedure Generation scheme: hoe bouw ik een schedule op Priority: welke job ga ik aan het schedule toevoegen
24
Serial scheduling method
Each 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 jobs procedure: 1. Start with an empty schedule 2. Select job from decision set with highest priority, and schedule it as early as possible 3. Repeat step 2 if the decision set is not empty
25
Serial scheduling method example (1)
Decision set 2 1 3 Prioriteiten zijn gegeven (niet volgens bekende prioriteitsregel) 2 2 4 6 8
26
Serial scheduling method example (2)
Decision set 2 1 3 1 2 2 4 6 8
27
Serial scheduling method example (3)
Decision set 2 1 3 3 1 2 2 4 6 8
28
Serial scheduling method example (4)
2 1 3 3 1 2 2 2 4 6 8
29
Parallel scheduling method
At most n stages Each stage n represents: 1. partial schedule 2. 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 method
procedure: 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)
Decision set 2 1 3 2 2 4 6 8
32
Parallel scheduling method example (2)
Decision set 2 1 3 1 2 2 4 6 8
33
Parallel scheduling method example (3)
Decision set 2 1 3 2 1 2 2 4 6 8
34
Parallel scheduling method example (4)
2 1 3 2 3 1 2 2 4 6 8
35
Priority-rule-based scheduling
Generation scheme serial parallel Priority rule latest finish time minimum slack Sampling procedure Generation scheme: hoe bouw ik een schedule op Priority: welke job ga ik aan het schedule toevoegen
36
Priority-rule-based scheduling: priority rules
Latest finish time (LFT) priority rule: Minimum slack (MS) priority rule current earliest starting time
37
MS priority rule example (1)
serial scheduling scheme 2 1 3 Serial scheduling scheme 1 2 2 4 6 8
38
MS priority rule example (2)
1 3 3 1 2 2 4 6 8
39
MS priority rule example (3)
2 1 3 3 1 2 2 2 4 6 8
40
Priority-rule-based scheduling
Generation scheme serial parallel Priority rule latest finish time minimum slack Sampling procedure Generation scheme: hoe bouw ik een schedule op Priority: welke job ga ik aan het schedule toevoegen
41
Priority-rule-based scheduling
Multi-pass priority-rule-based heuristics multi-priority rule procedures 1 scheduling scheme, x priority rules generate x schedules, keep the best found sampling procedures 1 scheduling scheme, 1 priority rule jobs are randomly selected from the decision set
42
Sampling procedure Random sampling Biased 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 Dit is extra stof uitgedeeld bij 2e college. Ook op webpage!!
43
Biased random sampling
Probability that job j is selected (Pj): first sort jobs on non-increasing priority [j] is the position of job j in the list random sampling C = normaliserende constante deterministic
44
Biased random sampling (example)
C = normaliserende constante
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 Nadeel biased sampling is dat het geen rekening houdt met relatieve verschil in de prioriteiten P(j) altijd >0!! C = normaliserende constante
46
Regret-based random sampling (example)
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: Paragraaf 4.4
48
Time/costs trade-off heuristic
Definitions: 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 heuristic
STEP 1: Set Determine Gcp . STEP 2: Determine all minimum cut sets mcs in Gcp. Consider only those minimum cut sets of which all processing times If there is no such set: STOP STEP 3: For each mcs compute the costs of reducing all pj in mcs with one time unit Let mcs* be the mcs with the lowest costs If the lowest costs are <c0 apply the changes, revise Gcp and go to STEP 1
50
Time/costs trade-off heuristic example 4.4.1
processing time 6 12 10 9 2 4 7 10 8 5 12 5 12 10 S 1 14 T 6 9 9 7 7 3 11 13 7 6 5 8 Slightly different solution path (correct!!)
51
Time/costs trade-off heuristic example 4.4.1
processing time 6 12 10 9 2 4 7 10 7 5 12 5 12 10 S 1 14 T 6 9 9 7 7 3 11 13 7 6 5 8 Here I alter the solution path of the book: the book alters job 6 (costs 3), and I alter job 11
52
Time/costs trade-off heuristic example 4.4.1
processing time 6 12 10 9 2 4 7 10 7 5 12 5 12 10 S 1 14 T 6 9 9 6 7 3 11 13 7 6 5 8
53
Time/costs trade-off heuristic example 4.4.1
processing time job 2 hits minimum 5min 12 10 9 2 4 7 10 7 5 12 5 12 10 S 1 14 T 6 9 9 5 7 3 11 13 7 6 5 8
54
Time/costs trade-off heuristic example 4.4.1
processing time 5min 11 10 9 2 4 7 10 7 5 12 5 12 10 S 1 14 T 6 9 9 4min 7 3 11 13 7 6 5 8 Makespan can still be reduced with the same cost: for example {12,13} OPTIMALITY CONDITION: when no P(j) can be increased without enlarging the makespan
55
Time/costs trade-off LP model
Decision variables: xj = earliest starting time of job j pj = processing time of job j Total cost: Constraints: precedence relations: max/min processing times: Cmax determination: all variables : Cmax = auxiliary variable
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 costs Continuous time-framework: non-linear model with the same constraints as the LP-model, but with the objective:
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.