Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operational Research & ManagementOperations Scheduling Project Scheduling 1.Project Planning (revisited) 2.Resource Constrained Project Scheduling 3.Parallel.

Similar presentations


Presentation on theme: "Operational Research & ManagementOperations Scheduling Project Scheduling 1.Project Planning (revisited) 2.Resource Constrained Project Scheduling 3.Parallel."— Presentation transcript:

1 Operational Research & ManagementOperations Scheduling Project Scheduling 1.Project Planning (revisited) 2.Resource Constrained Project Scheduling 3.Parallel Machine Scheduling

2 Operational Research & ManagementOperations Scheduling Topic 1 Project Planning (revisited)

3 Operational Research & ManagementOperations Scheduling 3 node: fase in project (end of 1 or more tasks) every task := arc (dummies for precedence) Project Planning: Jobs on Arcs A B D C H J G F E dummy j precduration p j A:-3 B:-2 C:A4 D:A, B3 E:A2 F:E5 G:E6 H:C, F2 J:D, G4 Finish:A to J

4 Operational Research & ManagementOperations Scheduling 4 Critical Path Method (CPM) ES 1 = 0 ES j = max i { p i + ES i | i  P(j)} 1 2 3 4 6 5 7 A 3 B 2 C 4 H 2 J 4 G 6 F 5 E 2 dummy D 3 0 3 3 10 5 11 15 11 13 5 3 0 8 j prec A:- B:- C:A D:A, B E:A F:E G:E H:C, F J:D, G LF n = ES n LF i = min j { LF j - p j | j  S i }

5 Operational Research & ManagementOperations Scheduling 5 Alternative Network: Jobs on Nodes A 3 B 2 C 4 E 2F 5 J 4D 3 H 2 G 6 A 3 B 2 C 4 E 2F 5 J 4D 3 H 2 G 6 3 3 3 5 5? 11 0 0 = max{0+2,0+3} j =n+1j = 0 150 Advantages - no dummy-jobs needed to enforce precedence - length of node may represent duration or arc-length j prec A:- B:- C:A D:A, B E:A F:E G:E H:C, F J:D, G

6 Operational Research & ManagementOperations Scheduling 6 Jobs on a time axis A 3 B 2 C 4 E 2 F 5 J 4 D 3 H 2 G 6 0351115 tt jobs j prec A:- B:- C:A D:A, B E:A F:E G:E H:C, F J:D, G

7 Operational Research & ManagementOperations Scheduling 7 Project Planning with crashing Heuristic 0 15 6 8 n+1 Graph of all Critical Path(s) cut set minimal cut set 4 6 4 5 6

8 Operational Research & ManagementOperations Scheduling Topic 2 Resource Constrained Project Scheduling Problem (RCPSP)

9 Operational Research & ManagementOperations Scheduling 9 Project Planning as Scheduling  Activities within project are jobs  Criterium: makespan onder volgorde- (en resource-restricties?) P  | prec (, r jk, R k ) | C max  CPM-solution assumes: always enough resources RCSP notation/assumptions:  Job j uses r j k units of resource k, during p j periods  Renewable resources: At any time one has R k of resource k available  Determine all finish times F j (=genoeg om hele schedule weer te geven)

10 Operational Research & ManagementOperations Scheduling 10 With resource requirements r j on jobs j 9A3 8B2 7C4 3E2 2F5 3J4 7D3 8H2 3G6 0351115 tt j prec A:- B:- C:A D:A, B E:A F:E G:E H:C, F J:D, G r j j p j Example: job A requires 9 workers for 3 days, etc. With R=16 workers available Is C max =15 days still possible?

11 Operational Research & ManagementOperations Scheduling 11 With resource requirements r j on jobs j 9A3 3E2 2F5 3J4 7D3 8H2 3G6 0351115 tt j P(j) A:{ } B:{ } C:{A} D:{A, B} E:{A} F:{E} G:{E} H:{C, F} J:{D, G} 8B2 7C4 r j j p j Feasible, even with 12 workers

12 Operational Research & ManagementOperations Scheduling 12 CPM on (resource-relaxed) RSCP  Generates “earliest” start- ES j and “latest” LF j finish times  The CPM-time is lower bound on RSCP-time: LF n+1  C max  Critical path jobs must start at ES j to accomplish C max = LF n+1  Other jobs have “slack” – Their start time is NOT fixed by CPM – Shift non-critical j in [ES j, LF j ] smoothing the use of resources: after resource loading, balancing resource requirements – If capacity R k is still exceeded, then lengthen makespan (let F j exceed LF j for some j ).  Later, we discuss heuristic methods for RCPSP

13 Operational Research & ManagementOperations Scheduling 13 Resource loading and leveling B 7 A 10 D 13 19 C C D E F E D loading: jobs start at ES j leveling: shift jobs in time

14 Operational Research & ManagementOperations Scheduling 14 Conceptual Model  Notation – Decision variable: F j (finish time) for j  J – P(j) = set of predecessors of job j – A(t) set of active jobs j in period t  Model Min F n+1 s.t.F h  F j - p j  j  J,  h  P(j) F j  0  j  J  j  A(t) r jk  R k  resources k,  t A(t) = { j | F j – p j < t  F j }  t

15 Operational Research & ManagementOperations Scheduling 15 To achieve an ILP formulation: How can we linearize A(t)={ j | j active at t } and F j ?  Change to discrete time-horizon [0,H], periods t = 1,2,..H For j  J: F j  {1, …, H} ( Choosing H large enough)  Use extra binary variables – X jt = 1 if task j ends in period t; – A jt = 1 if task j is active in period t; Making an ILP Model for RCPSP E.g. F j = 4 en p j = 2 X j4 = 1 A j3 = 1 A j4 = 1 4 3 210

16 Operational Research & ManagementOperations Scheduling 16 Resulting ILP model for RCPSP Min s.t. (1)  j  J,  h  P(j) Precedence restrictions (2)  j  J (3)  j  J Determine one last period (4)  j  J,  t = 1, …, H Determining active periods of tasks (5)  t = 1, …, H,  k  K Consumption of scarce resources

17 Operational Research & ManagementOperations Scheduling 17 Remarks  Aiding variables F j en A jt can be eliminated: see book  Exact ILP methods useful only for benchmarking other methods on small problem sizes  RCPSP is generalization of job shop problem

18 Operational Research & ManagementOperations Scheduling 18 Heuristic methods for RCPSP  Two Schedule Generation Schemes can construct a schedule – Serial Method (task oriëntated): fixes in each of n iterations one task at earliest feasible starting time – Parallel Method (time oriëntated): at next finish time of active task start one or more tasks  Example 0000 2A34B23C1 3D44E22F4 0000 0/133/155/16 4/120/106/16 r j j p j 0000 2A34B23C1 3D44E22F4 0000 0/133/155/16 4/120/106/16 ES j / LS j 8/16

19 Operational Research & ManagementOperations Scheduling 19 Parallel SGS (informal)  At most n stages  Each stage g <= n represents: 1. Schedule time t g (=next finish time of scheduled job) 2. A partial schedule, consisting of four disjoint sets of jobs: – Completed, scheduled jobs at time t g – Active jobs: scheduled jobs, not yet completed at time t g – Decidable jobs: unscheduled, schedulable jobs (that can be chosen to start at time t n ) – remaining set: unscheduled jobs that cannot start at time t n

20 Operational Research & ManagementOperations Scheduling 20 Parallel SGS (on example) t g finishedR(t g )schedulable D g j select R(t g ) F j 0  4{A, D}3D4 14 (3D) {}- (* not A,E ; both require > 1 *) 4 3D4{2A3, 4E2}4E2 06 (4E) 64E4{2A3, 2F4}2A3 29 (2A) {F}2F4 010 (2F) 92A2{ }(  {B})- (* 2 short for B *) 102F4{B}4B2 012 (4B) 124B4{C}3C1 113

21 Operational Research & ManagementOperations Scheduling 21 Parallel SGS (formal)  Notation (sets in bold) – C g = activities: scheduled and finished; C 0 = {0}; – A g = activities: scheduled and still active; A 0 = {}; – D g = activities: schedulable according to prec.- AND cap. restrictions – R k (t) = remaining capacity of resource k at time t R k (0) = R k  Algorithm While some jobs  C g  A g do (* i.e., unscheduled jobs *) – g = g+1; – t g = min j  A(g) {F j }, j g =arg (* next finish time active task *) – Update C g, A g, R k (t g ), D g (* for j g scheduled and finished *) – While D g   do (* also R k (t g ) sufficient *)  Take j  D g, set F j = t g + p j en update A g, R k (t g ), D g

22 Operational Research & ManagementOperations Scheduling 22 Serial SGS (informal) Each stage selects a job  n stages  set of jobs already selected and planned: scheduled jobs (S )  decision set (D ): jobs with all predecessors in S  remaining set of jobs: these will first enter D and then S Procedure 1. Start with scheduled set S=empty; j=0 2. Add j to S; Update schedulable set D ( := {j | P(j)  S} ); 3. Select job j from decision set D (with highest priority), and (using {t/R(t) : finish times t } ) set j’s start/finish time as early as possible; 4. If |S|<n then go to step 2 (otherwise be happy with an 'active schedule')

23 Operational Research & ManagementOperations Scheduling 23 Serial SGS (on example) step { t / R(t) | t in F g }D g r j j p j S j F j updates t / R(t) 0. {0/4} {A, D}3 D 4 04R(0)=1, R(4)=4 (e.g. as priority rule: D has lower slack 8=10-(0+2)) 1. {0/1,4/4} {A, E}4 E 2 4 6R(4)=2, R(6)=4 (idem, E has lower slack) 2. {0/1,4/2,6/4}{A, F}2 A 3 69R(6)=2, R(9)=4 (idem) 4. {0/1,4/2,6/2,9/4} {B, F}4 F 2 610R(6)=0, R(9)=2, R(10)=4 (idem) 5. {0/1,4/2,6/0,9/2,10/4} {B}4 B 2 1012R(10)=0, R(12)=4 6. {.. 10/0, 12/4} {C}3 C 1 1213R(12)=1 S j =min {t  F g | t  ES j and  k,  t’  [t, t+p j )  F g : R k (t’)  r j }

24 Operational Research & ManagementOperations Scheduling 24 Serial SGS (formal)  Notations (sets in bold) – S g = activities already scheduled (in steps <=g-1)S 0 = { 0 (dummy)}; – D g = activities (precedence-)schedulable (i.e, predecessors in S g ) – F g = { finishtimes of jobs j  S g } F 0 = {0}; F 0 = 0; – R k (t) = remaining capacity of resource k at time t  Repeat n times (i.e., “for g := 0 to n do”) – Determine : F g, R k (t) voor t  F g (*InitiallyF 0 = {0}, R k (0)=full resource k *) – Determine D g and take j  D g (* D g set of decidable jobs *) // schedule job j : – Determine ES j = max { F h | h  P(j) } (* respecting precedence *) – Determine F j = p j + min { t  [ES j, LS j ]  F g | R k (t) is feasible for j } – Update R k (t)

25 Operational Research & ManagementOperations Scheduling 25 Comments on Serial SGS  Constructs a feasible schedule  When resources are ample: schedule is optimal  Leads to schedule in class of ‘active schedules’, – I.e., no operation can be earlier without others finishing later – Class of ‘active schedules’ contains an optimal schedule  One can specify selection in “Take j in D g ” by giving: – priority rule(s) – an a priori list // and this explais the name ‘list scheduling’

26 Operational Research & ManagementOperations Scheduling 26 Comments on Parallel Method Algorithm (informal) 1.Start with finish time of active job 0 (scheduled with finish time 0) 2.In step g: t g = earliest time (that unscheduled jobs may start.) and D g = collection of jobs that may start at time t g Normally, when D g empty: t g = first finish time of active job j 3.Select the job from D with the highest priority, let it start at time t g 4. If jobs are still unscheduled then goto step 2 else stop

27 Operational Research & ManagementOperations Scheduling 27 Comments on Parallel SGS  If ample resources then schedule is optimal  Schedule will be a non-delay schedule: – Exercise: why is that so? – Class of ‘Non-Delay schedules’ contains not always an optimal schedule  For serial en parallel: – Single pass: 1 SGS combined with one Priority Rule – Multi pass  1 SGS with all PR’s  Forward-backward scheduling  Sampling method: “random”, “biased” or “regret based biased”  Metaheuristics

28 Operational Research & ManagementOperations Scheduling Topic 3 Parallel Machine Scheduling Problems

29 Operational Research & ManagementOperations Scheduling 29 Parallel Machine Models  Lets say we have – Multiple machines (m), where – the makespan should be minimized (C max )  We denote this problem as  Problem already NP-hard for m = 2 (partitioning problem)  LPT-rule good heuristic

30 Operational Research & ManagementOperations Scheduling 30 Worst case behaviour LPT  Maximal deviation from optimal value  Example: four parallel machines, nine jobs C max (opt)=12but C max (LPT)=15

31 Operational Research & ManagementOperations Scheduling 31 More makespan problems easy NP-hard easy Least Flexible Job first is optimal if M j is nested

32 Operational Research & ManagementOperations Scheduling 32 Allowing preemptions  Lets say we have – Multiple machines (m) – preemption is allowed at any point in time – and makespan is to be minimized (C max )  We denote this problem as  LP model gives C max but not a schedule – only total time spent on machine

33 Operational Research & ManagementOperations Scheduling 33 Heuristic solution  Longest Remaining Processing Time First (LRPT-rule) – Academic solution – Not practical  LRPT-rule optimal for in discrete time  Example: two parallel machines, three jobs with p = (8, 7, 6)

34 Operational Research & ManagementOperations Scheduling 34 One final model  Lets say we have – Multiple machines (m), where – the total completion time should be minimized (  C j )  We denote this problem as  SPT-rule gives optimal schedule  For the weighted case: WSPT does not give optimal schedule


Download ppt "Operational Research & ManagementOperations Scheduling Project Scheduling 1.Project Planning (revisited) 2.Resource Constrained Project Scheduling 3.Parallel."

Similar presentations


Ads by Google