Abstract
This application is motivated by a complex real-world scheduling problem found in the bottleneck workstation of the production line of an automotive safety glass manufacturing facility. The scheduling problem consists of scheduling jobs (glass parts) on a number of parallel batch processing machines (furnaces), assigning each job to a batch, and sequencing the batches on each machine. The two main objectives are to maximize the utilization of the parallel machines and to minimize the delay in the completion date of each job in relation to a required due date (specific for each job). Aside from the main objectives, the output batches should also produce a balanced workload on the parallel machines, balanced job due dates within each batch, and minimal capacity loss in the batches. The scheduling problem also considers a batch capacity constraint, sequence-dependent processing times, incompatible product families, additional resources, and machine capability. We propose a two-phase heuristic approach that combines exact methods with search heuristics. The first phase comprises a four-stage mixed-integer linear program for building the batches; the second phase is based on a Greedy Randomized Adaptive Search Procedure for sequencing the batches assigned to each machine. We conducted experiments on instances with up to 100 jobs built with real data from the manufacturing facility. The results are encouraging both in terms of computing time—5 min in average—and quality of the solutions—less than 10 % relative gap from the optimal solution in the first phase and less than 5 % in the second phase. Additional experiments were conducted on randomly generated instances of small, medium, and large size.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Abbreviations
- MILP:
-
Mixed-integer linear program
- GRASP:
-
Greedy randomized adaptive search procedure
- MES:
-
Manufacturing execution system
- SBPSP:
-
Single batch-processing scheduling problem
- \(\mathcal J \) :
-
Set of jobs
- \(\mathcal H \) :
-
Set of machines
- \(\mathcal I \) :
-
Set of possible batches on any machine
- \(\mathcal C \) :
-
Set of existing additional resource (cast) references
- \(\mathcal B \) :
-
Set of product families
- \(\varOmega \) :
- \(Z_s (s=1, ...,4)\) :
-
Objective function for stage \(s\) in the batching phase
- \(Z_s^*\) :
-
Best objective function value found in stage \(s\) of the batching phase
- \(T(S)\) :
-
Total tardiness incurred by solution \(S\)
- \(\varphi (S)\) :
-
Utilization level penalty for solution \(S\)
- \(f(S)\) :
-
Penalized objective value for solution \(S\)
- \(a_h(S)\) :
-
Real makespan value for machine \(h\) for solution \(S\)
- \(n\) :
-
Number of jobs (glass parts)
- \(h\) :
-
Number of parallel batch processing machines (furnaces)
- \(l_j\) :
-
Width of the part that corresponds to job \(j\)
- \(d_j\) :
-
Due date for job \(j\)
- \(f_j\) :
-
Product family of job \(j\)
- \(w_h\) :
-
Capacity of the batches assigned to machine \(h\)
- \(m_{jh}\) :
-
1 if job \(j\) can be processed in machine \(h;\) 0 otherwise
- \(p_{jh}\) :
-
Processing time for job \(j\) if processed in machine \(h\)
- \(s_c\) :
-
Quantity of available resources for reference \(c\)
- \(r_{jc}\) :
-
1 if job \(j\) requires a cast of reference \(c;\) 0 otherwise
- \(\eta \) :
-
Maximum deterioration allowed for \(Z_1^*\)
- \(\vartheta \) :
-
Maximum deterioration allowed for \(Z_2^*\)
- \(\chi \) :
-
Maximum deterioration allowed for \(Z_3^*\)
- \(ns\) :
-
Number of iterations of the GRASP algorithm
- \(V_h\) :
-
Makespan target value for machine \(h\) for each problem instance
- \(\psi \) :
-
Pre-defined minimum relative utilization level
- \(\lambda \) :
-
Pre-defined threshold for utilization level before stage 4 of the batching phase
- \(x_{jhi}\) :
-
1 if job \(j\) is assigned to batch \(i\) on machine \(h;\) 0 otherwise
- \(y_{hi}\) :
-
1 if any job is allocated to batch \(i\) on machine \(h;\) 0 otherwise
- \(q\) :
-
Maximum workload that is assigned to any machine
- \(g\) :
-
Maximum slack on any batch
- \(s_{hi}\) :
-
Unused capacity (length) of batch \(i\) on machine \(h\)
References
Allahverdi, A., Gupta, J., & Aldowaisan, T. (1999). A review of scheduling research involving setup considerations. Omega: International Journal of Management Science, 27, 219–239.
Armentano, V., & Felizardo, M. (2007). Minimizing total tardiness in parallel machine scheduling with setup times: An adaptive memory-based GRASP approach. European Journal of Operational Research, 183, 100–114.
Barnes, J., & Vanston, L. (1981). Scheduling jobs with linear delay penalties and sequence dependent setup costs. Operations Research, 29, 146–160.
Brucker, P., & Kravchenko, S. (2008). Scheduling jobs with equal processing times and time windows on identical parallel machines. Journal of Scheduling, 11, 229–237.
Chang, P., Chen, Y., & Wang, H. (2005). Dynamic scheduling problem of batch processing machine in semiconductor burn-in operations. Lecture Notes in Computer Science, Proceedings of the ICCSA 2005, Part IV, Singapore.
Chankong, V., & Haimes, Y. (1983). Multiobjective decision making: Theory and methodology. New York: North-Holland.
Chen, B., Deng, X., & Zang, W. (2004). On-line scheduling a batch processing system to minimize total weighted job completion time. Journal of Combinatorial Optimization, 8, 85–95.
Chou, F. D. (2007). A joint GA+DP approach for single burn-in oven scheduling problems with makespan criterion. International Journal of Advanced Manufacturing Technology, 35, 587–595.
Condotta, A., Knust, S., & Shakhlevich, N. (2010). Parallel batch scheduling of equal-length jobs with release and due dates. Journal of Scheduling, 13, 463–477.
Dang, C., & Kang, L. (2004). Batch-processing scheduling with setup times. Journal of Combinatorial Optimization, 8, 137–146.
Detienne, B., Dauzère-Pérès, S., & Yugma, C. (2011). Scheduling jobs on parallel machines to minimize a regular step total cost function. Journal of Scheduling, 14, 523–538.
Du, J., & Leung, J. (1990). Minimizing total tardiness on one machine is NP-hard. Mathematics of Operations Research, 15, 483–495.
Feo, T., & Resende, M. (1995). Greedy randomized adaptive search procedures. Journal of Global Optimization, 6, 109–133.
Feo, T., Sarathy, K., & McGahan, J. (1996). A GRASP for single machine scheduling with sequence dependent setup costs and linear delay penalties. Computers and Operations Research, 23, 881–895.
Fu, R., Tian, J., & Yuan, J. (2009). On-line scheduling on an unbounded parallel batch machine to minimize makespan of two families of jobs. Journal of Scheduling, 12, 91–97.
Garey, M., & Johnson, D. (1979). Computers and intractability: A guide to the theory of NP-completeness. New York: W.H. Freeman.
Graham, R., Lawler, E., Lenstra, J., & Rinnooy, A. (1979). Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics, 5, 287–326.
Hochbaum, D. (1996). Approximation algorithms for NP-hard problems. Boston: PWS Publishing.
Kashan, A., Karimi, B., & Jenabi, M. (2008). A hybrid genetic heuristic for scheduling parallel batch processing machines with arbitrary job sizes. Computers and Operations Research, 35, 1084–1098.
Koh, S., Koo, P., Kim, D., & Hur, W. (2005). Scheduling a single batch processing machine with arbitrary job sizes and incompatible job families. International Journal of Production Economics, 98, 81–96.
Lozano, A., Santa, S., Jiménez, D., & Mejía, G. (2010). Programación de máquinas en paralelo por lotes con familias incompatibles. Technologies in logistics and manufacturing for small and medium enterprises, Proceedings of the 5th International Conference on Production Research (ICPR) Americas 2010, Bogotá, Colombia.
Manjeshwar, P., Damodaran, P., & Srihari, K. (2009). Minimizing makespan in a flow shop with two batch-processing machines using simulated annealing. Robotics and Computer-Integrated Manufacturing, 25, 667–679.
Mathirajan, M., Chandru, V., & Sivakumar, A. (2007). Heuristic algorithms for scheduling heat-treatment furnaces of steel casting industries. Sadhana, 32(5), 479–500.
Mönch, L., Unbehaun, R., & Choung, Y. I. (2006). Minimizing earliness–tardiness on a single burn-in oven with a common due date and maximum allowable tardiness constraint. OR Spectrum, 28, 177–198.
Perez, I., Fowler, J., & Carlyle, M. (2005). Minimizing total weighted tardiness on a single batch process machine with incompatible job families. Computers and Operations Research, 32, 327–341.
Potts, C., & Kovalyov, M. (2000). Scheduling with batching: A review. European Journal of Operational Research, 120, 228–249.
Sefair, J. A., Molano, A., Medaglia, A. L., & Sarmiento, O. L. (2011). Locating neighborhood parks with a lexicographic multiobjective optimization method. Community-Based Operations Research: Decision Modeling for Local Impact and Diverse Populations. Michael P. Johnson (Ed.). International Series in Operations Research and Management Science, 167(2), 143–171.
Shim, S., & Kim, Y. (2006). Scheduling on parallel identical machines to minimize total tardiness. European Journal of Operational Research, 177, 135–146.
Steuer, R. (1989). Multiple criteria optimization: Theory, computation and application. Melbourne: Krieger.
Toth, P., & Vigo, D. (2001). The vehicle routing problem. Philadelphia, PA: Society for Industrial and Applied Mathematics.
Ventura, J., & Kim, D. (2000). Parallel machine scheduling about an unrestricted due date and additional resource constraints. IIE Transactions, 32, 147–153.
Villegas, J. G., Palacios, F., & Medaglia, A. L. (2006). Solution methods for the bi-objective (cost-coverage) unconstrained facility location problem with an illustrative example. Annals of Operations Research, 147(1), 109–141.
Wang, H., & Chou, F. (2010). Solving the parallel batch-processing machines with different release times, job sizes, and capacity limits by metaheuristics. Expert Systems with Applications, 37(2), 1510–1521.
Yalaoui, F., & Chu, C. (2003). An efficient heuristic approach for parallel machine scheduling with job splitting and sequence-dependent setup times. IIE Transactions, 35(2), 183–190.
Zee, D. J., Harten, A., & Schuur, P. C. (2001). On-line scheduling of multi-server batch operations. IIE Transactions, 33, 569–586.
Acknowledgments
This work was partially funded by the Industrial Engineering Department at Universidad de los Andes. We also thank Fair Isaac Corporation for providing us with access to Xpress-MP optimization software under the Academic Partner Program subscribed with Universidad de los Andes.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Lozano, A.J., Medaglia, A.L. Scheduling of parallel machines with sequence-dependent batches and product incompatibilities in an automotive glass facility. J Sched 17, 521–540 (2014). https://doi.org/10.1007/s10951-012-0308-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10951-012-0308-7