A Review of Prediction and Optimization for Sequence-Driven Scheduling in Job Shop Flexible Manufacturing Systems

: This article reviews the state of the art of prediction and optimization for sequence-driven scheduling in job shop ﬂexible manufacturing systems (JS-FMSs). The objectives of the article are to (1) analyze the literature related to algorithms for sequencing and scheduling, considering domain, method, objective, sequence type, and uncertainty; and to (2) examine current challenges and future directions to promote the feasibility and usability of the relevant research. Current challenges are summarized as follows: less consideration of uncertainty factors causes a gap between the reality and the derived schedules; the use of stationary dispatching rules is limited to reﬂect the dynamics and ﬂexibility; production-level scheduling is restricted to increase responsiveness owing to product-level uncertainty; and optimization is more focused, while prediction is used mostly for veriﬁcation and validation, although prediction-then-optimization is the standard stream in data analytics. In future research, the degree of uncertainty should be quantiﬁed and modeled explicitly; both holistic and granular algorithms should be considered; product sequences should be incorporated; and sequence learning should be applied to implement the prediction-then-optimization stream. This would enable us to derive data-learned prediction and optimization models that output accurate and precise schedules; foresee individual product locations; and respond rapidly to dynamic and frequent changes in JS-FMSs.


Introduction
Flexible manufacturing systems (FMSs) are manufacturing systems that can fabricate diverse product types simultaneously under programmed control at various workstations [1]. FMSs consist of a group of workstations that are interconnected through automated material handling systems and storage systems, and controlled by a computerintegrated system [2]. Along with the advancement of not only manufacturing technology, but also information and communication technology (ICT), FMSs have evolved to handle more diverse product types with greater efficiency and effectiveness. A multimodal factory is a representative example of a modern FMS, which can fabricate and assemble various products demanded across heterogeneous industrial sectors in a single facility [3].
Earlier FMSs were complex, heavy, and poorly adaptive; meanwhile, recent FMSs have become simpler, lightweight, and highly adaptive. The trend in FMS development is advancing toward a smaller version of the traditional FMS, i.e., flexible manufacturing cells (FMCs) [2]. An FMC comprises two or more computerized numerical control (CNC) machines, and produces a variety of products cell-by-cell, thereby making FMSs more agile and flexible. However, uncertainty is a critical issue in FMSs. The increased agility and flexibility of recently developed FMSs has resulted in increased uncertainty. Uncertainty refers to any unpredictable events that disturb manufacturing operations owing to limited machine capacity, diverse setup and processing times, sudden orders, machine The scheduling and sequencing of an FMS is a traditional problem. Accordingly, review papers have provided remarkable analyses of the relevant literature. However, we discovered certain limitations in existing review papers, as detailed in Section 2.1. Existing reviews are confined to optimization problems based on methods and objective functions; moreover, they rarely incorporate uncertainty issues, and they limit the importance of sequencing, particularly at the product level.
This article presents a review of prediction and optimization for sequence-driven scheduling in JS-FMSs. The objectives of this study are to (1) provide analytical information concerning the state of the art of schedule prediction and optimization; (2) offer insight into the causality between sequencing and scheduling; and (3) discuss challenges and future research directions to promote the accuracy and robustness of schedule prediction and optimization. In particular, this article introduces sequence learning, which is a branch of machine learning that involves sequence prediction, generation, recognition, and decision. This article proposes that a sequence-learning-based approach can be leveraged to create data-driven models from learning data to adaptively incorporate the dynamics and uncertainty in JS-FMSs.
The remainder of this paper is organized as follows: Section 2 explains the scope and methodology of the literature review; Section 3 presents our macro-and micro-level analyses of the literature; Section 4 discusses the challenges and future directions; and Section 5 summarizes our conclusions.

Scope and Method
This section explains the scope and methods of our literature analysis. Section 2.1 analyzes previous review papers relevant to scheduling in FMSs; Sections 2.2 and 2.3 describe the scope and methodology of our literature review, respectively.

Review of Previous Reviews
FMS scheduling is a typical and traditional problem in the field of manufacturing. Because of this, dozens of review papers have reviewed and analyzed the relevant literature. These reviews have provided meaningful information and findings on FMS scheduling from holistic and in-depth perspectives. Table 1 summarizes the review papers on FMS scheduling; we analyze them in terms of keywords, production type, and their findings. These reviews have contributed to introducing approaches, technologies, methodologies, and systems regarding FMS scheduling to manufacturing and computer engineers, technicians, and scientists. However, the previous review papers exhibit the following limitations: a.
They rarely accommodate uncertainty issues and their subsidiary factors, such as setup time, buffer size, and transportation time [7,11,14]; c.
They are limited in addressing the importance of product allocations and sequences, owing to dependency on stationary dispatching rules [7,14,15].

Scope
To provide a different view from the previous review papers, we select "optimization", "prediction", "schedule", "sequence", and "uncertainty" as primary aspects. We set up the target areas to provide more concise information and insights. The scope of our literature review is as follows: Sequence type: resource sequence, job sequence, and product sequence; -Consideration: uncertainty factors. Figure 2 illustrates the research methodology; this methodology is revised from Rasheed and Wahid [16], and Akbar and Irohara [17], as they suggest reasonable and logical procedures for literature review and analysis. In the first step, the purpose and scope of the review are defined, as described in Section 2.2. Second, a list of literature within the target areas is identified. Here, we searched for the following keywords using Google Scholar: "scheduling", "flexible manufacturing system", "job shop", "production", and "sequence". We obtained over 2700 articles from online journal sources. We then chose the literature filtered by only journals and international proceedings from the past 14 years (2006-2020). The determination of this duration stems from our judgment that the relevant technologies have recently been growing rapidly. We extracted 47 articles that directly related to the scope of our research from online sources, as presented in Table 2. Third, the research framework is constructed from our in-depth review processes. This step derives classification criteria based on the findings in the literature. Fourth, the limitations of the literature are analyzed. Fifth, the current challenges and future directions are discussed to provide insights. Finally, our literature review is concluded in the sixth step.

Literature Analysis
This section describes the analysis of the literature review. Constructing a research framework that classifies and summarizes the research streams derived from the articles of interest would facilitate an effective elucidation. Section 3.1 introduces the research framework and our review summary; Section 3.2 explains the details of our literature review.

Review Summary
The research framework is illustrated in Figure 3; this framework comprises the layers of domain, method, objective, sequence type, and uncertainty. In Figure 3, we derive items from the individual articles reviewed. Table 3 summarizes the articles in terms of their domain, method, objective, sequence type, and uncertainty. The domain layer is separated into optimization and prediction. Each article is separated depending on whether it concentrates on optimization to improve the target performance with the best input parameters, or prediction to determine the relationship between the input parameters and the target performance. In our analysis, most of the articles of interest concern optimization. Meanwhile, some articles consider prediction as well as optimization, although they mainly aim at optimizing the target performance, followed by prediction for verification and validation purposes.
The method layer is classified into metaheuristic, mathematical modeling, and machine learning; this classification is based on the major methods used to solve the problem described in each article. Metaheuristic and mathematical modeling methods were used in many of the studies; this is attributed to the fact that these articles addressed optimization problems, wherein metaheuristic and mathematical modeling are commonly used. On the other hand, machine learning has become increasingly popular, as it yields knowledge and insights from historical and training data [18].
The objective layer contains diverse performance indicators that relate to time or cost domain metrics, as well as the objective function that identifies the optimization purpose of the indicators.
Productivity is critical in JS-FMSs, as described in Section 1. Many articles have contributed to minimizing production time, wasted time, and production costs by deriving models or solutions optimized for target indicators. Some articles solve multi-objective optimization problems that involve more than two indicators. Meanwhile, others solve single-objective optimization problems. Note that environmentally conscious indicators have recently received attention, owing to the increased importance of environmental issues, even in JS-FMSs; however, these are beyond the scope of this article (refer to [17] for details).
The sequence type layer indicates the sequence types and dispatching rules. Many of the articles apply common dispatching rules (e.g., FIFO, RAND, and SPT) to optimize machine and job sequences; they rely on static dispatching rules, and do not consider the dynamics and changes of such sequences during production. Moreover, the availability of product sequences is not meaningfully incorporated, despite its significant influence on machine and job sequences.
The uncertainty layer involves uncertainty factors including limited machine capacity, diverse processing time, sudden orders, machine failure, deadlock, cost fluctuation, demand change, and unknown reasons. Many of the articles considered setup time and processing time as uncertainty factors. Some articles apply the concept of sequence-dependent setup time (SDST). Here, SDST means that the start time of a job in a machine is determined depending on the finish time of the previous job [19]. A mutual causality between setup time and processing time exists in scheduling and, thus, this complex relationship hinders the accurate anticipation of resource, job, or product sequences. In this regard, uncertainty affects schedules and sequences, and can thus create a large gap between the desired and actual results. However, determining the uncertainty and its associated influences can be ambiguous and difficult, hence the term "uncertainty".

Detailed Analysis
This subsection explains the details of our literature analysis in terms of the domain, method, objective, sequence type, and uncertainty layers.

Domain
Prediction and optimization are challenging. Many real-world analytics problems are always faced with prediction and optimization issues; meanwhile, "predict-then-optimize" is known as the standard stream [46]. However, we find that "optimize-then-predict" is a common stream in the research area of JS-FMSs. This is because optimizing schedules and sequences is the most typical problem in JS-FMSs. Predicting schedules and sequences is generally used to verify and validate the results derived from the optimization algorithms and solutions.
In our analysis, all of the articles are focused on schedule and sequence optimization, as shown in Table 3. Some of them develop optimization algorithms and then carry out predictions to demonstrate whether their algorithms are effective and efficient under given scenarios. In this case, it is difficult to clearly separate optimization and prediction. Vinod [36], and Gong et al. [46] combine optimization and prediction. They first develop optimization algorithms and solutions for their desired objectives (e.g., time, cost, and workload). Second, they obtain predictive results or measure predictive performance on resource, product, and job sequences by running their algorithms and solutions. However, they are limited in their ability to accurately predict the positions and allocations of individual products; this is because their algorithms and solutions use theoretical and stationary approaches, which rarely accommodate rapid and frequent changes in JS-FMSs.
In this context, optimization is still important in the research area of JS-FMSs. Furthermore, prediction is also important to accurately anticipate the sequences of resources, jobs, and products, even in complex and dynamic JS-FMS environments. This prediction should be applied not only to verify and validate results, but also to develop algorithms and solutions that respond to real situations. Thus, the standard stream-i.e., "predictthen-optimize"-in the research area of JS-FMSs can be built.

Method
Scheduling in JS-FMSs is well known as a nondeterministic polynomial (NP-hard) problem [63]. NP stands for a nondeterministic algorithm that cannot be presented as a polynomial equation for decision problems [64]. It is usually difficult to find the optimal solution of an NP-hard problem because it requires an exponential computing time to reach optimality, and can rarely identify whether the solution reaches real optimum [64][65][66]. Because of this difficulty, most scheduling methods in JS-FMSs build upon nondeterministic algorithms, where direct and heuristic approaches are commonly used [65]. In this regard, we classify the methods into three categories: metaheuristics, mathematical modeling, and machine learning. Our classification is based on the method used primarily in each article, although some of the articles are controversial because they simultaneously use more than two methods.
First, metaheuristics is a probabilistic approximation technique that solves optimization problems efficiently by instantiating the generic schema to individual problems on soft computing algorithms [67]. Metaheuristics do not guarantee the optimal solution; instead, they compute suboptimal and reasonable solutions for NP-hard problems within a marginable time [67]. Metaheuristic methods can be subdivided into trajectory-based, population-based, or hybrid approaches.
The trajectory-based approach manipulates a candidate solution at each search step, and then replaces the solution with the best solution found in its neighborhood [67,68]. Bagheri et al. [26] solved an FJSP with SDST to minimize the makespan and mean tardiness using a variable neighborhood search. Abdelmaguid [42] also solved an FJSP using a Tabu search (TS) algorithm that utilized a randomized neighborhood search function. Shen et al. [19] developed a TS algorithm with specific neighborhood functions and a diversification structure to minimize the makespan.
The population-based approach simultaneously maintains several candidate solutions at each search step, and then modifies and recombines them based on common guidelines [67]. Most of the articles that adopt this approach use a genetic algorithm (GA), among many metaheuristic methods. Pezzella et al. [21] presented a GA that integrated the generation of the initial population, the selection of individuals for reproduction, and the reproduction of new individuals. Luo et al. [20] proposed an ant colony optimization (ACO) with local search to balance the workloads between machines, in which ants tended to select the machine with less processing time. Qiu et al. [23] presented a GA that considered the number of operations in each job during the generation of the initial population, and determined different probabilities for every individual and gene during the mutation. Song and Xu [24] applied a hybrid GA with chaotic local search to exploit global and local search abilities. Wang and Yu [25] proposed a filtered-beam-search-based heuristic algorithm with the constraint of machine availability. Moslehi and Mahnam [27] developed an integrated multi-objective approach based on particle swarm optimization (PSO) for an extensive search of solution space and a local search algorithm for reassigning machines to operations and rescheduling the results from the PSO. Wan et al. [28] presented an integrated GA that used a mix of different selection criteria for choosing the best individual and selected a critical operation. Agrawal et al. [30] described a multi-objective GA to solve the FJSP, where alternative machines are available to process the same job. Gao et al. [31] proposed a Pareto-based discrete harmony search algorithm to minimize the makespan and mean tardiness. Xiong et al. [33] developed a multi-objective evolutionary algorithm to robustly cope with random machine breakdowns. Rossi [41] proposed a swarm intelligence approach based on a disjunctive graph model with resource flexibility and separable setup times. Moghadam et al. [40] developed a GA that used an operation-order-based global selection to consider operation processing times and machine workloads. Liu et al. [38] presented a refined GA to integrate probability concepts into a real-parameter encoding method. Jamrus et al. [47] developed an advanced GA that integrated a PSO with a Cauchy distribution and genetic operators with uncertain processing times. Gong et al. [46] developed a hybrid GA with a three-layer chromosome-encoding method for processing time, environmental protection, and human factors. Wang and Xie [62] provided an artificial bee colony algorithm based on an adaptive neighborhood search strategy under the gray system theory. Lin et al. [60] developed a GA that contained a different chromosome representation for the joint decision of process planning and scheduling. Defersha and Rooyani [57] developed a two-stage GA that comprised a solution encoding in the first stage and a common GA approach in the second stage. Wu et al. [52] found the optimal solution to minimize makespan in an assembly scheduling problem via the comparison of dynamic differential evolution (DDE), simulated annealing (SA), and cloud-theory-based simulated annealing (CSA). Wu et al. [63] proposed CSA-driven hyper-heuristic algorithms to incorporate scenario-dependent processing times to solve a robust two-stage assembly problem. Wu et al. [64] applied a branch-and-bound method for a customer order scheduling problem on parallel machines along with scenario-dependent processing times and due dates. Wu et al. [65] provided their advanced model to minimize makespan using DDE, a GA, and an iterated greedy algorithm for the same two-stage three machines in the assembly scheduling problem.
The hybrid approach utilizes problem-dependent knowledge in a search algorithm, or combines several metaheuristic techniques to improve search speed capabilities and find better optimal solutions [67]. Palacio et al. [43] proposed a GA hybridized with TS and heuristic seeding to minimize the total time needed to complete all jobs, thereby increasing the feasibility and connectivity of their algorithms. Zhang et al. [53] developed a hybrid algorithm that combined PSO with GA and SA. This algorithm was designed to utilize the fast convergence speed of the traditional PSO algorithm, which inherits excellent genes. Huang and Yang [51] suggested a hybrid GA integrated with SA by modifying the initialization method and genetic operations, as well as employing an external elitism memory library. Abreu and Prata [56] presented a hybrid metaheuristic based on GA, SA, variable neighborhood descent, and path relinking to solve a variant of an unrelated parallel machine scheduling problem. Fattahi et al. [58] combined a PSO algorithm for global exploration of the search space, and a parallel variable neighborhood search algorithm for local search in the vicinity of solutions obtained in each iteration.
Second, the mathematical modeling method converts real problems into descriptive, deterministic, or stochastic models to derive their solutions using mathematical formulae and statements. Hierarchical decision support (HDS), mixed-integer linear programming (MILP), mixed-integer goal programming (MIGP), mixed-integer programming (MIP), weight-biased modified RRrule (WBMR), disassembly sequence planning (DSP), and constraints programming (CP) are representative mathematical modeling techniques. Among them, MILP shows effectiveness for optimization, because it is a flexible and powerful method for solving large and complex industrial problems [69]. MILP differs from linear programming (LP) by adding the condition that at least one of the variables should be integers [70]. MILP can be employed to solve an optimization problem in which unknown variables and continuous real variables exist, constraints are formed in linear equations or inequalities, and the objective function is set as a linear function for minimization or maximization [71].
Xue et al. [29] proposed an optimization model of aggregate production planning, family disaggregation planning, and family scheduling problems in a hierarchical production planning system considering sequence-dependent family setup times. Song et al. [39] presented a disassembly sequence planning that included a disassembly hybrid graphic model, object inverse-directed method, and model reconstruction method to reduce the effort required to remove extra parts in a selectable disassembly. Zhang and Wang [48] proposed a CP model to minimize the makespan by incorporating SDST, part sharing, and disruptions such as machine breakdown, material unavailability, and rush orders. Ham and Cakici [44] applied a CP approach, and demonstrated its superiority with parallel batch-processing machines, compared with another MILP approach. Novas [49] described a CP model that addressed lot splitting for determining the number of sublots or parts in a sublot, as well as the scheduling of production tasks for assigning operations on the sublots. Chen and Matis [35] developed a WBMR model as a dispatching rule to minimize the tardiness of weighed jobs with unequal ready time and recirculation.
Third, machine learning has received attention as a data-driven method, and a few studies have applied such methods in the area of JS-FMSs. Machine learning methods train models from data to explain data, perform clustering, extract association rules, predict outcomes, and make decisions without being explicitly programmed [72,73]. Machine learning techniques can be divided into supervised, unsupervised, and semi-supervised methods [74]. Supervised learning typically contains labeled training datasets. It relies on human decision-making to supervise x and y variables, followed by the computer's calculation for deriving a predictive function-y = f(X) + ε (ε: error term)-from a training dataset [20]. Representative techniques include linear regression (LR), decision trees, rule-based classifiers, naïve Bayes classification, k-nearest neighbors classifiers, Markov chains, neural networks (NN), linear discriminant analysis, support vector regression, and reinforcement leaning (RL). Meanwhile, unsupervised learning has an unlabeled training dataset [72]. These methods are designed to understand the origin of the training dataset itself, and find meaningful patterns therein [73]. Clustering is a representative example of unsupervised learning.
Luo [61] proposed an RL model with a deep Q network to cope with continuous production states, and to select the best dispatching rule among the six. Zhao et al. [54] suggested an RL model that united curriculum learning and parameter transfer to develop an automatic sequence-planning system for workpieces. Kechadi et al. [36] applied a recurrent NN approach to find optimal solutions by minimizing the energy state of the NN, thereby minimizing the schedule length in a cyclic FJSP.
We conclude that metaheuristics and mathematical modeling methods are dominant in the research area of JS-FMSs. This dominance results from the fact that the most common problems in JS-FMSs are optimization problems. Metaheuristic and mathematical methods work effectively for deriving the optimal solutions that contain the argument of decision variables to minimize or maximize an objective function within constraints. Machine learning appears to be a remarkable trend in JS-FMSs, because it has been broadly used in the computer science field. We expect that the number of studies applying machine learning methods will increase, as has been widely applied in other research areas in manufacturing. We envision that machine learning may become collaborative rather than competitive with metaheuristics and mathematical modeling methods. For example, Zhou et al. [55] proposed a multi-agent-based hyper-heuristic algorithm to achieve effective machine selection and job sequencing in a multi-objective FJSP; this algorithm adopts a metaheuristic for solving an optimization problem, and machine learning to avoid overfitting.

Objective
The objective consists of "indicators" and an "objective function." The indicators generally include makespan, lead time, throughput, machine utilization, due date reliability, inventory levels, work-in-progress, quality, and so on. The objective function represents the minimization, maximization, or satisfaction of the indicators within the constraints. , total cost (TC), eligibility constraints (EC), and total worker cost (TWC). Among them, the MT is used to minimize itself [22] or minimize the maximum MT [32]. As the MT is the average of the tardiness of a job, it represents the average customer delivery performance [32]. Certain production activities can be permissibly delayed within a given time. In the case of minimizing the MT, production can be delayed by the minimum time, and can be completed in the fastest time. In the case of minimizing the maximum MT, whether the maximum lateness is allowed within the due time or not can be checked, provided that the other objective criteria have been satisfied.
In Table 3, 39 articles set their objective as the minimization of the makespan in JS-FMSs. Here, the makespan-frequently called completion time or maximum completion time-represents the cumulative time required to complete all operations on machines. This makespan is measured as the period from the starting time of the first operation to the ending time of the last operation [28]. Minimizing the makespan delivers a faster response time to make the JS-FMS more flexible.

Sequence Type
The sequence can be defined as the order of processing a set of tasks on available resources [75], which can be divided into three types: resource (machine), job, and product sequences, as mentioned in Section 1. As the resource or machine sequence indicates the allocation and sequence of machines, some of the articles provide good solutions for the best machine allocations at the production level [22,27,29,30,33,38,51,61]. The job sequence represents the job allocation inside the machines. Allocation problems that combine resource and job sequences are typical in JS-FMS planning and scheduling [20,21,24,31,32,36,40,42,46,48,50,53,56,57,59,62]; this is because the workflow of a job shop is unidirectional or recursive, as there are no constraints on the machines that perform only the first operation of a job or the last operation of the job [8]. Meanwhile, the product sequence concentrates on the sequence of products when a specific product enters a machine. As shown in Table 3, 16 of the studies of interest used the resource sequence, 15 used the job sequence, 16 combined resource and job sequences, and no studies used the product sequence as their main sequence type.
Dispatching rules determine the priority of jobs waiting for processing in a machine. The use of dispatching rules has been proven to have a significant impact on the cycle time [69]; thus, dispatching rules are important in planning and scheduling in JS-FMSs. Products are arranged sequentially and wait until the machine's calls, depending on the dispatching rule chosen. There are various dispatching rules, including first-in-firstout ( Some of the studies applied SD [19,29,30,41,42,44,45,49,53,56,57], SPT [20,22], and FIFO [22,35,63]. A few studies applied more than two dispatching rules for machine and job allocation. Gao et al. [31] used SPT and EFT for machine allocation and RAND, MWR, and MOR for scheduling initialization. Gu et al. [59] applied random selection for operation sequences and GSO for machine allocation. Dispatching rules are also utilized for comparative analysis, in order to determine which rules generate the desired optimal values. Vinod et al. [22] measured their algorithm performances using EDD, EMDD, CR, SSPT, SIMSET, JSPT, JEDD, JEMDD, JCR, and JSSPT; on the other hand, Wan et al. [28] used RAND, MWR, and MOR. Zhou et al. [55] applied RAND as a dispatching rule, as shown in Figure 4. The randomness originates from priority rules; their algorithm calculates the priority based on job sequencing rule (JSR) and machine assignment rule (MAR) using multi-agent-based hyper-heuristics (MAHH); it assigns a set of operations with the highest priority, selects the machine with the highest priority, and then updates the resource capability that will iterate until all operations are arranged. Dispatching rules are useful for determining resource, job, and product sequences, because they are identically or selectively applied from the beginning to the end of production, without dramatic changes; they are used to determine product allocations for the resource or job sequence, and can be used to detect product positions for the product sequence. Although Zhang and Wang [48] did not mention this explicitly, they endeavored to detect which product sequences exist in their production system, thereby providing information concerning the product positions for their assembly operations, as shown in Figure 5. Dispatching rules normally sustain static from the beginning to the end of production and, thus, do not fit correctly for long-term planning and scheduling. In other words, such stationary dispatching rules hardly reflect the reality of JS-FMSs, because of the interruptions caused by uncertainty. When production sequences are disrupted by uncertainty factors over time, the planned sequence increasingly mismatches with its actual sequence. For example, although FIFO allows a product to be processed in a machine, the product must enter into a buffer station and stand by to wait if the assigned machine exceeds its maximum capacity. This unexpected change eventually becomes chaotic in the product sequence. As such changes increase, it becomes impossible to predict where each product is processed in individual machines. This problem can result in poor visibility and on-time delivery failure. Hence, it is essential to develop and apply dynamic dispatching rules that accommodate frequent changes in actual resource, job, and product sequences to compensate for planning and scheduling in real situations.

Uncertainty
Uncertainty always exists in JS-FMSs. In this regard, uncertainty was considered in the algorithms and solutions detailed in some of the articles; however, other articles do not explicitly state uncertainty factors. Instead, the uncertainty factors play a role in the constraints to specify the conditions that their algorithms and solutions should satisfy. Various setup times, diverse processing times, maintenance activities, and machine breakdowns are representative uncertainty factors that act as constraints. Some articles impose SDST as an uncertainty factor in their dispatching rules [19,26,29,30,32,41,44,45,49,53,56,57,76]. This time dependency from SDST can make it difficult and uncertain to determine resource and job allocations. Diverse processing time is also considered as another uncertainty factor [19,21,22,27,30,32,36,40,42,43,45,47,52,59,60,[62][63][64][65]. Processing times are not identical, but different, dynamic, or random, depending on the types of resources, jobs, and products. Thus, diverse processing times increase the complexity of given problems. Maintenance activities and machine breakdowns are other uncertainty factors [25]. Maintenance activities can disrupt planning and scheduling because they force production to be suspended or delayed. Machine breakdowns unexpectedly cause inconsistencies in planned and actual production.
Uncertainty naturally has a negative impact on attaining the target indicators, including total lead time, due date, total production time, inventory, routing, waiting time, and throughput [2]. Because uncertainty is unpredictable and unknown, predicting and controlling uncertainty is required to increase the performance of JS-FMSs; this can be achieved by specifying the causal relationship of uncertainty with its affecting variables, and then determining its quantitative or qualitative models through theoretical, analytical, and empirical means. As a good example, Zhang and Wang [48] presented an optimization model that responded to the dynamics of JS-FMSs. They incorporated uncertainty factors including machine breakdowns, material unavailability, and rush orders, such that they retrieved re-scheduling, particularly for the rush orders that led to the involvement of new jobs.

Challenges and Future Directions
Based on the literature analysis described in Section 3, we derive the challenges and future directions to promote research activities on prediction and optimization for sequence-driven scheduling in JS-FMSs. Section 4.1 summarizes the challenges from the state of the art, while Section 4.2 presents future directions.

Challenges
1. Lack of uncertainty: The availability of uncertainty largely affects the dynamics and flexibility in JS-FMSs, and it is hard to know and predict uncertainty in reality. In 11 of the articles analyzed, quality, unforeseen events, maintenance activity, number of products, machine breakdowns, machine workload, and dynamic transportation time were considered to be uncertainty factors. A total of 23 articles regarded dynamic processing time and SDST as indirect uncertainty factors, whereas 13 articles excluded the consideration of uncertainty factors. Incorporating uncertainty can increase the difficulty and complexity of problem identification; however, excluding uncertainty can lead to a large discrepancy between reality and the derived solutions; 2. Stationary dispatching rules: Choosing dispatching rules produces various resource and job allocations, and can lead to the derivation of completely different indicator values. The dispatching rule used for the initial sequence setup can change during production, owing to the availability of uncertainty. A total of 29 articles sustained a single and fixed dispatching rule over their proposed algorithms and solutions; meanwhile, 10 articles combined more than two rules, or adaptively chose one of them purely for machine and job allocations, and not for comparative purposes. It is challenging to obtain feasible solutions for dynamic changes in dispatching rules, especially when products demand diverse processing times and operation sequences; 3. Holistic-thanatomic-level solutions: Scheduling problems can be defined from the viewpoint of the entire system or a part of the whole system. From a holistic perspective, algorithms and solutions predict or optimize aggregative indicators at the production (macro-) level, and then allow derivation of subordinate indicator values at the process (micro-) level, whereas the opposite is true from the atomic view. A total of 39 articles set the minimization of the makespan as the objective function. The makespan demands holistic-level algorithms because it associates the completion time of all jobs in all machines during production. Such algorithms have demonstrated their excellence in makespan prediction or optimization within a given system boundary; however, it is controversial whether they can work well when disruptions and uncertainty occur during production; 4. Optimization-then-prediction: Prediction-then-optimization is known as the standard stream in real-world analysis [76]. Thus, optimization models can be specified by setting the objective function and constraints on the predictive models that have been derived to figure out numerical relations between the control variables and the target indicators. A total of 12 articles used the strategy of optimization-then-prediction to predict their optimization results for the verification and validation purposes in the given scenarios.

Future Directions
The future directions below can improve the research capacity for the prediction and optimization of sequence-driven scheduling in JS-FMSs. Figure 6 presents a conceptual framework that reflects future directions and, thus, provides a structural and logical framework for envisioning futuristic JS-FMSs. 1. Availability of uncertainty: Identifying, quantifying, and reducing uncertainty is quite challenging. In fact, uncertainty can arise from natural, model, measurement, operational, environmental, statistical, subjective, and unknown sources [77]. The uncertainty factors mentioned in Section 3 originate from the operational source, and constitute only a small portion of the total potential uncertainty. The identification of uncertainty is not easy unless its sources are clearly investigated, or its effects are quantified. Uncertainty can be applied individually from a single source or compositely from multiple sources; thus, their separation is not feasible. Nevertheless, it is essential to incorporate uncertainty into the algorithms and solutions. Roy and Oberkampf [78] suggested the following steps for handling uncertainty: (1) identifying all sources of uncertainty; (2) characterizing uncertainty; (3) estimating uncertainty due to numerical approximations; (4) propagating input uncertainty through the model; (5) estimating model form uncertainty; and (6) determining the total uncertainty in system response quantities. The sources and characterization of uncertainty can be explored by referring to the literature that revealed them. Sensitivity analysis is also useful for estimating the contribution of individual sources of uncertainty to the total uncertainty [79]. Data-driven uncertainty can be quantified through the Bayesian approach, which handles distribution types of variable data that frequently include sparse, imprecise, qualitative, faulty, and missing data [80]. As model-driven uncertainty arises from model parameters, model form, and solution approximations, it can be quantified by calibration, validation, and verification, respectively [81]. In the system view, JS-FMSs can evolve for uncertainty reduction with the use of intelligent techniques that involve sophisticated control mechanisms, decentralized and distributed systems, and learning ability from historical data [81]; 2. Granularity of algorithms and solutions: Algorithms and solutions need to be more precise and granular in order to enable prediction and optimization at the atomic level that handles individual manufacturing objects (e.g., a product, machine, or job). This granularity endows JS-FMSs with the ability to trace and detect the locations and operations of individual objects in real time. Granularity can assure visibility, which is critical in modern JS-FMSs to reduce the uncertainty mentioned above. Suppose that a product unexpectedly enters a buffer station owing to delay in a machine; although a job shop must consider this change, the traceability of the current situation cannot be achieved unless this job shop is operated through granular algorithms and solutions. Furthermore, these ensure reactivity regarding re-scheduling and re-allocations for individual objects, provided that they rely on macro-level algorithms and solutions as well as stationary dispatching rules. One feasible approach is to use holonic manufacturing systems (HMSs). HMSs are structured to achieve hierarchy and hierarchical control by embodying holons and their holarchy for high resource utilization, stability against uncertainty, and flexibility during changes [82]. Here, holons stand for autonomous and cooperative manufacturing objects, whereas holarchy represents a system of holons that cooperate to achieve a goal, thereby limiting the autonomy of the holons [83]. Agent systems are known as an appropriate and efficient technology to implement HMSs, because of the suitability of modularity and complexity implementation for holons and their holarchy [18]. Such agent-based HMSs can provide a computational system in which manufacturing objects act autonomously and intelligently in a dynamic JS-FMS environment to improve the visibility and reactivity at the atomic level. A good example of integrating scheduling and HMSs was reported by Norrie et al. [84], who implemented a heuristic job shop scheduler based on the HMS architecture that could advance a dynamic and responsive scheduler, rather than the schedule itself. This implementation is possible because product, order, resource, schedule, and mediator agents can interact by exchanging agent-to-agent text messages and employ an evolutionary approach for tuning real-valued weights that are problem-related parameters and evolution constants; 3. Incorporation of product sequences: Zhang and Wang [48] demonstrated that different numbers of products generated diverse product sequences, and could result in different optimization results; this implies that product sequences significantly affect the determination of resource allocation and job sequences. Hence, it is crucial to incorporate product sequences with prediction and optimization in JS-FMSs. These product sequences allow JS-FMSs to trace and detect the current locations of individual products, thereby improving the visibility associated with uncertainty and granularity. As a bottom-up strategy, the visibility of product sequences can make resource and job sequences transparent, because products have inseparable relationships with resources and jobs. Predicting and optimizing product sequences is difficult because product sequences dynamically change due to uncertainty. One promising technique is sequence learning, which is elucidated as follows; 4. Sequence-learning-driven prediction: The prediction-then-optimization stream is sensible in that a predictive model is formed as a numerical function, and an optimization problem is successively set as an objective function, its indicators, and constraints based on the numerical predictive model. Suppose that two different types of machines exist in a job shop, as shown in Figure 7a; machine type A (M A ) is a single machine with unlimited capacity, and fabricates products using the FCFS rule; conversely, machine type B (M B ) is another single machine that contains two uncertainty factors, including unplanned waiting time and diverse processing time, thereby requiring interaction with a buffer station. The product sequence in M A can be predicted simply because it forms a sequential order. However, depending on the availability of M B , the product sequence can change in M B , as shown in Figure 7b. Accordingly, the job schedule is affected by the diversity of processing time and changes in the product sequence, as shown in Figure 7c. This example implies that uncertainty can make product sequences chaotic and unpredictable. This phenomenon would increasingly occur as the number of M B and the severity of uncertainty increases. In this context, machine learning is useful for managing the complexity and uncertainty of dynamic FS-JMSs [81]. Machine learning algorithms have shown superiority in finding the best solutions by acquiring the knowledge needed to make future scheduling decisions from the training data [85]. In particular, sequence learning is effective for creating predictive models for product sequences. Sequence learning is a form of machine learning that involves sequence prediction (predicting elements of a sequence based on the preceding elements), sequence generation (generating elements of a sequence one-by-one in their natural order), sequence recognition (determining whether a sequence is legitimate according to certain criteria), and sequence decision (selecting a sequence of actions to accomplish a goal) [86]. Sequence learning builds upon models of legitimate sequences, which can be developed through training data and be formed by Bayesian networks, Markov chains, artificial neural networks, and other learning techniques [86]. In particular, sequence prediction deserves consideration in sequencing and scheduling in JS-FMSs, as it can derive data-learned models to output product sequences proactively at the atomic level. The following subsection explains an application case of sequence learning for predicting product sequences by considering some operational uncertainty factors.

Application Case of Sequence Learning
As regards the problem illustrated in Figure 7, the product sequence would not change in M A because the FIFO rule was applied to process products sequentially. Meanwhile, the product sequence can change in M B , depending on the machine's limited capacity and product processing time. If M B exceeds its limited capacity (e.g., K = 3), the remaining products need to enter a buffer station to wait until M B becomes available. If the processing time varies depending on the type of product, unplanned waiting time can become very diverse because of the time gap between the completion time on M A and the arrival time on M B . The product sequence and schedule for M B are different from those for M A . Such a change can lead to a relatively substantial difference between the actual product sequences and schedules and the planned ones, provided that the number of M B increases at the production level. Here, diverse processing time and unplanned waiting time on M B act as uncertainty factors, because they cause complexity in predicting product sequences and schedules. Nevertheless, it is necessary to predict product sequences and their associated time values correctly, even in an environment where the uncertainty factors are incalculable or unforeseeable.
For this purpose, sequence learning can be applied to predict product sequences by learning from historical data. Figure 8 presents a conceptual model for predicting a product sequence using sequence learning, particularly sequence prediction. The inputs of this model are the initial product sequence and arrival rate from the previous machine (the product sequence output from M A in Figure 7  Sequence prediction needs to accommodate the changes in sequences accumulatively, because the prediction of the next sequence depends on the previous sequence. Here, the Markov chain (MC) technique was used for sequence prediction; this MC can reflect the causality of the precedent and current status, as well as having shown its superiority in sequence learning. The MC consists of "state", and "transition" between two states. The state (S) refers to a product (P i ) in a sequence (S n ), while the transition (T) represents the probability (P) between states (S n to S n+1 ), which determines whether the product (P i+1 ) is located next to P i . In the MC, the current sequence (S n ) is required to predict the next sequence (S n+1 ). Accordingly, (s 0 , s 1 , s 2 , s 3 , s 4 , s 5 , . . . , s n ) is the only function of a state visited in the "S n " period; this implies that the MC is the set of sequences, as expressed in Equation (1).
To identify the sequence prediction, a series of transition probability values from the product sequence "n" to "n + 1" is required. This sequence is conditionally independent because the MC can be represented as a matrix of probability vectors (Prob ss' ), as expressed in Equation (2). Based on the given condition, the probability values of the state transition of product (sp ss' ) from the initial state (S n ) to the next state (S n+1 ) can be derived. (2) Figure 9 shows an example of the MC for the case illustrated in Figure 7; this chain was implemented using MATLAB. Suppose that the initial sequence is S = (P 1 , P 2 , P 3 , P 4 , P 5 , P 6 , P 7 , P 8 , P 9 , P 10 ); states 1, 2, and 3 are transitioned into themselves with 100% probability, and P 1 , P 2 , and P 3 are serially entered into M B without change; this is because the maximum capacity of machine 2 is equal to three and, thus, this machine is available for the first three products. Once the number of states exceeds the maximum capacity, the transition probability varies in terms of the processing time on M B and the finishing time on M A . For example, P 4 can be transitioned to the seventh position with 80-90% probability, or the sixth position with 10-20% probability; this is because M B was occupied by P 1 , P 2 , and P 3 , and the machine instructed P 4 to enter a buffer station for waiting; then, the machine belatedly calls P 4 with 80-90% probability after the other three products (e.g., P 6 , P 7 , and P 8 ) are already fabricated in the machine. In succession, the remaining states can be transitioned with their probability on the previous states already determined by the MC. In this way, we can determine the entire state, with its transition probability, and predict a product sequence in M B . While a product sequence is predicted, the arrival time of individual products on machines is simultaneously calculated because this time is involved with the product sequence prediction. We than calculate the waiting time and finishing time of each product and, lastly, calculate the total completion time, which corresponds to the total processing time (pf Nj ) for an order that consists of N products. Equations (3)-(7) express the mathematical equations for the arrival time, waiting time, finishing time, and total completion time, respectively. Arrival time: a ij = pf i(j−1) + d jj (3) where pf i(j−1) is the finish time of product (i) in the previous machine (j−1); d jj is the travel time between the previous machine and the designated machine (j); and a ij is the arrival time at the designated machine, with 0 ≤ i ≤ N (the number of products ordered). Waiting time: w 1j = 0 , for i = 1 with: w ij = 0 for w ij ≤ 0 w ij for w ij > 0 where w ij is the waiting time of product-i in machine-j; and p ij is the processing time of product-i in machine-j with 0 ≤ i ≤ N. Finishing time: pf ij = a ij + w ij + p ij (6) where pf ij is the finish time of product-i in machine-j. Total completion time: TC = pf Nj (7) where pf Nj is the finish time of product N (the last product) in machine-j (the last machine). It should be mentioned that even sequence learning is unable to produce a perfect prediction result, owing to the variety of data and the influence of uncertainty. Rather, it forecasts several product sequences with high probability; this is common in datadriven learning approaches; thus, a better prediction of product sequences requires further analysis, as mentioned in Section 4.2. Verification and validation are needed to measure the difference between the predicted and actual results, and to compare the performance of the applied technique with those of other techniques. Sensitivity analysis is useful for determining the change in system conditions by parameter modification and determining a trend from a variety of data.

Conclusions
This article reviews the state of the art of prediction and optimization for sequencedriven scheduling in JS-FMSs. For this purpose, this article provides analytical information concerning the current literature in terms of domain, method, objective, sequence type, and uncertainty. This article also discusses the challenges and future directions for research. Future research directions in JS-FMSs include the following: the availability of uncertainty needs to be quantified and modeled explicitly; both holistic and granular algorithms and solutions need to be considered; product sequences need to be incorporated; and sequence learning needs to be applied to realize the prediction-then-optimization stream.
Since the appearance of FMSs in the 1960s, sequencing and scheduling in JS-FMSs have been extensively discussed, and are still being addressed at present. These enormous research efforts prove that JS-FMSs are evolving significantly to improve their responsiveness, flexibility, and productivity, together with increases in their complexity and diversity. As expected, modern FMSs will not stand alone without ICT. ICT contributes to embodying mass customization in modern FMSs, where all products and resources are traced in real time, they are planned and executed autonomously and cooperatively, and their data are exchanged and shared across heterogeneous devices and systems in the control hierarchy. Hence, the convergence of ICT with traditional methodologies in the JS-FMS domain is becoming a critical research stream to improve availability and practicability.
The limitations of this study are as follows: The number of reviewed articles is limited; although more articles have been published in the JS-FMS domain, we only selected articles that were directly involved within the scope of our review, as mentioned in Section 2.2. The other review papers can be useful for understanding FMS technologies from their own perspectives and scopes, as presented in Section 2.1. Our reviews on the product sequence are not analyzed holistically, although we emphasize the significance of the product sequence; this is because the product sequences were only considered in a few articles. In addition, resolutions for overcoming current challenges are partially suggested. We only suggest the possibility of sequence learning, without demonstrating industrial cases that show feasible algorithms and solutions to incorporate the dynamics and uncertainty in JS-FMSs.
In future studies, it will be worthwhile to investigate the feasibility and usability of ICT in FMSs. As the recent smart manufacturing and Industry 4.0 endow resources and products with manufacturing intelligence, this manufacturing intelligence provides data-driven insights and foresights toward dynamic and real-time scheduling prediction and optimization. We plan to investigate and analyze the state of the art of ICT-driven FMSs along with the specification of cutting-edge technologies, including cyber-physical systems, cloud computing and edge computing, industrial Internet of Things, artificial intelligence, and data analytics.