outline
play

Outline Single Machine Models DMP204 SCHEDULING, TIMETABLING AND - PowerPoint PPT Presentation

Dispatching Rules Outline Single Machine Models DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Dispatching Rules Lecture 10 Single Machine Models 2. Single Machine Models Marco Chiarandini 2 Dispatching Rules Dispatching Rules Outline


  1. Dispatching Rules Outline Single Machine Models DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Dispatching Rules Lecture 10 Single Machine Models 2. Single Machine Models Marco Chiarandini 2 Dispatching Rules Dispatching Rules Outline Dispatching rules Single Machine Models Single Machine Models Distinguish static and dynamic rules. Service in random order (SIRO) 1. Dispatching Rules Earliest release date first (ERD=FIFO) tends to min variations in waiting time 2. Single Machine Models Earliest due date (EDD) Minimal slack first (MS) j ∗ = arg min j { max( d j − p j − t, 0) } . tends to min due date objectives (T,L) 3 4

  2. Dispatching Rules Dispatching Rules Single Machine Models Single Machine Models (Weighted) shortest processing time first (WSPT) j ∗ = arg max j { w j /pj } . Critical path (CP) tends to min P w j C j and max work in progress and first job in the CP tends to min C max Loongest processing time first (LPT) balance work load over parallel machines Largest number of successors (LNS) Shortest setup time first (SST) Shortest queue at the next operation (SQNO) tends to min C max and max throughput tends to min idleness of machines Least flexible job first (LFJ) eligibility constraints 5 6 Dispatching Rules Dispatching Rules Dispatching Rules in Scheduling Single Machine Models Single Machine Models When dispatching rules are optimal? RULE DATA OBJECTIVES Rules Dependent ERD r j Variance in Throughput Times on Release Dates EDD d j Maximum Lateness and Due Dates MS d j Maximum Lateness LPT p j Load Balancing over Parallel Machines Rules Dependent SPT p j Sum of Completion Times, WIP on Processing WSPT p j , w j Weighted Sum of Completion Times, WIP Times CP p j , prec Makespan LNS p j , prec Makespan SIRO - Ease of Implementation Miscellaneous SST s jk Makespan and Throughput LFJ M j Makespan and Throughput SQNO - Machine Idleness 7 8

  3. Dispatching Rules Dispatching Rules Composite dispatching rules Single Machine Models Single Machine Models Instance characterization Job attributes: {weight, processing time, due date, release date} Machine attributes: {speed, num. of jobs waiting, num. of jobs eligible} Why composite rules? Example: 1 | | � w j T j : Possible instance factors: 1 | | P w j T j WSPT, optimal if due dates are zero EDD, optimal if due dates are loose ¯ d θ 1 = 1 − (due date tightness) MS, tends to minimize T C max θ 2 = d max − d min (due date range) C max ➤ The efficacy of the rules depends on instance factors 1 | s jk | P w j T j n ( θ 1 , θ 2 with estimated ˆ X C max = p j + n ¯ s ) j =1 θ 3 = ¯ s (set up time severity) p ¯ 9 10 Dispatching Rules Dispatching Rules Summary Single Machine Models Single Machine Models 1 | | � w j T j , dynamic apparent tardiness cost (ATC) Scheduling classification � − max( d j − p j − t, 0) � I j ( t ) = w j exp p j K ¯ p Solution methods 1 | s jk | � w j T j , dynamic apparent tardiness cost with setups (ATCS) Practice with general solution methods Mathematical Programming � − max( d j − p j − t, 0) � � − s jk � I j ( t, l ) = w j exp exp Constraint Programming p j K 1 ¯ p K 2 ¯ s Heuristic methods after job l has finished. 11 12

  4. Dispatching Rules Dispatching Rules Outlook on Scheduling Outline Single Machine Models Single Machine Models Objectives: Look closer into scheduling models and learn: special algorithms application of general methods 1. Dispatching Rules Cases: Single Machine 2. Single Machine Models Parallel Machine Permutation Flow Shop Job Shop Resource Constrained Project Scheduling 13 14 Dispatching Rules Dispatching Rules Summary Outlook Single Machine Models Single Machine Models 1 | | � w j C j : weighted shortest processing time first is optimal 1 | | � j U j : Moore’s algorithm 1 | prec | L max : Lawler’s algorithm, backward dynamic programming in O ( n 2 ) [Lawler, 1973] Single Machine Models: C max is sequence independent 1 | | � h j ( C j ) : dynamic programming in O (2 n ) 1 | | � w j T j : local search and dynasearch if r j = 0 and h j is monotone non decreasing in C j then optimal schedule is nondelay and has no preemption. 1 | r j , ( prec ) | L max : branch and bound 1 | s jk | C max : in the special case, Gilmore and Gomory algorithm optimal in O ( n 2 ) 1 | | � w j T j : column generation approaches Multicriteria 15 16

  5. 1 | | � w j C j 1 | | � w j C j 1 | | � w j C j Dispatching Rules Dispatching Rules Single Machine Models Single Machine Models [Total weighted completion time] Extensions to 1 | r j , prmp | � w j C j Theorem: The weighted shortest processing time first (WSPT) rule is optimal. in the general case strongly NP-hard Extensions to 1 | prec | � w j C j preemptive version of the WSPT if equal weights in the general case strongly NP-hard however, 1 | r j | � w j C j is strongly NP-hard chain precedences: process first chain with highest ρ -factor up to, and included, job with highest ρ -factor. polytime algorithm also for tree and sp-graph precedences 17 18 Dispatching Rules Dispatching Rules 1 | | � 1 | | � 1 | | � j U j j U j j U j Dynamic programming Single Machine Models Single Machine Models Procedure based on divide and conquer [Number of tardy jobs] Principle of optimality the completion of an optimal sequence of decisions must be optimal Break down the problem into stages at which the decisions take [Moore, 1968] algorithm in O ( n log n ) place Find a recurrence relation that takes us backward (forward) from Add jobs in increasing order of due dates one stage to the previous (next) If inclusion of job j ∗ results in this job being completed late discard the scheduled job k ∗ with the longest processing time (In scheduling, backward procedure feasible only if the makespan is 1 | | � j w j U j is a knapsack problem hence NP-hard schedule, eg, single machine problems without setups, multiple machines problems with identical processing times.) 19 20

  6. 1 | | � h j ( C j ) 1 | | � h j ( C j ) 1 | | � h j ( C j ) Dispatching Rules Dispatching Rules 1 | prec | h max 1 | prec | h max 1 | prec | h max Single Machine Models Single Machine Models h max = max { h 1 ( C 1 ) , h 2 ( C 2 ) , . . . , h n ( C n ) } , h j regular generalization of � w j T j hence strongly NP-hard special case: 1 | prec | h max [maximum lateness] (forward) dynamic programming algorithm O (2 n ) solved by backward dynamic programming in O ( n 2 ) [Lawler, 1978] J set of jobs already scheduled; J set of job already scheduled; J c set of jobs still to schedule; J ′ ⊆ J c set of schedulable jobs V ( J ) = � j ∈ J h j ( C j ) Step 1: Set J = ∅ , J c = { 1 , . . . , n } and J ′ the set of all jobs with Step 1: Set J = ∅ , V ( j ) = h j ( p j ) , j = 1 , . . . , n no successor Step 2: Select j ∗ such that j ∗ = arg min j ∈ J ′ { h j �� � } ; k ∈ J c p k � �� �� Step 2: V ( J ) = min j ∈ J V ( J − { j } ) + h j k ∈ J p k add j ∗ to J ; remove j ∗ from J c ; update J ′ . Step 3: If J c is empty then stop, otherwise go to Step 2. Step 3: If J = { 1 , 2 , . . . , n } then V ( { 1 , 2 , . . . , n } ) is optimum, otherwise go to Step 2. For 1 | | L max Earliest Due Date first 1 | r j | L max is instead strongly NP-hard 21 22 1 | | � h j ( C j ) 1 | | � h j ( C j ) 1 | | � h j ( C j ) 1 | | � h j ( C j ) 1 | | � h j ( C j ) 1 | | � h j ( C j ) Dispatching Rules Dispatching Rules Single Machine Models Single Machine Models Local search A lot of work done on 1 | | � w j T j � n � Interchange: size and O ( | i − j | ) evaluation each [single-machine total weighted tardiness] 2 first-improvement: π j , π k p π j ≤ p π k for improvements, w j T j + w k T k must decrease because 1 | | � T j is hard in ordinary sense, hence admits a pseudo jobs in π j , . . . , π k can only increase their tardiness. polynomial algorithm (dynamic programming in O ( n 4 � p j ) ) p π j ≥ p π k possible use of auxiliary data structure to speed up the computation 1 | | � w j T j strongly NP-hard (reduction from 3-partition) best-improvement: π j , π k p π j ≤ p π k for improvements, w j T j + w k T k must decrease at least as the best interchange found so far because jobs in exact solution via branch and bound feasible up to 40 jobs π j , . . . , π k can only increase their tardiness. [Potts and Wassenhove, Oper. Res., 1985] p π j ≥ p π k possible use of auxiliary data structure to speed up the exact solution via time-indexed integer programming formulation computation used to lower bound in branch and bound solves instances of 100 Swap: size n − 1 and O (1) evaluation each jobs in 4-9 hours [Pan and Shi, Math. Progm., 2007] Insert: size ( n − 1) 2 and O ( | i − j | ) evaluation each dynasearch: results reported for 100 jobs within a 0.005% gap from But possible to speed up with systematic examination by means of optimum in less than 3 seconds [Grosso et al., Oper. Res. Lett., swaps: an interchange is equivalent to | i − j | swaps hence overall 2004] examination takes O ( n 2 ) 23 25

Recommend


More recommend