Computational Intelligence and Neuroscience

Volume 2018, Article ID 4617816, 14 pages

https://doi.org/10.1155/2018/4617816

## Different Performances of Different Intelligent Algorithms for Solving FJSP: A Perspective of Structure

School of Manufacturing Science and Engineering, Sichuan University, Chengdu 610000, China

Correspondence should be addressed to Yan-yan Li; moc.361@ucs_yyl

Received 9 May 2018; Revised 12 July 2018; Accepted 2 August 2018; Published 2 September 2018

Academic Editor: Saeid Sanei

Copyright © 2018 Xiao-qiu Shi et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

There are several intelligent algorithms that are continually being improved for better performance when solving the flexible job-shop scheduling problem (FJSP); hence, there are many improvement strategies in the literature. To know how to properly choose an improvement strategy, how different improvement strategies affect different algorithms and how different algorithms respond to the same strategy are critical questions that have not yet been addressed. To address them, improvement strategies are first classified into five basic improvement strategies (five structures) used to improve invasive weed optimization (IWO) and genetic algorithm (GA) and then seven algorithms (S1–S7) used to solve five FJSP instances are proposed. For the purpose of comparing these algorithms fairly, we consider the total individual number (TIN) of an algorithm and propose several evaluation indexes based on TIN. In the process of decoding, a novel decoding algorithm is also proposed. The simulation results show that different structures significantly affect the performances of different algorithms and different algorithms respond to the same structure differently. The results of this paper may shed light on how to properly choose an improvement strategy to improve an algorithm for solving the FJSP.

#### 1. Introduction

Brucker and Schlie proposed the flexible job-shop scheduling problem (FJSP) [1] for the first time in 1990, in which every operation can be processed on more than one machine. Therefore, FJSP is more difficult than the classical job-shop scheduling problem (JSP), which is a NP-hard problem [2] in which every operation can be processed on just one machine. Owing to the complexity of FJSP, many researchers have used different intelligent algorithms to solve it in recent years. Most intelligent algorithms are first proposed to solve the continuous optimization problem; however, FJSP is a classical combinatorial optimization problem. Therefore, these algorithms must be improved before solving it. For example, Lu et al. [3] proposed a multiobjective discrete virus optimization algorithm (MODVOA), an improved virus optimization algorithm, to solve FJSP, demonstrating that the proposed MODVOA can achieve better performance than other algorithms. Using specially designed discrete operators to produce new individuals, Huang and Tian [4] presented a modified discrete particle swarm optimization to solve FJSP. Gao et al. [5] proposed an effective discrete harmony search (DHS) algorithm for this purpose. Moreover, several local search methods were embedded to enhance DHS’s local exploitation capability. Computational results and comparisons demonstrated the efficiency of the proposed DHS. Li et al. [6] used a discrete strategy to improve the artificial bee colony (DABC) algorithm, and a novel DABC algorithm was proposed to solve the multiobjective FJSP. Zhang and Wen [7] proposed a multipopulation genetic algorithm (GA) for the multiobjective FJSP, and it exhibits far better performance than other algorithms. Xing et al. [8] presented a multipopulation interactive coevolutionary algorithm for solving FJSP. Its performance was evaluated using numerous benchmark instances. Chang and Liu [9] proposed a hybrid GA for solving the distributed and flexible job-shop scheduling problem and used the Taguchi method to optimize the GA parameters. Liu et al. [10] proposed a hybrid fruit fly optimization algorithm for solving FJSP and proved its performance with a case study. Wu and Wu [11] proposed a hybrid ant colony algorithm based on the 3D disjunctive graph model by combining the elitist ant system, max-min ant system, and the staged parameter control mechanism for solving FJSP. Using the GA and variable neighborhood search (VNS), Azzouz et al. [12] proposed a hybrid algorithm to solve FJSP, and the performance of the proposed algorithm was demonstrated by comparing its results with other methods. Zandieh et al. [13] proposed an improved imperialist competitive algorithm that was enhanced by simulated annealing to solve FJSP. Li and Gao [14] proposed an effective hybrid algorithm that hybridized the GA and tabu search (TS) for FJSP. Li et al. [15] proposed an effective hybrid TS algorithm (HTSA) for FJSP. A speedup local search method and a VNS were integrated into the HTSA, and they used some well-known benchmark instances to test it. Maroosi et al. [16] proposed a parallel-membrane-inspired harmony search for the purpose of increasing the diversity of the harmony search and improving the performance of the harmony search to solve FJSP, and their experimental results demonstrated the effectiveness of the proposed parallel algorithm.

As discussed above, we note that different authors have presented different improvement strategies, some of which are very complicated strategies that involve several algorithms or operators. They are usually enthusiastic about using more complicated improvement strategies to devise better algorithms; therefore, there are many improvement strategies, and the algorithms are becoming increasingly complicated. The complicated algorithms that exhibit better performance have been more or less obtained by trial and error. Thus, how different improvement strategies affect the performances of different algorithms and how different algorithms respond to the same improvement strategy are two critical questions that have not yet been reported in the literature. By addressing the two questions, we can properly choose an improvement strategy to improve an algorithm for solving FJSP.

To answer these two questions, we first classify the hundreds of improvement strategies available in the literature into five basic classifications corresponding to five basic improvement strategies, through which more complicated improvement strategies will be obtained. In an intelligent algorithm, many individuals included in a population evolve simultaneously. Essentially, improvement strategies decide the relationships among different algorithms or the relationships among different operators of different algorithms, so they also decide the relationships among individuals of an algorithm. Thus, an algorithm can be looked at as a complex system approximately consisting of connected individuals. An individual of a certain algorithm obtained through a certain improvement strategy has a particular way of communicating with other individuals, which means that the connections between individuals of different algorithms obtained through different improvement strategies are different. Thus, we naturally call the five basic improvement strategies five basic structures: discrete, multipopulation, mixed, parallel, and multistage structures. Discrete structure means that some discretization methods are used to improve an algorithm and the improvement strategies used in References [3–6] belong to this structure. Multipopulation structure means that more than one population is used to design an algorithm, and the improvement strategies used in References [7, 8] belong to this structure. This strategy is used to improve population diversity and avoid premature convergence. Mixed structure means that operators of an algorithm or its main idea are used in another algorithm; the improvement strategies used in References [9–15] belong to this structure. This structure may be the most frequently used improvement strategy in the literature. Parallel structure means that there are two or more different populations corresponding to two or more different algorithms in a newly obtained algorithm. Parallel structure, as in Reference [16], differs from multipopulation structure in that there is only one algorithm in multipopulation structure. A multistage structure is like the parallel structure in that they both use two or more different algorithms to obtain a new algorithm. However, they are different in that the two or more populations of a parallel structure are evolved simultaneously compared to the two or more populations of multistage structure evolving one after another. To the best of our knowledge, few papers on multistage structures as defined here exist in the literature. Thus, we use this multistage structure to obtain a novel multistage algorithm that will be described later.

We use the five basic structures to improve the GA and IWO, after which we obtain seven algorithms. As we all know, the GA is a well-known, widely used algorithm, and many researchers have used it to solve FJSP [17–19]. Conversely, there are fewer researchers who have used IWO to solve JSP, let alone FJSP. For example, Chen et al. [20], Zhou et al. [21], and Mishra et al. [22] used IWO to solve the permutation flow-shop scheduling problem, no-idle flow-shop scheduling problem, and JSP, respectively. Thus, we try to improve IWO and use it to solve FJSP in this paper.

We use the proposed seven algorithms to solve the five FJSP instances proposed in Reference [23], and the performance of these algorithms is illustrated to answer the two questions mentioned above. To compare these seven algorithms fairly, we consider the total individual number (TIN) in this paper. Traditionally, researchers [13, 24–26] frequently use efficiency and/or optimal value to evaluate different algorithms. However, there are some limitations without considering the different parameters of different algorithms. Regarding the efficiency, which means the total running time (or CPU time) of an algorithm, the computer language, the style of developing programs, the environment, and the parameters of an algorithm will influence the efficiency significantly. Regarding the optimal value, which means the best solution obtained by an algorithm, different algorithms that have different parameters find the same optimal value by searching different TINs, which are defined as the number of individuals used in an algorithm. For the standard GA, if every population has 100 individuals and the number of iterations is 100, then the TIN is 10,000, approximately. For IWO, if the number of iterations is also 100, the minimal population size is 10, the maximal population size is 100, the minimal seed size is 1, the maximal seed size is 5, and the TIN is 30,000. From this perspective, it is not fair if we just use optimal value and/or efficiency to evaluate the different intelligent algorithms. Therefore, we consider TIN, and several evaluation indexes based on TIN are presented in this paper. Different algorithms have different TINs obviously, because of different parameters. An intelligent algorithm is essentially a random search algorithm with some control strategies. Thus, the intelligent algorithm that has the larger TIN should have the better solution. In other words, the performance of an intelligent algorithm that obtains a better solution through a smaller TIN is better than other algorithms that obtain worse or equal solutions through a larger TIN.

In the process of decoding, a novel decoding algorithm that can obtain an active schedule is also proposed. Using computer simulations, the results show that different structures significantly affect different algorithms, and those different algorithms indeed have different responses to the same structure.

#### 2. FJSP and Its Mathematical Model

FJSP has been formulated many times in the literature [15, 27]. The frequently used objectives are minimizing maximum completion time, minimizing maximum machine workload, and so on. We choose minimizing maximum completion time in this paper. The proposed mathematical model here is comparable to the model in [27], and the following assumptions are made:(1)The number of jobs and machines are known and fixed(2)The processing time of every operation is known and fixed(3)The processing order of operations for the same job is known and fixed(4)Every machine can be used at the beginning time and machine breakdowns are negligible(5)Materials to be used are prepared at the beginning time and loading times are negligible(6)The same operation can only be processed on the same machine at the same time and cannot be disrupted(7)Every machine can process at most one operation at the same time(8)The order of candidate operations of different jobs on the same machine is random

The mathematical model is as follows:

In this model, there is a set of *n* jobs that are processed on a set of *m* machines in the shop. *F*_{ij} and *F*_{max} in Equation (1) (that denotes the objective function) denote the finish time of *O*_{ij} (the *j*th operation of the *i*th job) and the maximal finish time of all jobs, respectively. In Equation (2), *J* denotes the job set and *J*_{i} the *i*th job, respectively, and *J* includes *n* jobs. In Equation (3), the number of operations of *J*_{i} is *n*_{i}. In Equation (4), *M* denotes the machine set and *M*_{k} the *k*th machine, and *M* includes *m* machines. Inequity (5) ensures the correct processing order of operations for the same job, and *X*_{ijk} equals 1 when *O*_{ij} is processed on *M*_{k} and equals 0 otherwise. *P*_{ijk} denotes the processing time of *O*_{ij} on *M*_{k}. *F*_{ijk} and *B*_{ijk} in Equation (6) (which ensures each operation can only be processed on one machine at the same time) denote the finish and start time of *O*_{ij} on *M*_{k}, respectively, and the symbol “” denotes logical AND. *S*_{ij} denotes the machines on which *O*_{ij} can be processed. Inequity (7) ensures that every machine can process only one operation at a time and the symbol “” denotes logical OR. There is a FJSP instance which included three jobs and six machines shown in Table 1, where the number 0 denotes an operation that cannot be processed on a machine.