Download presentation

Presentation is loading. Please wait.

Published byKaden Freebairn Modified over 2 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

OK

1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5.1-5.2)

1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5.1-5.2)

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Free ppt on brain machine interface mit Ppt on consumer protection act 1986 Ppt on index numbers in mathematics Ppt on founder of facebook Ppt on use of ms excel Ppt on current changes in information technology Ppt on history of olympics kids Ppt on series and parallel circuits video Ppt on zener diode circuits Ppt on image classification using fuzzy logic