Abstract

Flexible Job Shop Scheduling Problem (FJSSP) is an extension of the classical Job Shop Scheduling Problem (JSSP). The FJSSP is known to be NP-hard problem with regard to optimization and it is very difficult to find reasonably accurate solutions of the problem instances in a rational time. Extensive research has been carried out in this area especially over the span of the last 20 years in which the hybrid approaches involving Genetic Algorithm (GA) have gained the most popularity. Keeping in view this aspect, this article presents a comprehensive literature review of the FJSSPs solved using the GA. The survey is further extended by the inclusion of the hybrid GA (hGA) techniques used in the solution of the problem. This review will give readers an insight into use of certain parameters in their future research along with future research directions.

1. Introduction

The share of manufacturing sector in the Gross Domestic Product (GDP) of the world is up to 18% thus making it extremely important to the worldwide economy [1]. Efficient manufacturing leads to improvement in profits, market share, and ultimately a competitive advantage in new product launch time [2]. Manufacturing needs to have efficient and optimal operations of the facility which were later termed as “scheduling.” Owing to the importance of the subject, huge amount of research has been conducted to formulate techniques, separately for each shop type, which can effectively handle the complex problem of scheduling.

Genetic Algorithm has proven to be one of the most effective evolutionary techniques for solving Job Shop Scheduling Problem (JSSP) and consequently Flexible Job Shop Scheduling Problem (FJSSP). Çaliş and Bulkan [3] pointed out that 26.4% of the research studies for solution of JSSP have been conducted using GA. This is the highest percentage of any artificial intelligence based technique used for the solution of the said problem which became motivation for this review paper.

This paper critically analyzes the state-of-the-art Flexible Job Shop Scheduling Problem (FJSSP) solution techniques belonging to the GA class. In this review paper, Section 2 introduces the machine layouts and a classification scheme. FJSSP is then presented along with formulation and complexity along with scheduling algorithms. Section 3 gives an insight to the Genetic Algorithms (GA), basic elements, and their adaptation for the solution of FJSSP. Section 4 presents the schematic review of literature for obtaining solution of FJSSP with GA, advanced GA, and hybrid GA (hGA) approaches. Section 5 provides analysis and discussion and afterwards Section 6 presents the conclusion. Notations are widely used in this paper for clutter-free presentation of literature, which have been summarized in Notations. All other abbreviations are explained in paper where they appear for the very first time.

2. Manufacturing Scheduling

2.1. Scheduling

Scheduling refers to the allocation of tasks (e.g., jobs, parts, and operations) to resources (e.g., machines) in such a way that they can be processed and/or manufactured in an optimal manner [4]. The consumer wants to get the product delivered at required time and hence scheduling becomes a critical factor in meeting this demand [5] and plays a vital role in the operation of any manufacturing environment. The scheduling problem aims to formulate a processing order that can achieve a desired objective in an optimal manner which can be total time required for completing all operations, maximum lateness, maximum earliness, and so on. Therefore schedules can be generated to attain various performance measures of the shop floor. Scheduling can be of the following two types:(i)Static: jobs arrive at an idle machine after a fixed time interval.(ii)Dynamic: jobs arrive in random manner.

Dynamic scheduling is considered a situation when any disruption occurs in the manufacturing environment in contrast to the static scheduling. This may require necessary changes in the schedule so that it can remain optimal. Such problems are classified as job and/or recourse related [6]. Due to the importance of scheduling in manufacturing environments, handsome literature is published in this area. Some of the salient works on scheduling in a general context are included in references [712], whereas the classification of scheduling problem is presented in Figure 1 [13].

2.2. Classification of Machine Layouts

Based upon the requirement of manufacturing process and product requirements, the machine shops have been classified in various layouts. Figure 2 presents a schematic classification of the machine layout with emphasis on the Job Shop. The JSSP is a classical combinatorial optimization problem which has been attracting research interest since 1950s [14, 15]. JSSP has the following salient features:(i)It deals with the sequencing of a number of operations on fixed machines.(ii)Every job can have a different processing time.(iii)Each job must undergo a set of tasks performed in a given manner on different machines in order to be completed.

The FJSSP is a further extension of JSSP in which the operations can be performed on any machine which can be selected from a finite number of given set of machines in a flexible manufacturing cell. Thus the problem is intricate in a sense that it also involves machine assignment problem for each operation and thus it is subdivided into following two parts:(i)Routing, through which the jobs should be processed on available set of machines(ii)Sequencing, that is, the order in which the jobs should be processed on the selected machines.

Thus there is inherent “flexibility” in the FJSSP in contrast to the JSSP, which may be used as advantage for processing various types of parts, both through routing and sequencing. Flexibility has been introduced in the classical JSSP in some of the following ways:(i)The idea of FJSSP was first adapted by Brucker and Schlie [16] as multipurpose machines equipped with different tools.(ii)Barnes and Chambers [17] argued that a JSSP can be converted into FJSSP by incorporating multiple instances of a single machine where a bottleneck is encountered during the scheduling process. This concept is sometimes called parallel machine FJSSP.(iii)Najid et al. [18] argued that flexibility is brought in the JSSP with the condition that one machine may be able to perform more than one type of operation.

Kacem et al. [19] classify the FJSSPs into the following types:(i)Total FJSSP (T-FJSSP): in this type, required operation can be performed on any of the available identical machines in the machine cell; thus complete flexibility has been achieved.(ii)Partial FJSSP (P-FJSSP): in this type, some operations can only be performed on specific machines and remaining operations can be executed on any of the machines in the machine cell.

According to Chan et al. [20], there are the following two types of FJSSP:(i)Type I FJSSP: in this type, jobs under consideration have different operation sequences and identical/nonidentical machines for each operation. In this problem, the interest is to find the operation’s sequence and job processing order.(ii)Type II FJSSP: in this type, jobs under consideration have fixed operation sequences, but different identical or nonidentical machines for each operation. In this problem, the interest is to arrange jobs on machines according to their operation sequences.

2.3. Optimization

A schedule for any manufacturing product has to be optimum in order to obtain effectiveness. Optimization refers to obtaining the best solution in a solution space with respect to some predefined criteria [21, 22]. The criterion to be minimized or maximized is called objective function. For constrained optimization, the objective function is to be optimized keeping in view the constraints which govern the system. When viewed from a manufacturing system perspective, optimized process produces maximum output with minimum input, or vice versa, as desired. Figure 3 presents a flow of a generic optimization process.

A general optimization problem can be defined as follows: where is the decision variable and and are inequality and equality constraints, respectively. The model presented above is for single objective optimization. The multiobjective optimization problem is formulated as follows:The function is a -dimensional vector of objective functions, where is the total number of objective functions , is the number of inequality constraints, and is the number of equality constraints.

Multiobjective optimization is more complex than the single objective optimization due to the fact that simultaneous minimization of two or more functions can lead to a situation where decreasing one function further may cause the other function to increase. To address this optimization issue, the concept of Pareto optimality [23] is used. A Pareto optimal point is such a point in a feasible design space where further decreasing any function beyond that point will result in the increase of other functions. Another approach for multiobjective optimization is to assign weights to different objects and formulate a weighted single objective optimization problem.

2.4. FJSSP Formulation and Complexity

The classical JSSP can be formulated as follows [209]:(i)A set of jobs are available to be scheduled on machines.(ii)The set of jobs is denoted by ().(iii)The set of machines is denoted by ().(iv)Each job consists of a sequence of operations.(v)Each operation of job has to be processed on one machine, out of the given set of machines, ().(vi)The processing time for each operation is predetermined as on each machine.

For FJSSP the following additional parameters are added [210]:(i)Each operation can be processed on one out of the available machines such that and .(ii)For P-FJSSP, .(iii)For T-FJSSP, .

It is generally assumed for FJSSP that all machines and jobs are available at time and one machine can only process one operation at a time such that jobs are independent from each other; thus no priority restriction exists.

Initially, the Job Shop Scheduling Problem (JSSP) either was not solvable or could take excessive time period for obtaining solution. In context of computational complexity, the JSSP is NP-hard [211] and it belongs to one of the most difficult problems in this class [212]. This is due to the fact that, in a JSSP, every job can have a different and separate processing time; thus the complexity of the problem grows with the number of jobs.

Framinan et al. [12] have shown that it will take 1.68 billion years to evaluate all possible solutions for 30 jobs to be scheduled on a single machine with a fast running computer at 5 Picohertz (PHz). Similarly in a state-of-the-art survey of JSSP complexity, Brucker et al. [213] pointed out that JSSP can go up to binary NP-hard class. As FJSSP is a further extension of the classical JSSP, it is further complex. A schedule for JSSP with jobs and machines will have possible sequences [214]. Therefore an exact solution to these problems cannot be found in a reasonable time keeping in view the manufacturing priorities. The computation time increases exponentially for NP-hard problems with a linear increase in size of problems [215].

2.5. Scheduling Algorithms

According to Cormen et al. [216], algorithms are a sequence of activities which can transform an input value to a desired output, hence serving as a tool for solving a specified computational problems. The origins of algorithms can be traced back to 8th century when Al-Khwarizmi defined steps for solution of quadratic equations [217]. With the immense increase in the computational power, more and more complex calculations can now be performed to address various issues and thus more advanced algorithms have been developed. Figure 4 presents a classification for the scheduling algorithms. This classification is not exhaustive and only contains a broad view of the algorithm classes.

Exact algorithms guarantee that there will be no better solution after a problem has been solved. However, as mentioned earlier, the complexity of the FJSSP is of extreme nature and there is very limited scope for the use of exact algorithms. In the modern era, approximate algorithms have gained extreme popularity due to the fact that problems have become more complex and the need to reach the solution in a reasonable time has become a prominent research area.

3. Genetic Algorithms

GA belongs to the evolutionary algorithms class and its development was inspired through the process of natural genetic evolution. The original work on natural evolution was contributed by Darwin [218] in which he claimed that natural populations evolve according to the process of natural selection on the basis of “survival of the fittest” rule. Initial work on GA was conducted by Holland [219] in 1975, which was then extended majorly by Goldberg [220].

Giraffes use their long necks to eat the leaves at higher parts of the plants. Thus as per the rule of the survival of the fittest, giraffes have evolved with generations having longer necks. The GAs can be used to mimic this natural process of genetic evolution on the principal of survival of the fittest to obtain solutions to the engineering problems. The beauty of GA lies in its adaptive nature; that is, it can change/fit itself according to the changing environment. Next section explains basic working of GA.

3.1. Basic Elements of GA

The basic working element of GA is gene, a group of which constitutes a chromosome. The chromosomes contain the current state data coded in the form of binary digits 0 or 1 which is distinctively stored in a gene. This structure represents a candidate solution to the problem in consideration. GA works on these coded forms of the data instead of working on actual data elements. The chromosomes combine to form a population which in turn formulates a generation. GA is an iterative evolutionary process which formulates a generation after each iteration. Figure 5 represents the schematic representation of the relation of these elements.

3.2. Genetic Operators

Each generation is subjected to the genetic operators to obtain a new generation. The new generation is theoretically better than the previous generation, as the new generation is generated after implementing the principle of “survival of the fittest” and thus it replaces the older generation. During this process, either the whole population can be changed or only the worst chromosome can be replaced [221]. Obviously, these are two extreme methods and several strategies for new population can be formulated.

The iterations are guided in a way that they satisfy a fitness criterion and they are repeated to obtain an acceptable generation. The genetic operators are used to bring in the beauty of randomization in the algorithm. Standard GA operators are presented in the following.

3.2.1. Selection

Selection operator is used to select chromosomes in a generation based upon fitness. The chromosomes satisfying the fitness criteria are likely to be selected in each newer generation. Generally used selection criteria are as follows:(i)Roulette wheel selection: the selection probability of a chromosome is directly proportional to its fitness as assessed by the fitness criteria. Thus a chromosome with higher fitness will have more probability to be selected; however, lower fitness chromosomes may also be selected.(ii)Rank based fitness assignment: this method associates relative fitness between individual chromosomes, hence preventing a generation from containing an all-fit chromosome structure. The method is mainly used to maintain diversity in the population.(iii)Tournament selection: a set of chromosomes are selected randomly and then the fittest chromosomes are selected for further operation. This method is completely random.(iv)Elitism: the crux of this method is that it maintains a fixed number of fittest chromosomes and the rest of the population is generated by using any of the preferred selection methods. Thus this method not only ensures that the best solutions remain in the population, but also ensures the diversification of the population by selecting chromosomes from the entire solution space.

3.2.2. Crossover

The crossover operator is applied on the genes of two parent chromosomes to produce two offsprings which contain distinctiveness of the parent chromosomes. These offsprings have more probability of survival than their parents as they are fit as compared to their parents. Consider two parent chromosomes having 4 genes each. Crossover can be applied to these chromosomes at third gene (at pointed arrows) to obtain two offsprings as presented in Figure 6. This technique is known as single-point crossover. Many modified crossover techniques have been proposed in literature which will be identified in this review.

3.2.3. Mutation

Mutation operator is applied on a single chromosome for the purpose of changing a gene at its respective location. The gene 1011 can be mutated as 1111, as the gene at location 2 is flipped from 0 to 1. The mutation operator is used to change some information in a selected chromosome or diversify the solution space for further exploration. Many modified mutation techniques have been proposed in literature which will be identified in this review.

3.3. A Simple GA

First of all, the problem is coded in such a way that it can be represented in the form of binary numbers in a chromosome. As GA requires an initial candidate solution for its initiation, the initial solution is generated by randomization or diversification. The solution is then subjected to genetic operators (selection, crossover, and mutation) until the termination criteria are met. Algorithm 1 represents a typical GA.

Start
Encode initial solutions in chromosomes
Randomly generate an initial population of chromosomes
Compute fitness for each chromosome in the population
Repeat the following until number of offsprings <= number of chromosomes,
(i) Select a pair of parent chromosomes using selection method
(ii) Crossover the selected pair with the crossover probability at randomly chosen point to form two offsprings
(iii) Mutate the offsprings with mutation probability at all locations
Obtain new set of chromosomes
Replace the current population with new population using replacement strategy
Compute fitness
Generate new population until the fitness criteria is met
End
3.4. General Approaches for FJSSP Solution Using GA

Keeping in view the combinatorial nature of the FJSSP, evolutionary algorithms have proven to be highly effective in providing acceptable solutions. Mesghouni et al. [222] were the first to use GA for the solution of FJSSP by proposing parallel job and parallel machine representation. In literature, the approaches for FJSSP solution can be classified as follows:(i)Hierarchical approach: this approach aims to solve the FJSSP by decomposing into two parts and solving them separately according to its structure, that is, machine selection problem and operation sequencing problem. Examples include the classical work of Brandimarte [223].(ii)Integrated approach: this approach solves the two subproblems of FJSSP simultaneously instead of dealing with them in a separate way. Examples include state-of-the-art works of Dauzère-Pérès and Paulli [224], Hurink et al. [225], and Mastrolilli and Gambardella [226].

The scheduling problem cannot be solved without efficient solution aids due its difficult nature. Therefore, scheduling modules/systems have been designed to handle the problem. These types of systems help in performing experiments and also prove very helpful in debugging and validation of the scheduling algorithm. A modular and schematic representation of such scheduling system architecture with GA is presented in Figure 7.

4. FJSSPs Involving GA

Many different approaches have been applied to solve the problem due to its difficult nature. Some of the very recent approaches include biogeography based optimization [227], firefly algorithm [228], heuristics [229], invasive weed optimization [230], and differential evolution [231]. However, GA remains the most used algorithm for the FJSSP [3, 232]. This section presents the literature survey of the FJSSP solved using GA. First the methodology and scope are defined and then the literature survey is presented in following three areas:(i)FJSSP solved using only GA and NSGA(ii)FJSSP solved using advanced forms of GA(iii)FJSSP solved using hGA.

4.1. Methodology and Scope

For the purpose of literature review, databases of Elsevier, Springer, Taylor and Francis, IEEE, and Hindawi are searched with the phrases “Flexible Job Shop Scheduling” and “Genetic Algorithm”. Both conference and journal papers have been reviewed; however, emphasis has been laid on the journal publications. Book sections, thesis, and technical reports have not been included. The publications occurring after 2001 have been considered in this review. Data has been collected manually from selected publications using EndNote®.

4.2. Available Reviews

JSSP is a classical optimization problem, so the reviews of this problem can be traced back to 1966 [214]. However, the review papers aiming at the survey of FJSSP have appeared after 2000. Some of the salient features of reviews are outlined below.(i)Gen and Lin [233] have presented the survey of multiobjective evolutionary algorithms for JSSP. They have reviewed FJSSP in this paper along with other shop layouts and identified various evolutionary strategies for achieving the solution of the said problem.(ii)Vincent and Durai [234] have presented a survey of optimization techniques for multiobjective FJSSP. They have compared five algorithms and their performance results have been summarized.(iii)Çaliş and Bulkan [3] have reviewed the artificial intelligence based approaches for JSSP. They have also included some instances of FJSSP in their survey.(iv)Chaudhry and Khan [232] have presented a survey on all available solution strategies for FJSSP. They have segregated the literature based upon the solution techniques and provided insight to the research directions in FJSSP.(v)Genova et al. [210] have also presented the solution approaches for multiobjective FJSSP.

It can be concluded from the data presented above that there is a need to assess the application and implementation of GA based approaches as they have not been addressed in a separate manner.

4.3. Objective Functions of FJSSP

The aim of solving the FJSSP is to satisfy a predefined performance criterion in order to obtain an optimal schedule. Therefore the FJSSP is essentially an optimization problem with a cost function which is required to be either minimized or maximized. Several optimization criteria have been formulated as a result and researchers have carried out single objective and multiobjective optimization with these criteria.

Table 1 presents a summary of commonly used objective functions in FJSSP along with their impact and applicability with respect to the production environment. Obviously, this list is not exhaustive and many other objective functions can be found in the literature.

4.4. Benchmark Problems

A number of benchmark problems have been formulated for FJSSP in order to compare the performance of new scheduling algorithms. The validation of a newly developed scheduling algorithm is done by the stated comparison. Various benchmark problems/data sets for FJSSP have been published. However this article reviews the benchmark data published by Fisher and Thompson [235], Lawrence [236], Tillard [237], Brandimarte [223], Hurink et al. [225], Lee and DiCesare [238], Barnes and Chambers [17], Dauzère-Pérès and Paulli [224], Kacem et al. [19, 133], and Fattahi et al. [239]. A detailed benchmark instances data has been presented by Dennis and Geiger [240].

4.5. FJSSP with GA and NSGA

GA has been used for solution of JSSP for above thirty years now; for example, Lawrence [241] has used GA for the solution of JSSP in 1985. However, the implementations of GA in FJSSP started after 1990 when Brucker and Schlie [16] presented their study in this area. Since then, there has been an immense increase in the research interest in this area. Table 2 presents the year-wise literature review. The single objective functions solved using GA have been included. Furthermore, the algorithms for multiobjective optimization are also included in this section. These problems are primarily solved with Nondominated Sorting Genetic Algorithm (NSGA) and similar approaches.

4.6. FJSSP with Advanced Forms of GA

With the advancement in computing power and artificial intelligence techniques, various advances have been made in the original GA by incorporation of innovative ideas, majorly learning based evolution. Table 3 presents the year-wise literature in this area.

4.7. FJSSP with hGA

Although better results have been obtained with the techniques presented in Section 4.6, other standalone optimization techniques have also been proposed for the solution of FJSSP. However, researchers have amalgamated some standalone techniques with GA to obtain better solution times and results. These techniques have primarily been used to further improve the solution of a stated GA iteration before starting the new iteration. In this way, optimum solution is reached in a more effective manner. Table 4 presents year-wise literature in this class.

5. Analysis and Discussion

As obvious from the data presented in Section 4, FJSSP is an important research area which is highly published and which has been attended to with continuity over the last twenty years. This is due to the fact that the exact solution of this optimization problem has not been found yet and efforts are still being made to attain good solutions in a reasonable time and with reasonable computational resources.

We have reviewed a total of 190 research articles published from 2001 to December, 2017. These articles were narrowed down from a total of 384 articles found on the FJSSP. The articles have strictly been selected if they are on optimization of FJSSP and solved using a variant of GA. Furthermore, data also depicts the use of various types of GA operators (crossover, mutation, and selection) used by the researchers. The following facts have been revealed by this survey.

5.1. Source-Wise Distribution

Source-wise distribution of this survey is presented in Table 5. We have emphasized the number of journal articles over conference publications. It is evident from Figure 8 presenting the patch-wise distribution that 41% articles have been collected from 2009 to 2012 while 38% articles have been collected from 2013 to 2017. The combined percentage of articles published during years 2009–2017 comes out to be 79% of the total published research. Thus, a major chunk has been published in the last seven years.

5.2. Year-Wise Distribution

Year-wise distribution of these articles (journal and conference) is presented in Figure 9. There has been an increasing trend in the publications in this area from 2009 to 2012 while a constant and healthy trend has been observed in years 2013–2017.

5.3. Most Published Journals

The journals covering the subject of FJSSP are presented in Table 6. A total of 113 journals have given coverage to FJSSP related articles, while the journals publishing more than 2 papers are presented here. The International Journal of Production Research has published most research articles in this area.

5.4. Country-Wise Publication Data

Figure 10 presents country-wise publication data. A total of 184 countries have contributed in this area, out of which China has published 43.53% of publications while Iran, France, and Japan have published 11.18%, 10.59%, and 7.06% publications, respectively. Other notable countries are India, Turkey, and Taiwan.

5.5. Techniques Used for FJSSP

There are 78 different technique combinations used in the selected papers, out of which only 10 techniques constitute 119 papers (62.63%). A distribution of techniques having at least 3 publications is presented in Table 7. It is evident that 70 publications have used GA as a sole technique for solution of FJSSP and GA + TS is the most used hybrid technique. A group-wise division of the whole techniques in Table 8 shows that hybrid techniques constitute a 37.5% of our study, while pure GA based publications amount to 39.5%. It is also evident that GA has been hybridized majorly with local search approaches like TS, SA, and VNS. This technique improves the initial solution of GA routine. There is a need to explore the possibility of hybridizing various other standalone optimization algorithms with GA.

5.6. Most Used Objective Functions

A total of 62 objective functions have been optimized in single/multiobjective manner. Table 9 summarizes the occurrences and percentages of the objective functions giving at least 02 occurrences. It is evident that makespan is the most sought after objective. Figure 11 shows that 46 different multiobjective functions have been addressed in contrast with 13 different single objective functions.

Table 10 indicates that makespan has been addressed the most as a single objective function, while makespan, workload of most loaded machine, and total workload of machines have been addressed the most as a multiobjective function.

5.7. Most Benchmark Problems Attempted

The benchmark problems attempted the most are tabulated in Figure 12. The benchmark problems have been addressed 262 times. It is pertinent to mention here that there is a tendency in literature, especially conference papers, to attempt using the selected data sets. Thus if an author has attempted to solve only one of the ten problems of Brandimarte, we have counted it as one instance. The problems of Kacem have been attempted the most with Brandimarte at the 2nd priority. The industrial problems have been addressed only 5% of the time and other than that the research has been inclined towards algorithm development and comparison with benchmark instances.

5.8. Software Tools Used

This survey shows that 25 software tools have been used for the competent solution of FJSSP. Table 11 depicts that C++ has been the most popular language for programming the problem, with MATLAB being the second most popular.

5.9. Special Cases of FJSSP

Although there are many different cases of FJSSP studied in literature, the following cases have received special attention as they have been studied more often than others.(i)Dual-resource constrained FJSSP, for example, [52, 162](ii)Sequence dependent setup times, for example, [88, 207](iii)Distributed and flexible JSSP, for example, [79, 99](iv)Just-In-Time dynamic scheduling, for example, [80, 83](v)Overlapping in operations, for example, [73, 98](vi)Random machine breakdowns, for example, [91, 184](vii)Dynamic FJSSP, for example, [94, 96].

5.10. GA Parameters

It is evident from the literature review presented in Tables 2, 3, and 4 that various GA parameters have been used to address the FJSSP. Table 12 presents the major types of mutation and their frequency of use. Similarly, Tables 13 and 14 present the frequency of crossover and selection operators.

6. Conclusions

This paper has presented the review of GA based techniques for solution of FJSSP with the help of literature published in the conference and journal papers in the time frame of 2001–2017. The study presents a comprehensive insight into the research trends in this area.

The contribution of this work is twofold. Firstly, it addresses the application of GA specifically to the FJSSP and provides a startup for researchers who want to excel in this area by providing recent research trends. Secondly, the parameters that have been used the most are also identified which can be mapped with references for advanced studies. Furthermore, the special cases of FJSSP have also been identified.

The study has surveyed the implementation of GA for FJSSP in detail and the trends for use of GA parameters have also been presented, along with the benchmark studies conducted with each approach. It is obvious that GA is the most popular technique for the solution of FJSSP. The researchers have made no claim that any of the methods is the best, but the trend is to compare the solutions with the standard benchmarks. The study has pointed out the mostly used parameters of GA in the literature. It was also observed that hybrid GA is even more popular than the pure GA. Furthermore, due to the known phenomena of local minima trap in GA routine, local search techniques have mostly been integrated with the GA. Consequently, there is a need to explore options for integration of more advanced artificial intelligence based algorithms with GA.

Notations

ACX:Assignment crossover
AllM:Allele mutation
AssM:Assignment mutation
BC:Barnes and Chambers
BR:Brandimarte
Conference paper
:Makespan
CP:Conference proceedings
:Production costs
DP:Dauzère-Pérès and Paulli
Earliness
EM:Exchange mutation
:Minimum of efficiency
EOX:Enhanced order crossover
:Mean flow time
FH:Fattahi
FT:Fisher and Thompson
Fuzzy :Min of fuzzy makespan
GA:Genetic Algorithm
GOX:Generalized order crossover
HU:Hurink
ImmM:Immigration mutation
InsM:Insertion mutation
IntM:Intelligent mutation
InvM:Inverse mutation
IPOX:Improved precedence preserving order-based crossover
Journal article
:Waiting time of jobs
KA:Kacem
LA:Lawrence
LD:Lee and DiCesare
LEGA:LEarnable Genetic Architecture
:Max lateness
LS:Local search
MBM:Machine based mutation
MGOX:Modified generalized order crossover
MGPMX1:Modified generalized partially mapped crossover 1
MGPMX2:Modified generalized partially mapped crossover 2
MOGA:Multiobjective Genetic Algorithm
MPPX:Modified precedence preserving crossover
MPX:Multipoint crossover
MX:Modified crossover
NM:Neighborhood mutation
NRGA:Nondominated ranked Genetic Algorithm
NSGA:Nondominated sorting Genetic Algorithm
OPX:One-point crossover
OX:Order crossover
PAES:Pareto archive evolutionary strategy
PBM:Position based mutation
PMX:Partially mapped crossover
POX:Precedence preserving order-based crossover
PPS:Precedence preserving shift mutation
PPX:Precedence preserving crossover
PSO:Particle swarm optimization
RM:Random mutation
RX:Random crossover
SA:Simulated annealing
SM:Swap mutation
SPEA:Strength Pareto evolutionary algorithm
SPX:Single-point crossover
:Stability of schedules
SSX:Subsequence exchange crossover
Total tardiness
:Average tardiness
TI:Tillard
TPGA:Two-population Genetic Algorithm
TPX:Two-point crossover
TS:Tabu search
:Weighted tardiness
UX:Uniform crossover
VNS:Variable neighborhood search
:Workload of most loaded machine
:Total workload of machines
MSCEA:Multi-swarm collaborative evolutionary algorithm
MILP:Mixed integer linear programming
ACO:Ant colony optimization
hGA:Hybrid Genetic Algorithm
JBX:Job based crossover.

Conflicts of Interest

The authors declare no conflicts of interest.

Acknowledgments

The authors acknowledge NUST for partially financing these studies.