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

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google