A review of scheduling problem and resolution methods in flexible flow shop

Article history: Received December 26 2017 Received in Revised Format February 18 2018 Accepted April 14 2018 Available online April 14 2018 The Flexible flow shop (FFS) is defined as a multi-stage flow shops with multiple parallel machines. FFS scheduling problem is a complex combinatorial problem which has been intensively studied in many real world industries. This review paper gives a comprehensive exploration review on the FFS scheduling problem and guides the reader by considering and understanding different environmental assumptions, system constraints and objective functions for future research works. The published papers are classified into two categories. First is the FFS system characteristics and constraints including the problem differences and limitation defined by different studies. Second, the scheduling performances evaluation are elaborated and categorized into time, job and multi related objectives. In addition, the resolution approaches that have been used to solve FFS scheduling problems are discussed. This paper gives a comprehensive guide for the reader with respect to future research work on the FFS scheduling problem.


Introduction
A production system constructed by few parallel production lines or group of machines in a single stage and established in multi-stage flow shop facilities, is commonly defined as flexible or hybrid flow shop system.In other words, flexibility is the results of the facilities, lines or machines, that increase the production flow with the purpose of increasing the production capacities of the job floor by either balancing the capacities of the stages or eliminating/reducing the impact of the bottleneck stages (Jungwattanakit et al., 2008).In flexible flow shop (FFS) system, the product flow is unidirectional in the plant and processed in ordered operations at only one machine in each stage for one or more stages.The machines can be classified into identical, uniform or unrelated units (Zandieh & Gholami, 2009).These categories will be discussed further in the later sections.Flexible flow shop methodologies have been used in different industries such as semiconductor, automotive, chemical, etc.
The FFS scheduling problem has attracted considerable attention since it was identified in 1970s (Choi & Wang, 2012).FFS scheduling problem can be generalized by two fundamental scheduling problems which are the flow shop scheduling and the parallel machines scheduling problems (Wang, 2005).There is a slight different between these two, where in the flow shop scheduling problem, a series of machines with various types and functions is arranged in multiple stages.Each stage only consists of one type of machine.On the other hand, the parallel machines scheduling are not divided into different stages, and it consists of a series of identical machines at the same stage.
Flexible flow shop scheduling problem can be categorized based on the number of stages, jobs and machines.A set of n jobs has to be processed on any one machine at each stage.FFS consists of a set of k ≥ 2 stages or machine centers.These stages include m identical machines in parallel.Each stage machine can only process one job at a time.Preemption can be either allowed or not allowed in the FFS problems.Many research works have scheduling with no preemption, which means that a job must be finished on a machine before other jobs starts to process on that machine.However, others discussed on the lot-splitting method where the lot can be split or divided into several machines to enhance the throughput and machine efficiency.In addition, FFS problems can be classified as limited or unlimited storage capacity for the buffer that stores the partially complete jobs while waiting to process at next stage.In a nut shell, different environments or constraints have been studied and discussed.Hence, these constraints are categorized into machine, job and system constraints in this paper.
Scheduling is defined as a decision-making process for the allocation of the resources by achieving one or more objectives in a given time frame (Pinedo, 2008).The objective functions used in most of the research works can be categorized as time related, job related and multiple objectives.The relationship and the limitation between the constraints and the performance evaluation are discussed.A comprehensive review can be beneficial to researchers in respective application by depicting the current state-of art of the topic.We believe that this survey allow the researchers to figure out the potential future areas which have not been covered yet by the existing literate.

Problem statement
The flexible flow shop (FFS) system can be defined as a set of n jobs has to be processed in k ≥ 2 stages and no more than one job can be processed on the machine at a same time.Each stage either consists of one or more machines but at least one of these stages is involved with more than one machine.Each job consists of several operations and these operations are aligned in flow through stage by stage.The processing time of the job i and the process at lth stage is Pil≥0.The job can only process to the next operation only after the previous operation is complete.This is a fundamental of FFS system based on the papers reviewed, and most of the studies are extended the system by specifying some constraints to become more comprehensive and realistic.
In the following sections, different constraints are discussed by using the specific notations to obtain the common understanding.This notation is proposed by Graham et al. (1979) and follows the structure α|β|γ but disaggregates α into four terms, i.e. , , , … ., .Here, α1 indicates the problem considered, FF/HF stands for flexible/hybrid flowshop.α2 is the number of stages, which is >1.For each stage, parameter α3 explaines the machine types, i.e. identical(P), uniform(Q), unrelated (R) or 0 if there is only one machine.The parameter α4 indicates the number of machines in the stage.α3 α4 define the characteristics of the machines.The notation α3, α4 can be grouped as while the same number and machine type consists in several consecutive stages.s is the first stage while k is the last stage.

Machine constraint
The types of machines are the common criteria that determine the environment of the production system in FFS problem.These criteria might affect the model of the FFS problem and play an important roles in defining the optimization constraints.All the constraints are categorized in the following section.After we gathered all of the literatures and depicted in Fig. 1, more than 70% of the total literatures have considered the machines to be identical, whereas uniform machines and unrelated machines are dicussed in less than 30% of the articles.It can reflect that, identical machines environment is more common to be used and is easier to be applied.

Identical Parallel machines
The FFS problem has been widely studied during the last few years but there is a large number of the studies associated with the identical processors/machines.Identical parallel machines can be explained as "the processing time of a job on each stage does not depend on the specific machine to which it is assigned" quoted from Ribas et al. (2010).In other words, all the machines are considered to be identical in all stages.There are more than 80% of the literatures associated with identical parallel machines as the machine constraint (Ruiz & Vázquenz-Rodríguez, 2010) under different environments.Identical parallel machines have been widely used in 2 stages, 3 stages and k stages of system environment.Gupta and Tunc (1998) and Lee and Kim (2004) consider 2 stages FFS with m identical machines in 2-stage and same as Haouari et al., (2006), also present a 2 stage FFS with multiple identical machines in each stage.Joo et al. (2013) considered three serial stages of identical parallel machine for a dynamic FFS with multiple objective functions.A more general environment consisting of k stages and identical parallel machines in each stage was studied (Babayan & He, 2004;Choi et al., 2005;Li et al., 2014;Marichelvam et al., 2014;Moursli & Pochet, 2000;Niu et al., 2012;Wang & Choi, 2014;Xuan & Tang, 2007).Identical parallel machine has also been used in other environmental constraints; for example Kianfar et al. (2012) presented the FFS scheduling with sequence dependent setup time and each stage consists of identical parallel machine as well.Kahraman et al. (2010) presented a scheduling problem with multiprocessor task in identical parallel machine environment where each task requires one or more machines simultaneously at each stage.

Uniform parallel machines
The parallel machines run with different speeds and are defined as uniform parallel machines.Similar identical parallel machines, uniform machines system can be applied in different stages of environment.This type of machine system only contributes to 8% of the total analyze literature.Riane et al. (2002) studied 2 uniform machines at the second stage in the FFS.Soewandi and Elmaghraby (2003) presented the study of 2-stages FFS sequencing problem with uniform machines in each stage.Kyparisis and Koulamas (2006a) presented an extension of Soewandi's paper which considered 2-stage uniform 78% 8% 14%

Identical machines
Uniform machines Unrelated machines parallel machines problem with an alternative tight speed-dependent bound for the S-E heuristic.Bertel and Billaut (2004) presented a FFS with recirculation, which consists of 3-stage multiprocessor flow shop, and with the condition that the particular jobs are allow to re-enter at some stages.Multiple stages model is normally defined as k number of stages.The FFS consisting of 16 production stages with uniform parallel machines are discussed in Voß and Witt's (2007) paper.

Unrelated parallel machines
Under the real world situation, newer machines are commonly run with older and less efficient machines in the same production lines; it is due to the high replacement costs.The operation time required for both machines might be different when it performs the same operations.This situation is defined as unrelated parallel machines (Jungwattanakit et al., 2005).Low (2005) addressed a problem where the independent setup and dependent removal times was considered in the multistage flow shop scheduling with unrelated parallel machines.Jenabi et al. (2007) discussed the unrelated parallel machines environment over a finite planning horizon to minimize the sum of setup and inventory holding costs.Sawik (2006) performed a FFS with multi-capacity machines for long and short term machine assignment by using integer programming.Chen andChen (2008, 2009) discussed the unrelated parallel machine problem by using bottleneck-based heuristics with three machine selection rules.Ruiz and Stützle (2008) presented their studies by considering few criteria which are included: the release dates for machines, unrelated parallel machines, machine eligibility, possibility of the setup times to be both anticipatory and non-anticipatory, precedence constraints and time lags.More studies in unrelated parallel machines can be found in (Jungwattanakit et al., 2008;Low et al., 2008;Ruiz et al., 2008;Sawik, 2005;Yaurima et al., 2009).

Job constraint
Job constraint indicates the job's situation in the production system which includes the buffer condition and the sequence dependency processing time of the jobs.These kinds of constraints will increase the complexity of the scheduling process while more considerations are made.

Limited buffer
There are two types of constraints, influencing on the intermediate storage which are the capacity and time constraints (Akkerman et al., 2007).A limited storage share by a multitude of products is considered as capacity constraints and usually the number of products is bigger than the number of storage.Besides, if the products are physically large, the intermediate storage may have a limited capacity and causing blocking.When this happens, the job has to remain at the upstream machine and it will affect the completion time.On the other hand, time constraint is considered if the intermediate products are presented as perishability.This usually happens in some unpackaged intermediate products which makes the storage time constraint become important than in other stages with packaged products.The immediate product might have the risk to be disposed if the operation time is over a certain period of time (Akkerman et al., 2007).
In most studies, capacity constraint is the most common criteria to be considered.The buffer capacities can be divided into two categories which are limited and unlimited buffer.Almeder and Hartl (2013) discussed a 2-stage FFS with limited buffer where the first stage is the assembly line and the second stage is a backline production for quality control.Akrami et al. (2006) proposed a multi-product lot scheduling with limited intermediate buffers for the finite horizon economic lot.Wang and Tang (2009) presented a study in FFS with finite intermediate buffers by using Tabu Search algorithm.

Unlimited buffer
The intermediate storage or buffer capacities is usually categoried as unlimited when the products are physically small such as printed circuit boards.Small products are relatively easy to store compared with bigger products in large quantities.The in-process inventories are allowed in the unlimited buffers between each successive stage.
This constraint can be defined under different environments and various solutions can be applied.Fattahi et al. (2014) developed a branch and bound algorithm for FFS with setup time and assembly operation.
In the study, the buffer storage is assumed to be unlimited.Wang and Choi (2012) proposed an infinite buffer FFS scheduling by decomposing the problem into several clusters to make it easy to solve by different approaches.Wang and Choi (2014) presented another paper to discuss the uncertainty in processing time which assumes infinite buffers as well.Jenabi et al. (2007) addressed the unlimited buffer between adjacent stages.There are many studies with unlimited buffer capacity in order to simplify the model and considerations (Torabi et al., 2006).

Sequence dependent
The machine setups are affected by two criteria which are the product variety and production sequence.The setup time is included into total makespan and queuing time of the product, and hence it plays an important role in the optimization process as well.FFS scheduling problem with sequence dependent setup times is even more difficult NP-hard problem as stated by Pinedo (2008).The machine sequence of the jobs made at the stage before and after the current stage may affect the processing times of the jobs in FFS.The decision made for the processing flow influences the processing time of the jobs (Ahonen & de Alvarenga, 2016).Logendran et al. (2006) studied the FFS scheduling with sequence-dependent setup times by minimizing the products makespan.The machines included are unrelated in every stage and some machines are not eligible to perform some jobs.Pugazhendhi et al. (2004) addressed FFS with sequence-dependent setup times, while the objective was to minimize the total weighted flow time.From the studies, the authors derived a non-permutation schedule from a given permutation sequence.Jungwattanakit et al. (2008) considered both sequence and machine dependent setup time in their paper.Kianfar et al. (2012) studied a sequence dependent setup time of FFS system by considering the nondeterministic and dynamic arrival of jobs.In the paper of Ebrahimi et al. (2014), a stochastic modeling was proposed to solve the FFS problem with uncertain due date and sequence dependent family setup time.The due date is assumed to be uncertain and its data followed a normal distribution.Ruiz and Stützle (2008) presented an anticipatory and non-anticipatory machine sequence dependent setup times.They presented another paper in sequence dependent setup times and machine eligibility as well (Ruiz & Maroto, 2001).Tang and Zhang (2005) developed a heuristic combined artificial neural network to minimize the sum of setup times in FFS with sequence dependent setup time.

Sequence independent
A series of setup procedures before the operation on a machine is determined by setup time.The equal setup times of the same job is applied to the same stage and it is not affected by the sequence of the product flow.Zhang et al. (2005) proposed a sequence independent setup time in FFS system to minimize the mean completion time by splitting the lot into multiple sub-lots.Quadt and Kuhn (2005a) considered sequence independent batch setup cost, as well as the mean flow time.Alisantoso et al. (2003) performed the scheduling problem of a FFS with sequence independent setup times by using immune algorithm approach.Yang et al. (2004) and Yang et al. (2007) presented a multiprocessor flow shop with sequence independent setup time in stochastic environment which claimed to become more practical and realistic (Yang et al., 2004;Yang et al., 2007).In Xuan and Tang' (2007) paper, sequence independent setup time is included in the FFS problem and the processing time of the first job and the setup up time are separated.The setup time is incurred when the machine switching the jobs between two batches.In the others words, the setup of the next batch can start after the first batch.In the paper discussed by Akrami et al. (2006), job sequencing and lot sizing are considered to minimize three main costs which are divided into 1) the sum of setup costs, 2) the work-in-process inventory holding costs, 3)finished products inventory holding costs with the condition without backlogging.In addition, the setup time and cost are both independent to the sequencing and lot sizing.

Objectives functions
Objective functions can be classified as time related, job related and multi-objective functions.Time related objective functions are: the minimization of makespan, completion time, cycle time and flowtime.
Although different terms are used in different studies, but the meaning is about the same.Some studies are further analyzed based on makespan such as total/average completion time, mean flowtime, etc. Job related objectives are famous in job tardiness and earliness.As indicated in the review paper of Ruiz and Vázquenz-Rodríguez ( 2010), there are not many papers which deal with multiple objectives.Single objective system cannot truly represent the exact situation facing the real world problems.Hence, multiobjective scheduling is a potential study direction that tends to be more close to reality and it has not been deeply explored so far.Fig. 2 shows the percentages of the objectives function.

Time Related Objectives Functions
The makespan objective is commonly used to represent the utilization of the machines.The models of the makespan are relatively simple compared with total completion time and due time related objectives which tend to be even harder (Pinedo, 2008).From the Fig. 1, the literature up to 2014 is heavily biased towards the time related objectives which consists of 67% of the references.
The majority of the studies have focused on the makespan minimization by using different methods under various environment constraints.Haouari et al. (2006) developed a B&B algorithm for makespan minimization.Marichelvam et al. (2014) used the metaheuristic algorithm to minimize the makespan for the FFS scheduling problem.The objective in (Li et al., 2014) is to assign the jobs to an optimal machine for each stage, in order to minimize the makespan.Makespan, completion time, cycle time or flow time are the terms normally used in the objective functions which have the same meaning in each case.Bożejko et al. (2014) developed an algorithm to solve the cyclic hybrid flow shop with minimization of the production cycle time.Some studies are even further divided the completion time into mean flow time and weighted completion time.For example, Shiau et al. (2008) proposed a constructive genetic algorithm to minimize the total weighted completion time in the proportionate FFS scheduling problem.In the paper discussed by Niu et al. (2012), the mean total completion time or the means flow time is used as the minimization objectives function.
Makespan or completion time minimization can be used in different environmental constraints.Soewandi and Elmaghraby (2003) considered the two stage uniform parallel machines FFS scheduling problem with minimization of makespan as objective function.Low (2005) addressed a multistage flow shop with unrelated parallel machine by minimizing the total flow time in the system.Thornton and Hunsucker (2004) proposed a new heuristics for minimal makespan with no intermediate storage in FFS problem.
Besides, Kyparisis and Koulamas (2006b) presented another paper to discuss the multistage of FFS with uniform parallel machines.In 2007, Koulamas and Kyparisis (2007) presented a paper in identical machines for 2 and 3 stages with the same objectives as well.Jolai et al. (2012) contemplated the problem of scheduling a FFS with sequence dependent setup times to minimize the maximum completion time.

Job Related Objectives Functions
Recently, in order to meet customers' demand, job related objectives play an important role in industries.Therefore, job related objectives in scheduling problem are attracting more attentions from research community recently.From the Fig. 1, it is striking to see that among all the papers surveyed up to 2014, there are 14% consider the earliness-tardiness objectives with an increasing trend.
In recent years, more and more researches have shifted their objectives to tardiness minimization under different environmental constraints.In the study accomplished by Lee and Kim (2004), the total tardiness is minimized by the proposed branch & bound approach.Kianfar et al. (2012) focused on FFS scheduling with sequence dependent setup time to obtain an optimal schedule that minimizes average tardiness of jobs where the jobs are arrived dynamically over the scheduling period.Khademi Zare and Fakhrzad (2011) presented an efficient algorithm to minimize the total job tardiness in FFS problem by using fuzzy approach.Lin and Liao (2003) focused on a 2 stage FFS problem to minimize the maximum tardiness.Voß and Witt (2007) considered a real world multi-mode multi project scheduling problem in FFS to minimize the weighted tardiness by using dispatching rules method.Bertel and Billaut (2004) minimized the weighted number of tardy jobs by an effectives heuristic algorithm.Botta-Genoulaz (2000) studied a FFS problem in which lags, setup and removal times are taking into consideration with the maximum lateness criterion.Chen and Chen (2008) developed new bottleneck-based heuristics to solve the flow line by minimizing the number of tardy jobs in the problem.Choi and Lee (2009) considered the minimization of tardy jobs in a 2-stage FFS problem with included multiple identical parallel machines.Gupta et al. (2002) also considered a FFS problem where the due date assignment is in counted.Takaku and Yura (2005) presented the FFS with tardiness/due date criteria by using online scheduling.

Multi-objectives
Another observation can be found in Fig. 2 is that only a small number of papers consider the multiple objectives or the papers that deal with more than one objective.In the recent work, we can find that the multi-objective scheduling is a potential direction of study (T'kindt & Billaut, 2006).According to Fig. 1, about 19% of the total literature studied are involved with multi-objectives.Minella et al. (2008) reviewed a large number of existing multi objectives approaches in the regular flow shop.As a conclusion, multi-objective scheduling has not been deeply explored so far, especially in flexible flow shop.Jungwattanakit et al. (2009) determined the minimization of bi-objective by combining the makespan and the number of tardy jobs.Joo et al. (2013) considered two distinct objectives in their study which are the maximization of the quality rate and minimization of the mean tardiness of jobs.Production efficiency, cost and the customer satisfaction can be improved by optimizing these objectives.Jolai et al. (2013) developed a simulated annealing approach for no-wait two-stage FFS scheduling problem with bi-objective.One of the objectives used is to minimize the completion time, while another objective is to minimize the tardiness.These objectives are used as well in the paper presented by Shih et al. (2013).Ebrahimi et al. (2014) discussed on FFS with sequence dependent family setup time and uncertain due dates with optimized simultaneously of the makespan and total weighted tardiness.Janiak et al. (2007) studied the flow shop with parallel machines at each stage by constructive and metaheuristic methods.Three measurements are included which are the total weighted earliness, the total weighted tardiness and the total weighted waiting time.Naderi et al. (2009) discussed on the completion time and tardiness minimization by considering the sequence dependent setup and transportation times in FFS problem.In Sawik's (2006) paper, a multi-objective scheduling is performed by using integer programming formulations.The schedule is divided into long term master scheduling, short term machine assignment and make-to-order assembly schedule.While the objectives included the due date related performance measures over a planning horizon.The multi-objective in the paper by Quadt and Kuhn (2005b) was the minimization of setup cost and the mean flow time.They developed a heuristic solution for the planner to solve and manage the problem by effectively building a trade-off between the two objectives in a short time.The multi-objective in the study of Torabi et al. (2006) are divided into three measurements which are the average of transportation, setup and inventory holding costs.(Chen et al., 2016) Total waiting time, earliness/tardiness and adjusting cost (Jiang et al., 2015) Completion time and total weighted tardiness/ total tardiness (Ebrahimi et al., 2014;Li et al., 2014)

Resolution method
The nature of the solution approaches is classified and described in this section to the different variants of the flexible flow shop scheduling problem.There are large numbers of approaches and problem variants, and hence we can simply classify it into four broad classes which are the exact algorithms, deterministic heuristics, metaheuristic and hybrid approaches.This classification can easily capture the wide variety of the FFS literature and more appropriate than some other sophisticated classifications.Fig. 3 shows the distribution of the resolution methods based on the literatures studied up to 2016.From the figure, we see that over 48% of the total literatures are focused on heuristic, followed by meta-heuristic, hybrid method and exact solution.

Exact solution
Exact algorithm is defined as an algorithm that always finds the optimal solution for an optimization problem.As opposed to heuristics approaches that may sometimes obtain a near optimal solution.A subset of these is the approximation algorithm; those are the ones which can be proven a guaranteed bound on the ratio between the optimal solution and the solution produced by the algorithm.For hard 8% 48% 33% 11%

Resolution Method
Exact Heuristic Meta-heuristic Hybrid optimization problems such as NP-hard problem, it is often the case that there are some polynomial-time approximation algorithms, but the best known exact algorithms requires an exponential time.
Branch and bound (B&B) can be considered as a direct approach to solve the FFS problem.B&B is defined as an algorithm design paradigm for discrete and combinatorial optimization problems.In the B&B algorithm, the set of candidate solution is defined as the root of the rooted tree, while the subsets of the solution set is represented by the branches of this tree.The algorithm explores the branches and determines an upper and lower bound for the optimal solution.The algorithm iteratively discards the solution until the optimal solution is obtained.The method was first proposed by Land and Doig (1960) in 1960 and becomes one of the commonly used tool for solving NP-hard optimization problems.B&B algorithm is suitable only for the small size problems as discussed by Allaoui and Artiba (2006).For large size problems, they proposed several heuristics such as the list algorithm (LS), LPT heuristic and H heuristic.However, B&B algorithm has been used to obtain good results by evaluating a combination of multi-objective including the sum of/maximum weighted flowtime, weighted tardiness and weighted earliness of jobs (Madhushini & Rajendran, 2011).
Most of the researches try to solve the simplified version the problem which included only 2-stage with only 1 machine at first stage and multi machines in the second stage such as the paper discussed by Lee and Kim (2004).It showed the dominances of the permutation schedules and property that can be used to eliminate certain nodes in the B&B tree.The lower and upper bound can be obtained by different methods.Fattahi et al. (2014) presented a hierarchical branch and bound algorithm with the upper bound is obtained by using the Greedy Randomize Adaptive Search Procedure (GRASP).Moursli and Pochet (2000) discussed the release dates and tails of the problem by computing the upper bounds and the lower bounds of the B&B algorithm.

Heuristic
Heuristic methods are the process of searching a satisfactory solution for a given objectives which is not guaranteed to be optimal.Heuristic can be used for problem solving, learning system and optimization.The heuristics group has been divided into constructive procedures and improvement procedures.The constructive procedures are refered to the methods of constructing the solution starting from job based or stage based.The improvement procedures category is refered to the methods that improve a given initial or constructed solution.The most common type of heuristic method is dispatching rules.It is also named as scheduling policies, prioritization rules or list scheduling algorithm.The concept of dispatching rules is a set of priority rules to rank and assign the jobs into corresponding machines.There are several dispatching rules introduced during the past decade.It shows that the dispatching rules have not only played a significant role in static environment but dynamic contexts as well.There are several researchers who have studied the combination of several dispatching rules in order to adapt in different environments for better solutions.They believed that there is no best rule under different environments and criteria.Besides, there are numbers of studies investigated the performance of dynamic dispatching rules under various environments (Gholami et al., 2008).Rajendran and Holthaus (1997) presented excellent studies under various types of dispatching rules especially under dynamic environment.They classified these rules into 5 categories which the rules involving: 1) process time, 2) due dates, 3) neither process time nor due dates, 4) shop floor conditions, and 5) two or more of the previous categories.Different types of rules can be used to perform various objectives, which included time related objectives (example: flow time) and job related objectives (example: tardiness).A novel decoding method named forward scheduling (FS) based on the sequencing rules was proposed by Wang et al., (2011) for solving the FFS problem with multiprocessor tasks.This method decodes the solution based on the order of completion times at the previous stages to determine the processing order on the next stage according to the rules defined.Korytkowski et al. (2013) developed an evolutionary simulation based heuristics to search for the optimal dispatching rules allocation in the production lines.Lu and Liu (2010) proposed a dynamic dispatching rules allocation at each decision point to achieve multiple performance measurement.Jayamohan and Rajendran (2000) proposed a method to use the same rules allocation approach under different stages.Nguyen et al. (2013) presented a dispatching rule which can iteratively improve the schedules from the initial completed schedules.A genetic programming method was used to evolve the iterative dispatching rules and enhance the schedules from the previous schedules.Oğuz and Ercan (2005), Oğuz et al., (2003), andOğuz et al. (2004) proposed a constructive heuristic algorithm to investigate the distribution of processing time.In Lee's (2009) study, he considered the three most common dispatching rules in FFS problem and developed three estimation approaches for the corresponding dispatching rules.Qin et al. (2013) proposed a new dispatching algorithm by modified Hungarian algorithm and fuzzy-logic-based control in the interbay material handling system.In a conclusion, we can find that more and more evolutional dispatching rules methods have been studied and replaced the conventional direct priority rules.
Heuristic algorithms have been used in several manufacturing environments.Heuristic method is not only limited on the dispatching rules method, but there are still a lot of heuristics which have been proposed.Figielska (2008) proposed a new heuristic method based on linear programming in the FFS scheduling problem.The proposed method allows the selection of appropriate jobs on the parallel machines corresponding to the processing time.In the discussion by Hong and Wang (2000), a fuzzy based heuristic method was proposed to solve the makepan problem under uncertain environment.Hong et al. (2001) extended this work on fuzzy heuristics with uncertain data to the m stages case.Caricato et al. (2007) extended the FFS scheduling problem by categorizing the jobs into batches and within each batch, the jobs were sequentially machined.Liu (2008) proposed a rotation method for allocating and sequencing the sublots and the number of sublots was optimized by using linear programming under the single job lot streaming problem.Ying (2009) proposed an iterative greedy heuristic for FFS scheduling problem.Kurz andAskin (2001, 2003) explored 3 types of heuristics for the FFS scheduling problem with sequence dependent setup times which are insertion heuristic, Johnson-based heuristics, and greedy heuristics.3 methods were investigated under different range of conditions.They presented another paper in 2004 (Kurz & Askin, 2004) by using genetic algorithm (GA) with a random key representation in FFS problem.Kim et al. (2007) presented another 3-type of heuristic algorithms, namely forward scheduling algorithms, backward scheduling algorithms, and iterative algorithms subject to a product-mix ratio constraint.In the forward algorithm, jobs and batches are scheduled in the first stage.Second stage is the schedule with these batches.On the other hand, backwards algorithm is in reverse time frame, where the jobs are scheduled at the second stage before the first stage.At last, an iterative algorithm schedules both stages iteratively using information obtained from both stages.
Acero-Domínguez and Paternina-Arboleda ( 2004) developed a new TOC algorithm (Theory of Constraints) which is based on the identification and exploitation of the bottleneck stage.There is another novel method knowns as Discrete Differential Evolution (DDE) algorithm proposed by Pan and Wang (2008).They proved that DDE approach can improve the searching quality and efficiency compared with the greedy, Kalczynski-Kamburowski heuristics, particle swarm optimisation and differential evolution algorithms.

Meta-heuristic
The drawback of the constructive algorithms is the stagnation in a local optimum while most iterative algorithms always try to escape from a local optimum in order to achieve a better solution.The metaheuristics are iterative processes that iteratively improve potential solutions.In others words, metaheuristic approach is a collection of mathematical ideas, which can be employed to describe heuristic algorithms pertinent to a broad set of dissimilar problem.Some researchers are trying to apply these approaches to response the unexpected uncertainties by generate predictive schedule.There are studies in generating robust schedule under dynamic FFS scheduling.Jones et al. (2002) stated that 70% of the articles utilize genetic algorithms as the primary metaheuristic due to its flexibility, 24% simulated annealing and only 6% tabu search.
Genetic algorithms are the efficient tools to obtain the solution with the best compromise.Besbes et al., (2009) presented GA in flow shop problem where the machines are not continuously available.Wu et al. (2003) proposed a simplistic GA approach for an FFS with machine eligibility constraints.In the paper discussed by Costa et al. (2014), a properly developed smart decoding-based genetic algorithm (SGA) was employed for minimizing makespan for a hybrid flow shop scheduling problem with unrelated batch processors, limited machine capacity, and machine eligibility restrictions.The proposed procedure was equipped with a properly developed crossover operator named enclosed order crossover (EOX), which tends to keep unchanged any set of identical jobs included in a given solution to be perturbed.A memetic algorithm (GA with embedded local search) was proposed by Tavakkoli-Moghaddam et al. (2009) in the FFS with processor blocking environment.Jungwattanakit et al. (2008) used constructive algorithm as the starting population selection method in the recommended iterative GA based method for minimizing a bi-objectives problem.Quadt and Kuhn (2005b) presented a new solution procedure by the outer and inner GA for a batch scheduling FFS.The outer GA determines the target batch size and the target number of setups.While the inner GA was used to obtain an optimal schedule.Genetic algorithm has been widely used and implemented in production line scheduling.
A tabu search algorithm was proposed by Chen et al. (2006) in the FFS problem with precedence and Blocking constraints (HFSS-B).Wang and Tang (2009) and Wardono and Fathi (2004) proposed tabu search algorithm in FFS scheduling problem with finite intermediate buffer.Niu et al. (2012) presented an efficient quantum immune algorithm (QIA) for flexible flow shop problem.QIA is an algorithm that combines immune algorithm with the quantum search algorithm.In QIA, a new adaptive crossover operator and fractional parts mutation operator was developed to maintain the population diversity and balancing the convergence speed in immune algorithm.Alisantoso et al. (2003) also described an immune algorithm (IA) approach for PCB manufacturing scheduling.In the paper discussed by Engin and Döyen (2004), artificial immune system was used in FFS as well by introducing an accelerating mechanism and a restraining mechanism in the algorithm.Ying and Lin (2006) proposed an ant colony optimization (ACO) metaheuristic for the FFS scheduling problem and Alaykýran et al. (2007) studied the regular mstage FFS by using Ant Colony Optimization (ACO) method as well.Tseng and Liao (2008) proposed particle swarm optimization algorithm in FFS problem with multiprocessor tasks.Almeder and Hartl (2013) presented a variable neighborhood search based solution approach in the offline stochastic FFS to generate proactive, robust schedules.Two types of variable neighborhood search methods were proposed in (Ribas et al., 2013), where the first type randomly chooses between swap and insertion neighborhoods, while the second type begins the search in one of the neighborhoods and continues the search in the other one.Janiak et al. (2007) proposed 3 constructive algorithms and 3 metaheuristics (based one Tabu Search and Simulated Annealing techniques) algorithms and operates on the notion of so-called operation processing order on each machine.

Hybrid approach
Hybrid approach can be defined as the combination of two or more approaches.Every single approach has its own pros and cons.The traditional GA often suffers from the premature convergence.The construction of the fitness functions and parameter dependence are the difficulty of the traditional GA as well.There are many studies on the GA enhancement by using an initial population and hybrid approaches.In the paper discussed by Jolai et al. (2012), an adaptive imperialist competitive (AICA) and population-based simulated annealing (PBSA) algorithms were studied and combined as a single approach.In the proposed hybrid method, AICA was used to construct the exploitation procedure while the PBSA was used for the exploration procedure.There are many hybrid approaches proposed.Morita and Shio (2005) proposed a new hybrid method by using GA to improve the bound calculation.
According to Rodriguez and Salhi (2005), the authors use both GA in the first stage and dispatching rules method in other stages for the FFS problem.Li et al. (2014) proposed a hybrid variable neighborhood search (HVNS) algorithm that combined the chemical-reaction optimization (CRO) and the estimation of distribution (EDA), in the FFS scheduling problem.The variable neighborhood search algorithm also was used to combine with tabu search algorithm in the generic case of 2 machines with no-wait flow shop problem (Samarghandi & ElMekkawy, 2011).
In the article discussed by Cui and Gu (2015), an improved discrete artificial bee colony (IDABC) algorithm was combined with a novel differential evolution and a modified variable neighborhood search.Akrami et al. (2006) proposed a hybrid algorithm by combining GA and tabu search methods for the common cycle multi-product lot sizing problem in the finite and fixed planning horizon.In a paper studied by Tang and Zhang (2005), a new heuristic combined discrete Hopfield artificial neural network approach was proposed to reduce the number of neurons which makes it possible to solve larger scale problems.Alfieri (2009) also combined the simulation tools, heuristic with TS to solve the complex scheduling problem.

Conclusion
In this paper, the literatures reviewed has been focused since the year 2000 until the most recent paper dealing with the flexible flow shop (FFS) scheduling problem.The flexible flow shop was studied since it is a common in manufacturing industries and more research is paying efforts for the applicable to real cases.In this review, we have classified all the papers according to the objective functions, machinesystem environment constraints and the resolution method.We believed that, it would helpful for those researchers in this area and easier to have a brief understanding throughout the current work.As discussed in the objective function of the scheduling problem, multi-objective problems can be futher studied.In many real-world decision making problems there is a need to achieve several objectives.The single objective function is usually involved in all different objectives either as a minimization or maximization problems.This type of optimization cannot provide an alternative solution to deal with different objectives.While multi-objective optimization can provide a trade-off compensation solution and it makes the problem become more realistic.Different environment constraints have been reported in the literature, however, there is still a need to discuss the real-time scheduling which suffers from the stochastic environment since the real world is unpredictable and dynamic.Besides, the algorithm of rescheduling has not received sufficient attention for its importance in the real-time event and stochastic or dynamic environment.
More and more studies are paying attention on new optimization methods to solve the scheduling problem incuding hybrid algorithms.We believe it is a potential challenge for the current researchers in computational scheduling.

Fig. 2 .
Fig. 2. Objectives functions used in flexible flow shop scheduling problem studies

Fig. 3 .
Fig. 3. Resolution methods used in flexible flow shop studies

Table 3
Multi-objectives