Presentation is loading. Please wait.

Presentation is loading. Please wait.

Contents College 4 §4.1, §4.2, §4.4, §4.6 Extra literature on resource constrained project scheduling (will be handed out)

Similar presentations


Presentation on theme: "Contents College 4 §4.1, §4.2, §4.4, §4.6 Extra literature on resource constrained project scheduling (will be handed out)"— Presentation transcript:

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:


Download ppt "Contents College 4 §4.1, §4.2, §4.4, §4.6 Extra literature on resource constrained project scheduling (will be handed out)"

Similar presentations


Ads by Google