## 1 Introduction  
The Hybrid Flow Shop (HFS) is a typical discrete manufacturing system in which a set of jobs passes through a series of production stages to complete required operations. The stages are composed of parallel machines to protect the job flow from being blocked by a single machine [1; 2; 3]. The operation processing time varies with different machines because capacities of parallel machines are normally unrelated at each stage [4; 5]. This type of workshop exists in various industries, which include Printed Circuit Board (PCB) assembly, textile production and automobile assembly [6; 7; 8; 9]. Since the first HFS problem was described by [PERSON] [10], vast amounts of academic work have been carried out on HFS scheduling due to its complexity and practical relevance [11; 12; 13; 14; 15]. Different kinds of methods (e.g., exact methods, heuristics and metaheuristics) were proposed to minimize a variety of objectives, which include the maximum completion time, the maximum flow time, the number of late jobs [16; 17; 18; 19]. In terms of minimizing the maximum completion time, i.e., makespan, [PERSON] et al. [20] proposed a simulated annealing algorithm to solve the HFS scheduling problem featured with sequence-dependent setup times. [PERSON] et al. [21] developed an efficient dispatching rule together with several local search heuristics in a semiconductor manufacturing system. [PERSON] et al. [22] proposed a branch-and-bound algorithm to investigate the two-stage HFS scheduling problem in a no-wait environment. [PERSON] et al. [23] developed several algorithms featured with a new lower bound to minimize the makespan in a specific HFS consisting of two machining stages and one assembly stage. In most of these approaches, the processing times were assumed to be deterministic in HFS scheduling. However, in a real workshop, the differences between machines, worker skill levels and material qualities make the processing times constantly changing [24]. These variations might lead to increased objective values during the execution of predetermined plans, which occurs frequently in practical production [25; 26]. To deal with this situation, dynamic scheduling used for HFS scheduling problems consists of three major ways: proactive, reactive and predictive-reactive [27; 28]. The proactive scheduling strategy focuses on generating a robust solution that satisfies performance requirements predictably [29]. This strategy normally uses fuzzy theory or statistical analysis to construct the probability distribution of processing times and applies these distributions to HFS scheduling [30; 31]. Nevertheless, it is difficult to ensure the predicted performance in practical situations. In a reactive scheduling strategy, all the decisions are made in real time to react rapidly to dynamic events of processing time uncertainty, e.g., by using dispatching rules and game theory approaches [32; 33; 34]. However, this strategy can hardly ensure the global performance of HFS scheduling because of the limits placed on computational burden in real-time scheduling. Predictive-reactive scheduling generates a predictive plan based on an expected production environment and revises the plan if dynamic events cause the actual situation differs from expectation [35; 36]. This strategy has been widely used because it can achieve a good balance between global performance of solutions and in-time reaction to unexpected situations. In a predictive-reactive scheduling, predetermined plans are revised by rescheduling in a rolling horizon, rather than in the whole horizon, in order to avoid too much computational efforts [37]. Three types of rolling horizon rescheduling mechanisms, including cycle-driven rescheduling, event-driven rescheduling and mixed driven rescheduling, are developed as an alternative. Of these mechanisms, the event-driven one is most widely used because it can respond to event-related disturbances in a real time.