no idle no wait when shop scheduling meets dominoes
play

No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and - PowerPoint PPT Presentation

No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and Hamiltonian Paths J.C. Billaut 1 , F.Della Croce 2 , Fabio Salassa 2 , V. Tkindt 1 1 . Universit e Francois-Rabelais, CNRS, Tours, France 2 . Politecnico di Torino, Torino,


  1. No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and Hamiltonian Paths J.C. Billaut 1 , F.Della Croce 2 , Fabio Salassa 2 , V. T’kindt 1 1 . Universit´ e Francois-Rabelais, CNRS, Tours, France 2 . Politecnico di Torino, Torino, Italy Monash University Melbourne, February 19th, 2018 1 / 31

  2. Flow Shop Scheduling ◮ There are m machines and n jobs. ◮ Each job contains exactly m operations. ◮ For each operation of each job a processing time is specified. ◮ No machine can perform more than one operation simultaneously. ◮ Operations cannot be interrupted (no preemption). 2 / 31

  3. Flow Shop Scheduling ◮ Operations within one job must be performed in the specified order. ◮ The first operation gets executed on the first machine, then (as the first operation is finished) the second operation on the second machine, and so until the m -th operation. ◮ Jobs can be executed in any order. ◮ The problem is to determine an optimal arrangement of jobs. 3 / 31

  4. Flow Shop Scheduling – Example j J 1 J 2 J 3 J 4 p 1 , j 2 4 5 1 p 2 , j 3 4 2 1 p 3 , j 4 2 1 1 Machine Makespan p 14 p 11 p 12 p 13 M 1 p 21 p 22 p 23 p 24 M 2 p 31 p 32 p 33 p 34 M 3 Time 4 / 31

  5. Problem Description ◮ We consider flow shop scheduling problems with (machine) no-idle, (job) no-wait constraints and makespan as objective. ◮ Machine no-idle constraint : use of very expensive equipment with the fee determined by the actual time consumption. ◮ Job no-wait constraint : in metal-processing industries (e.g., hot rolling) where delays between operations interfere with the technological process (e.g., cooling down). ◮ We focus on problem F 2 | no-idle, no-wait | C max . 5 / 31

  6. Literature ◮ Problem F 2 || C max (Johnson rule O ( nlogn )) ∈ P . ◮ Problem F 2 | no-idle | C max (trivially packing the jobs on the second machine to the right from Johnson’s schedule) ∈ P . ◮ Problem F 2 | no-wait | C max (special case of Gilmore-Gomory TSP) ∈ P . ◮ Problem F 3 || C max is NP -hard. 6 / 31

  7. Literature ◮ Problem F 2 | no-wait |G (minimizing the number of interruptions on the last machine in a 2-machine no-wait flow shop) is solvable in O ( n 2 ) time (Hohn et al. 2012). ◮ Problem F 3 | no-wait |G is NP -hard. (Hohn et al. 2012). ◮ Problems F 2 || � C j , F 2 | no-wait | � C j , F 2 | no-idle | � C j , F 2 | no-idle, no-wait | � C j are NP -hard (Adiri and Pohoryles 1982). 7 / 31

  8. F 2 | no-idle, no-wait | C max ◮ Two Machines M 1 , M 2 . ◮ Flow Shop environment. ◮ n jobs 1 , 2 , . . . , n with processing times p 1 j and p 2 j . ◮ No-idle time is allowed (both machines M 1 , M 2 must work continuously). ◮ No-wait discipline (no buffer — each job must start on M 2 right after its completion on M 1 ). ◮ Makespan (i.e. total time that elapses from the beginning to the end) objective. 8 / 31

  9. F 2 | no-idle, no-wait | C max ◮ The no-idle , no-wait constraint is a very strong requirement. Machine C 1[1] C 1[2] C 1[3] C 1[4] p 1[1] p 1[2] p 1[3] p 14 M 1 p 2[1] p 2[2] p 2[3] p 2[4] M 2 C 2[1] C 2[2] C 2[3] C 2[4] ◮ p i [ j ] denotes the processing time of the j -th job of a sequence σ on machine M i . ◮ C i [ j ] denotes the completion time of the j -th job of a sequence σ on machine M i . 9 / 31

  10. F 2 | no-idle, no-wait | C max Lemma (1) (C1) A necessary condition to have a feasible solution for problem F 2 | no − idle , no − wait | C max is that there always exists an indexing of the jobs so that p 1 , 2 , ... p 1 , n and p 2 , 1 , ..., p 2 , n − 1 constitute different permutations of the same vector of elements. j J 1 J 2 J 3 J 4 J 5 p 1 , j 5 8 7 6 7 p 2 , j 8 5 6 7 7 10 / 31

  11. F 2 | no-idle, no-wait | C max Lemma (1) (C1) A necessary condition to have a feasible solution for problem F 2 | no − idle , no − wait | C max is that there always exists an indexing of the jobs so that p 1 , 2 , ... p 1 , n and p 2 , 1 , ..., p 2 , n − 1 constitute different permutations of the same vector of elements. (C2) When the above condition (C1) holds, then Case 1 if p 1 , 1 � = p 2 , n , every feasible sequence must have a job with processing time p 1 , 1 in first position and a job with processing time p 2 , n in last position. Case 2 if p 1 , 1 = p 2 , n and there exists a feasible sequence, then there do exist at least n feasible sequences each starting with a different job by simply rotating the starting sequence as in a cycle. 11 / 31

  12. F 2 | no-idle, no-wait | C max Lemma (2) The makespan of any feasible sequence σ is given by the processing time of the last (first) job on the second (first) machine plus the sum of jobs processing times on the first (second) machine. Machine C 1[1] C 1[2] C 1[3] C 1[4] p 1[1] p 1[2] p 1[3] p 14 M 1 p 2[1] p 2[2] p 2[3] p 2[4] M 2 C 2[1] C 2[2] C 2[3] C 2[4] 12 / 31

  13. F 2 | no-idle, no-wait | C max Lemma (2) The makespan of any feasible sequence σ is given by the processing time of the last (first) job on the second (first) machine plus the sum of jobs processing times on the first (second) machine. Machine C 1[1] C 1[2] C 1[3] C 1[4] p 1[1] p 1[2] p 1[3] p 14 M 1 p 2[1] p 2[2] p 2[3] p 2[4] M 2 C 2[1] C 2[2] C 2[3] C 2[4] 13 / 31

  14. F 2 | no-idle, no-wait | C max : an example A 9-job instance of problem F 2 | no − idle , no − wait | C max . j J 1 J 2 J 3 J 4 J 5 J 6 J 7 J 8 J 9 p 1 , j 5 3 4 6 1 5 3 2 4 p 2 , j 3 4 6 1 5 3 2 4 5 and the corresponding optimal solution C max = 34 p 15 p 16 p 17 p 18 p 19 p 11 p 12 p 13 p 14 M 1 p 24 p 25 p 26 p 27 p 28 p 29 p 21 p 22 p 23 M 2 4 8 12 16 20 24 28 32 34 14 / 31

  15. F 2 | no-idle, no-wait | C max ◮ Due to Lemma 1 and F 2 | no − idle , no − wait |G problem, the optimal solution can be calculated in O ( n 2 ) time... ...but... ◮ ...we decided to link the problem to the game of dominoes 15 / 31

  16. Dominoes ◮ The Single Player Domino (SPD) problem (where a single player tries to lay down all dominoes in a chain with the numbers matching at each adjacency) is polynomially solvable : it can be seen as a eulerian path problem on an undirected multigraph . ◮ Here, we refer to the oriented version of SPD called OSPD where all dominoes have an orientation (given a tile with numbers i and j , only the orientation i → j is allowed but not viceversa). ◮ Problem OSPD is polynomially solvable (can be seen as a eulerian path problem on a directed multigraph). 16 / 31

  17. Problem F 2 | no − idle , no − wait | C max vs OSPD Proposition F 2 | no − idle , no − wait | C max ∝ OSPD. Proof. By generating for each job J j a related domino tile { p 1 , j , p 2 , j } , any complete sequence of oriented dominoes in OSPD corresponds to a feasible sequence for F 2 | no − idle , no − wait | C max . Then, due to Lemma 1, the jobs processing times either respect case 1 or case 2 of condition C2. 17 / 31

  18. An example A 9-job instance of problem F 2 | no − idle , no − wait | C max . i J 1 J 2 J 3 J 4 J 5 J 6 J 7 J 8 J 9 J 1 p 1 , j 5 3 4 6 1 5 3 2 4 p 2 , j 3 4 6 1 5 3 2 4 5 J 2 J 3 J 4 J 5 and the corresponding dominoes of the related OSPD problem J 6 J 7 J 8 J 9 18 / 31

  19. An example A 9-job instance of problem F 2 | no − idle , no − wait | C max . j J 1 J 2 J 3 J 4 J 5 J 6 J 7 J 8 J 9 p 1 , j 5 3 4 6 1 5 3 2 4 p 2 , j 3 4 6 1 5 3 2 4 5 and the corresponding OSPD solution J 2 J 3 J 4 J 1 J 5 J 9 J 8 J 7 J 6 19 / 31

  20. An example A 9-job instance of problem F 2 | no − idle , no − wait | C max . i J 1 J 2 J 3 J 4 J 5 J 6 J 7 J 8 J 9 p 1 , i 5 3 4 6 1 5 3 2 4 p 2 , i 3 4 6 1 5 3 2 4 5 and the corresponding oriented multigraph J 7 2 3 J 2 J 8 1 J 6 J 1 4 J 5 J 3 J 9 J 4 6 5 20 / 31

  21. Complexity of F 2 | no-idle, no-wait | C max Proposition Problem F 2 | no − idle , no − wait | C max can be solved in O ( n ) time. Proof. [Sketch] : The generation of the oriented multigraph can be done in linear time and the graph has O ( n ) arcs. Besides, it is known (Fleischner 1991) that computing an Eulerian path in an oriented graph with n arcs can be done in O ( n ) time. 21 / 31

  22. F 2 | no-idle, no-wait | C max vs the Hamiltonian Path problem ◮ Problem F 2 | no − idle , no − wait | C max is also linked to a special case of the Hamiltonian Path problem on a connected digraph. ◮ Consider a digraph G ( V , A ) that has the following property: ∀ v i , v j ∈ V , either S i ∩ S j = ∅ , or S i = S j where we denote by S i the set of successors of vertex v i . ◮ In other words, each pair of vertices either has no common successors or has all successors in common. ◮ We denote the Hamiltonian path problem in that graph as the Common/Distinct Successors Hamiltonian Oriented Path (CDSHOP ∗ ) problem. 22 / 31

  23. F 2 | no-idle, no-wait | C max vs the Hamiltonian Path problem ◮ F 2 | no − idle , no − wait | C max ∝ CDSHOP easily holds. ◮ The CDSHOP problem corresponding to the considered F 2 | no-idle, no-wait | C max instance. J 1 5,3 i p 1 , i p 2 , i J 9 3,4 J 2 J 1 5 3 4,5 J 2 3 4 J 3 4 6 J 8 2,4 4,6 J 3 J 4 6 1 J 5 1 5 J 6 5 3 6,1 J 4 3,2 J 7 J 7 3 2 J 8 2 4 5,3 1,5 J 9 4 5 J 6 J 5 23 / 31

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend