A Modified Iterated Greedy Algorithm for Flexible Job Shop Scheduling Problem
 101 Downloads
Abstract
The flexible job shop scheduling problem (FJSP) is considered as an important problem in the modern manufacturing system. It is known to be an NPhard problem. Most of the algorithms used in solving FJSP problem are categorized as metaheuristic methods. Some of these methods normally consume more CPU time and some other methods are more complicated which make them difficult to code and not easy to reproduce. This paper proposes a modified iterated greedy (IG) algorithm to deal with FJSP problem in order to provide a simpler metaheuristic, which is easier to code and to reproduce than some other much more complex methods. This is done by separating the classical IG into two phases. Each phase is used to solve a subproblem of the FJSP: sequencing and routing subproblems. A set of dispatching rules are employed in the proposed algorithm for the sequencing and machine selection in the construction phase of the solution. To evaluate the performance of proposed algorithm, some experiments including some famous FJSP benchmarks have been conducted. By compared with other algorithms, the experimental results show that the presented algorithm is competitive and able to find global optimum for most instances. The simplicity of the proposed IG provides an effective method that is also easy to apply and consumes less CPU time in solving the FJSP problem.
Keywords
Iterated greedy Flexible job shop scheduling problem Dispatching rules1 Introduction
The optimization of production scheduling can bring in considerable improvements in the manufacturing efficiency [1]. Jobshop scheduling problem (JSP) is basically an NPcomplete challenge [2]. JSP considers no flexibility of any resources (such as machines and tools) for each operation [1].
Modern manufacturing systems contain many flexible machines to increase the production efficiency. These machines are capable of processing several types of the operations. This gives the permission to break the definition of JSP where an operation can be processed by a single machine [1].
As an extension of the JSP, Flexible Jobshop Scheduling Problem (FJSP), which is known to be NPhard [3], considers the flexible machines for each operation. Furthermore, the FJSP is considered to be more complicated in comparison to the traditional JSP, as it dictates an extra decision level for the same scale in addition to the sequencing one, such as the operations routes [2].
Many approaches have been proposed to solve FJSP since first presented in 1990 [4]. The current methods for solving FJSP can be mainly categorized into; exact algorithm, dispatching rules (DR), evolutionary algorithm (EA), swarm intelligence (SI) based approaches, local search (LS) algorithms, and so on [5].
While exact algorithms tend to be inefficient with large scale FJSP, other methods, such as EA and SI, are much more expensive regarding the consumption of computation time. Many of these algorithms are also complicated and in many cases they are too difficult to reproduce. This makes it difficult to apply these methods in reallife problems.
In this research, we try to present a modified iterated greedy (IG) algorithm, a simpler metaheuristic that is easier to code and reproduce. The classical IG is separated into two phases to deal with the two subproblems of FJSP and it’s combined with a set of dispatching rules (DRs) to solve the FJSP. The simplicity and the efficiency of IG and DRs shall result in an effective method which consumes less computation time and is easy to implement.
The remainder of this paper is arranged as follows. Literature review and problem definition are presented in Section 2. IG approach and the modified iterated greedy (MIG) is proposed in Section 3. Experimental studies are discussed in Section 4. Section 5 provides the conclusions and future work.
2 Literature Review and Problem Definition
2.1 Literature Review
Several methods have been used to deal with the FJSP. These techniques are classified into two groups; the exact methods and the approximation methods [1]. Exact algorithms include mathematical programming (MP), while the approximation algorithms include some dispatching rules (DRs) and artificial intelligence (AI) based approaches.
Brucker and Schlie [4] proposed a polynomial graphical algorithm when they first presented the FJSP with two jobs. Demir and İşleyen [6] evaluated some mathematical models of the FJSP. However, it’s been proved by Pezzella et al. [7] that exact algorithms are ineffective when dealing with large scale problems of FJSP.
Baykasoğlu and Özbakır [8] analyzed the effects of several DRs on the scheduling performance of job shops with different levels of flexibility and with different sizes of the problem. They proved that the performances of these DRs were approximately similar when dealing with high machine flexibility. On the other hand, different performances were obtained for zero machine flexibility. Ingimundardottir and Runarsson [9] created an autoselection of combined DR by converting them into measurable contribution factors in the optimizing process of scheduling problems. Huang and Süer [10] adopted GA to explore the best combination of DR and used a “Hold” strategy for multiobjective JSS.
Evolutionary algorithms, such as genetic algorithm (GA), are an effective type of metaheuristic methods. Zhang et al. [11] proposed a bilevel GA in an attempt to keep the advantages of preceding generations and reduce the disturbance of genetic operators. Later, an improved GA were proposed by Zhang et al. [12] targeting a better initialization and faster convergence. Huang et al. [13] developed an improved GA using oppositionbased learning. The method used a multiparent precedence operation crossover and a modified neighbor search mutation with opposite inverse mutation.
Swarm intelligence (SI) algorithms mainly include ant colony optimization (ACO), particle swarm optimization (PSO) algorithm, and artificial bee colony (ABC). Xu et al. [14] used bat algorithm to solve a dual flexible job shop problems (DFJSP). That algorithm used crossover and mutation as well as an adjusted value of the inertia weight with a linear decreasing strategy to enforce the search ability of the algorithm. Wu et al. [15] proposed a hybrid algorithm based on ACO while providing a modeling method based on 3D disjunctive graph.
Local search (LS) methods have been employed widely in solving the FJSP as well. The design of the neighborhood structure contributes directly to the efficiency of the method [1]. Sobeyko and Mönch [16] developed an iterative local search approach to deal with the objective of total weighted tardiness in largescale FJSP. The algorithm used SA acceptance criterion to avoid getting trapped in local optimum.
Many researchers attempted to combine several algorithms to create some effective hybrid algorithms (HA) for FJSP. Palacios et al. [17] also combined GA with TS and added heuristic seeding. The hybrid algorithm was used to solve the fuzzy FJSP. Gaham et al. [18] presented an operations permutationbased discrete harmony search method. That method adopted an integration of the solution harmony with a dedicated improvisation operator. In addition to an integrated modified intelligent mutation operator.
In short, exact algorithm cost less CPU time, but most of these algorithms were not able to give competitive solution quality in comparison with other methods. On the other hand, metaheuristics, such as evolutionary algorithms (EA) and swarm intelligence based algorithms (SI) have given effective solutions and better quality. However, such metaheuristics algorithms cost much more computation time.
In this research, we propose a modified iterated greedy algorithm (MIG) to reduce the cost by consuming less CPU time. MIG provides a simple and easily applicable method that can compete with more complex metaheuristics. The proposed algorithm MIG consists of two phases, each phase is derived from the classical IG to solve the two subproblems of FJSP. Both phases use a set of dispatching rules (DRs) to solve the FJSP.
2.2 Flexible Job Shop Problem Definition
For processing n jobs on m machines, the problem is to find the best solution that achieves the minimum or maximum value for an objective function. In the FJSP, there are a set of machines A = M_{1},…, M_{m}, and a set of jobs, J = J_{1},…, J_{n} so that each job J_{i} consists of a given sequence of n_{i} operations, O_{i,1}, O_{i,2},…, O_{i},_{ni}. Each operation O_{i,j} can be processed on any machine of a subset A_{i,j} ⊆ A which represents the routing subproblem. The other subproblem is the sequencing subproblem which is to sequence the operations on the machines. In this paper, the objective function is to minimize the makespan (maximal completion time) of all jobs.
 1)
All machines are available at time 0;
 2)
All jobs are released at time 0;
 3)
Each machine can process only one operation at a time;
 4)
Each operation can be processed without interruption on one of a set of available machines;
 5)
Recirculation occurs when a job could visit a machine more than once;
 6)
The order of operations for each job is predefined and cannot be modified.
The FJSP has been classified by Kacem et al. [19] into partial flexible job shop (PFJSP) and total flexible job shop (TFJSP). The flexibility of problems is partial when there exists a subset A_{i,j} of A (A_{i,j} ⊂ A) for at least one operation O_{i,j}, and it is total when A_{i,j }= A for all operations. For the same number of machines and jobs, although the TFJSP has the larger solution space, the PFJSP is more difficult to solve than the TFJSP [19].
3 Modified Iterated Greedy
3.1 Classical Iterated Greedy
This algorithm was first proposed by Ruiz and Stützle [20] to solve traditional permutation flow shop scheduling problems. The traditional IG consists of two distinct iterative phases; destructing some a part of the solution, and reconstructing this part by some greedy techniques including local search to improve the solution [20, 21]. The original IG has adopted NEH heuristics of Nawaz et al. [22] as its greedy constructive method.
Many works have been done later with IG; Ruiz and Stützle [23] used IG to solve FSP with sequence dependent setup times, and it’s been used for node placement in street networks by Toyama et al. [24], and for single machine scheduling problems by Tasgetiren et al. [25], and as a local search method for unrelated parallel machine scheduling by FanjulPeyro and Ruiz [21].
The simple IG has proved to be effective and able to obtain stateoftheart outcomes for a variety of JSP with different objectives [26].
3.2 Presented Algorithm (MIG)
The classical IG algorithm has been used in a wide range of scheduling problems according to Pan and Ruiz [26]. Although the algorithm was proposed to solve flow shop problems, some researchers used IG to deal with more complex problems like the hybrid flexible flow line problem as in Refs. [27, 28] and the blocking job shop scheduling problem by Pranzo and Pacciarelli [29].
Shop scheduling problems basically differs from each other by having different types or numbers of flexibility. By definition, operation flexibility is the possibility of performing an operation on more than a machine, sequencing flexibility is the possibility of interchanging the sequence in which required manufacturing operations are performed and processing flexibility is possibility of producing the same manufacturing feature with alternative operations or sequence of operations.
According to this definition, we can consider that the main difference between flexible job shop scheduling problem and job shop scheduling problem (JSP) is that flexible job shop problem dictates operation flexibility. The FJSP could be separated into two subproblems: routing (assigning operations to machines) and scheduling (sequencing the assigned operations on each machine) [30]. Hence, the modified iterated greedy must deal with both of the subproblems. Basically, that is achieved by separating both of destruct and construct phases in the algorithm into two stages in which both sides of FJSP are resolved. Pan and Ruiz [31] stated that IG dictates an effective greedy reconstruction in order to outperform other algorithms. The NEH heuristics gives no contribution on decision making of machine selection, and it also has limited solution variety while studying the FJSP. Therefore, NEH heuristics is replaced with a set of dispatching rules (DRs), to help with both decisions of sequencing and machine selection in reconstruction phase.
 Step 1:

Initialization, which is done randomly
 Step 2:

(Phase one) Destruct part of the solution machine selection
 Step 3:

(Phase one) Reconstruct machine selection
 Step 4:

(Phase two) Destruct sequence and machine selection for some operations
 Step 5:

(Phase two) Reconstruct the sequence and the machine selection for these operations
 Step 6:

Repeat the steps 2 through 5 until a stopping criterion is met.
3.3 Destruct Phase
The first stage here is to destruct part of the schedule. This is done by dissociating some consecutive operations from their machines, without changing the sequence of these selected operations. On the other hand, the second stage is to destruct part of the sequence and the schedule. This is done by removing some consecutive operations in from their sequence and dissociating them from their machines, later both sequence and machine selection will be reconstructed.
 1.
The sequence is split into two parts and either one of these two part is destructed.
 2.
A number of consecutive operations are selected randomly along the sequence to be destructed.
3.4 Reconstruct Phase
3.5 Dispatching Rules
As a special case of priority rules, dispatching rules (DRs) are a simple scheduling heuristic, which gradually construct solutions by scheduling a single operation at a time [32, 33].
Due to their simplicity, sensitive nature, ease of use and the ability to fit a wide range of problem scale, DRs have been widely employed in solving scheduling problems [10, 33, 34]. DRs do not dictate high computational and information requirements [33]. Another important characteristic of DRs is their ability to adjust to dynamic changes [35]. These features encourage us to use DRs instead of NEH as the main heuristic to perform with IG for optimizing the FJSP.
It’s been proved that a random assigning of the operations to the machines gives no better convergence. Besides that there isn’t any dispatching rule that is alone capable to push forward the optimization process for any scheduling problem [36]. Thus, to make the selection procedure more intelligent, a set of dispatching rules (DRs) is used to assist machine selection procedure for each operation. Moreover, a favoring mechanism adopted by Ausaf et al. [37] is used to give more chance to more effective dispatching rules.
In general, researchers classified DRs into two main categories; online dispatching rules (dynamic DRs) and offline dispatching rules (static DRs) [38, 39].
3.5.1 Offline Dispatching Rules
3.5.2 Online Dispatching Rules
 a)Dispatching rules used to select a machine for an operation: where all the available machines are considered for each operation, and then only one machine is selected according to the following.
 1.
Shortest processing time (SPT), selects the machine that does the operation within the shortest processing time.
 2.
Earliest start (ES), selects the machine that will start with this operation earlier.
 3.
Earliest finish (EF), selects the machine that is able to finish the operation earlier.
 4.
Least utilized machine (LUM), selects the machine that currently has the minimum workload.
 5.
Minimum idle time (MIT), selects the machine that achieves the least idle time.
 6.
Earliest machine interval (EMI), selects the machine with the minimum current interval.
 7.
Minimum gap per job (MGJ), selects the machine on which the gap between the operation and its preceding (the time that the job will be waiting for the machine) one is the smallest.
 8.
Combined rules (CR), in combined dispatching rules two or more rules are performed together. The function value of the first rule is calculated for both operations. In case both operations have the same function value for this rule, another rule is used to choose the best operations.
 1.
 b)Dispatching rules used to select an operation in sequencing: Two operations are selected and compared according to these rules, and then one of them is placed in the sequence. During this selection, the operations are already assigned to machines.
 1.
Shortest processing time (SPT), selects the operation with the shorter processing time.
 2.
Maximum processing time per job (MPJ), selects the operation which belongs to the job with the longer processing time.
 3.
Least utilized machine (LUM), selects the operation which is done by the machine with the greater workload.
 4.
Latest machine interval (LMI), selects the operation that is done by the machine with the greater processing time interval.
 5.
Combined rules (CR), two or more rules are combined as in (b).
 1.
The first four of these dispatching rules were adopted previously by Ausaf et al. [37]. Only four dispatching rules of the mentioned above are offline rules; SPT, MPJ, LUM (b) and LMI.
3.6 Techniques Used to Control the Algorithm
 1.
Adjusting the split point position
A special function is used to adjust the split point. In case of exploitation, the split point is shifted to the right side, while in case of exploration; the split point is shifted to the left side. As is shown in Figure 6.  2.
Adjusting the size of destructed part:
Increasing the number of destructed operations will give the exploration that is needed in the algorithm, while decreasing this number will support exploitation process. The minimum and maximum sizes of the destructed part are determined initially for the instance. During the run, the algorithm starts with the minimum size, and increases gradually if the solution is not improving, when it reaches the maximum limit, the size decreases again for local search as in the previous Technique.
4 Experiments and Discussion
The algorithm MIG has been coded in C++, and performed by a computer with 3.2 GHz processor and with 4.0 GB RAM memory. Three experiments of in total 35 benchmark problems are used to test the performance of the proposed algorithm. The objective considered in this paper is to minimize the makespan. The best solutions are shown in bold red font in each experiment.
4.1 Experiment 1
Results of Kacem data (experiment 1)
n × m  HA  GATS  TABC  HHS  HDEN2  hGA  MIG 

4 × 5  ‒  11  11  ‒  11  ‒  11 
10 × 7  ‒  11  11  ‒  11  ‒  11 
10 × 10  7  7  7  7  7  7  7 
8 × 8  14  14  14  14  14  14  14 
15 × 10  11  11  11  11  11  11  11 
CPU time comparison for instances in experiment 1
n × m  HA  GATS  TABC  HHS  HDEN2  hGA  MIG 

4 × 5  ‒  0.05  0.47  ‒  0.09  ‒  0.00 
10 × 7  ‒  0.72  1.2  ‒  0.46  ‒  0.00 
10 × 10  0.01  1.51  1.4  0.01  0.37  43.1  0.00 
8 × 8  0.00  0.36  1.19  0.00  0.31  22.4  0.00 
15 × 10  0.33  29.71  2.97  0.42  2.19  112.2  0.07 
4.2 Experiment 2
Results of experiment 2
Ins.  HA  EPSO  EM2  MILP  AIA  HHS  MIG 

SFJS01  66  66  66  66  66  66  66 
SFJS02  107  107  107  107  107  107  107 
SFJS03  221  221  221  221  221  221  221 
SFJS04  355  355  355  355  355  355  355 
SFJS05  119  119  119  119  119  119  119 
SFJS06  320  320  320  320  320  320  320 
SFJS07  397  397  397  397  397  397  397 
SFJS08  253  253  253  253  253  253  253 
SFJS09  210  210  210  210  210  210  210 
SFJS10  516  516  516  516  516  516  516 
MFJS01  468  468  468  468  468  468  462 
MFJS02  446  446  446  446  448  446  446 
MFJS03  466  466  466  466  468  466  450 
MFJS04  554  554  564  564  554  554  554 
MFJS05  514  514  514  514  527  514  514 
MFJS06  634  634  634  634  635  634  634 
MFJS07  879  879  928  879  879  879  881 
MFJS08  884  884  –  –  884  884  889 
MFJS09  1055  1059  –  –  1088  1055  1059 
MFJS10  1196  1205  –  –  1267  1196  1214 
CPU time comparison for instances in experiment 2
Ins.  n × m  HA  EM2  MILP  AIA  HHS  MIG 

SFJS01  2 × 2  0.00  0.03  0.00  0.03  0.00  0.00 
SFJS02  2 × 2  0.00  0.10  0.01  0.03  0.00  0.00 
SFJS03  2 × 2  0.00  0.05  0.05  0.04  0.00  0.00 
SFJS04  3 × 2  0.00  0.04  0.02  0.04  0.00  0.00 
SFJS05  3 × 2  0.00  0.06  0.04  0.04  0.00  0.00 
SFJS06  3 × 3  0.00  0.28  0.01  0.04  0.00  0.00 
SFJS07  3 × 5  0.00  0.03  0.00  0.04  0.00  0.00 
SFJS08  3 × 4  0.00  0.16  0.04  0.05  0.00  0.00 
SFJS09  3 × 3  0.00  1.26  0.01  0.05  0.00  0.00 
SFJS10  4 × 5  0.00  0.06  0.02  0.05  0.00  0.00 
MFJS01  5 × 6  0.00  0.78  0.26  9.23  0.01  0.00 
MFJS02  5 × 7  0.00  49  0.87  9.35  0.01  0.00 
MFJS03  6 × 7  0.02  191  1.66  10.06  0.12  0.002 
MFJS04  7 × 7  0.02  1051  27.43  10.54  0.06  0.00 
MFJS05  7 × 7  0.02  225  4.55  10.61  0.02  0.00 
MFJS06  8 × 7  0.01  231  52.48  22.18  0.01  0.00 
MFJS07  8 × 7  0.08  3600  1890  24.82  0.11  0.00 
MFJS08  9 × 8  0.06  ‒  ‒  26.94  0.08  0.00 
MFJS09  11 × 8  0.48  ‒  ‒  30.76  0.94  0.005 
MFJS10  12 × 8  0.59  ‒  ‒  30.94  0.69  0.005 
4.3 Experiment 3
The data in this experiment is adopted from Brandimarte [49], it contains 10 instances with number of jobs ranges from 10 to 20, and the number of machines ranges from 6 to 15. We compared the results with 11 algorithms from literature; HA, HTGA, GATS, TABC, Heuristic, AMMA, HHS, hGA, TS, and IACO. These algorithm were proposed by Li and Gao [1], Chang et al. [50], Nouri et al. [41], Gao et al. [42], Ziaee [51], Zuo et al. [52] and Yuan et al. [43]. Results of AIA and TS are taken from Yuan et al. [43].
Results of experiment 3
Ins.  n × m  HA  HTGA  GATS  TABC  Heuristic  AMMA  AIA  HHS  TS  IACO  MIG 

MK01  10 × 6  40  40  40  40  42  40  40  40  40  40  40 
MK02  10 × 6  26  26  27  26  28  26  26  26  26  26  26 
MK03  15 × 8  204  204  204  204  204  204  204  204  204  204  204 
MK04  15 × 8  60  60  64  60  75  60  60  60  60  60  60 
MK05  15 × 4  172  173  173  173  179  172  173  172  173  173  172 
MK06  10 × 10  57  61  65  60  69  57  63  58  58  60  60 
MK07  20 × 5  139  141  144  139  149  139  140  139  144  140  140 
MK08  20 × 10  523  523  523  523  555  523  523  523  523  523  523 
MK09  20 × 10  307  307  311  307  342  307  312  307  307  307  307 
MK10  20 × 15  197  213  222  202  242  198  214  205  198  208  221 
CPU time comparison for instances in experiment 3
Ins.  n × m  HA  GATS  TABC  Heuristic  AIA  HHS  MIG 

MK01  10 × 6  0.06  0.93  3.36  0.09  97.21  3.87  0.002 
MK02  10 × 6  0.59  1.18  3.72  0.17  103.46  5.79  0.005 
MK03  15 × 8  0.16  1.55  1.56  0.52  247.37  36.60  0.00 
MK04  15 × 8  0.49  4.36  66.58  0.20  152.07  13.30  0.04 
MK05  15 × 4  4.57  8.02  78.45  0.20  171.95  35.78  0.32 
MK06  10 × 10  53.82  110.01  173.98  0.45  245.62  111.65  2.38 
MK07  20 × 5  20.01  19.73  66.19  0.39  161.92  26.16  0.04 
MK08  20 × 10  0.02  11.50  2.15  0.66  392.25  171.10  0.00 
MK09  20 × 10  0.86  79.68  304.43  0.94  389.71  172.24  0.42 
MK10  20 × 15  33.21  185.64  418.19  1.20  384.54  437.69  1.42 
4.4 Analysis Summary
In this paper, a modified iterated greedy is proposed for solving the flexible job shop problem. In the experiments, 35 instances in total have been used from 3 different benchmarks to test MIG. We divide these instances into three categories; smallscale instances (10 instances), mediumscale instances (13 instances), and largescales instances (12 instances).
Experiments shows that MIG consumes less CPU time in comparison to all other algorithms included in this study. For only 3 instances of largescale problems, only one algorithm (Heuristic) consumed less CPU time than MIG, but MIG on the other hand obtained much better solutions. This confirms that MIG is an effective method which costs the least CPU time.
The outstanding performance of MIG for small and mediumscale problems encourages us to make further development in the global search technique in future.
5 Conclusions and Future Work
In this paper, a modified iterated greedy is proposed for solving the flexible job shop scheduling problem. The experimental results show that the algorithm can find the global optimum solution for small and medium scale instances. MIG outperforms all other algorithms for 4 mediumscale instances. For large scale instances, the proposed algorithm has obtained optimum solutions for some instances and only near optimum solutions for some other instances. The main contribution of the proposed algorithm is to provide a simple and effective algorithm that can be easily employed in the reallife problems, and furthermore, it has insignificant CPU time cost in comparison with other metaheuristics that are widely used in this field.
In future, we will continue developing this algorithm to perform better on largescale problems. The global search in the proposed algorithm will be developed for this purpose. Finally, multiobjective flexible job shop scheduling problem will be considered a good challenge for the developed version. Another option is to hybridize MIG with another algorithm.
Notes
Authors’ Contributions
LG was in charge of the whole trial; Ghiath Al Aqel wrote the manuscript; XL assisted with the algorithm design. All authors read and approved the final manuscript.
Authors’ Information
Ghiath Al Aqel, born in 1984, is currently a PhD candidate at Huazhong University of Science and Technology, China. He received his Master’s degree on Industrial Engineering from Huazhong University of Science and Technology, China, in 2013.
Xinyu Li, born in 1985, is currently an associate professor at State Key Laboratory of Digital Manufacturing Equipment and Technology, Huazhong University of Science and Technology, China. He received his PhD degree on Industrial Engineering from Huazhong University of Science and Technology, China, in 2009.
Liang Gao, born in 1974, is currently a professor at State Key Laboratory of Digital Manufacturing Equipment and Technology, Huazhong University of Science and Technology, China. He received his PhD degree on Industrial Engineering from Huazhong University of Science and Technology, China, in 2002.
Competing interests
The authors declare that they have no competing interests.
Funding
Supported by National Natural Science Foundation of China (Grant Nos. 51825502, 51775216), Hubei Provincial Natural Science Foundation of China (Grant No. 2018CFA078), and Program for HUST Academic Frontier Youth Team.
References
 [1]X Li, L Gao. An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling problem. International Journal of Production Economics, 2016, 174: 93110.CrossRefGoogle Scholar
 [2]A Muthiah, A Rajkumar, R Rajkumar. Hybridization of artificial bee colony algorithm with particle swarm optimization algorithm for flexible job shop scheduling. Energy Efficient Technologies for Sustainability (ICEETS), 2016 International Conference on, 2016: 896903.Google Scholar
 [3]H Chen, J Ihlow, C Lehmann. A genetic algorithm for flexible jobshop scheduling. Robotics and Automation, 1999. Proceedings. 1999 IEEE International Conference on, 1999: 11201125.Google Scholar
 [4]P Brucker, R Schlie. Jobshop scheduling with multipurpose machines. Computing, 1990, 45: 369375.MathSciNetCrossRefGoogle Scholar
 [5]H E Nouri, O B Driss, K Ghédira. A classification schema for the job shop scheduling problem with transportation resources: Stateoftheart review. Artificial Intelligence Perspectives in Intelligent Systems, Springer, 2016: 111.Google Scholar
 [6]Y Demir, S K İşleyen. Evaluation of mathematical models for flexible jobshop scheduling problems. Applied Mathematical Modelling, 2013, 37: 977988.MathSciNetCrossRefGoogle Scholar
 [7]F Pezzella, G Morganti, G Ciaschetti. A genetic algorithm for the flexible jobshop scheduling problem. Computers & Operations Research, 2008, 35: 32023212.CrossRefGoogle Scholar
 [8]A Baykasoğlu, L Özbakır. Analyzing the effect of dispatching rules on the scheduling performance through grammar based flexible scheduling system. International Journal of Production Economics, 2010, 124: 369381.CrossRefGoogle Scholar
 [9]H Ingimundardottir, T P Runarsson. Evolutionary learning of linear composite dispatching rules for scheduling. Computational Intelligence, Springer, 2016: 4962.Google Scholar
 [10]J Huang, G A Süer. A dispatching rulebased genetic algorithm for multiobjective job shop scheduling using fuzzy satisfaction levels. Computers & Industrial Engineering, 2015, 86: 2942.CrossRefGoogle Scholar
 [11]C Zhang, Y Rao, P Li, et al. Bilevel genetic algorithm for the flexible jobshop scheduling problem. Chinese Journal of Mechanical Engineering, 2007, 19(4): 020.Google Scholar
 [12]G Zhang, L Gao, P Li, et al. Improved genetic algorithm for the flexible jobshop scheduling problem. Journal of Mechanical Engineering, 2009, 45(7): 026 (in Chinese).Google Scholar
 [13]M Huang, W Mingxu, L Xu. An improved genetic algorithm using oppositionbased learning for flexible jobshop scheduling problem. Cloud Computing and Internet of Things (CCIOT), 2016 2nd International Conference on, 2016: 815.Google Scholar
 [14]H Xu, Z Bao, T Zhang. Solving dual flexible jobshop scheduling problem using a Bat Algorithm. Advances in Production Engineering & Management, 2017, 12: 5.CrossRefGoogle Scholar
 [15]J Wu, G Wu, J Wang. Flexible jobshop scheduling problem based on hybrid ACO algorithm. International Journal of Simulation Modelling (IJSIMM), 2017, 16(3): 497505.CrossRefGoogle Scholar
 [16]O Sobeyko, L Mönch. Heuristic approaches for scheduling jobs in largescale flexible job shops. Computers & Operations Research, 2016, 68: 971096.MathSciNetCrossRefGoogle Scholar
 [17]J J Palacios, M A González, C R Vela, et al. Genetic tabu search for the fuzzy flexible job shop problem. Computers & Operations Research, 2015, 54: 7489.MathSciNetCrossRefGoogle Scholar
 [18]M Gaham, B Bouzouia, N Achour. An effective operations permutationbased discrete harmony search approach for the flexible job shop scheduling problem with makespan criterion. Applied Intelligence, 2017: 119.Google Scholar
 [19]I Kacem, S Hammadi, P Borne. Paretooptimality approach for flexible jobshop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic. Mathematics and Computers in Simulation, 2002, 60: 245276.MathSciNetCrossRefGoogle Scholar
 [20]R Ruiz, T Stützle. A simple and effective iterated greedy algorithm for the permutation flowshop scheduling problem. European Journal of Operational Research, 2007, 177: 20332049.CrossRefGoogle Scholar
 [21]L FanjulPeyro, R Ruiz. Iterated greedy local search methods for unrelated parallel machine scheduling. European Journal of Operational Research, 2010, 207: 5569.MathSciNetCrossRefGoogle Scholar
 [22]M Nawaz, E E Enscore, I Ham. A heuristic algorithm for the mmachine, njob flowshop sequencing problem. Omega, 1983, 11: 9195.CrossRefGoogle Scholar
 [23]R Ruiz, T Stützle. An iterated greedy heuristic for the sequence dependent setup times flowshop problem with makespan and weighted tardiness objectives. European Journal of Operational Research, 2008, 187: 11431159.CrossRefGoogle Scholar
 [24]F Toyama, K Shoji, J Miyamichi. An iterated greedy algorithm for the node placement problem in bidirectional manhattan street networks. Proceedings of the 10th Annual Conference on Genetic and Evolutionary Computation, 2008: 579584.Google Scholar
 [25]M F Tasgetiren, Q K Pan, Y C Liang. A discrete differential evolution algorithm for the single machine total weighted tardiness problem with sequence dependent setup times. Computers & Operations Research, 2009, 36: 19001915.CrossRefGoogle Scholar
 [26]Q K Pan, R Ruiz. An effective iterated greedy algorithm for the mixed noidle permutation flowshop scheduling problem. Omega, 2014, 44: 4150.CrossRefGoogle Scholar
 [27]T Urlings, R Ruiz. A new algorithm for multidimensional scheduling problems. The 9th Workshop on Models and Algorithms for Planning and Scheduling Problems, 2009: 20.Google Scholar
 [28]T Urlings, R Ruiz, T Stützle. Shifting representation search for hybrid flexible flowline problems. European Journal of Operational Research, 2010, 207: 10861095.MathSciNetCrossRefGoogle Scholar
 [29]M Pranzo, D Pacciarelli. An iterated greedy metaheuristic for the blocking job shop scheduling problem. Journal of Heuristics, 2016, 22: 587611.CrossRefGoogle Scholar
 [30]G Zhang, L Gao, X Li, et al. Variable neighborhood genetic algorithm for the flexible job shop scheduling problems. International Conference on Intelligent Robotics and Applications, 2008: 503512.Google Scholar
 [31]Q K Pan, R Ruiz. Local search methods for the flowshop scheduling problem with flowtime minimization. European Journal of Operational Research, 2012, 222: 3143.MathSciNetCrossRefGoogle Scholar
 [32]R Haupt. A survey of priority rulebased scheduling. OR Spectrum, 1989, 11: 316.MathSciNetCrossRefGoogle Scholar
 [33]J Branke, S Nguyen, C W Pickardt, et al. Automated design of production scheduling heuristics: A review. IEEE Transactions on Evolutionary Computation, 2016, 20: 110124.CrossRefGoogle Scholar
 [34]Y Mei, M Zhang. A comprehensive analysis on reusability of GPevolved job shop dispatching rules. Evolutionary Computation (CEC), 2016 IEEE Congress on, 2016: 35903597.Google Scholar
 [35]S Nguyen, M Zhang. A PSObased hyperheuristic for evolving dispatching rules in job shop scheduling. Evolutionary Computation (CEC), 2017 IEEE Congress on, 2017: 882889.Google Scholar
 [36]T C Chiang, L C Fu. Using dispatching rules for job shop scheduling with due datebased objectives. International Journal of Production Research, 2007, 45: 32453262.CrossRefGoogle Scholar
 [37]M F Ausaf, L Gao, X Li, et al. A prioritybased heuristic algorithm (PBHA) for optimizing integrated process planning and scheduling problem. Cogent Engineering, 2015, 2: 1070494.CrossRefGoogle Scholar
 [38]H L Fan, H G Xiong, G Z Jiang, et al. Survey of the selection and evaluation for dispatching rules in dynamic job shop scheduling problem. Chinese Automation Congress (CAC) 2015, 2015: 19261931.CrossRefGoogle Scholar
 [39]K C Ying, S W Lin, C C Lu. Effective dynamic dispatching rule and constructive heuristic for solving singlemachine scheduling problems with a common due window. International Journal of Production Research, 2017, 55: 17071719.CrossRefGoogle Scholar
 [40]I Kacem, S Hammadi, P Borne. Approach by localization and multiobjective evolutionary optimization for flexible jobshop scheduling problems. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 2002, 32: 113.Google Scholar
 [41]H E Nouri, O B Driss, K Ghédira. Genetic algorithm combined with Tabu search in a holonic multiagent model for flexible job shop scheduling problem. ICEIS (1), 2015: 573584.Google Scholar
 [42]K Z Gao, P N Suganthan, T J Chua, et al. A twostage artificial bee colony algorithm scheduling flexible jobshop scheduling problem with new job insertion. Expert Systems with Applications, 2015, 42: 76527663.CrossRefGoogle Scholar
 [43]Y Yuan, H Xu, J Yang. A hybrid harmony search algorithm for the flexible job shop scheduling problem. Applied Soft Computing, 2013, 13: 32593272.CrossRefGoogle Scholar
 [44]Y Yuan, H Xu. Flexible job shop scheduling using hybrid differential evolution algorithms. Computers & Industrial Engineering, 2013, 65: 246260.CrossRefGoogle Scholar
 [45]J Gao, L Sun, M Gen. A hybrid genetic and variable neighborhood descent algorithm for flexible job shop scheduling problems. Computers & Operations Research, 2008, 35: 28922907.MathSciNetCrossRefGoogle Scholar
 [46]P Fattahi, M S Mehrabad, F Jolai. Mathematical modeling and heuristic approaches to flexible job shop scheduling problems. Journal of Intelligent Manufacturing, 2007, 18: 331.CrossRefGoogle Scholar
 [47]W Teekeng, A Thammano, P Unkaw, et al. A new algorithm for flexible jobshop scheduling problem based on particle swarm optimization. Artificial Life and Robotics, 2016, 21: 1823.CrossRefGoogle Scholar
 [48]E G Birgin, P Feofiloff, C G Fernandes, et al. A MILP model for an extended version of the Flexible Job Shop Problem. Optimization Letters, 2014, 8: 14171431.MathSciNetCrossRefGoogle Scholar
 [49]P Brandimarte. Routing and scheduling in a flexible job shop by tabu search. Annals of Operations Research, 1993, 41: 157183.CrossRefGoogle Scholar
 [50]H C Chang, Y P Chen, T K Liu, et al. Solving the flexible job shop scheduling problem with makespan optimization by using a hybrid Taguchigenetic algorithm. IEEE Access, 2015, 3: 17401754.CrossRefGoogle Scholar
 [51]M Ziaee. A heuristic algorithm for the distributed and flexible jobshop scheduling problem. The Journal of Supercomputing, 2014, 67: 6983.CrossRefGoogle Scholar
 [52]Y Zuo, M Gong, L Jiao. Adaptive multimeme algorithm for flexible job shop scheduling problem. Natural Computing, 2016: 122.Google Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://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.