Published on

14-Dec-2014View

624Download

0

Embed Size (px)

DESCRIPTION

Transcript

- 1. Job Shop Scheduling with Setup Times,Deadlines and Precedence Constraints Universite Paris-Dauphine Alkis Vazacopoulos **Joint work with Egon Balas and Neil Simonetti
- 2. The Problem Set of Jobs Set of Machines Each machine can handle at most one job at a time Each Job is a set of operations Each Operation requires uninterrupted processing on a given machine for a fixed amount of time di* There are sequence dependent setup times cij* Objective is to minimize makespan
- 3. Job Shop Scheduling 3 4 2 JOB 1Operation JOB 2 1 5 6 7 8 JOB 3 10 9
- 4. Job Shop Scheduling Problem 4 Disjunction 3 2 d2+c2,10 d10+c10,21 5 6 7 11 8 10 9 Machines
- 5. Job Shop Scheduling Problem d5 + c53 3 4 21 5 6 7 11 8 10 9
- 6. Job Shop Scheduling 3 4 Critical 2 Path1 5 6 7 11 8 10 Acyclic 9 Longest Path
- 7. Shifting Bottleneck Procedure Adams Balas and Zawack 1988 Balas, Lenstra, Vazacopoulos (using delayed precedence Constraints) Balas, Vazacopoulos (Guided Local Search) Balas, Lancia, Serafini, Vazacopoulos (Job shop Scheduling with Deadlines, Release times and Downtimes) Balas, Simonetti, Vazacopoulos (Jobshop with Setup Times)
- 8. Shifting Bottleneck Procedure Let M0 be the set of machines already sequenced Step 1. Identify a bottleneck machine m among the machines k in M M0. Set M0= M0U{m} and go to 2 Step 2. Reoptimize the current partial schedule. If M0= M, stop; otherwise goto step 1.
- 9. Shifting Bottleneck Find Bottleneck 4 Machine 3 21 5 6 7 11 8 10 9
- 10. One Machine Problem 21 6 7 11 10
- 11. Shifting Bottleneck Bottleneck 3 4 21 5 6 7 11 8 10 9
- 12. Shifting Bottleneck 3 4 Bottleneck 21 5 6 7 11 8 10 9
- 13. Shifting Bottleneck Bottleneck 3 4 21 5 6 7 11 8 10 9
- 14. One-Machine Scheduling as a Traveling Salesman Problem Jobs to be scheduled are the nodes of the Traveling Salesman Problem. The cost cij of traveling from node i to node j is processing time of job i plus the setup time required for the transition from job i to job j. A dummy node is added (with costs of zero) which is used as the home city, where the traveling salesman tour will begin and end.
- 15. Dynamic Program for the Traveling Salesman Problem (TSP) Designate a home city (1). Subproblem: P(i, A) = length of the shortest path from the home city to city i, using the cities in set A. Relationship: P(1,{1}) = 0. P(i, A) = min jA{i} (P(j, A{i}) + cji) Exponential number of subproblems.
- 16. Strong Precedence Constraint Given an initial ordering of cities (1, 2, 3, , n) and a constant k, if city i comes k or more places before city j in the initial ordering, then city i comes before city j in the final tour. This limits the number of subproblems to k O (2 n)
- 17. TSP with Time Windows Strong precedence constraints of this type appear in time window problems, including those generated from single- machine scheduling problems. Narrower time windows require smaller values of k.
- 18. Heuristic Application If the required value of k is too large to be practical (because of time or space), a smaller k can be used as a heuristic. The dynamic program will search an exponentially large neighborhood of solutions.
- 19. Constructing Time Windows Given release times, rj, due dates, qj, and processing times, pj, for each job j, and a target makespan M, the time window for job j is: [rj, M pj qj] The dynamic program can be used as an oracle to answer the decision problem: Is there a feasible one-machine schedule with makespan M?
- 20. Finding the Best Makespan In theory, a binary search will find an optimal makespan M in log(M) steps. In practice, it takes fewer than log(M) steps to find M by stepping down the target makespan at each step. A smaller k can be used to solve the easier problems during the first few steps.
- 21. Delayed Precedence Constraints A delayed precedence constraint is a constraint of the form: Job i must start at least d time units after job j is completed. The states of the dynamic program cannot distinguish when previous cities have been visited, so this cannot be strictly enforced by the algorithm.
- 22. Another Heuristic Increasing cij to d will enforce the delayed precedence constraint when jobs i and j are consecutive, but the solution may not be optimal if i and j are not consecutive. In practice, the quality of solutions is still very good.
- 23. Test Problems Classical job-shop scheduling problems from Ovacik and Uzsoy. (960 problems) Semiconductor scheduling problems from Ovacik and Uzsoy. (1920 problems) Reentrant Flowshop scheduling problems from Ovacik and Uzsoy. (1800 problems) Job-shop scheduling problems from Brucker and Thiele, created by adding setup times to problems from Adams, Balas, and Zawack. (17 problems)
- 24. Adding Guided Local Search After the reoptimization phase we apply Guided Local Search procedure (Balas and Vazacopoulos (modified for our problem)
- 25. Compare with and without Local search Js305 , k =15 Avg. of Maximum Lateness (avg. CPU time) Jobs - Mach. - With local search - Without Local seacrh 10 5 360.20 (1.86) 421.95 (0.31) 20 5 91.0 (61.43) 150.75 (14.39) 20 15 1531.45 (114.30) 1895.85 (27.26) 20 20 2070.50 (109.88) 2702.55 (26.63)
- 26. Classical Jobshop Problems
- 27. Semiconductor data sets Problems from Ovacik and Uzsoy Description Semiconductor testing facility A number of testing workcenter and a brand workcenter (post-burn portion of a large testing facility) Processing and setup times were derived from data in the actual facility
- 28. Semiconductor Problems
- 29. Reentrant Flowshop Scheduling Data Sets Problems from Ovacik and Uzsoy Description Semiconductor testing facility A number of testing workcenter and a brand workcenter (post-burn portion of a large testing facility) Processing and setup times were derived from data in the actual facility Reentrant (jobs reenter the facility)
- 30. Reentrant Flowshop Results
- 31. Results Type of problems Better solution Found Classical Problems 958 / 960 Semiconductor Problems 1311 / 1920 Reentrant Flowshop Prob. 1785 / 1800
- 32. Brucker and Thiele Problems We compare with - Brucker and Thieles method: Branch and bound method - Focacci, Laborie Nuijten: A method based on Constrained programming - Buscaylet and Artigues: A tabu seacrh method
- 33. Brucker and Thiele Problems Problem Size Best Known SB-GLS t2-ps01 10x5 798(opt) 815(1.9) t2-ps03 10x5 749(opt) 771(1.8) t2-ps05 10x5 691(opt) 693(1.2) t2-ps12 20x5 1448 1369(41) t2-ps13 20x5 1575 1439(68) t2-pss12 20x5 1359 1305(49) t2-pss13 20x5 1463 1409(55) 360Mhz processor.
- 34. Randomized Local Search Apply SB-RGLSh: Delete a number of machines (randomly) and reintroduce them using the shifting bottleneck procedure Apply this procedure after SB-GLS for h times (h = 10 In our case)
- 35. Randomized Shifting Bottleneck Original SBP: Step 1. Identify a bottleneck machine m among the machines k in M M0. Set M0= M0U{m} and go to 2Randomized SBPSelect randomly machine k in M M0. Set M0= M0U{m} and go to 2
- 36. Brucker and Thiele Problems Randomized Local Search finds better solutions but is computationally expensive. Problem Size Best Known SB-GLS SB-RGLS t2-ps01 10x5 798(opt) 815(1.9) 798(358) t2-ps03 10x5 749(opt) 771(1.8) 749(834) t2-ps05 10x5 691(opt) 693(1.2) 693(248) t2-ps12 20x5 1448 1369(41) 1305(2173) t2-ps13 20x5 1575 1439(68) 1439(2468) t2-pss12 20x5 1359 1305(49) 1290(2062) t2-pss13 20x5 1463 1409(55) 1398(1875) 360Mhz processor.
- 37. Brucker and Thiele Problems
- 38. Conclusions A new Shifting Bottleneck Procedure for the Jobshop Scheduling problem with Setup Tested in several large sets of problems and has provided new upper bounds for several problems