Application of Tabu Search, TS, To Solve A Flow Shop Scheduling Problem With Changeover Times in Operations: A Case Study
Application of Tabu Search, TS, To Solve A Flow Shop Scheduling Problem With Changeover Times in Operations: A Case Study
and Practices
2024, Vol. 3, No. 1, pp. 1–7
DOI: 10.54646/bijomrp.2024.22
www.bohrpub.com
CASE STUDY
*Correspondence:
Phong Nguyen Nhu,
[email protected]
Flow Shop Scheduling (FSS) Problems are NP-hard combinatorial optimization problems. It is quite difficult to
achieve an optimal solution for FSS problems with mathematical modeling approaches because of its NP-hard
structure. Tabu search (TS), a mega-heuristic algorithm, plays a major role in searching for near-optimal solutions
for NP-hard optimization problems. This paper develops a TS model for solving a FSS problem with the objective
to reduce total weighted tardiness time, and constraint on changeover time in operations. The performance of
the TS model is compared with that of traditional EDD heuristics, being used. The result shows that the objective
value has been reduced by 43%, from 215.95 to 123.07 (h). It indicates that the TS model is a good approach for
FSS problems.
Keywords: flow shop scheduling problems, tardiness time, changeover times, tabu search, mega heuristic.
1
2 Nhu and Thi
SWAP uses the method of permutation of adjacent numbers The model is set up with variables TSij being the start time,
in the string to find the neighborhood. For a string with n TEij being the completion time of order i at operation j, and
numbers, SWAP will generate n-1 neighboring strings. Ti being the tardiness time of order i. The constraints on the
Step 4 finds the next solution Sk+1 from the neighborhood sequence of operation on each order are as follows.
population PN (k) by using the search operator. The search
operator relies on the objective function and the tabu list to TSi4 ≥ TEi1 ,
find the best solution in the neighborhood region, the chosen TSi5 ≥ TEi2 ,
solution must not violate the tabu list. This solution will be TSi6 ≥ TEi3 ,
selected for the next iteration, if any. This step also updates
TSi7 ≥ TEi5 ,
the tabu list and the current best Tbest if the objective value
of the solution is better than the current Tbest. This step also TSi8 ≥ max(TEi4 , TEi6 , TEi7 ).
increases the iteration counting index k by 1 to prepare for
the next iteration, if any. The start time of order i at operation j, TSij depends on the
Step 5 checks the termination rule. The algorithm usually end time of the previous order i’, TEi0 j and the changeover
terminates after a number of iterations if the objective time between the orders on operation j.
function is not improved. If the termination rule is not met,
TSij = TCi0 j + Sj
the algorithm returns to step 3 for the next iteration. If the
termination rule is met, the iteration loop is stopped. The end time of order i on operation j, TEij , is determined
The research methodology of the TS model is shown in the by the start time and processing time of the order.
following sections.
TCij = TSij + Pij
The model flow shop scheduling The tardiness time of order i, Ti , is determined by the end
time in the last operation and due time of the order.
problem
Ti = Max (0, TEi8 − Di )
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, TABLE 2 | The processing time Pij of order i, i = 1÷10, on operation j.
Oj , j = 1÷8, distributed on the 4 machines as in Figure 1.
j P1j P2j P3j P4j P5j P6j P7j P8j P9j P10j
The weight Wi , i = 1÷10, and the due date Di , i = 1÷10, of
order i are estimated in Table 1. 1 2.34 6.17 6.20 7.09 2.47 9.56 3.44 14.74 5.26 1.39
The processing time Pij of order i, i = 1÷10, on operation 2 2.25 0.94 7.05 3.22 1.07 5.26 1.81 7.49 5.26 0.66
j, j = 1÷8, are estimated in Table 2. 3 0.00 3.99 4.34 4.38 2.60 9.52 0.00 16.75 14.74 0.44
The changeover times in hours on operation j, j = 4÷8 are 4 2.63 1.33 1.08 9.00 2.60 12.56 1.32 17.54 16.52 1.29
equal to 0, Sj = 0, j = 4÷8. The changeover times in hours on 5 1.06 1.00 6.58 9.00 4.21 12.64 0.65 17.54 16.52 1.29
operation j, j = 1÷3 are the same and depend on the current 6 0.00 8.33 6.58 3.60 3.95 12.64 0.00 13.33 15.79 0.40
order i = 1÷10, and the next order, i’ = 1÷10, as shown in 7 2.67 3.29 1.13 2.21 0.68 4.00 1.11 5.26 1.60 0.44
Table 3. 8 4.08 3.31 3.42 12.00 3.95 6.12 2.21 8.22 5.26 1.32
1 2 3 4 5 6 7 8 9 10
1 0.0 0.5 2.0 0.0 0.0 2.0 2.0 2.0 2.0 2.0
2 0.5 0.0 0.0 0.0 2.0 2.0 2.0 2.0 2.0 2.0
FIGURE 1 | The production process.
3 2.0 0.0 0.0 2.0 0.5 2.0 0.5 0.5 2.0 0.5
4 0.0 0.0 2.0 0.0 0.0 0.0 2.0 2.0 2.0 2.0
TABLE 1 | The weight Wi , i = 1÷10, and the due date Di , i = 1÷10, of 5 0.0 2.0 0.5 0.0 0.0 2.0 0.5 2.0 0.5 0.5
order i. 6 2.0 2.0 2.0 0.0 2.0 0.0 0.5 2.0 0.0 0.0
7 2.0 2.0 0.5 2.0 0.5 0.5 0.0 0.5 2.0 0.0
i 1 2 3 4 5 6 7 8 9 10
8 2.0 2.0 0.5 2.0 2.0 2.0 0.5 0.0 0.0 0.0
Wi 3.70 3.40 3.30 4.65 3.90 2.35 2.70 4.55 4.65 4.30 9 2.0 2.0 2.0 2.0 0.5 0.0 2.0 0.0 0.0 2.0
Di (h) 24 36 40 60 68 80 88 88 96 96 10 2.0 2.0 0.5 2.0 0.5 0.0 0.0 0.0 2.0 0.0
4 Nhu and Thi
The objective function that minimizes the total tardiness is Step 2: Generate the initial solution S0 , set k = 0
defined as follows. A good initial solution will be a good starting point for the
search. With the objective of minimizing tardiness time, the
Tbest = MinT, T = 6(W∗i Ti , i = 1 ÷ 11) initial solution is selected from the EDD method. The strings
and its corresponding objective values are as follows.
The company is currently using the EDD dispatching
method. The sequence of dispatching S and the value of the S0 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
objective function are as follows: T = 215.95(h)
S = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10); The initial tabu list TL and the current best
T = 215.95 (h) value are as follows.
TABLE 5 | The neighborhood population PN (0) . Step 4. Find the next solution S2
This step uses the search operator to find the next solution
String G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 Ti
S2 that is the best solution in the neighborhood population
S0 1 2 3 4 5 6 7 8 9 10 215.95 PN (1) , and does not violate the current tabu list. The
N1 2 1 3 4 5 6 7 8 9 10 264.75 strings in the neighborhood population PN (1), and their
N2 1 3 2 4 5 6 7 8 9 10 203.75 corresponding tabu members TM are shown in Table 8.
N3 1 2 4 3 5 6 7 8 9 10 242.49 From Table 8, string N9 in PN (1) violates tabu list. The best
N4 1 2 3 5 4 6 7 8 9 10 175.90 string in the neighboring population PN (1) without violating
N5 1 2 3 4 6 5 7 8 9 10 241.39
N6 1 2 3 4 5 7 6 8 9 10 221.26
N7 1 2 3 4 5 6 8 7 9 10 224.11 TABLE 6 | Find the next solution S1.
N8 1 2 3 4 5 6 7 9 8 10 239.71
N9 1 2 3 4 5 6 7 8 10 9 175.65 String G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 Ti TM
N1 2 1 3 4 5 6 7 8 9 10 264.75 (1,2)
N2 1 3 2 4 5 6 7 8 9 10 203.75 (2,3)
Step 4. Find the next solution S1 N3 1 2 4 3 5 6 7 8 9 10 242.49 (3,4)
This step uses the search operator to find the next N4 1 2 3 5 4 6 7 8 9 10 175.90 (4,5)
solution S1 that is the best solution in the neighborhood N5 1 2 3 4 6 5 7 8 9 10 241.39 (5,6)
population PN (0) , and does not violate the current tabu N6 1 2 3 4 5 7 6 8 9 10 221.26 (6,7)
list. The strings in the neighborhood population PN (0), N7 1 2 3 4 5 6 8 7 9 10 224.11 (7,8)
and their corresponding tabu members TM are shown N8 1 2 3 4 5 6 7 9 8 10 239.71 (8,9)
in Table 6. N9 1 2 3 4 5 6 7 8 10 9 175.65 (9, 10)
From Table 6, the best string in the neighboring
population PN (0) without violating tabu list and its objective
value are as follows.
TABLE 7 | The neighborhood population PN (1) .
N9 = (1, 2, 3, 4, 5, 6, 7, 8, 10, 9)
String G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 Ti
T = 175.65 (h)
S1 1 2 3 4 5 6 7 8 10 9 175.65
This string is selected as the next solution for the next N1 2 1 3 4 5 6 7 8 10 9 224.45
iteration, if any. N2 1 3 2 4 5 6 7 8 10 9 163.45
N3 1 2 4 3 5 6 7 8 10 9 202.19
S1 = (1, 2, 3, 4, 5, 6, 7, 8, 10, 9) N4 1 2 3 5 4 6 7 8 10 9 135.60
N5 1 2 3 4 6 5 7 8 10 9 201.09
The tabu list and the current best Tbest are
N6 1 2 3 4 5 7 6 8 10 9 180.96
updated as follows.
N7 1 2 3 4 5 6 8 7 10 9 187.61
TL = {(9, 10)} N8 1 2 3 4 5 6 7 8 10 9 177.58
N9 1 2 3 4 5 6 7 8 9 10 215.95
Tbest = 175.65 (h).
Iteration 2 S1 1 2 3 4 5 6 7 8 10 9 175.65 -
Step 3: Generate the neighborhood population PN (1) N1 2 1 3 4 5 6 7 8 10 9 224.45 (1,2)
This step uses the neighborhood operator SWAP to N2 1 3 2 4 5 6 7 8 10 9 163.45 (2,3)
generate the neighborhood population PN (1) from the N3 1 2 4 3 5 6 7 8 10 9 202.19 (3,4)
current string S1 . N4 1 2 3 5 4 6 7 8 10 9 135.60 (4,5)
N5 1 2 3 4 6 5 7 8 10 9 201.09 (5,6)
N6 1 2 3 4 5 7 6 8 10 9 180.96 (6,7)
PN (1) = {N1, N2, N3, N4, N5, N6, N7, N8, N9} N7 1 2 3 4 5 6 8 7 10 9 187.61 (7,8)
N8 1 2 3 4 5 6 7 10 8 9 177.58 (8,10)
The strings in neighborhood population PN (1) and their N9 1 2 3 4 5 6 7 8 9 10 215.95 (10,9)
objective values are shown in Table 7.
6 Nhu and Thi
tabu list and its objective value are as follows. TABLE 10 | Find the next solution S3.
The best objective value Tbest remains the same from the Moreover, TS is a local search method, if it combines with
17th iteration to the 27th iteration, the termination rule is another global search method like Genetic Algorithm, the
satisfied, the algorithm ends. The best scheduling string and result would be better in terms of quality, better objective
its objective value are as follows. value, and cost, smaller number of iterations.
References
Conclusion
1. Nhu PN, Nhi T, Thi N. Application of TSGA, a hybrid mega heuristic
The Flow Shop Scheduling Problem with 10 orders on model, to solve flow shop scheduling problems with changeover times in
4 machines has been formulated with the objective of operations. A case study. Proceeding of the 4 th International Conference
on Advanced Convergence Engineering (ICACE 2023) August 14th – 16th,
minimizing the total weighted tardiness time and constraint 2023, Ho Chi Minh City University of Technology, VNUHCM, Ho Chi
on changeover time in operations. The TS model has been Minh City: (2023).
developed and used to solve the problem. The results show 2. Umam MS, Mustafid M, Suryono S. A hybrid genetic algorithm and Tabu
that the TS model is better than the heuristic EDD method search for minimizing makespan in flow shop scheduling problem. J King
Saud Univ Comp Inf Sci. (2022) 34:7459–67.
being used. The objective value has reduced by 43% from
3. Gupta JND. Designing a tabu search algorithm for the two-stage flow
215.95 (h) to 123.07 (h).
shop problem with secondary criterion. Prod Plann Cont Manage Oper.
However, the factors of the model, including the method (1999) 10:251–65. doi: 10.1080/095372899233217
for defining the initial solution, factors of neighborhood 4. Burduk A, Musiał K, Kochańska J, Górnicka D, Stetsenko A. Tabu
operator, search operator, tabu list size, the method and Search and genetic algorithm for production process scheduling problem.
parameter of the termination rule, are only selected LogForum. (2019) 15:181–9. doi: 10.17270/J.LOG.2019.315
empirically, so the results are not very good. Future research 5. Kolahan F, Tavakoli A, Tajdin B, Hosayni M. Analysis of neighborhood
generation and move selection strategies on the performance of Tabu
is to use experimental design DOE to determine the model Search. Proceedings of the 6th WSEAS International Conference on Applied
factors to get better results. Further research is to use the Computer Science, Tenerife, Canary Islands, Spain, December 16-18,
model for larger numbers of orders. Tenerife (2006). p. 503–7.