Keywords

1 Introduction

Flow shop scheduling problems (FSSPs) have attracted much attention in the manufacturing systems of contemporary enterprises and have widely potential applications in the research field of both computer science and operation research. The blocking flow-shop scheduling problem (BFSP) is a special case of FSSPs, which considers that the buffer capacity between two machines may be absent. Many modern production and manufacturing systems can be modelled as the BFSP when no buffers exist between consecutive machines, e.g. serial manufacturing processes, chemical industry, iron and steel industry and robotic cell, etc. In BFSP, there are no infinite buffer capacity between consecutive machines. In other words, under the no buffers circumstances, the completed jobs on a machine have to be blocked on its machine until its next machine is available. In addition, each machine can handle no more than one job at a time and all jobs have to visit each machine exactly once. To the best of our knowledge, almost all of the works about BFSP usually focused on assuming the setup times on each machine as the part of processing times. However, the setup times are very important and need to be explicitly treated in some actual production process [1], which should be separated from the processing times and consider independently (e.g., cleaning, fixing or releasing parts to machines, changing tools, and adjustments to machines). Therefore, the main motivation of this paper is that we consider a kind of setup times in BFSP, i.e., sequence-dependent setup times (SDSTs), where SDSTs depend upon both current job being processed and the next job in the sequence.

For the computational complexity of the BFSP, Hall and Sriskandarajah proved that the BFSP with more than two machines was NP-hard in the strong sense [2]. That is to say, the BFSP with exponential computational complexity, which becomes more complicated and is difficult to solve completely with the increase of problem size. Because of the BFSP is proven to be NP-hard, let alone with SDSTs, many state-of-the-art approaches which include constructive heuristics and metaheuristics evolutionary algorithms (EAs) have been developed recent years to address BFSP with different objectives including makespan, total flow time and total tardiness, etc. Constructive heuristics utilize some rules to determine the relative priority of each job to construct a specific scheduling permutation, which usually consume less time but obtain unsatisfied performance. However, metaheuristics start from previous generated solutions and iteratively improve performance with domain knowledge through different evolutionary strategies, which usually obtain fairly satisfactory solutions but the processes are always time-consuming. For BFSP with makespan, Wang et al. [3] proposed a hybrid discrete differential evolution (HDDE), where several crossover and mutation operators were employed. Meanwhile, a speedup method was also proposed to evaluate the insertion neighborhood, which largely reduced the complexity of HDDE. Pan and Wang [4] introduced the concept of weight value into PF and presented two simple constructive heuristics, i.e., profile fitting (wPF) and the Pan-Wang (PW) heuristic. Then, based on wPF and PW three improved constructive heuristics, i.e., PF-NEH, wPF-NEH and PW-NEH were proposed. Wang et al. [5] developed a three-phase algorithm (TPA) in which a priority rule based on the average value and standard deviation of the processing time, a variant of the NEH-insert procedure and a modified simulated annealing algorithm were utilized to three phases, respectively. Ding et al. [6] investigated some new blocking properties of the BFSP and proposed an iterated greedy algorithm (B-IG) based on these priorities. Han et al. [7] presented a modified fruit fly optimization (MFFO) algorithm in which three key operators, i.e., a problem-specific heuristic, neighborhood strategy and a speedup insert neighborhood based local search were employed. Tasgetiren et al. [8] proposed two iterated greedy algorithms, i.e., IGIJ and IGRLS, which combined a constructive heuristic and two well-known speedup methods for both insertion and swap neighborhood structures. For BFSP with total flow time, Wang et al. [9] developed three harmony search algorithms, i.e., hybrid harmony search (hHS) algorithm, hybrid global best harmony search (hgHS) algorithm and hybrid modified global best harmony search (hmgHS) algorithm. Fernandez-Viagas et al. [10] conducted a comprehensive evaluation of the available heuristics for the BFSP and proposed an efficient constructive heuristic based on the beam search. For BFSP with total tardiness, Ronconi and Henriques [11] proposed a constructive heuristic (FPDNEH) and a GRASP-based heuristic. Nagano et al. [12] presented an evolutionary clustering search (ECS) algorithm combined with a variable neighborhood search (VNS), which NEH-based procedure to generate an initial solution, the genetic algorithm to generate solutions and VNS to improve the solutions. For the parallel blocking flow shop scheduling problem, Ribas et al. [13] proposed some constructive and improvement heuristics to address parallel or distributed blocking flow-shop problem recently, which included an iterated local search (ILS) and an iterated greedy algorithm (IGA), both of which are combined with a variable neighborhood search (VNS). From the previous literature reviews, it can be seen that researches on this concerned problem with SDSTs are considerably scarce. Therefore, it is meaningful to develop and propose more effective and efficient approaches for addressing variety of blocking flow-shop scheduling problems.

As a statistical learning based stochastic optimization, Estimation of Distribution Algorithm (EDA) [14] has attracted increasing attention in the field of evolutionary computation during recent years. Unlike GA, which apply mutation and crossover operators, EDA generates offspring through building and sampling explicit probabilistic models from superior candidate solutions. Owing to its outstanding global exploration and inherent parallelism, EDA has already been extensively applied to deal with production scheduling problems. Ceberio et al. [15] provided an overview of EDA in combinatorial optimization problems, which is of great importance of EDA for researchers. Pan and Ruiz [16] proposed a probabilistic model by taking into account of both the order of the jobs in the sequence and the promising similar blocks of jobs and employed the efficient NEH initialization and local search to enhance the performance of EDA. Recently, Wang et al. [17] presented an EDA with critical path based local search scheme to solve the flexible job-shop scheduling problem. Moreover, Wang et al. [18] developed an effective estimation of distribution algorithm (EEDA) to solve the distributed permutation flow-shop scheduling problem (DPFSP). From the mechanism of EDA, it can be seen that the tradeoff between the proper probability model with updating mechanism and local search are crucial to develop effective metaheuristics, which should achieve a better balance between global exploration and local exploitation. Consequently, to the best of our knowledge, there is no published work on EDA for the BFSP with SDSTs. In this work, EDA is employed to guide the promising search direction and find superior solutions, and the local intensification methods are designed to emphasize the exploitation from those promising regions.

The remainder of this work are organized as follows. Section 2 briefly introduces the BFSP with SDSTs. Section 3 elaborates on the proposed HEDA, such as HEDA global exploration, and reference sequence based local exploitation, respectively. Computational comparisons are given and analyzed in Sect. 4. Finally, Sect. 5 gives some concluding remarks and suggestions of future research.

2 Problem Statement

The BFSP with SDSTs, which denoted as \( Fm|blocking,ST_{sd} |C_{max} \), can be described as follows. There are n jobs and m machines. Each of n jobs will be continuously processed without intermediated buffers. Since there are no intermediate buffers between consecutive machines, a job has to be blocked on current machine until the next machine has prepared for processing it. The sequence-dependent setup times are separable from the processing times and dependent upon both current job being processed and the adjacent job on each machine. Note that other common flow-shop assumptions are considered. Let \( {\varvec{\pi}}=\left[ {\pi_{1} ,\pi_{2} , \ldots ,\pi_{n} } \right] \) denote a permutation sequence. Let \( p_{{\pi_{i} ,l}} \) denotes the processing time of job \( \pi_{i} \) on machine l, \( d_{{\pi_{i} ,l}} \) denotes the departure time of job \( \pi_{i} \) on machine l, and \( d_{{\pi_{i} ,0}} \) denotes the time job \( \pi_{i} \) starts its processing on the first machine. \( s_{{\pi_{i - 1} ,l\pi_{i} ,l}} \) represents the setup times between two consecutive jobs \( \pi_{i - 1} \) and \( \pi_{i} \) on machine l. Let \( p_{{\pi_{0} ,l}} = 0 \), \( l = 1, \ldots ,m \) for initial job and \( s_{{\pi_{0} ,\pi_{i} ,l}} \) represents the initial setup times of job \( \pi_{i} \). Then \( d_{{\pi_{i} ,l}} \) can be calculated as follows:

$$ d_{{\pi_{0} ,l}} = 0,\;l = 1, \ldots ,m $$
(1)
$$ d\pi_{i,0} = d_{{\pi_{i - 1} ,1}} + s_{{\pi_{i - 1} ,\pi_{i} ,1}} ,\;i = 1,2, \ldots ,n $$
(2)
$$ d\pi_{i,l} = \hbox{max} \left\{ {d_{{\pi_{i - 1} ,\pi_{i} ,l + 1}} + s_{{\pi_{i - 1} ,\pi_{i} ,l + 1}} ,d_{{\pi_{i} ,l - 1}} + d_{{\pi_{i} ,l}} } \right\},\;i = 1,2, \ldots ,n;\;l = 1,2, \ldots ,m - 1 $$
(3)
$$ d_{{\pi_{i} ,m}} = d_{{\pi_{i} ,m - 1}} + d_{{\pi_{i} ,m}} ,\;i = 1,2, \ldots ,n $$
(4)

Therefore, the makespan of the \( {\varvec{\pi}} = \left[ {\pi_{1} ,\pi_{2} , \ldots ,\pi_{n} } \right] \) can be given by \( C_{max} ({\varvec{\uppi}}) = d_{{\pi_{n} ,m}} \). The aim of this paper is to find a schedule \( {\varvec{\uppi}}^{\varvec{*}} \) in the set of all schedules \( \Pi \) such that

$$ C_{max} \left( {{\varvec{\uppi}}^{\varvec{*}} } \right) = \mathop {\hbox{min} }\limits_{{{\varvec{\uppi}} \in\Pi }} C_{max} \left( {\varvec{\uppi}} \right) $$
(5)

3 HEDA for BFSP with SDSTs

In this section, the HEDA for \( Fm|blocking,ST_{sd} |C_{max} \) is proposed after explaining the solution representation and population initialization, probabilistic model, updating mechanism and new population generation and local intensification, i.e. a reference sequence based local search and a path relinking based local search, respectively.

3.1 Solution Representation and Population Initialization

In this work, we use the job permutation based representation, that is, each individual presents a feasible solution. Because of the properties of BFSP, the longer total processing time of job is, the higher probability of blocking occurs [6]. Therefore, an effective heuristic [4], i.e. PF-NEH, is employed to initialize and intensify the quality of the partial initial population. In addition, other initial solutions are randomly generated to maintain the diversity of the population. Note that the speedup method [3] is also utilized to evaluate the generated sequences and reduce the computational efforts.

3.2 Probabilistic Model

Probabilistic model is utilized to investigate the distribution information of the superb solutions, which guides the promising evolutionary directions. Therefore, the model has a key influence on the performances of HEDA. Obviously, an appropriate model can greatly enhance the efficiency and effectiveness of the presented algorithms. In this study, the probabilistic model of HEDA is denoted by \( {\mathbf{P(gen)}} \) as follows:

$$ {\mathbf{P(gen)}} = \left[ {\begin{array}{*{20}c} {{\mathbf{P}}_{1} {\mathbf{(gen)}}} \\ \vdots \\ {{\mathbf{P}}_{{\mathbf{n}}} {\mathbf{(gen)}}} \\ \end{array} } \right]_{n \times 1} = \left[ {\begin{array}{*{20}c} {P_{1,1} (gen)} & \cdots & {P_{1,n} (gen)} \\ \vdots & \ddots & \vdots \\ {P_{n,1} (gen)} & \cdots & {P_{n,n} (gen)} \\ \end{array} } \right]_{n \times n} $$
(6)

where \( {\mathbf{P}}_{{\mathbf{i}}} {\mathbf{(gen)}} = [P_{i,1} (gen),P_{i,2} (gen), \cdots ,P_{i,n} (gen)] \) denote the \( i{\text{th}} \) vector of \( {\mathbf{P(gen)}} \) in gen generation. Especially, \( P_{i,j} (gen) \) is the probability of job j appearing in the \( i{\text{th}} \) position of \( {\varvec{\uppi}} \) at gen. It’s clear that the probability matrix is a random matrix, where each \( P_{i,j} (gen) \) is a probability value for a certain event. In addition, for a certain position, the total probability of all jobs in this position of a solution sequence inevitable to 1, i.e., \( \sum {_{j = 1}^{n} } P_{i,j} (gen) = 1,\; \, gen \ge 0 \). Note that the values in \( {\mathbf{P(gen)}} \) reflect the priority of promising jobs in candidate sequences. Therefore, the elements of probability matrix affect the selection of the superior individuals. The higher value of \( P_{i,j} (gen) \) \( (i,j = 1,2, \cdots ,n) \) is, the higher possibility for job j is selected in position i.

According to the above definitions, HEDA generates offspring by sampling from the probability matrix proposed in Eq. (6), which means each individual is generated based on \( {\mathbf{P(gen)}} \) by roulette sampling. Therefore, the values in \( {\mathbf{P(gen)}} \) determine the composition of the generated population. Note that we set \( P_{i,j} (0) = 1/(n \times n) \) \( (i,j = 1,2, \cdots ,n) \) when \( gen = 0 \), which can guarantee the diversity of initial population, and accumulate more quality information appropriately at the initial phase.

3.3 Updating Mechanism

Probability model guides the searching direction and an effective update mechanism has a great influence on the searching performance. To make the \( {\mathbf{P(gen)}} \) accurately estimate and effectively update the probability distribution of the superior population, and guide HEDA to promising search directions, two matrixes are proposed in this section, which record the total information of the order of jobs and the similar blocks, respectively. Therefore, the two matrixes \( {\varvec{\upeta}}{\mathbf{(gen)}} \) and \( {\varvec{\upxi}}{\mathbf{(gen)}} \) are defined as follows:

$$ {\varvec{\upeta}}{\mathbf{(gen)}} = \left[ {\begin{array}{*{20}c} {{\varvec{\upeta}}_{1} {\mathbf{(gen)}}} \\ \vdots \\ {{\varvec{\upeta}}_{{\mathbf{n}}} {\mathbf{(gen)}}} \\ \end{array} } \right]_{n \times 1} = \left[ {\begin{array}{*{20}c} {\eta_{1,1} (gen)} & \cdots & {\eta_{1,n} (gen)} \\ \vdots & \ddots & \vdots \\ {\eta_{n,1} (gen)} & \cdots & {\eta_{n,n} (gen)} \\ \end{array} } \right]_{n \times n} $$
(7)
$$ {\varvec{\upxi}}{\mathbf{(gen)}} = \left[ {\begin{array}{*{20}c} {{\varvec{\upxi}}_{1} {\mathbf{(gen)}}} \\ \vdots \\ {{\varvec{\upxi}}_{{\mathbf{n}}} {\mathbf{(gen)}}} \\ \end{array} } \right]_{n \times 1} = \left[ {\begin{array}{*{20}c} {\xi_{1,1} (gen)} & \cdots & {\xi_{1,n} (gen)} \\ \vdots & \ddots & \vdots \\ {\xi_{n,1} (gen)} & \cdots & {\xi_{n,n} (gen)} \\ \end{array} } \right]_{n \times n} $$
(8)

where each \( \eta_{i,j} (gen) \) in \( {\varvec{\upeta}}{\mathbf{(gen)}} \) records the information of the number of times that job j appears before or in position i in the set of superior individuals. Additionally, \( {\varvec{\upeta}}{\mathbf{(gen)}} \) can efficiently reduce the rate of convergence and effectively prevent premature convergence. The ordinal matrix \( {\varvec{\upeta}}{\mathbf{(gen)}} \) can be calculated as follows:

$$ \eta_{i,j} (gen) = \sum\nolimits_{s = 1}^{Sbest} {X_{i,j}^{s} (gen)} ,\;i,j = 1,2, \ldots ,n $$
(9)

where \( X_{i,j}^{s} \) is a binary variable and \( Sbest \) represents the number of elite solution. In order to make the HEDA not trapped into local optimum and efficiently increase the diversity of population, the value of \( X_{i,j}^{s} \) is set as 1 from i to n when job j appears in position i, otherwise 0. Then the indicative function is expressed as follows:

$$ X_{i,j}^{s} (gen) = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {{\text{if}}\;{\text{job}}\,j\,{\text{appears}}\,{\text{before}}\,{\text{or}}\,{\text{in}}\,{\text{position}}\,i} \hfill \\ {0,} \hfill & {\text{else}} \hfill \\ \end{array} } \right. $$
(10)

Using the ordinal matrix can save the historical information of selected elite solutions. Note that the normalization should be performed to \( {\varvec{\upeta}}{\mathbf{(gen)}} \) after it is updated.

Inspired by the schema theorem and the hypothesis of building blocks, the dependency matrix, i.e., \( {\varvec{\upxi}}{\mathbf{(gen)}} \), is proposed to record the number of times that job \( j^{{\prime }} \) appears immediately after job j when job j is in the previous position of job \( j^{{\prime }} \) placed. Then each element \( \xi_{{j^{{\prime }} ,j}} (gen) \) in \( {\varvec{\upxi}}{\mathbf{(gen)}} \) can be calculated as follows:

$$ \xi_{{j^{{\prime }} ,j}} (gen) = \sum\nolimits_{s = 1}^{Sbest} {Y_{{j^{{\prime }} ,j}}^{s} (gen)} ,\;j^{{\prime }} ,j = 1,2, \ldots ,n $$
(11)
$$ Y_{{j^{{\prime }} ,j}}^{s} (gen) = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {{\text{if}}\,{\text{job}}\,j\,{\text{appears}}\,{\text{immediately}}\,{\text{after}}\,{\text{job}}\,i} \hfill \\ {0,} \hfill & {\text{else}} \hfill \\ \end{array} } \right. $$
(12)

It is note that the normalization is also required for the dependency matrix \( {\varvec{\upxi}}{\mathbf{(gen)}} \) after updating, which can slow down the convergence and adjust the searching space. Then, \( {\varvec{\upeta}}{\mathbf{(gen)}} \) and \( {\varvec{\upxi}}{\mathbf{(gen)}} \) which present the importance of the job order and the similar blocks can be obtained by Eqs. (7)–(12). Therefore, the probabilistic model can be updated by utilizing the information of \( {\varvec{\upeta}}{\mathbf{(gen)}} \) and \( {\varvec{\upxi}}{\mathbf{(gen)}} \), which can effectively balance the historical and current information of superior population. The incremental learning probabilistic model based on Heb-rule can be established as Eq. (13).

$$ P_{i,j} (gen + 1) = \left\{ {\begin{array}{*{20}l} {rP_{i,j} (gen) + (1 - r)\eta_{i,j} (gen + 1),\;i = 1} \hfill \\ {rP_{i,j} (gen) + \frac{(1 - r)}{\mu }\left[ {\delta_{1} \eta_{i,j} (gen + 1) + \delta_{2} \xi_{{[i - 1],j^{{\prime }} }} (gen + 1)} \right],\;i = 2,3, \ldots ,n} \hfill \\ \end{array} } \right. $$
(13)

Note that \( [i - 1] \) presents the selected job placed in position i − 1 and r \( (0 < r \le 1) \) is learning rate. Especially, if r = 0, the \( {\mathbf{P(gen)}} \) can update directly without inertia. Note that \( \mu = \sum\nolimits_{j = 1}^{n} {\left( {\delta_{1} \eta_{ij} (gen + 1) + \delta_{2} \xi_{i - 1,j} (gen + 1)} \right)} \) \( (i = 2,3, \ldots ,n) \), where \( \delta_{1} \) and \( \delta_{2} \) are two user-defined parameters, which indicate the importance of the two matrix \( {\varvec{\upeta}}{\mathbf{(gen)}} \) and \( {\varvec{\upxi}}{\mathbf{(gen)}} \) and the diversity of the population in each iteration. It has obvious that the updating mechanism is more advantageous to enhance the promising genetic information, which efficiently improve the guidance of the global exploration.

3.4 New Population Generation and Local Intensification

Sampling to generate new population means that all jobs are selected dependent on the probabilistic model \( {\mathbf{P(gen)}} \). The sampling procedure is described as follows:

  • Step 1: Set control parameter \( p = 1 \) and randomly generate a probability value r where \( r \in \left[ {0,\sum\nolimits_{l = 1}^{n} {P_{il} (gen)} } \right) \).

  • Step 2: Get a candidate job \( j_{c} \) by using roulette selection scheme.

    • Step 2.1: If \( r \in \left[ {0,P_{i1} (gen)} \right)\;(i \in \{ 1, \ldots ,n\} ) \), then set \( j_{c} = 1 \), and go to Step 3.

    • Step 2.2: If \( r \in \left[ {\sum\nolimits_{l = 1}^{{h_{c} - 1}} {P_{il} (gen)} ,\sum\nolimits_{l = 1}^{{h_{c} }} {P_{il} (gen)} } \right) \) and \( (i \in \{ 1, \ldots ,n\} ,\;h_{c} = 2, \ldots ,n) \), then select the candidate job \( j_{c} = h_{c} \), and go to Step 3.

  • Step 3: If the candidate job \( j_{c} \) do not repeat with the selected jobs, then return \( j_{c} \).

  • Step 4: Put the selected \( j_{c} \) into the corresponding position and execute the sampling method independently and repeatedly until generating a feasible solution.

  • Step 5: Set \( p = p + 1 \). If \( p \le popsize \), go to Step 2. Otherwise output \( {\mathbf{pop}}({\mathbf{gen}}) \).

To enhance the exploitation, two local search methods based on the speedup methods, i.e., a reference sequence based local search (RLS) [9] and a path relinking based local search, are employed and embedded in the EDA for stressing exploitation.

4 Simulation Results and Comparisons

4.1 Experimental Setup

Some randomly generated instances are adopted to test the performance of HEDA. The \( n \times m \) instances are generated with {20, 30, 50, 70, 100, 200, 500} × {5, 10, 20}. Each group consists of 10 instances. Therefore, we have a total of 210 different instances. The processing time \( p_{{j_{i} ,l}} \) and the setup time \( s_{{j_{i - 1} ,j_{i} ,l}} \) are generated from two different uniform distributions [1, 100] and [0, 100], respectively. To evaluate the performance of each algorithm, the average relative percentage deviation (ARPD) is computed to measure the quality of the solutions. The ARPD is calculated as follows:

$$ ARPD = \frac{1}{R}\sum\limits_{i = 1}^{R} {\frac{{C_{max}^{i} - C_{max}^{best} }}{{C_{max}^{best} }} \times 100} $$
(14)

where \( C_{max}^{i} \) is the solution obtained by a specific algorithm in \( i{\text{th}} \) experiment and \( C_{max}^{best} \) is the best solutions obtained by all of the compared algorithms and R is the number of repetitions. Obviously, the less the value of ARPD is, the better performance of the algorithm is. Note that a full factorial design of experiment is carried out to determine the best parameters for the compared algorithms. The parameters for HEDA are set as follows: \( popsize = 100 \), \( r = 0.75 \), \( Sbest = 10 \), \( \delta_{1} = 0.7 \) and \( \delta_{2} = 0.3 \). All algorithms have been re-implemented in Embarcadero Studio XE-10. Computational experiments independently run 30 times on a server with 2.60 GHz Intel® Xeon® E5-4620 v2 processors (32 cores) and 64 GB RAM running Windows 10 Operating System. Therefore, the results are impartial and completely comparable.

4.2 Computational Results and Comparisons

To evaluate the effectiveness of the proposed HEDA, we have re-implemented the existing state-of-the-art algorithms, i.e. HDDE [3], TPA [5], B-IG [6], MFFO [7], IGRLS [8], hmgHS [9], ECS [12], PEDA [16], and EEDA [18], for comprehensive comparisons as all details given by the original papers. Since no algorithms were proposed for the problem under consideration until now, we have adapted them by using the makespan criterion presented in Sect. 2. The statistical results of \( ARPD \) with the same maximum elapsed time limit of \( t = 30 \times n \times (m/2) \) milliseconds as a termination criterion are reported in Table 1, where Average is a statistical average and the best, the second-best, and the third-best values in each cell are represented by using the bold, the bold with underlined, and the italic with underlined fonts, respectively.

Table 1. Computational results of compared algorithms and HEDA.

It is clear through Table 1 that HEDA performs steadily and well in terms of the overall ARPD values, and that it outperforms the others in different scale problems. However, IGRLS is a potential competitive algorithm better than HDDE and hmgHS. To be specific, for small-scaled instances (n = 20, 30), MFFO and HDDE obtain the best solutions, except for 20 × 5. For the medium-scaled instances (n = 50, 100), IGRLS obtains the best performance. HEDA outperforms other algorithms at the considered margin for large-scaled instances (n = 200, 500). Meanwhile, some metaheuristics, i.e. HDDE, MFFO and hmgHS, are highly depend on the parameters for different scale instances. The superiority of HEDA owes to some aspects as follow: (1) The PF-NEH heuristic provides excellent initial solutions. (2) With a well-designed probability model and the suitable updating mechanism, it is helpful to explore the promising area in the solution space effectively. (3) With the path relinking based local search, it is helpful to further exploit these regions and enhance the exploitation capability. (4) With the suitable calibration of parameters, it is helpful to obtain satisfactory schedules. With the above merits, it is safely concluded that the HEDA is a new state-of-the-art algorithm for \( Fm|blocking,ST_{sd} C_{max} \) with excellent quality and robustness.

5 Conclusions and Future Research

To the best of the current authors’ knowledge, this is the first report on the application of the HEDA for blocking flow-shop scheduling problem (BFSP) with sequence-dependent setup times (SDSTs) to minimize the maximum completion time. The speedup method is designed to reduce the computing complexity successfully. Both the effectiveness of searching solutions and the efficiency of evaluating solutions were stressed, and the influence of parameter setting was investigated as well. Due to reasonably hybridize and balance the global exploration and local exploitation, HEDA’s search behavior can be enriched and its search performance can be greatly enhanced, which outperforms other considered algorithms with the effectiveness and robustness for the BFSP with SDSTs. Our future work is to develop some effective metaheuristics to solve the flexible distributed energy efficient scheduling problems.