Introduction
Scheduling is the allocation of resources to perform a collection of tasks over a period of time. Scheduling problems determine the order or sequence for processing a set of jobs through several machines in an optimal manner. FSS problems consider m different machines and n jobs; each job consists of m operations and each operation requires a different machine and all the jobs are processed in the same processing order.
The problem to be solved is a FSS problem with the assumption that the orders are ready at the start of the scheduling process. The objective of the problem is to minimize the total weighted tardiness of orders. The constraints are on the sequence of orders, on the sequence of operations in the orders, and on machine changeover time.
The model of the problem is built based on the above assumptions, objectives, and constraints. A TS model is built. Based on the model of the problem, the TS model will find a good solution for the problem, which will be compared with the solution of the currently used heuristic model to evaluate the effectiveness of the TS model.
Literature review and research methodology
Flow shop scheduling FSS problems
Flow shop scheduling problems consider different machines and different jobs. Each job consists of different operations and each operation requires a different machine and all the jobs are processed in the same processing order (1).
Flow shop scheduling is categorized as an NP-hard problem, so it is difficult to develop algorithms to solve it (2). Jatinder N. D. Gupta, Nagarajan Palanim Uthu, and Chuen-Lung Chen designed a tabu search-based heuristic for the two-stage flow shop problem with the makespan minimization as the primary criterion and the minimization of total flow time as the secondary criterion (3). Moch Saiful Umam, Mustafid Mustafid, and Suryono Suryono combined the tabu search process with a genetic algorithm to solve flow shop scheduling problem with the objective of minimizing makespan (2). Anna Burduk, Kamil Musiał, Joanna Kochańska, Dagmara Górnicka, and Anastasia Stetsenko applied tabu Search and genetic algorithm to solve production process scheduling problems and found that intelligent methods can find, in relatively short time, the solution that is close to the optimal and acceptable from the problem point of view (4).
Tabu search
According to Farhad Kolahan et al. (5), heuristic algorithms are widely used to solve very large and complicated optimization problems, in recent years, and Tabu Search (TS) is one of the most efficient neighborhood search algorithms.
Tabu search (TS), suggested by Glover and Laguna in 1997, is one of the most popular meta-heuristics to find solutions of various combinatorial optimization problems. TS guides a local search procedure to explore the solution space beyond local optimality.
In order to apply TS to a problem, generally the solution space of the problem is represented by a population of codes. An evaluation value is associated with each code. The evaluation function is a measure of the extent to which the objective of the problem is achieved. The Fbest value is the best evaluation value, found during the search.
TS allows intelligent problem solving by the incorporation of adaptive memory and responsive exploration. Key elements of the search path are selectively remembered and strategic choices are made to guide the search out of local optima and into diverse regions.
However, considering every possible move from the current solution may be extremely time consuming and computationally expensive. In order to avoid cycling and becoming trapped in local optima, certain moves that lead to previously explored regions are forbidden. Attributes of recently visited solutions are set to be tabu for a certain number of iterations, and these moves are stored in the tabu list. Elements of tabu list define all tabu moves that cannot be applied to the current solution. The size of tabu list is bounded by a parameter. The tabu status of a move may be canceled, making it an allowable move if an aspiration criterion is satisfied. A tabu move can always be allowed to be chosen if it creates a solution better than the incumbent best solution.
A typical TS implementation starts from an initial solution and moves from the current solution to the best one among its neighborhoods at each iteration, even if this new solution is worse than the one available, until a pre-specified termination rule becomes true.
Research methodology
FSS problem is a NP hard problem with a large size of solution space. The methodology, used in this research to solve the problem, includes 2 phases (1):
- Phase A: Construct the model of the problem.
- Phase B: Use TS model to solve the problem.
In phase A, the model of the problem is formulated with the objective of minimizing the total weighted tardiness time and constraint on operation changeover time.
Based on the model of the problem, a TS model is used to solve the problem in phase B. The TS procedure (1) is as follows:
Step 1: Initialize the TS model.
Step 2: Generate the initial solution S0. Set k = 0.
Step 3: Generate the neighborhood population PN(k).
Step 4: Find the next solution Sk+1. Set k = k + 1,
Step 5: Check the termination rule. If No, return to step 3. If Yes, finish the loop.
Step 1 initializes the TS model by setting up the structure and parameters of the TS model, including the method of coding, the TS factors, and the termination rule.
For coding, the orders are numbered from 1 to n (n is the total number of orders), each code is a string of n numbers. Each number corresponds to an order. The sequence of numbers Gi, i = 1÷n, represents the sequence of orders scheduled.
The TS factors include the evaluation function, the current best value, the TS operators, and the tabu list. The evaluation function is defined according to the objective function of the problem, is used to evaluate scheduling codes. The current best value Tbest is the best objective value, updated after each iteration.
The TS operators include the neighborhood and search operators. Tabu list is defined by tabu members and tabu list size. Tabu members are moves in the previous loops. Tabu list size is a parameter of the algorithm. Tabu list is updated after each iteration.
The termination rule in this research: The best objective value Tbest does not improve after a specific number of consecutive iterations.
Step 2 generates the initial solution S0. A good initial solution will be a good starting point for the search. The initial solution is often chosen by heuristic methods, SPT, LPT, EDD. In this research, the initial solution is generated by the best heuristic method that gives the best objective value. This steps also starts the algorithm by setting the iteration counting index k to 0.
Step 3 uses neighborhood operator to generate the neighborhood population PN(k) from the current string Sk. This research uses SWAP as the neighborhood operator. SWAP uses the method of permutation of adjacent numbers in the string to find the neighborhood. For a string with n numbers, SWAP will generate n-1 neighboring strings.
Step 4 finds the next solution Sk+1 from the neighborhood population PN(k) by using the search operator. The search operator relies on the objective function and the tabu list to find the best solution in the neighborhood region, the chosen solution must not violate the tabu list. This solution will be selected for the next iteration, if any. This step also updates the tabu list and the current best Tbest if the objective value of the solution is better than the current Tbest. This step also increases the iteration counting index k by 1 to prepare for the next iteration, if any.
Step 5 checks the termination rule. The algorithm usually terminates after a number of iterations if the objective function is not improved. If the termination rule is not met, the algorithm returns to step 3 for the next iteration. If the termination rule is met, the iteration loop is stopped.
The research methodology of the TS model is shown in the following sections.
The model flow shop scheduling problem
The problem to be solved is a FSS problem (1) with 10 orders, Oi, i = 1÷10, scheduling on 4 machines, M1, M2, M3, M4. Each order has 3 parts, P1, P2, P3, processed in 8 operations, Oj, j = 1÷8, distributed on the 4 machines as in Figure 1.
The weight Wi, i = 1÷10, and the due date Di, i = 1÷10, of order i are estimated in Table 1.
The processing time Pij of order i, i = 1÷10, on operation j, j = 1÷8, are estimated in Table 2.
The changeover times in hours on operation j, j = 4÷8 are equal to 0, Sj = 0, j = 4÷8. The changeover times in hours on operation j, j = 1÷3 are the same and depend on the current order i = 1÷10, and the next order, i’ = 1÷10, as shown in Table 3.
The model is set up with variables TSij being the start time, TEij being the completion time of order i at operation j, and Ti being the tardiness time of order i. The constraints on the sequence of operation on each order are as follows.
The start time of order i at operation j, TSij depends on the end time of the previous order i’, TEi’j and the changeover time between the orders on operation j.
The end time of order i on operation j, TEij, is determined by the start time and processing time of the order.
The tardiness time of order i, Ti, is determined by the end time in the last operation and due time of the order.
The objective function that minimizes the total tardiness is defined as follows.
The company is currently using the EDD dispatching method. The sequence of dispatching S and the value of the objective function are as follows:
The Gantt Chart is as in Figure 2.
The TS model for the flow shop scheduling problem
The above FSS problem is a NP hard problem with the size of the solution space of 10! or 3,628,800. The above TS model is used to solve the problem with following steps.
Step 1: Initialize the TS model
This step sets up the method of coding, the TS factors, and the termination rule.
The method of coding: The orders are numbered from 1 to 10. Each code is a string of 10 numbers. Each number corresponds to an order. The sequence of numbers Gi, i = 1÷10 represents the sequence of order scheduled. For example, the string of EDD scheduling method is as follows.
The TS factors include the evaluation function, the current best value, the parameters of the TS operators, and the Tabu List as shown in Table 4.
The termination rule: The best objective value Tbest does not improve after 10 consecutive iterations.
Step 2: Generate the initial solution S0, set k = 0
A good initial solution will be a good starting point for the search. With the objective of minimizing tardiness time, the initial solution is selected from the EDD method. The strings and its corresponding objective values are as follows.
The initial tabu list TL and the current best value are as follows.
From the initial solution S0, iteration 1 is executed with steps 3, 4, and 5.
Iteration 1
Step 3: Generate the neighborhood population PN(0)
This step uses the neighborhood operator SWAP to generate the neighborhood population PN(0) from the current string S0.
The strings in neighborhood population PN(0) and their objective values are shown in Table 5.
Step 4. Find the next solution S1
This step uses the search operator to find the next solution S1 that is the best solution in the neighborhood population PN(0), and does not violate the current tabu list. The strings in the neighborhood population PN(0), and their corresponding tabu members TM are shown in Table 6.
From Table 6, the best string in the neighboring population PN(0) without violating tabu list and its objective value are as follows.
This string is selected as the next solution for the next iteration, if any.
The tabu list and the current best Tbest are updated as follows.
Step 5. Check the termination rule
After iteration 1, S1 is the best string with the best objective value of 175.65, appearing only once. The termination rule is not satisfied, so iteration 2 is executed.
Iteration 2
Step 3: Generate the neighborhood population PN(1)
This step uses the neighborhood operator SWAP to generate the neighborhood population PN(1) from the current string S1.
The strings in neighborhood population PN(1) and their objective values are shown in Table 7.
Step 4. Find the next solution S2
This step uses the search operator to find the next solution S2 that is the best solution in the neighborhood population PN(1), and does not violate the current tabu list. The strings in the neighborhood population PN(1), and their corresponding tabu members TM are shown in Table 8.
From Table 8, string N9 in PN(1) violates tabu list. The best string in the neighboring population PN(1) without violating tabu list and its objective value are as follows.
This string is selected as the next solution for the next iteration, if any.
The tabu list is updated as follows.
The objective value of the best string in this iteration is 135.60, smaller than the current best value, so Tbest is updated as follows.
Step 5. Check the termination rule
After iteration 2, S2 is the best string with the best objective value of 135.60, appearing only once. The termination rule is not satisfied, so iteration 3 is executed.
Iteration 3
Step 3: Generate the neighborhood population PN(2)
This step uses the neighborhood operator SWAP to generate the neighborhood population PN(2) from the current string S2.
The strings in neighborhood population PN(2) and their objective values are shown in Table 9.
Step 4. Find the next solution S3
This step uses the search operator to find the next solution S3 that is the best solution in the neighborhood population PN(2), and does not violate the current tabu list. The strings in the neighborhood population PN(2), and their corresponding tabu member are shown in Table 10.
From Table 10, strings N4, and N9 in PN(2) violate the tabu list. The best string in the neighboring population PN(2) without violating the tabu list and its objective value are as follows.
This string is selected as the next solution for the next iteration, if any.
The tabu list is updated as follows.
The objective value of the best string in this iteration is 149.12 bigger than the current best value 135.60, then Tbest remains the same.
Step 5. Check the termination rule
After iteration 3, S3 is the best string in PN(2) with the objective value of 149.12, but S2 is still the best string with the best objective value of 135.60, appearing only twice. The termination rule is not satisfied, so iteration 4 is executed.
The result after 27 iterations is as in Table 11.
The best objective value Tbest remains the same from the 17th iteration to the 27th iteration, the termination rule is satisfied, the algorithm ends. The best scheduling string and its objective value are as follows.
The objective value according to TS model (123.07 h) is better than the objective value according to the EDD heuristic currently used (215.95 h).
Conclusion
The Flow Shop Scheduling Problem with 10 orders on 4 machines has been formulated with the objective of minimizing the total weighted tardiness time and constraint on changeover time in operations. The TS model has been developed and used to solve the problem. The results show that the TS model is better than the heuristic EDD method being used. The objective value has reduced by 43% from 215.95 (h) to 123.07 (h).
However, the factors of the model, including the method for defining the initial solution, factors of neighborhood operator, search operator, tabu list size, the method and parameter of the termination rule, are only selected empirically, so the results are not very good. Future research is to use experimental design DOE to determine the model factors to get better results. Further research is to use the model for larger numbers of orders.
Moreover, TS is a local search method, if it combines with another global search method like Genetic Algorithm, the result would be better in terms of quality, better objective value, and cost, smaller number of iterations.
Author contributions
Both authors have made a substantial, direct, and intellectual contribution to the work, and approved it for publication.
References
1. Nhu PN, Nhi T, Thi N. Application of TSGA, a hybrid mega heuristic model, to solve flow shop scheduling problems with changeover times in operations. A case study. Proceeding of the 4 th International Conference on Advanced Convergence Engineering (ICACE 2023) August 14th – 16th, 2023, Ho Chi Minh City University of Technology, VNUHCM, Ho Chi Minh City: (2023).
2. Umam MS, Mustafid M, Suryono S. A hybrid genetic algorithm and Tabu search for minimizing makespan in flow shop scheduling problem. J King Saud Univ Comp Inf Sci. (2022) 34:7459–67.
3. Gupta JND. Designing a tabu search algorithm for the two-stage flow shop problem with secondary criterion. Prod Plann Cont Manage Oper. (1999) 10:251–65. doi: 10.1080/095372899233217
4. Burduk A, Musiał K, Kochańska J, Górnicka D, Stetsenko A. Tabu Search and genetic algorithm for production process scheduling problem. LogForum. (2019) 15:181–9. doi: 10.17270/J.LOG.2019.315
5. Kolahan F, Tavakoli A, Tajdin B, Hosayni M. Analysis of neighborhood generation and move selection strategies on the performance of Tabu Search. Proceedings of the 6th WSEAS International Conference on Applied Computer Science, Tenerife, Canary Islands, Spain, December 16-18, Tenerife (2006). p. 503–7.
© The Author(s). 2024 Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.