## 1 Introduction  
The flow shop scheduling problem (FSSP) was first proposed by [PERSON] in 1954 [1]. Due to its extensive production applications in industries such as food processing, steel manufacturing, plastics production, and chemical manufacturing, the problem has received much attention since it was introduced. Researchers from all over the world have conducted in-depth research on this issue, and in the literature [2; 3], they have developed branch-and-bound algorithms to solve the flow shop scheduling problem. However, these exact solution algorithms are only suitable for small-sized scheduling problems, as the calculation time increases exponentially with the problem size. As FSSP has proved to be an NP-hard problem [4], exact algorithms have not been suitable for large-scale scheduling problems. After that, several heuristic algorithms were proposed. Among them,the Nawaz-Enscore-Ham (NEH) heuristic algorithm [5], proposed by [PERSON] et al., was used to solve an FFSP with n workpieces and m machines. The comparison between NEH and 15 other algorithms showed that it can quickly obtain better solutions and is suitable for solving large-scale flow shop scheduling problems. However, the quality of the feasible solutions obtained by the NEH algorithm is not high [6]. After the NEH algorithm was proposed, many researchers combined NEH with other optimization algorithms to achieve better results. [PERSON] et al. [7] combined NEH with the cuckoo search algorithm to form an improved cuckoo search algorithm (ICS), which proved to be more effective at achieving optimal solutions than the other algorithms in the literature. [PERSON] et al. [6] proposed an improved variable neighborhood search algorithm and proved that the NEH heuristic algorithm could generate better initial solutions. [PERSON] and [PERSON] [8] addressed the representation and construction of accurate train schedules by a hybrid job shop approach and proposed a constructive algorithm to construct a schedule using NEH insertion, backtracking, and dynamic route selection mechanisms. The experiment results showed the constructive algorithm required less CPU time and obtained better solutions. [PERSON] [9] used the decision tree (DT) algorithm to minimize the makespan of the FSSP. In addition, [PERSON] et al. [10] provided a hybrid algorithm (ADE) that combined a scatter search algorithm with decision tree which exceeded other existing hybrid algorithms. The main disadvantage is that the tree size of the ADE and DT algorithms increases with the number of jobs and machines in large-scale FSSPs. In [11], three kinds of hybrid discrete artificial bee colony (ABC) algorithm (hDABC1, hDABC2, and hDABC3), with the initial solution generated by MME-A and MME-B and new solutions generated by the adaptation strategy and distribution estimation, were proposed. [PERSON] and [PERSON] [12] developed a hybrid genetic algorithm (GA) based on two different local search strategies (insertion search and the insertion search repair and cut) and an orthogonal-array-based crossover. [PERSON] et al. [13] proposed two Bertollisi heuristics [14], which were based on a job pair comparison approach, to generate a sequence of jobs and constructive heuristics combined with standard deviation heuristics. The algorithms integrated with local search strategies to improve the quality of the solution. The results showed the effectiveness of the proposed algorithm, especially for large-scale FSSPs. [PERSON] and [PERSON] [15] proposed an approximation algorithm based on a tabu search technique with a specific neighborhood definition to solve a permutation flow shop problem. [PERSON] et al. [16] proposed an adaptation of a new approach called the golden ball algorithm (GBA), which was inspired by concepts and strategies for soccer playing. The result showed GBA was able to find the optimal schedule rapidly for the small-scale flow shop schedule problem. In [17], a genetic algorithm integrated with a Hopfield network was proposed and proved to be an effective method to solve NP-hard problems.