Skip to main content
Log in

An open-source framework for solving shop scheduling problems in manufacturing environments

  • Original Research
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

Scheduling problems refer to the decision-making process of allocating tasks to resources, usually scarce and in high demand, to optimize different performance measures. We consider the class of shop scheduling problems arising in the context of manufacturing systems, which are often NP-hard and challenging to solve. Exact methods have limitations in finding optimal solutions in reasonable computation times, even for instances of moderate size. Therefore, in real-life production environments, finding high-quality solutions is often satisfactory, even if they are not optimal. We contribute to the solution of shop scheduling problems with the design and implementation of the SSP-3M framework, oriented by three main guidelines: versatility, extensibility, and independence of the optimization method. These characteristics reduce the gap between scheduling theory and practice in real-life environments and improve the integration of the scheduling framework with other process planning or functions such as Computer-aided Process Planning, Advanced Planning and Scheduling, Integrated Process Planning and Scheduling, and Computer Integrated Manufacturing. The problem and solution representations adopted in our framework design make it possible to handle six shop scheduling problem variants, illustrating its versatility: job shop, flow shop, permutation flow shop, generalized flow shop, flexible flow shop, and flexible job shop. SSP-3M is open-source and can be used by any interested party. Our experimental evaluation shows that it can successfully be integrated with external optimization methods. We claim that SSP-3M is a good choice for companies that need free and quick-to-develop solutions to shop scheduling problems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Data availability

The data that support the findings of this study are available from repositories at http://people.brunel.ac.uk/~mastjjb/jeb/orlib/flowshopinfo.html (Beasley, 2023), http://people.brunel.ac.uk/~mastjjb/jeb/orlib/jobshopinfo.html (Beasley, 2023), and https://people.idsia.ch/~monaldo/fjsp.html (Mastrolilli, 2023). Full numerical results are available at the project repository at https://github.com/cherreram2012/jssp-framework/wiki/Benchmark-results (Márquez, 2023).

References

  • Adams, J., Balas, E., & Zawack, D. (1988). The shifting bottleneck procedure for job shop scheduling. Management Science, 34, 391–401.

    Article  Google Scholar 

  • Agarwal, A., Colak, S., & Eryarsoy, E. (2006). Improvement heuristic for the flow-shop scheduling problem: An adaptive-learning approach. European Journal of Operational Research, 169, 801–815.

    Article  Google Scholar 

  • Applegate, D., & Cook, W. (1991). A computational study of the job-shop scheduling problem. ORSA Journal on Computing, 3, 149–156.

    Article  Google Scholar 

  • Arisha, A., & Young, P. (2001). Job shop scheduling problem: An overview. In International conference for flexible automation and intelligent manufacturing (pp. 682–693). Technological University Dublin.

  • Bagheri, A., Zandieh, M., Mahdavi, I., & Yazdani, M. (2010). An artificial immune algorithm for the flexible job-shop scheduling problem. Future Generation Computer Systems, 26, 533–541.

    Article  Google Scholar 

  • Bahouth, S. (2014). Taxonomy of shop scheduling. Online Reference Available at SSRN https://doi.org/10.2139/ssrn.2447152. Accessed January 8, 2023.

  • Beasley, J. E. (2023). OR-Library: Flow shop scheduling. Online reference at http://people.brunel.ac.uk/~mastjjb/jeb/orlib/flowshopinfo.html. Accessed June 8, 2023.

  • Beasley, J. E. (2023). OR-Library: Job shop scheduling. Online reference at http://people.brunel.ac.uk/~mastjjb/jeb/orlib/jobshopinfo.html. Accessed June 8, 2023.

  • Behnke, D., & Geiger, M. J. (2012). Test instances for the flexible job shop scheduling problem with work centers. Technical Report RR-12-01-01. Helmut-Schmidt Universitat.

  • Bidot, J., Vidal, T., Laborie, P., & Beck, J. C. (2009). A theoretic and practical framework for scheduling in a stochastic environment. Journal of Scheduling, 12, 315–344.

    Article  Google Scholar 

  • Bierwirth, C. (1995). A generalized permutation approach to job shop scheduling with genetic algorithms. OR Spektrum, 17, 87–92.

    Article  Google Scholar 

  • Bierwirth, C., & Mattfeld, D. C. (1999). Production scheduling and rescheduling with genetic algorithms. Evolutionary Computation, 7, 1–17.

    Article  Google Scholar 

  • Blażewicz, J., Ecker, K., Pesch, E., Schmidt, G., & Wȩglarz, J. (2007). Handbook on scheduling: From theory to applications. Springer.

  • Brandimarte, P. (1993). Routing and scheduling in a flexible job shop by tabu search. Annals of Operations Research, 41, 157–183.

    Article  Google Scholar 

  • Brucker, P. (2007). Scheduling algorithms (5th ed.). Springer.

    Google Scholar 

  • Brucker, P., Jurisch, B., & Sievers, B. (1994). A branch and bound algorithm for the job-shop scheduling problem. Discrete Applied Mathematics, 49, 107–127.

    Article  Google Scholar 

  • Buxey, G. (1989). Production scheduling: Practice and theory. European Journal of Operational Research, 39, 17–31.

    Article  Google Scholar 

  • Fang, H., Ross, P., & Corne, D. (1993). A promising genetic algorithm approach to job-shop scheduling, rescheduling, and open-shop scheduling problems. In S. Forrest (Ed.), Proceedings of the fifth international conference on genetic algorithms (pp. 375–382). Morgan Kaufmann.

  • Fisher, H., & Thompson, G. L. (1963). Probabilistic learning combinations of local job shop scheduling rules. In J. F. Muth & G. L. Thompson (Eds.), Industrial scheduling (pp. 225–251). Prentice Hall.

    Google Scholar 

  • Framinan, J. M., & Ruiz, R. (2010). Architecture of manufacturing scheduling systems: Literature review and an integrated proposal. European Journal of Operational Research, 205, 237–246.

    Article  Google Scholar 

  • Framinan, J. M., & Ruiz, R. (2012). Guidelines for the deployment and implementation of manufacturing scheduling systems. International Journal of Production Research, 50, 1799–1812.

    Article  Google Scholar 

  • Fumagalli, L., Macchi, M., Negri, E., Polenghi, A., & Sottoriva, E. (2017). Simulation-supported framework for job shop scheduling with genetic algorithm. In Proceedings of the summer School Francesco Turco (Vol. 2017, pp. 271–278).

  • Giffler, B., & Thompson, G. L. (1960). Algorithms for solving production-scheduling problems. Operations Research, 8, 487–503.

    Article  Google Scholar 

  • Heller, J. (1960). Some numerical experiments for an \({M} \times {J}\) flow shop and its decision-theoretical aspects. Operations Research, 8, 178–184.

    Article  Google Scholar 

  • Holsapple, C. W., Jacob, V. S., Pakath, R., & Zaveri, J. S. (1993). A genetics-based hybrid scheduler for generating static schedules in flexible manufacturing contexts. IEEE Transactions on Systems, Man, and Cybernetics, 23, 953–972.

    Article  Google Scholar 

  • King, J. R. (1976). The theory-practice gap in job-shop scheduling. The Production Engineer, 55, 137–143.

    Article  Google Scholar 

  • Lau, H. Y. K., & Qiu, X. (2014). An artificial immune systems (AIS)-based unified framework for general job shop scheduling. IFAC Proceedings Volumes, 47, 6186–6191.

    Article  Google Scholar 

  • Lawrence, S. (1984). Resource constrained project scheduling: An experimental investigation of heuristic scheduling techniques (Supplement). Technical report. Carnegie-Mellon University.

  • Lee, C.-Y., Piramuthu, S., & Tsai, Y.-K. (1997). Job shop scheduling with a genetic algorithm and machine learning. International Journal of Production Research, 35, 1171–1191.

    Article  Google Scholar 

  • Liu, W., Jin, Y., & Price, M. (2017). A new improved NEH heuristic for permutation flowshop scheduling problems. International Journal of Production Economics, 193, 21–30.

    Article  Google Scholar 

  • Liu, W., Ma, W., Hu, Y., Jin, M., Li, K., Chang, X., & Yu, X. (2019). Production planning for stochastic manufacturing/remanufacturing system with demand substitution using a hybrid ant colony system algorithm. Journal of Cleaner Production, 213, 999–1010.

    Article  Google Scholar 

  • Márquez, C. R. H. (2023). Benchmark results for the SSP-3M framework. Online reference at https://github.com/cherreram2012/jssp-framework/wiki/Benchmark-results. Accessed June 5, 2023.

  • Márquez, C. R. H. (2023). SSP-3M framework repository. Online reference at https://github.com/cherreram2012/jssp-framework. Accessed June 5, 2023.

  • Márquez, C. R. H., & Ribeiro, C. C. (2022). Shop scheduling in manufacturing environments: A review. International Transactions in Operational Research, 29, 3237–3293.

    Article  Google Scholar 

  • Mastrolilli, M. (2023). Flexible Job Shop Problem. Online reference at https://people.idsia.ch/~monaldo/fjsp.html. Accessed June 8, 2023.

  • McKay, K. N., & Buzacott, J. A. (2000). Application of computerized production control systems in job shop environments. Computers in Industry, 42, 79–97.

    Article  Google Scholar 

  • Nawaz, M., Enscore, E. E., & Ham, I. (1983). A heuristic algorithm for the \(m\)-machine, \(n\)-job flow-shop sequencing problem. Omega, 11, 91–95.

    Article  Google Scholar 

  • Pfeiffer, A., Kádár, B., & Monostori, L. (2006). Stability-oriented evaluation of rescheduling strategies, by using simulation. Computers in Industry, 35, 563–570.

    Google Scholar 

  • Pinedo, M. L. (2012). Scheduling: Theory, algorithms and systems. Springer.

    Book  Google Scholar 

  • Pinedo, M., & Yen, B. P. C. (1997). On the design and development of object-oriented scheduling systems. Annals of Operations Research, 70, 359–378.

    Article  Google Scholar 

  • Pongcharoen, P., Hicks, C., & Braiden, P. M. (2004). The development of genetic algorithms for the finite capacity scheduling of complex products, with multiple levels of product structure. European Journal of Operational Research, 152, 215–225.

    Article  Google Scholar 

  • Reisman, A., Kumar, A., & Motwani, J. (1997). Flowshop scheduling/sequencing research: A statistical review of the literature, 1952–1994. IEEE Transactions on Engineering Management, 44, 316–329.

    Article  Google Scholar 

  • Resende, M. G. C., & Ribeiro, C. C. (2016). Optimization by GRASP: Greedy randomized adaptive search procedures. Springer.

  • Resende, M. G. C., Ribeiro, C. C., Glover, F., & Martí, R. (2010). Scatter search and path-relinking: Fundamentals, advances, and applications. In M. Gendreau & J.-Y. Potvin (Eds.), Handbook of metaheuristics, 2nd edn (pp. 87–107). Springer.

  • Resende, M. G. C., & Ribeiro, C. C. (2005). GRASP with path-relinking: Recent advances and applications. In T. Ibaraki, K. Nonobe, & M. Yagiura (Eds.), Metaheuristics: Progress as real problem solvers (pp. 29–63). Springer.

    Chapter  Google Scholar 

  • Ribeiro, C. C., & Resende, M. G. C. (2012). Path-relinking intensification methods for stochastic local search algorithms. Journal of Heuristics, 18, 193–214.

    Article  Google Scholar 

  • Romero-Silva, R., Santos, J., & Hurtado, M. (2015). A framework for studying practical production scheduling. Production Planning & Control, 26, 438–450.

    Article  Google Scholar 

  • Roy, B., & Sussmann, B. (1964). Les problemes d’ordonnancement avec contraintes disjonctives. Technical report. SEMA.

  • Salido, M. A., Escamilla, J., Barber, F., & Giret, A. (2017). Rescheduling in job-shop problems for sustainable manufacturing systems. Journal of Cleaner Production, 162, 121–132.

    Article  Google Scholar 

  • Sun, D., & Lin, L. (1994). A dynamic job shop scheduling framework: A backward approach. International Journal of Production Research, 32, 967–985.

    Article  Google Scholar 

  • Taillard, E. (1993). Benchmarks for basic scheduling problems. European Journal of Operational Research, 64, 278–285.

    Article  Google Scholar 

  • Vieira, G. E., Herrmann, J. W., & Lin, E. (2003). Rescheduling manufacturing systems: A framework of strategies, policies, and methods. Journal of Scheduling, 6, 39–62.

    Article  Google Scholar 

  • Wall, M. (1996). GAlib: A C++ Library of genetic algorithm components. Online reference at http://lancet.mit.edu/ga/. Accessed May 7, 2023.

  • Xia, W.-J., & Wu, Z.-M. (2006). A hybrid particle swarm optimization approach for the job-shop scheduling problem. The International Journal of Advanced Manufacturing Technology, 29, 360–366.

    Article  Google Scholar 

  • Yamada, T. (2003). Studies on metaheuristics for jobshop and flowshop scheduling problems. PhD thesis, Kyoto University.

  • Yen, B. P. C., & Pinedo, M. (1994). On the design and development of scheduling systems. In Proceedings of the fourth international conference on computer integrated manufacturing and automation technology (pp. 197–204). IEEE Computer Society Press.

Download references

Acknowledgements

The work of Celso C. Ribeiro was supported by research grants CNPq 309869/2020-0 and FAPERJ E-26/200.926/2021. Vanessa Braganholo was supported by research grant CNPq 305020/2019-6.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Celso C. Ribeiro.

Ethics declarations

Conflict of interest

The authors have no conflict of interest to declare that are relevant to the content of this article.

Software availability statement

The open-source, ready-to-use framework SSP-3M coded in C++ is available at the project repository at https://github.com/cherreram2012/jssp-framework (Márquez, 2023).

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A: Greedy randomized G &T algorithm

Appendix A: Greedy randomized G &T algorithm

The greedy randomized G &T algorithm of Giffler and Thompson (1960) takes as input the set of jobs \(J=\{J_1,\ldots ,J_n\}\), the set of machines \(M=\{M_1,\ldots ,M_m\}\), and, for each job \(J_i\), \(i=1,\ldots ,n\), the number of operations \(\#op(i)\) to be processed, a list \(L^i = [L^i[1],\ldots ,L^i[\#op(i)]]\) with the sequence of machines where it has to be processed, and the processing times \(p_{i,1},\ldots ,p_{i,\#op(i)}\) of each operation. The algorithm outputs a schedule represented by an operation sequence (possibly with repetitions), with each operation defined by a job, a machine, and the time this job should start to be processed in this machine. The main steps of its pseudo-code appear in Algorithm 1, which is our formalization of the original algorithm textually described in Giffler and Thompson (1960).

Line 1 initializes the set A that stores the candidate operations, i.e., those that are ready to be scheduled. Each iteration \(i=1,\ldots ,n\) of the loop in lines 2 to 6 places the first operation of job \(J_i\) in the candidate set A in line 3 and sets its starting time to 0 in line 4. Line 5 sets to 1 the position of the first operation of job \(J_i\) ready to be scheduled. Line 7 sets to 0 the counter of scheduled operations. The while loop in lines 8 to 20 runs until all operations are scheduled. Line 9 selects from the candidate set A the operation \(o_{i',k'}\) with the shortest completion time, corresponding to the execution of job \(J_{i'}\) in machine \(M_{k'}\). Line 10 creates the set \(B \subseteq A\) formed by the candidate operations that guarantee the construction of an active schedule. It contains all operations that use machine \(M_{k'}\) and may start before the shortest completion time determined in line 9. Line 11 randomly selects an operation \(o_{i^*,k^*}\) from B. Line 12 removes the newly selected operation from the candidate set A. Line 13 updates the counter of scheduled operations, and line 14 schedules operation \(o_{i^*,k^*}\) in this position of the operation sequence. Line 15 checks if operation \(o_{i^*,k^*}\) is not the last of job \(J_{i^*}\). In this case, line 16 updates the position of the subsequent operation of job \(J_{i^*}\) ready to be scheduled. Line 17 adds the next operation of job \(J_i\) to the candidate set A, and its starting time is set to the completion time of operation \(o_{i^*,k^*}\) in line 18. Line 21 returns the schedule represented as an operation sequence.

Algorithm 1
figure a

G &T algorithm

We remark that other dispatching rules can be used at step 11 instead of a simple random choice, such as shortest processing time (SPT), longest processing time (LPT), start as-early-as-possible (SEP), earliest completion time (ECT), earliest due date (EDD), longest number of successors (LNS), and shortest number of successors (SNS). They all lead to active schedules and different variants of the algorithm (Pfeiffer et al., 2006).

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Márquez, C.R.H., Braganholo, V. & Ribeiro, C.C. An open-source framework for solving shop scheduling problems in manufacturing environments. Ann Oper Res (2024). https://doi.org/10.1007/s10479-024-05995-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10479-024-05995-6

Keywords

Navigation