# Improvement Tools for NEH Based Heuristics on Permutation and Blocking Flow Shop Scheduling Problems

Ramon Companys, Imma Ribas, Manel Mateo

► To cite this version:

Ramon Companys, Imma Ribas, Manel Mateo. Improvement Tools for NEH Based Heuristics on Permutation and Blocking Flow Shop Scheduling Problems. International Conference on Advances in Production and Management Systems (APMS), Sep 2009, Paris, France. pp.33-40, 10.1007/978-3-642-16358-6_5. hal-01055820

HAL Id: hal-01055820

https://inria.hal.science/hal-01055820

Submitted on 13 Aug 2014

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
Improvement tools for NEH based heuristics on
permutation and blocking flow shop scheduling
problems

Ramon Companys*; Imma Ribas; Manel Mateo

¹Dpto. de Organización de Empresas. Escuela Técnica Superior de Ingeniería Industrial de Barcelona. Universidad Politécnica de Cataluña. Av. Diagonal 647, 08028 Barcelona.
{ramon.companys, imma.ribas, manel.mateo}@upc.edu

**Abstract.** In this paper, two tools to improve the performance of the NEH-based heuristics for the flow shop problem with and without buffer constraints are proposed. The first tool is the use of the reversibility property of the problems considered and the second one is a new tie-breaking strategy to be use in the insertion phase of the NEH heuristic. In addition, we have analyzed the behavior of five initial solution procedures for both problems. The analysis of results confirms the effectiveness of the measures proposed and allows us to recommend the best ordering procedure for each one of the problems.

**Keywords:** Scheduling, heuristic algorithms, permutation flow shop, blocking flow shop.

# 1 Introduction

This work deals with the permutation flow shop scheduling problem with and without storage space between stages. If there is enough storage space between successive machines, when a job finishes its operation can leave the machine. But, if there is no storage space between stages, intermediate queues of jobs waiting in the system for their next operation are not allowed. If operation on machine *j* for a job *i* is finished and the next machine, *j*+1, is still busy on the previous job, the completed job *i* has to be blocked into machine *j*. For simplicity purposes we shall refer to these problems as PFSP (permutation) and BFSP (blocking), respectively.

The most common criterion, here considered, is the minimization of the makespan or maximum completion time. Using the proposed notation by Graham et al. [1], these two problems are denoted by $Fm|prmu|C_{max}$ and $Fm|block|C_{max}$.

The PFSP has become one of the most intensively investigated topics in scheduling since the publication of the paper of Johnson [2]. For $m \ge 3$ the problem is shown to be strongly NP-hard [3]. Nawaz et al. [4] proposed a NEH heuristic which is considered one of the best heuristics for the PFSP. The NEH procedure can be divided into two steps: (1) the generation of an initial order for the jobs applying the Largest Processing Time (LPT) rule and (2) the iterative insertion of jobs, in a partial
sequence, in accordance with the initial order obtained in the first step. Given its efficiency, this procedure has been widely studied and different variants of it have been proposed in the literature. Nagano and Moccellin [5] proposed a different initial ordering; Framinan et al. [6] examined 176 rules used to obtain the initial sequence and showed that the ordering proposed initially in the NEH heuristic is the one which obtains the best results when the objective is to minimize the makespan. However among these rules, the Nagano and Moccellin's [5], the trapezium [7], the Pour's [8] and the Profile Fitting procedures are not included.

Considering now the BFSP, Reddi and Ramamoorthy [9] showed that exist a polynomial algorithm for F2 | block | C<sub>max</sub>, which gives an exact solution. Hall and Sriskandarajah [10] showed, using a result from Papadimitriou and Kanellakis [11], that Fm | block | C<sub>max</sub> problem for m ≥ 3 machines is strongly NP-hard.

In this paper we propose two tools to improve the performance of the NEH-based heuristics: the use of the reversibility property of problems considered and a new tie-breaking strategy to be used in the step 2. The computational results show the effectiveness of these tools. In addition, we have compared the performance of four initial sequencing procedures with the NEH's sequencing rule (LPT).

## 2 Problem statement

At instant zero there are *n* jobs which must be processed, in the same order, in *m* machines. Each job goes from machine 1 to machine *m*. The process time for each operation is *p*<sub>j,i</sub>, being *p*<sub>j,i</sub> > 0, where *j* ∈ {1,2,...,*m*} indicates the machine and *i* ∈ {1,2,...,*n*} the job. The setup times are included in the processing time. The objective function considered is the minimization of the makespan, which is equivalent to maximizing the use of the machines.

Given a permutation, P, of the *n* jobs, [k] indicates the job in position *k* in the sequence. Given a feasible schedule associated to a permutation, *e*<sub>j,k</sub> is defined as the initial instant in which the job that occupies position *k* starts to be processed in the machine *j* and *f*<sub>j,k</sub> is defined as the instant when the job that occupies position *k* in machine *j* is finished. The PFSP can be expressed with the following formulation:

$$e_{j,k} + p_{j,k} \le f_{j,k} \qquad j=1,2,...,m \qquad k=1,2,...,n \qquad (1)$$

$$e_{j,k} \ge f_{j,k-1} \qquad j=1,2,...,m \qquad k=1,2,...,n \qquad (2)$$

$$e_{j,k} \ge f_{j-1,k} \qquad j=1,2,...,m \qquad k=1,2,...,n \qquad (3)$$

$$C_{max} = f_{m,n} \qquad (4)$$

being, $f_{j,0} = 0 \quad \forall j$, $f_{0,k} = 0 \quad \forall k$, the initial conditions.

The program is semi-active if the equation (1) is written as $e_{j,k} + p_{j,k} = f_{j,k}$ and the equations (2) and (3) are summarized as $e_{jk} = \max\{f_{j,k-1}; f_{j-1,k}\}$.
As it is said, when there is no storage space between stages, BFSP case, if a job *i* finishes its operation on machine *j* and the next machine, *j+1*, is still processing the previous job, the completed job *i* has to remain in machine *j* until machine *j+1* is free. This condition requires an additional equation (5) in the formulation of the problem.

$$f_{j,k} \ge f_{j+1,k-1} \qquad j=1,2,...,m \qquad k=1,2,...,n \qquad (5)$$

The initial condition $f_{m+1,k} = 0$ $k=1,2,...,n$ must be added.

The schedule obtained is semi-active if equation (1) and (5) is summarized as (5'):

$$f_{j,k} = \min \{r_{j,k} + p_{j,k}, f_{j+1,k-1}\} . \qquad (5')$$

Consequently, the $Fm|prmu|C_{max}$ problem can be seen as a relaxation of the $Fm|block|C_{max}$ problem.

Both problems, $Fm|prmu|C_{max}$ and $Fm|block|C_{max}$, are reversible. Given an instance I, which can be called direct instance, with processing times $p_{j,i}$, one can determine another instance I', which can be called inverse instance, with processing times $p'_{j,i}$ calculated as (6):

$$p'_{j,i} = p_{m-j+1,i} \qquad j = 1, 2, ..., m \qquad i = 1, 2, ..., n \qquad (6)$$

For a permutation P, the value $C_{max}$ in I is the same as the one given in I' for the inverse permutation P'. So, the minimum of maximum completion time is the same for I and I', and the permutations associated to both instances are inverse one each other. Therefore, it does not matter to solve I or to solve I'.

## 3 Heuristics

As it is mentioned above, the NEH heuristic is considered one of the best heuristic for the PFSP and it has also a good performance for the BFSP [12]. It consists of two steps:

Step 1: ordering jobs according to the LPT rule.

Step 2: in accordance with the order established in step 1, take the first two jobs and schedule them in such a way that they minimize the partial makespan, considering an instance with only two jobs. Then for $k=3$ up to $n$, insert the $k$-th job into one of the possible $k$ positions of the partial sequence. The objective is to minimize the $C_{max}$ with $k$ jobs.

For step 1, we have considered four initial sequencing procedures, from the literature: the proposed by Nagano and Moccellin's [5], (NM), the *Trapezium* [7] (TR), the proposed by Pour [8] (PO) and the *Profile Fitting* [13] (PF). The three first procedures were designed for the PFSP, whereas the last one was specially designed for the BFSP.
For step 2, we propose a new tie breaking method when two different positions give the same makespan. This method consists in calculating the total idle time (IT) for each position as (7):

$$ \sum_{j=1}^{m} IT(j) = \sum_{j=1}^{m} \left( f_{j,n} - e_{j,1} - \sum_{i=1}^{n} p_{j,i} \right) \qquad (7) $$

If there is a tie between two positions the job is inserted in the position with lower total idle time. If there is still a tie, the procedure defined in [14] for NEHKK1 is used.

Finally, as a second way to improve the solutions, we apply the procedures on the direct and inverse instance retaining the best of both solutions.

# 4 Computational experience

The objective of the computational experience is to analyze the effectiveness of the proposed tools and to compare the performance of the sequencing procedures considered in step 1 to find the best procedure for each problem. We shall refer as NME2 to the variant of the proposed algorithm with NM rule [5] in step 1, as TRE2 to the variant with TR rule [7], as POE2 to the one with the PO procedure [8] and, finally, as PLE2 to the variant with PF rule [13]. As in PF rule, there is no efficient criterion for determining which job is the most suitable for the first position; therefore, we have chosen the job with the largest processing time (named as PL).

The test has been done running the algorithms on two different problem sets: the Taillard's benchmarks (1993) and nine generated sets of a thousand instances, with 3, 4 and 5 machines and 13, 14 and 15 jobs. For these instances, namely LOI instances, the optimal solutions, for the Fm | prmu | Cmax and for the Fm | block | Cmax problem, were obtained by the LOMPEN algorithm [15]. The experiments were carried out on an Intel Core 2 Duo E8400 CPU, 3GHz and 2GB of RAM memory.

To analyze the experimental results we have used the index Ihi calculated as (9):

$$ I_{hi} = \frac{Heur_{hi} - Best_i}{Best_i} \times 100. \qquad (9) $$

Where Heurhi is the average of the makespan values obtained by the heuristic h. and Besti is optimum or the lowest makespan known for instance i.

## 4.1 The Fm|prmu|Cmax problem

The Taillard instances are arranged on 12 sets of ten instances each, the sets differs by the values of the couple (n, m). Optimal or best known solutions are found in http://ina2.eivd.ch/collaborateurs/etd/problemes.dir/ordonnancement.dir/flowshop.dir/best_lb_up.txt.
First, to analyze the effectiveness of the tie breaking method proposed, we have compared the average values of index $I_{hi}$ for the original NEH procedure (denoted as NHE0), the two tie breaking methods proposed in Kalcynski and Kamburowski [14] (denoted as NEH1 and NEH_KK1) and the tie breaking here proposed (denoted as NEH_IT). The values corresponding to each version of the NEH procedure are shown in Table 1. To carry out this comparison we have applied the procedures only on the direct instances.

<table><caption>**Table 1.** Average of $I_{hi}$, on Taillard instances, for $Fm$ | $prmu$ | $C_{max}$ for each tie breaking method.</caption><thead><tr><th></th><th>NEH0</th><th>NEH1</th><th>NEH_KK1</th><th>NEH_IT</th></tr></thead><tbody><tr><td>20x5</td><td>3.3</td><td>2.69</td><td>2.73</td><td><strong>2.52</strong></td></tr><tr><td>20x10</td><td>4.6</td><td>4.35</td><td><strong>4.31</strong></td><td>4.32</td></tr><tr><td>20x20</td><td>3.73</td><td>3.68</td><td><strong>3.41</strong></td><td>3.54</td></tr><tr><td>50x5</td><td>0.73</td><td>0.87</td><td><strong>0.59</strong></td><td>0.6</td></tr><tr><td>50x10</td><td>5.07</td><td>5.08</td><td>4.87</td><td><strong>4.83</strong></td></tr><tr><td>50x20</td><td>6.66</td><td>6.51</td><td>6.42</td><td><strong>5.77</strong></td></tr><tr><td>100x5</td><td>0.53</td><td>0.48</td><td>0.4</td><td><strong>0.35</strong></td></tr><tr><td>100x10</td><td>2.21</td><td>2.1</td><td><strong>1.77</strong></td><td>2.08</td></tr><tr><td>100x20</td><td>5.34</td><td><strong>5.28</strong></td><td><strong>5.28</strong></td><td>5.43</td></tr><tr><td>200x10</td><td>1.26</td><td>1.19</td><td>1.16</td><td><strong>1.02</strong></td></tr><tr><td>200x20</td><td>4.42</td><td>4.42</td><td>4.25</td><td><strong>4.19</strong></td></tr><tr><td>500x20</td><td>2.06</td><td>1.98</td><td>2.03</td><td><strong>1.96</strong></td></tr><tr><td>All</td><td>3.33</td><td>3.22</td><td>3.1</td><td><strong>3.05</strong></td></tr></tbody></table>

As it can be seen in Table 1, the minimum overall average value of index $I_{hi}$ is obtained when our tie breaking method is applied. Therefore, we can conclude that it is an effective tool to improve the performance of the NEH heuristic.

<table><caption>**Table 2.** Average of $I_{hi}$, for Taillard instances for $Fm$ | $prmu$ | $C_{max}$ problem.</caption><thead><tr><th>n x m</th><th>NEH</th><th>NEH2</th><th>NME</th><th>NME2</th><th>TRE</th><th>TRE2</th><th>POE</th><th>POE2</th><th>PLE</th><th>PLE2</th></tr></thead><tbody><tr><td>20x5</td><td>2.69</td><td>2.32</td><td>2.58</td><td>2.29</td><td>2.71</td><td>1.77</td><td>3.51</td><td>2.40</td><td>2.82</td><td>2.14</td></tr><tr><td>20x10</td><td>4.42</td><td>3.80</td><td>4.20</td><td>3.05</td><td>6.18</td><td>4.29</td><td>4.99</td><td>4.39</td><td>5.31</td><td>4.22</td></tr><tr><td>20x20</td><td>3.71</td><td>3.43</td><td>4.23</td><td>3.62</td><td>5.01</td><td>4.44</td><td>5.12</td><td>4.09</td><td>4.01</td><td>3.57</td></tr><tr><td>50x5</td><td>0.57</td><td>0.56</td><td>0.92</td><td>0.67</td><td>1.04</td><td>0.64</td><td>1.06</td><td>0.79</td><td>0.96</td><td>0.55</td></tr><tr><td>50x10</td><td>5.05</td><td>4.34</td><td>4.91</td><td>4.72</td><td>6.01</td><td>5.53</td><td>5.96</td><td>5.24</td><td>5.00</td><td>4.44</td></tr><tr><td>50x20</td><td>5.78</td><td>5.76</td><td>5.82</td><td>5.60</td><td>8.05</td><td>7.14</td><td>6.93</td><td>6.71</td><td>6.68</td><td>6.15</td></tr><tr><td>100x5</td><td>0.36</td><td>0.35</td><td>0.45</td><td>0.35</td><td>0.67</td><td>0.39</td><td>0.66</td><td>0.44</td><td>0.52</td><td>0.38</td></tr><tr><td>100x10</td><td>2.06</td><td>1.65</td><td>2.18</td><td>1.71</td><td>3.17</td><td>2.46</td><td>2.76</td><td>2.44</td><td>2.26</td><td>1.88</td></tr><tr><td>100x20</td><td>5.43</td><td>5.00</td><td>5.47</td><td>5.03</td><td>6.68</td><td>6.39</td><td>6.43</td><td>6.07</td><td>5.24</td><td>4.84</td></tr><tr><td>200x10</td><td>1.07</td><td>0.97</td><td>1.12</td><td>0.96</td><td>1.42</td><td>1.13</td><td>1.57</td><td>1.18</td><td>1.12</td><td>0.96</td></tr><tr><td>200x20</td><td>4.11</td><td>3.96</td><td>4.19</td><td>3.94</td><td>5.34</td><td>4.98</td><td>4.94</td><td>4.81</td><td>4.29</td><td>4.16</td></tr><tr><td>500x20</td><td>2.02</td><td>1.80</td><td>1.91</td><td>1.82</td><td>3.17</td><td>2.85</td><td>2.75</td><td>2.70</td><td>2.21</td><td>1.96</td></tr><tr><td>All</td><td>3.11</td><td>2.83</td><td>3.16</td><td>2.81</td><td>4.12</td><td>3.50</td><td>3.89</td><td>3.44</td><td>3.37</td><td>2.94</td></tr></tbody></table>

Next, to compare the improvement obtained when the reversibility property is used we have reported (Table 2) the average values of $I_{hi}$ for each set of Taillard instances and procedure. Number 2 is omitted from the name of variants when procedures are applied only on the direct instance. It can be observed that the performance increases,
between 10 and 20%, when the procedures are applied on the direct and inverse instances retaining the best of both solutions

Regarding the performance of the proposed variants, we can say, according to the overall average value of index $I_{hi}$ (Table 2), that NME2 is slightly better than NEH2. It is worth noting that PLE2, with an initial procedure designed for the blocking problem, has better results than TRE2 and POE2.

To analyze the efficiency of these procedures, we have reported in Table 3, the CPU time required by each. It can be observed that all variants require a similar time except POE 2 which requires much more time.

<table><caption>**Table 3.** Average CPU time, in seconds, required by each variant on each instance.</caption><thead><tr><th>n x m</th><th>NEH2</th><th>NME2</th><th>TRE2</th><th>POE2</th><th>PLE2</th></tr></thead><tbody><tr><td>20x5</td><td>0.02</td><td>0.01</td><td>0.01</td><td>0.07</td><td>0.02</td></tr><tr><td>20x10</td><td>0.03</td><td>0.02</td><td>0.03</td><td>0.13</td><td>0.02</td></tr><tr><td>20x20</td><td>0.06</td><td>0.04</td><td>0.06</td><td>0.23</td><td>0.04</td></tr><tr><td>50x5</td><td>0.13</td><td>0.13</td><td>0.25</td><td>1.21</td><td>0.27</td></tr><tr><td>50x10</td><td>0.25</td><td>0.26</td><td>0.25</td><td>1.51</td><td>0.26</td></tr><tr><td>50x20</td><td>0.50</td><td>0.52</td><td>0.81</td><td>3.44</td><td>0.494</td></tr><tr><td>100x5</td><td>1.01</td><td>1.03</td><td>1.00</td><td>13.95</td><td>1.08</td></tr><tr><td>100x10</td><td>2.00</td><td>2.03</td><td>2.91</td><td>20.60</td><td>2.44</td></tr><tr><td>100x20</td><td>3.94</td><td>4.04</td><td>4.84</td><td>32.21</td><td>4.12</td></tr><tr><td>200x10</td><td>16.01</td><td>15.99</td><td>16.01</td><td>283.57</td><td>19.17</td></tr><tr><td>200x20</td><td>31.47</td><td>33.33</td><td>31.44</td><td>437.35</td><td>38.03</td></tr><tr><td>500x20</td><td>500.95</td><td>491.01</td><td>493.04</td><td>15147.06</td><td>588.98</td></tr></tbody></table>

The results obtained for the second set of problems, LOI instances, confirm the little advantage of NME2. Table 4 show the average value of $I_{hi}$ for each set of instances and procedure. In all cases, the CPU time required to solve each instance is lower than 0.014 seconds.

<table><caption>**Table 4.** Average values of $I_{hi}$ for each set of LOI instances and each heuristic</caption><thead><tr><th>nxm</th><th>NEH2</th><th>NME2</th><th>TRE2</th><th>POE2</th><th>PLE2</th></tr></thead><tbody><tr><td>13x3</td><td>0.24</td><td>0.17</td><td>0.27</td><td>0.26</td><td>0.23</td></tr><tr><td>13x4</td><td>0.88</td><td>0.76</td><td>0.86</td><td>0.88</td><td>0.82</td></tr><tr><td>13x5</td><td>1.59</td><td>1.52</td><td>1.59</td><td>1.60</td><td>1.41</td></tr><tr><td>14x3</td><td>0.24</td><td>0.18</td><td>0.27</td><td>0.32</td><td>0.21</td></tr><tr><td>14x4</td><td>0.79</td><td>0.70</td><td>0.85</td><td>0.91</td><td>0.71</td></tr><tr><td>14x5</td><td>1.59</td><td>1.46</td><td>1.69</td><td>1.71</td><td>1.43</td></tr><tr><td>15x3</td><td>0.17</td><td>0.13</td><td>0.24</td><td>0.23</td><td>0.18</td></tr><tr><td>15x4</td><td>0.75</td><td>0.65</td><td>0.84</td><td>0.84</td><td>0.67</td></tr><tr><td>15x5</td><td>1.49</td><td>1.44</td><td>1.65</td><td>1.68</td><td>1.47</td></tr><tr><td>All</td><td>0.86</td><td>0.78</td><td>0.92</td><td>0.94</td><td>0.79</td></tr></tbody></table>

## 4.2 The Fm|block|C<sub>max</sub> problem

First, we analyze the improvement obtained by applying the procedures on the direct and inverse instance obtaining the best of both solutions. For the BFSP problem, the
best known solutions are found in Companys [16]. The average values of index $I_{hi}$ by set and procedure are shown in Table 5. It can be seen that the improvement reached with the reversibility property tool is between 4 and 12%, less than for the permutation problem but significant.

<table><caption>**Table 5.** Average values of $I_{hi}$ for Taillard instances for Fm | block | $C_{max}$ problem.</caption><thead><tr><th>nxm</th><th>NEH</th><th>NEH2</th><th>NME</th><th>NME2</th><th>TRE</th><th>TRE2</th><th>POE</th><th>POE2</th><th>PLE</th><th>PLE2</th></tr></thead><tbody><tr><td>20x5</td><td>5.09</td><td>4.94</td><td>6.32</td><td>4.85</td><td>7.02</td><td>5.05</td><td>5.95</td><td>5.20</td><td>5.27</td><td>4.57</td></tr><tr><td>20x10</td><td>5.45</td><td>5.23</td><td>5.83</td><td>4.27</td><td>5.75</td><td>5.05</td><td>6.24</td><td>4.76</td><td>4.68</td><td>4.16</td></tr><tr><td>20x20</td><td>3.39</td><td>3.37</td><td>4.03</td><td>2.80</td><td>4.11</td><td>3.66</td><td>4.25</td><td>3.70</td><td>4.02</td><td>3.12</td></tr><tr><td>50x5</td><td>8.76</td><td>8.42</td><td>8.43</td><td>7.81</td><td>9.30</td><td>8.32</td><td>7.68</td><td>7.27</td><td>8.62</td><td>8.02</td></tr><tr><td>50x10</td><td>7.96</td><td>7.15</td><td>8.11</td><td>7.64</td><td>7.43</td><td>6.91</td><td>7.25</td><td>6.23</td><td>7.14</td><td>6.75</td></tr><tr><td>50x20</td><td>7.10</td><td>6.87</td><td>6.69</td><td>6.26</td><td>5.97</td><td>5.34</td><td>5.55</td><td>4.85</td><td>5.17</td><td>5.03</td></tr><tr><td>100x5</td><td>7.52</td><td>7.25</td><td>7.92</td><td>7.63</td><td>8.33</td><td>8.01</td><td>7.17</td><td>6.73</td><td>7.63</td><td>7.19</td></tr><tr><td>100x10</td><td>6.81</td><td>6.72</td><td>6.70</td><td>6.27</td><td>6.38</td><td>6.07</td><td>6.16</td><td>5.62</td><td>6.69</td><td>6.58</td></tr><tr><td>100x20</td><td>5.55</td><td>5.30</td><td>5.70</td><td>5.18</td><td>5.42</td><td>4.70</td><td>4.54</td><td>4.41</td><td>4.75</td><td>4.48</td></tr><tr><td>200x10</td><td>6.95</td><td>6.74</td><td>6.80</td><td>6.59</td><td>6.82</td><td>6.54</td><td>6.43</td><td>5.93</td><td>6.73</td><td>6.48</td></tr><tr><td>200x20</td><td>4.36</td><td>4.12</td><td>4.49</td><td>4.28</td><td>3.74</td><td>3.47</td><td>3.54</td><td>3.20</td><td>3.82</td><td>3.70</td></tr><tr><td>500x20</td><td>3.62</td><td>3.46</td><td>3.58</td><td>3.41</td><td>2.90</td><td>2.83</td><td>2.87</td><td>2.69</td><td>3.25</td><td>3.04</td></tr><tr><td>All</td><td>6.05</td><td>5.80</td><td>6.22</td><td>5.58</td><td>6.10</td><td>5.50</td><td>5.63</td><td>5.05</td><td>5.65</td><td>5.26</td></tr></tbody></table>

Regarding the performance of the variants, we can see that POE2 has the lowest overall average value of index $I_{hi}$ followed by PLE2. But, POE2 requires much more time than the others, as can be seen in Table 6. Therefore it is more recommendable PLE2 than POE2.

<table><caption>**Table 6.** Average CPU times, in second, required by each variant on each instance.</caption><thead><tr><th>nxm</th><th>NEH2</th><th>NME2</th><th>TRE2</th><th>POE2</th><th>PLE2</th></tr></thead><tbody><tr><td>20x5</td><td>0.02</td><td>0.02</td><td>0.02</td><td>0.04</td><td>0.02</td></tr><tr><td>20x10</td><td>0.03</td><td>0.03</td><td>0.04</td><td>0.16</td><td>0.03</td></tr><tr><td>20x20</td><td>0.09</td><td>0.10</td><td>0.09</td><td>0.30</td><td>0.07</td></tr><tr><td>50x5</td><td>0.18</td><td>0.36</td><td>0.35</td><td>1.99</td><td>0.37</td></tr><tr><td>50x10</td><td>0.70</td><td>0.73</td><td>0.70</td><td>2.69</td><td>0.45</td></tr><tr><td>50x20</td><td>1.38</td><td>1.43</td><td>1.40</td><td>4.05</td><td>0.89</td></tr><tr><td>100x5</td><td>2.35</td><td>2.36</td><td>2.36</td><td>15.02</td><td>1.74</td></tr><tr><td>100x10</td><td>3.77</td><td>3.80</td><td>3.76</td><td>22.62</td><td>3.46</td></tr><tr><td>100x20</td><td>6.56</td><td>6.67</td><td>6.60</td><td>36.34</td><td>6.90</td></tr><tr><td>200x10</td><td>26.95</td><td>23.95</td><td>23.03</td><td>300.99</td><td>27.73</td></tr><tr><td>200x20</td><td>45.46</td><td>46.03</td><td>46.44</td><td>472.30</td><td>54.49</td></tr><tr><td>500x20</td><td>839.49</td><td>863.26</td><td>714.87</td><td>18713.45</td><td>841.75</td></tr></tbody></table>

The overall average of index $I_{hi}$ obtained in the second test (Table 7), with the LOI instances, confirm this little advantage of POE2. But, due to the large CPU time required we recommend PLE2 to be used for the BFSP.

<table><caption>**Table 7.** Average values of $I_{hi}$ for each set of LOI instances and each heuristic</caption><thead><tr><th>nxm</th><th>NEH2</th><th>NME2</th><th>TRE2</th><th>POE2</th><th>PLE2</th></tr></thead><tbody><tr><td>All</td><td>3.98</td><td>3.61</td><td>3.76</td><td>3.44</td><td>3.50</td></tr></tbody></table>
# 5 Conclusions

The computational experience shows the effectiveness of the tie breaking procedure and the use of the reversibility property as a way to improve the performance of the NEH-based heuristic. Regarding the performance of the variants implemented, we have seen that the behaviour of the algorithms on the permutation and the blocking cases are different. For $Fm|prmu|C_{max}$ problem, NME2 and NEH2 are the best procedures are. However, for $Fm|block|C_{max}$ problem, the best ones are POE2 and PLE2, but due to the CPU time necessary by POE2, PLE2 is more recommendable.

# References

1. Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G.: Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics. 5287-5326 (1979)

2. Johnson S.M. Optimal two- and three-stage production schedules with set up times included. Naval Research Logistics Quarterly 1, 61-8 (1954)

3. Garey, M.R., Johnson, D.S.: Computers and intractability: A guide to the theory of NP-Completeness. San Francisco, Freeman (1979).

4. Nawaz, M., Enscore, Jr E.E., Ham, I.: A heuristic algorithm for the m-machine, n-job flow-shop sequencing problem. Omega 11, 91-95 (1983).

5. Nagano, M.S, Moccellin, J.V. A high quality constructive heuristic for flow shop sequencing. Journal of the Operational Research Society 53, 1374-1379 (2002)

6. Framinan, J.M., Leisten, R., Ramamoorthy, B.: Different initial sequences for the heuristic of Nawaz, Enscore and Ham to minimize makespan, idletime or flowtime in the static permutation flowshop sequencing problem. International Journal of Production Research 41, 121-148 (2003).

7. Companys, R.: Métodos heurísticos en la resolución del problema del taller mecánico. Estudios Empresariales 5, 7-18 (1966)

8. Pour, H.D.: A new heuristic for the n-job, m-machine flow shop problem. Production Planning & Control 12, 648-653 (2001)

9. Reddi, S.S., Ramamoorthy, B.: On the flow-shop sequencing problem with no wait in process. Opers Res. Q. 23, 323-331 (1972)

10. Hall, N.G, Sriskandarajah, C.: A survey of machine scheduling problems with blocking and no wait in process. Operations Research 44, 510-525 (1996)

11. Papadimitriou, C.H., Kanellakis, P.C.: Flowshop scheduling with limited temporary storage. Journal of the ACM 27, 533-549 (1980)

12. Leisten. R.: Flowshop sequencing problems with limited buffer storage. Int J Prod Res 28, 2085-2100 (1990)

13. McCormick, S.T., Pinedo, M.L., Shenker, S., Wolf, B.: Sequencing in an Assembly Line with Blocking to Minimize Cycle Time. Operations Research 37, 925-936 (1989)

14. Kalczynski, P.J., Kambrowski, J.: An improved NEH heuristic to minimize makespan in permutation flow shops. Computers & Operations Research 9, 3001-3008 (2008)

15. Companys, R., Mateo, M.: Different behaviour of a double branch-and-bound algorithm on $Fm|prmu|C_{max}$ and $Fm|block|C_{max}$ problems. Computers & Operations Research 34, 938-53 (2007)

16. Companys R.: Note on the blocking flowshop problem. Working paper, http://upcommon.upc.edu/e-prints/handle/2117/420 (2009).