outline
play

Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING Lecture 16 - PowerPoint PPT Presentation

Job Shop Generalizations Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING Lecture 16 Job Shop 1. Job Shop Generalizations The Alternative Graph Model Marco Chiarandini 2 Job Shop Generalizations Job Shop Generalizations Resume


  1. Job Shop Generalizations Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING Lecture 16 Job Shop 1. Job Shop Generalizations The Alternative Graph Model Marco Chiarandini 2 Job Shop Generalizations Job Shop Generalizations Resume Outline Job Shop: Definition 1. Job Shop Generalizations Starting times and m -tuple permutation representation Disjunctive graph representation [Roy and Sussman, 1964] Shifting Bottleneck Heuristic [Adams, Balas and Zawack, 1988] 3 4

  2. Job Shop Generalizations Job Shop Generalizations Generalizations: Time Lags d i j − i i d Modelling i j j j min C max Generalized time constraints s.t. x ij + d ij ≤ C max ∀ O ij ∈ N x ij + d ij ≤ x lj ∀ ( O ij , O lj ) ∈ A They can be used to model: x ij + d ij ≤ x ik ∨ x ij + d ij ≤ x ik ∀ ( O ij , O ik ) ∈ E Release time: x ij ≥ 0 ∀ i = 1 , . . . , m j = 1 , . . . , N S 0 + r i ≤ S i ⇐ ⇒ d 0 i = r i In the disjunctive graph, d ij become the lengths of arcs Deadlines: S i + p i − d i ≤ S 0 ⇐ ⇒ d i 0 = p i − d i 5 6 Job Shop Generalizations Job Shop Generalizations Set up times: Exact relative timing (perishability constraints): if operation j must start l ij after operation i : S i + p i + s ij ≤ S j or S j + p j + s ji ≤ S i S i + p i + l ij ≤ S j and S j − ( p i + l ij ) ≤ S i Machine unavailabilities: ( l ij = 0 if no-wait constraint) Machine M k unavailable in [ a 1 , b 1 ] , [ a 2 , b 2 ] , . . . , [ a v , b v ] Introduce v artificial operations with λ = 1 , . . . , v with µ λ = M k and: p λ = b λ − a λ r λ = a λ d λ = b λ Minimum lateness objectives: N L max = max j =1 { C j − d j } ⇐ ⇒ d n j ,n +1 = p n j − d j 7 8

  3. Arises with limited buffers: Job Shop Generalizations after processing, a job remains on the machine until the next machine is freed Example O 0 , O 1 , . . . , O 13 Needed a generalization of the disjunctive graph model = ⇒ Alternative graph model G = ( N, E, A ) [Mascis, Pacciarelli, 2002] M ( O 1 ) = M ( O 5 ) = M ( O 9 ) M ( O 2 ) = M ( O 6 ) = M ( O 10 ) M ( O 3 ) = M ( O 7 ) = M ( O 11 ) 1. two non-blocking operations to be processed on the same machine S i + p i ≤ S j or S j + p j ≤ S i 2. Two blocking operations i , j to be processed on the same machine µ ( i ) = µ ( j ) S σ ( j ) ≤ S i or S σ ( i ) ≤ S j 3. i is blocking, j is non-blocking (ideal) and i , j Length of arcs can be negative to be processed on the same machine Multiple occurrences possible: (( i, j ) , ( u, v )) ∈ A and µ ( i ) = µ ( j ) . (( i, j ) , ( h, k )) ∈ A S i + p i ≤ S j or S σ ( j ) ≤ S i The last operation of a job j is always non-blocking. 10 Job Shop Generalizations Example: p a = 4 p b = 2 p c = 1 b must start at least 9 days after a has started A complete selection S is consistent if it chooses alternatives from each pair such that the resulting graph does not contain positive c must start at least 8 days after b is finished cycles. c must finish within 16 days after a has started S a + 9 ≤ S b S b + 10 ≤ S c S c − 15 ≤ S a This leads to an absurd. In the alternative graph the cycle is positive. 12

  4. Job Shop Generalizations Job Shop Generalizations Heuristic Methods The Makespan still corresponds to the longest path in the graph with the arc selection G ( S ) . Problem: now the digraph may contain cycles. Longest path with simple cyclic paths is NP-complete. However, here we have to care The search space is highly constrained + detecting positive cycles is only of non-positive cycles. costly If there are no cycles of length strictly positive it can still be Hence local search methods not very successful computed efficiently in O ( | N || E ∪ A | ) by Bellman-Ford (1958) algorithm. Rely on the construction paradigm The algorithm iteratively considers all edges in a certain order and Rollout algorithm [Meloni, Pacciarelli, Pranzo, 2004] updates an array of longest path lengths for each vertex. It stops if a loop over all edges does not yield any update or after | N | iterations over all edges (in which case we know there is a positive cycle). Possible to maintain incremental updates when changing the selection [Demetrescu, Frangioni, Marchetti-Spaccamela, Nanni, 2000] . 13 14 Job Shop Generalizations Job Shop Generalizations Slave heuristics Avoid Maximum Current Completion time find an arc ( h, k ) that if selected would increase most the length of the longest path in G ( S k ) and select its alternative Rollout ( uv ) ∈ A { l (0 , u ) + a uv + l ( u, n ) } max Master process: grows a partial selection S k : decides the next element to fix based on an heuristic function Select Most Critical Pair find the pair that, in the worst case, would increase least the length (selects the one with minimal value) of the longest path in G ( S k ) and select the best alternative Slave process: evaluates heuristically the alternative choices. Completes the selection by keeping fixed what passed by the master (( ij ) , ( hk )) ∈ A min { l (0 , u ) + a hk + l ( k, n ) , l (0 , i ) + a ij + l ( j, n ) } max process and fixing one alternative at a time. Select Max Sum Pair finds the pair with greatest potential effect on the length of the longest path in G ( S k ) and select the best alternative (( ij ) , ( hk )) ∈ A | l (0 , u ) + a hk + l ( k, n ) + l (0 , i ) + a ij + l ( j, n ) | max Trade off quality vs keeping feasibility Results depend on the characteristics of the instance. 15 16

  5. Job Shop Generalizations Implementation details of the slave heuristics Once an arc is added we need to update all L (0 , u ) and L ( u, n ) . Backward and forward visit O ( | F | + | A | ) When adding arc a ij , we detect positive cycles if L ( i, j ) + a ij > 0 . This happens only if we updated L (0 , i ) or L ( j, n ) in the previous point and hence it comes for free. Overall complexity O ( | A | ( | F | + | A | )) Speed up of Rollout: Stop if partial solution overtakes upper bound limit evaluation to say 20% of arcs in A 17

Recommend


More recommend