Journal of Scheduling

, Volume 17, Issue 6, pp 521–540 | Cite as

Scheduling of parallel machines with sequence-dependent batches and product incompatibilities in an automotive glass facility



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.


Parallel batch-processing machines  Incompatible product families Sequence-dependent processing times MILP GRASP 

List of Symbols



Mixed-integer linear program


Greedy randomized adaptive search procedure


Manufacturing execution system


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 \)

Set of constraints (2) through (8)

Objective functions and objective function values

\(Z_s (s=1, ...,4)\)

Objective function for stage \(s\) in the batching phase


Best objective function value found in stage \(s\) of the batching phase


Total tardiness incurred by solution \(S\)

\(\varphi (S)\)

Utilization level penalty for solution \(S\)


Penalized objective value for solution \(S\)


Real makespan value for machine \(h\) for solution \(S\)



Number of jobs (glass parts)


Number of parallel batch processing machines (furnaces)


Width of the part that corresponds to job \(j\)


Due date for job \(j\)


Product family of job \(j\)


Capacity of the batches assigned to machine \(h\)


1 if job \(j\) can be processed in machine \(h;\) 0 otherwise


Processing time for job \(j\) if processed in machine \(h\)


Quantity of available resources for reference \(c\)


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^*\)


Number of iterations of the GRASP algorithm


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

Decision variables


1 if job \(j\) is assigned to batch \(i\) on machine \(h;\) 0 otherwise


1 if any job is allocated to batch \(i\) on machine \(h;\) 0 otherwise


Maximum workload that is assigned to any machine


Maximum slack on any batch


Unused capacity (length) of batch \(i\) on machine \(h\)



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.


  1. Allahverdi, A., Gupta, J., & Aldowaisan, T. (1999). A review of scheduling research involving setup considerations. Omega: International Journal of Management Science, 27, 219–239.CrossRefGoogle Scholar
  2. 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.CrossRefGoogle Scholar
  3. Barnes, J., & Vanston, L. (1981). Scheduling jobs with linear delay penalties and sequence dependent setup costs. Operations Research, 29, 146–160.CrossRefGoogle Scholar
  4. Brucker, P., & Kravchenko, S. (2008). Scheduling jobs with equal processing times and time windows on identical parallel machines. Journal of Scheduling, 11, 229–237.CrossRefGoogle Scholar
  5. 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.Google Scholar
  6. Chankong, V., & Haimes, Y. (1983). Multiobjective decision making: Theory and methodology. New York: North-Holland.Google Scholar
  7. 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.CrossRefGoogle Scholar
  8. 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.CrossRefGoogle Scholar
  9. 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.CrossRefGoogle Scholar
  10. Dang, C., & Kang, L. (2004). Batch-processing scheduling with setup times. Journal of Combinatorial Optimization, 8, 137–146.CrossRefGoogle Scholar
  11. 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.CrossRefGoogle Scholar
  12. Du, J., & Leung, J. (1990). Minimizing total tardiness on one machine is NP-hard. Mathematics of Operations Research, 15, 483–495.CrossRefGoogle Scholar
  13. Feo, T., & Resende, M. (1995). Greedy randomized adaptive search procedures. Journal of Global Optimization, 6, 109–133.CrossRefGoogle Scholar
  14. 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.CrossRefGoogle Scholar
  15. 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.CrossRefGoogle Scholar
  16. Garey, M., & Johnson, D. (1979). Computers and intractability: A guide to the theory of NP-completeness. New York: W.H. Freeman.Google Scholar
  17. 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.CrossRefGoogle Scholar
  18. Hochbaum, D. (1996). Approximation algorithms for NP-hard problems. Boston: PWS Publishing.Google Scholar
  19. 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.CrossRefGoogle Scholar
  20. 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.CrossRefGoogle Scholar
  21. 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.Google Scholar
  22. 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.CrossRefGoogle Scholar
  23. Mathirajan, M., Chandru, V., & Sivakumar, A. (2007). Heuristic algorithms for scheduling heat-treatment furnaces of steel casting industries. Sadhana, 32(5), 479–500.CrossRefGoogle Scholar
  24. 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.CrossRefGoogle Scholar
  25. 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.CrossRefGoogle Scholar
  26. Potts, C., & Kovalyov, M. (2000). Scheduling with batching: A review. European Journal of Operational Research, 120, 228–249.CrossRefGoogle Scholar
  27. 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.Google Scholar
  28. Shim, S., & Kim, Y. (2006). Scheduling on parallel identical machines to minimize total tardiness. European Journal of Operational Research, 177, 135–146.CrossRefGoogle Scholar
  29. Steuer, R. (1989). Multiple criteria optimization: Theory, computation and application. Melbourne: Krieger.Google Scholar
  30. Toth, P., & Vigo, D. (2001). The vehicle routing problem. Philadelphia, PA: Society for Industrial and Applied Mathematics.Google Scholar
  31. Ventura, J., & Kim, D. (2000). Parallel machine scheduling about an unrestricted due date and additional resource constraints. IIE Transactions, 32, 147–153.Google Scholar
  32. 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. Google Scholar
  33. 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.CrossRefGoogle Scholar
  34. 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.Google Scholar
  35. Zee, D. J., Harten, A., & Schuur, P. C. (2001). On-line scheduling of multi-server batch operations. IIE Transactions, 33, 569–586.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.Departamento de Ingeniería Industrial, Centro para la Optimización y Probabilidad Aplicada (COPA)Universidad de los AndesBogotáColombia

Personalised recommendations