570 likes | 789 Vues
Contents College 4. §4.1, §4.2, §4.4, §4.6 Extra literature on resource constrained project scheduling (will be handed out). Project Scheduling. Project definition:
E N D
Contents College 4 • §4.1, §4.2, §4.4, §4.6 • Extra literature on resource constrained project scheduling (will be handed out)
Project Scheduling • Project definition: A complex and large scaleone-of-a-kindproduct 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)
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
Project examples • Construction • Production • Management • Research • Maintenance • Installation, implementation
Hierarchical planning Strategic resource planning Strategic Rough-cut process planning Rough-cut capacity planning Tactical Engineering & process planning Project scheduling Tactical/ operational Detailed scheduling Operational
Project breakdown structure Project Main Activity Main Activity Main Activity RCCP Project Scheduling Activity Activity Activity Activity Activity Activity
Project scheduling topics • Project representation (precedence graph) • Critical Path Method (CPM) • Resource-constrained project scheduling • standard problem • methods • extensions
Project representation / precedence graph “job on node”-representation: Rules for “job on node” networks: • network contains no directed cycles • event numbering • network contains no redundant arcs 1 2 4 6 3 5 7
Project representation example 1 “job on node”-representation: 1 2 4 6 3 5 7 1 2 4 6 “job on arc”-representation: 3 7 5
Project representation example 2 “job on node”-representation: 1 2 4 6 3 5 “job on arc”-representation: 6 1 4 2 5 3
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
Project scheduling without resource constraints: critical path method (CPM) • Critical job: job without slack • Critical path = chain of critical jobs • Forward procedure • Backward procedure
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
Critical path method STEP1: For each job that has no predecessors: STEP2: compute for each job j: STEP3: • Forward CPM procedure • Backward CPM procedure STEP1: For each job that has no successors: STEP2: compute for each job j: STEP3: Verify that:
Critical path method example Sink (project start) 2 1 3 0 4 0 1 S 2 4 6 T 1 2 Source (project start) 3 5
Critical path method example (cont.) Critical job: C’’ = C’ = S’+p 2 1 0 3 3 0 4 0 1 Legend: S 2 4 6 T duration 7 8 0 0 3 7 0 3 8 8 j 1 2 3 5 S’ C’’ 3 8 0 6
3 5 2 1 6 4 Resource constraints • Suppose jobs require a resource: resource requirements 6 5 4 3 2 1 1 2 3 4 5 6 7 8
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
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
RCPSP • Goal: minimize makespan: • Restrictions: • no job may start before T=0 • precedence relations • finite resource capacity
RCPSP example 4 1 2 6 5 2 3 4 0 2 4 6 8 10 12 2 1 3 5 2 4 6 0 2 4 6 8 10 12
Disjunctive arcs Suppose R1=4. These jobs cannot be performed simultaneously: • job 1 & 3 • job 3 & 6 • job 4 & 5 • job 5 & 6 1 2 4 6 disjunctive arcs 3 5
Priority-rule-based scheduling • Generation scheme • serial • parallel • Priority rule • latest finish time • minimum slack • Sampling procedure
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
Serial scheduling method example (1) Decision set 1 3 2 2 0 2 4 6 8
Serial scheduling method example (2) Decision set 1 3 2 1 2 0 2 4 6 8
Serial scheduling method example (3) Decision set 1 3 2 3 1 2 0 2 4 6 8
Serial scheduling method example (4) 1 3 2 3 1 2 2 0 2 4 6 8
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
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
Parallel scheduling method example (1) Decision set 1 3 2 2 0 2 4 6 8
Parallel scheduling method example (2) Decision set 1 3 2 1 2 0 2 4 6 8
Parallel scheduling method example (3) Decision set 1 3 2 2 1 2 0 2 4 6 8
Parallel scheduling method example (4) 1 3 2 2 3 1 2 0 2 4 6 8
Priority-rule-based scheduling • Generation scheme • serial • parallel • Priority rule • latest finish time • minimum slack • Sampling procedure
Priority-rule-based scheduling: priority rules • Latest finish time (LFT) priority rule: • Minimum slack (MS) priority rule current earliest starting time
MS priority rule example (1) serial scheduling scheme 1 3 2 1 2 0 2 4 6 8
MS priority rule example (2) 1 3 2 3 1 2 0 2 4 6 8
MS priority rule example (3) 1 3 2 3 2 1 2 0 2 4 6 8
Priority-rule-based scheduling • Generation scheme • serial • parallel • Priority rule • latest finish time • minimum slack • Sampling procedure
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
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
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 deterministic
Regret-based random sampling • Regret of job = difference between priority value and lowest overall priority value: • Probability that job is selected: random sampling; deterministic
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:
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
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
processing time Time/costs trade-off heuristic example 4.4.1 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 6 7 5 8