# Scheduling of Parallel Print Machines with Sequence-Dependent Setup Costs: A Real-World Case Study

Manuel Iori, Alberto Locatelli, Marco Locatelli

► To cite this version:

Manuel Iori, Alberto Locatelli, Marco Locatelli. Scheduling of Parallel Print Machines with Sequence-Dependent Setup Costs: A Real-World Case Study. IFIP International Conference on Advances in Production Management Systems (APMS), Sep 2021, Nantes, France. pp.637-645, 10.1007/978-3-030-85902-2_68. hal-04117664

HAL Id: hal-04117664

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

Submitted on 5 Jun 2023

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
<figure><img src="image_2.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
# Scheduling of Parallel Print Machines with Sequence-dependent Setup Costs: a Real-world Case Study *

Manuel Iori<fnref n="1" />[0000-0003-2097-6572], Alberto Locatelli<fnref n="1" />[0000-0002-5368-8289], and Marco Locatelli<fnref n="2" />[0000-0001-7138-8653]

**Abstract.** In the present work, we consider a real-world scheduling problem arising in the color printing industry. The problem consists in assigning print jobs to a heterogeneous set of flexographic printer machines, as well as in finding a processing sequence for the sets of jobs assigned to each printer. The aim is to minimize a weighted sum of total weighted tardiness and total setup times. The machines are characterized by a limited sequence of color groups and can equip additional components (e.g., embossing rollers and perforating rolls) to process jobs that require specific treatments. The process to equip a machine with an additional component or to clean a color group takes a long time, with the effect of significantly raising the setup costs. Furthermore, the time required to clean a color group between two different jobs depends directly on the involved colors. To tackle the problem, we propose a constructive heuristic followed by some local search procedures that are used one after the other in an iterative way. Extensive tests on real-world instances prove that the proposed algorithm can obtain very good-quality solutions within a limited computing time.

**Keywords:** Parallel machine scheduling · Flexographic printing process · Sequence-dependent setup costs · Food packaging industry.

## 1 Introduction

Over the past years, the food packaging has undergone a remarkable evolution. The choice of materials and graphic design for the food packages has become more and more important to capture and establish a strong and lasting bond with the customers (see, e.g., Paine and Paine [5]). As a result, the color printing

<footnote n="1">¹ Department of Sciences and Methods for Engineering, University of Modena and Reggio Emilia, Reggio Emilia, Italy, {manuel.iori, alberto.locatelli}@unimore.it.</footnote>

<footnote n="2">² Department of Engineering and Architecture, University of Parma, Parma, Italy, marco.locatelli@unipr.it.</footnote>

<footnote>* We acknowledge financial support from Istituto Stampa s.r.l. (Italy). The work originates from the daily activity of Istituto Stampa s.r.l., a company whose headquarters is located in Reggio Emilia (Italy). The company operates in the field of packaging industry by producing and printing packaging materials for food products since 1933.</footnote>
industry has had to adapt to the increasingly demanding requirements from the food industry and its costumers. Flexography and rotogravure printing are the most used technologies for printing flexible food packages. Rotogravure printing used to guarantee a better quality, but now flexography has reached a comparable quality. In addition, flexography is less expensive, faster, and allows for printing on almost any material such as paper, plastic, aluminum foil, and cellophane.

A flexographic printer machine is characterized by a limited sequence of color groups, by a set of additional components (e.g., embossing rollers and perforating rolls) that can be mounted to process jobs that require specific treatments, and by its washing system that can be manual or automatic.

As reported by Schuurman and Van Vuuren [7], the printing process of a printing job consists of two phases: the *machine setup phase* and the *printing phase*. The first phase consists in preparing the machine for printing a new job and may require to remove material from the machine, to equip the machine with an additional component, and to wash and refill color groups. If two consecutively scheduled printing jobs require significantly different color overlays, then substantial down times are incurred. The process to wash a color group and to refill it with another ink takes a long time and depends directly on the specific colors involved. The time required for the *machine setup phase* is job dependent, machine dependent, and job sequence-dependent. Indeed, it depends on the colors and additional components required by the new printing job, on the colors and additional components available in the printing machine and required by the previous printing jobs, and by the washing system type of the machine. On the other hand, the printing phase is just job dependent and machine dependent. More specifically, it depends on print volumes and complexity of the job, on the type of printed material, and on the printing speed of the machine.

Motivated by a real-world application, we consider a scheduling problem consisting in assigning printing jobs to a heterogeneous set of parallel flexographic printer machines, as well as in finding a processing sequence for the sets of jobs assigned to each printer. In accordance with the company, the objective is to minimize the weighted sum of total weighted tardiness and total setup times. We refer to this scheduling problem as the *Parallel Print Machine with Setup Costs Problem* (PMSCP). The PMSCP is a variant of the unrelated parallel machines with sequence-dependent setup times (see Pinedo [6]), in which the optimization criterion is the minimization of a weighted sum of total weighted tardiness and total setup times. Using the three-field notation for scheduling problems by Graham et al. [2], the PMSCP can be denoted as the $R|ST_{sd}|\alpha WT + \beta TST$ (see Allahverdi [1]), where *WT* denotes the total weighted tardiness, *TST* the total setup time, and *α* and *β* are two input parameters. The PMSCP is strongly *NP*-hard since it is a generalization of the weighted tardiness scheduling problem (see Lenstra et al. [3]). In this work, we solve the problem by means of a constructive heuristic followed by some local search procedures. The resulting algorithm is capable of finding good-quality solutions within a limited computing time on several instances derived from the real-world case study.
The remainder of the paper is organized as follows. In Section 2, we formally describe the PMSCP. In Section 3, we present the heuristic algorithm. In Section 4, we provide the outcome of our computational experiments. Finally, in Section 5, we draw some concluding remarks.

## 2 Problem description

In this section, the PMSCP is formally described. The following sets are defined:

- $M = \{1, \dots, m\}$: set of printing machines;

- $J = \{1, \dots, n\}$: set of printing jobs;

- $C$: set of colors available;

- $A$: set of additional components (i.e., embossing rollers and perforating rolls) available to the printing company.

A printing job $j \in J$ is characterized by the following elements:

- $M_j \subseteq M$: subset of machines capable of printing $j$;

- $n_j$: number of colors of $j$;

- $C_j = \{c_1, \dots, c_{n_j}\} \subseteq C$: subset of colors required by $j$;

- $A_j \subseteq A$: subset of additional components required by $j$;

- $v_j$: length of $j$, measured in linear meters;

- $d_j$: due date of $j$;

- $w_j$: tardiness penalty assigned to $j$ for each day of tardiness.

A flexographic printing machine $i \in M$ is characterized by:

- $J_i \subseteq J$: subset of jobs that can be printed by machine $i$;

- $\theta_i$: average printing speed of machine $i$;

- $p_{ij}$: processing time of job $j$ on machine $i$;

- $g_i$: number of color groups of machine $i$;

- $\ell_i$: washing system type of machine $i$, automatic ($\ell_i = 1$) or manual ($\ell_i = 0$).

The state of machine $i \in M$, after having finished job $j \in J$, is characterized by:

- $A_j^i \subseteq A$: subset of additional components installed on $i$;

- $d^i$: availability date of machine $i$, i.e., the moment in which the machine will finish processing $j$.

The state of a machine $i$ depends not only on the last processed job $j$, but also on all the jobs processed by $i$ before $j$. For instance, if the job processed before $j$ requires an additional component $a \in A$, whereas $j$ does not require it, then the component might be simply left on the machine. If, instead, $j$ requires a different component $a'$, then $a$ must be switched with $a'$. For this reason, the state of machine $i$, after having finished job $j$, has a great impact on $s_{jk}^i$, which is the setup time on machine $i \in M$, when processing job $k \in J$ after having finished job $j \in J$, and which might also depend on the sequence of jobs previously assigned to the machine. This complicates the computation of
a heuristic solution and makes the PMSCP even more challenging to solve in practice.

Each machine $i \in M$ is available from Monday to Friday for 8 working hours per day. It can be simply paused at the end of each work shift and resumed the day after without any penalty cost (even during the *printing phase*).

A sequence of jobs $S^i = (j_1^i, \dots, j_{n_i}^i)$ is feasible for machine $i \in M$ if $i \in M_j \forall j \in S^i$. A feasible sequence $S^i$ of jobs defines a schedule for machine $i \in M$ and can be used to compute start and completion times of all jobs. Let the $T_j$ denote the number of days of tardiness of a job $j$ in $S^i$. Because of the sequence-dependent setups based on the colors and on the additional components, even computing $T_j$ is NP-hard (see, Meunier and Neveu [4], for a similar problem). In our work, we decided to adopt a simple but quick and good-enough evaluation of the setup costs (and hence of the tardiness), as described below in the next section.

A set of feasible sequences $S = \{S^i : i \in M\}$ is a feasible schedule for $J$ if it forms a partition of $J$. The PMSCP consists in finding a feasible schedule that minimizes $f = \alpha WT + \beta TST$, where $WT = \sum_{i \in M} \sum_{j \in S^i} w_j T_j$ and $TST = \sum_{i \in M} \sum_{h=1}^{n_i-1} s_{j_h^i j_{h+1}^i}^i$. With a slight abuse of notation, given a feasible sequence of jobs $S^i = (j_1^i, \dots, j_{n_i}^i)$ for machine $i \in M$, we let $f(S^i)$ denote the value $\alpha \cdot \sum_{j \in S^i} w_j T_j + \beta \cdot \sum_{h=1}^{n_i-1} s_{j_h^i j_{h+1}^i}^i$.

## 3 Heuristic approach

Given a machine $i \in M$ and two jobs $j, k \in J_i$, the setup cost $s_{jk}^i$ is evaluated as follows. A color washing time is added to $s_{jk}^i$ for each color $c \in C_k \setminus C_j$ (in the case $\ell_i = 0$) or if $|C_k \setminus C_j| \ge 1$ (in the case $\ell_i = 1$). Indeed, if a printer machine equips an automatic washing systems, the color groups can be washed in parallel, otherwise they have to be washed one by one. Moreover, if there is a $c \in C_k \setminus C_j$ corresponding to white or a special varnish, an additional penalty time is considered. Indeed, the process to wash a color group and to refill it with white ink or a special varnish requires complete cleaning of the corresponding color group with the effect of a significantly raising of the setup costs. Finally, for each additional component $a \in A_k \setminus A_j^i$ (i.e., set of additional components required by $k$ that are not mounted in $i$ after the finish of job $j$), a component changing time is added to $s_{jk}^i$. On the other hand, the time required by machine $i$ to print job $j \in J_i$ is calculated by multiplying $v_j$ by $\theta_i$. Given a feasible sequence of jobs $S^i$, the time required for the *machine setup phase* and the *printing phase* are calculated, for each job $j \in S^i$ as described above. Thus, since the working time of the machines is known and the jobs in $S^i$ are performed one after another, start and completion times of all jobs in $S^i$ can be directly calculated.

A constructive greedy heuristic algorithm (CGHA) to solve the PMSCP is presented in Algorithm 1. The proposed method assigns, at each iteration, a print job to a first available machine, generating, for each machine $i \in M$, a feasible sequence of jobs $S^i$. From Step 5 to Step 11, a set $L_i$ of jobs is created
by selecting from $J_i$ the jobs behind schedule, i.e., $\{j \in J_i : d_j < d^i\}$. If there is no job behind schedule, $L_i$ is created selecting from $J_i$ the feasible jobs that can only be printed by machine $i$, i.e., $\{j \in J_i : |M_j| = 1\}$. If $L_i$ is still empty, then we set $L_i = J_i$. At Step 13, the greedy phase of the algorithm adds to $S^i$ the most convenient job $j \in L_i$. At step 16, the state of machine $i$ is updated. At Step 18, the obtained output $S = \{S^i : i \in M\}$ is a feasible schedule for $J$ by construction.

1 **input:** $M = \{1, \dots, m\}, J = \{1, \dots, n\}$;

2 $S^i = \emptyset$ ($i \in M$);

3 **while** $J \neq \emptyset$ **do**

4 select a machine $i \in M$ such that $d^i = \min_{i' \in M} \{d^{i'} : J_{i'} \neq \emptyset\}$ and $J_i \neq \emptyset$;

5 $L_i := \{j \in J_i : d_j < d^i\}$;

6 **if** ($L_i = \emptyset$) **then**

7 $L_i = \{j \in J_i : |M_j| = 1\}$;

8 **end**

9 **if** ($L_i = \emptyset$) **then**

10 $L_i = J_i$;

11 **end**

12 let $S_j^i$ be the sequence obtained adding job $j$ at the end of sequence $S^i$;

13 select a job $j \in L_i$ such that $f(S_j^i) = \min_{j' \in L_i} f(S_{j'}^i)$;

14 add $j$ at the end of sequence $S^i$;

15 remove job $j$ from $J$;

16 update $d^i, A_j^i$;

17 **end**

18 **return** $S = \{S^i : i \in M\}$.

**Algorithm 1:** Constructive greedy heuristic algorithm (CGHA)

In order to search for improved solutions, three local search procedures, namely LS1, LS2, and LS3, are applied to the initial solution $S$ obtained by the CGHA.

LS1 is based on an intra-machine swap neighborhood, which selects a machine $i \in M$, two job positions $h$ and $g$ ($1 \le h < g \le n_i$) in the sequence of jobs $S^i$, and then generates a new sequence $S_{(h,g)}^i = (j_1^i, \dots, j_g^i, \dots, j_{n_i}^i)$ by switching job $j_h^i$ with job $j_g^i$. The generated solution is better than the current one if $f(S_{(h,g)}^i) < f(S^i)$.

LS2 is based on an inter-machine insertion neighborhood, which selects two machines $i, i' \in M$ and two job positions $h$ ($1 \le h \le n_i$) and $g$ ($1 \le g \le n_{i'}$) in the sequences of jobs $S^i$ and $S^i'$, respectively, and, if $i' \in M_{j_h^i}$, removes job $j_h^i$ from $S^i$ (generating $S_{(j_h^i, h-)}^i = (j_1^i, \dots, j_{h-1}^i, j_{h+1}^i, \dots, j_{n_i}^i)$) and inserts $j_h^i$ before the $g$-th position of $S^i'$ (generating $S_{(j_h^i, g+)}^i = (j_1^{i'}, \dots, j_{g-1}^{i'}, j_h^i, j_g^{i'}, \dots, j_{n_{i'}}^i)$). The generated solution is better than the current one if $f(S_{(j_h^i, h-)}^i) + f(S_{(j_h^i, g+)}^i) < f(S^i) + f(S^i')$.

Given a feasible sequence of jobs $S^i = (j_1^i, \dots, j_{n_i}^i)$ and two job positions $h$ and $g$ ($1 \le h < g \le n_i$) of $S^i$, a sub-sequence of consecutive jobs $S_{(h-g)}^i = (j_h^i, \dots, j_g^i)$ is $t$-maximal if $s_{j_{h-1}^i j_h}^i > t$ (or $h = 1$), $s_{j_g j_{g+1}}^i > t$ (or $g = n_i$), and $s_{j, j+1}^i \le t$ (for each $j = h, \dots, g-1$). Stated in another way, a $t$-maximal sub-sequence is a maximal sequence of consecutive jobs to be executed on machine $i$.
i whose setup times do not exceed t. By definition, a t-maximal sub-sequence $S_{(h-g)}^i = (j_h^i, \dots, j_g^i)$ of $S^i$ is composed by at least of two jobs.

In LS3, firstly, for each $i \in M$, a list $L_i$ of all t-maximal sub-sequences of $S^i$ is created. LS3 is based on an intra-machine sub-sequence insertion neighborhood, which selects a machine $i \in M$, a t-maximal sub-sequence $S_{(h-g)}^i$ in $L_i$, a job position $k$ ($1 \le k < h$ or $g < k \le n_i$), and then generates a new sequence $S_{k,(h-g)}^i = (j_{k-1}^i, \dots, j_h^i, \dots, j_g^i, j_k^i, \dots, j_{n_i}^i)$ by inserting the sub-sequence $S_{(h-g)}^i$ before the k-th position of $S^i$. The generated solution is better than the current one if $f(S_{k,(h-g)}^i) < f(S^i)$.

All three local search procedures operate in a first-improvement manner. For each $i \in M$, all the possible moves are considered, evaluating all the solutions in a neighborhood. As soon as an improving solution is found, the current solution $S$ is updated and the local search is re-executed on $S$. If, instead, no improving solution is found, then the local search returns the current local optimal solution.

All the described methods are combined in an improved single heuristic algorithm (ISHA). ISHA finds a first feasible solution $S$ by means of CGHA. Then, after the constructive phase is completed, $S$ is brought to a local minimum by sequentially invoking LS1, LS2, and LS3, in this order.

## 4 Computational Results

In this section, computational experiments are performed on various instances encountered in industry practice. In particular, the solutions obtained by means of the heuristic methods described in Section 3 are compared among them. All the algorithms are coded in Python version 3.9.2 and run on a computer with Intel(R) Core (TM) i7-10510U with CPU 1.80 GHz and RAM 16 GB, using Windows 10 Pro 64-bit.

<table><caption>**Table 1.** Computational results of CGHA and ISHA</caption><thead><tr><th rowspan="2">Inst.</th><th rowspan="2">|J|</th><th rowspan="2">|M|</th><th colspan="4">CGHA</th><th colspan="4">ISHA</th></tr><tr><th>WT</th><th>TST</th><th>f.o.</th><th>run t.</th><th>WT</th><th>TST</th><th>f.o.</th><th>run t.</th></tr></thead><tbody><tr><td>I01</td><td>61</td><td>10</td><td>4812</td><td>8460</td><td>7001</td><td>0.05</td><td>2587</td><td>7635</td><td>5616</td><td>4.61</td></tr><tr><td>I02</td><td>90</td><td>10</td><td>9322</td><td>12895</td><td>11466</td><td>0.07</td><td>5203</td><td>11725</td><td>9116</td><td>19.19</td></tr><tr><td>I03</td><td>87</td><td>10</td><td>19127</td><td>12620</td><td>15223</td><td>0.07</td><td>13632</td><td>10890</td><td>11987</td><td>13.42</td></tr><tr><td>I04</td><td>106</td><td>10</td><td>15987</td><td>15520</td><td>15707</td><td>0.11</td><td>9241</td><td>13680</td><td>11904</td><td>20.92</td></tr><tr><td>I05</td><td>96</td><td>11</td><td>18110</td><td>13530</td><td>15362</td><td>0.08</td><td>15375</td><td>12125</td><td>13425</td><td>12.66</td></tr><tr><td>I06</td><td>89</td><td>10</td><td>8112</td><td>12730</td><td>10883</td><td>0.08</td><td>3598</td><td>10555</td><td>7772</td><td>14.45</td></tr><tr><td>I07</td><td>89</td><td>10</td><td>18792</td><td>14125</td><td>15992</td><td>0.09</td><td>15187</td><td>11850</td><td>13185</td><td>13.04</td></tr><tr><td>I08</td><td>78</td><td>10</td><td>4312</td><td>10315</td><td>7914</td><td>0.09</td><td>2159</td><td>9625</td><td>6639</td><td>8.77</td></tr><tr><td>I09</td><td>94</td><td>10</td><td>15796</td><td>13510</td><td>14425</td><td>0.08</td><td>12436</td><td>12170</td><td>12277</td><td>17.54</td></tr><tr><td>I10</td><td>104</td><td>10</td><td>7260</td><td>14335</td><td>11505</td><td>0.10</td><td>5027</td><td>12380</td><td>9439</td><td>19.19</td></tr><tr><td>I11</td><td>95</td><td>10</td><td>26136</td><td>13940</td><td>18819</td><td>0.08</td><td>21327</td><td>12300</td><td>15911</td><td>14.16</td></tr><tr><td>I12</td><td>103</td><td>10</td><td>18898</td><td>13400</td><td>15599</td><td>0.09</td><td>14456</td><td>12190</td><td>13096</td><td>16.86</td></tr><tr><td>AVG</td><td></td><td></td><td>13889</td><td>12948</td><td>13324</td><td>0.08</td><td>10019</td><td>11427</td><td>10864</td><td>14.57</td></tr><tr><td>GAP</td><td></td><td></td><td></td><td></td><td></td><td></td><td>-33%</td><td>-12%</td><td>-19%</td><td></td></tr></tbody></table>
We consider 12 real-world instances, each corresponding approximately to a week of production. Some randomization was applied to all instances in order to meet the company privacy requirements. The number of jobs spans from 61 to 106, while the number of machines is 10 or 11. According to the company interests, the parameters $\alpha$ and $\beta$ of the objective function are set to 0.4 and 0.6, respectively. The parameter $t$ in the intra-machine sub-sequence insertion moves is set to 125, since it has been seen that, with this value, LS3 produces good-quality solutions. In Table 1, the solutions obtained by means of CGHA and ISHA are compared. Columns $|J|$ and $|M|$ refer to the size of the instances in terms of number of jobs and number of machines, respectively. Entries in columns WT, TST, and f.o. exhibit the sum of total weighted tardiness, the total setup times, and the value of the objective function, respectively. Finally, entries in columns run t. exhibit the run-time required to solve the instances (expressed in seconds). The mean of the percentage gaps from the solution values obtained by means of CGHA are reported in the row GAP, while entries in row AGV exhibit the average values of each column. Table 1 shows that CGHA is able to find a solution in a very short time (on average, less than a tenth of a second) and, in terms of quality, it is similar to the solution produced by the company. ISHA is always able to significantly improve the quality of the initial solution found by means of CGHA. More precisely, the value of the objective function improves by an average of 19%, with an average percentage improvement of the weighted tardiness and of total setup times equal to 33% and 12%, respectively.

<table><caption>**Table 2.** Comparative evaluation of the different locals search procedures</caption><thead><tr><th rowspan="2">Inst.</th><th rowspan="2">|J|</th><th rowspan="2">|M|</th><th colspan="2">CGHA</th><th colspan="2">CGHA+LS1</th><th colspan="2">CGHA+LS2</th><th colspan="2">CGHA+LS3</th><th colspan="2">ISHA</th></tr><tr><th>f.o.</th><th>run t.</th><th>f.o.</th><th>run t.</th><th>f.o.</th><th>run t.</th><th>f.o.</th><th>run t.</th><th>f.o.</th><th>run t.</th></tr></thead><tbody><tr><td>I01</td><td>61</td><td>10</td><td>7001</td><td>0.05</td><td>5809</td><td>1.46</td><td>6565</td><td>3.86</td><td>6784</td><td>0.41</td><td>5616</td><td>4.61</td></tr><tr><td>I02</td><td>90</td><td>10</td><td>11466</td><td>0.07</td><td>9585</td><td>7.81</td><td>10791</td><td>8.58</td><td>10838</td><td>1.06</td><td>9116</td><td>19.19</td></tr><tr><td>I03</td><td>87</td><td>10</td><td>15223</td><td>0.07</td><td>12656</td><td>8.47</td><td>14083</td><td>4.79</td><td>13741</td><td>3.11</td><td>11987</td><td>13.42</td></tr><tr><td>I04</td><td>106</td><td>10</td><td>15707</td><td>0.11</td><td>12438</td><td>9.84</td><td>14567</td><td>13.52</td><td>14058</td><td>1.26</td><td>11904</td><td>20.92</td></tr><tr><td>I05</td><td>96</td><td>11</td><td>15362</td><td>0.08</td><td>14073</td><td>2.42</td><td>14379</td><td>12.73</td><td>14556</td><td>0.67</td><td>13425</td><td>12.66</td></tr><tr><td>I06</td><td>89</td><td>10</td><td>10883</td><td>0.08</td><td>8304</td><td>5.64</td><td>9163</td><td>12.36</td><td>9916</td><td>0.51</td><td>7772</td><td>14.45</td></tr><tr><td>I07</td><td>89</td><td>10</td><td>15992</td><td>0.09</td><td>14229</td><td>3.64</td><td>14643</td><td>10.44</td><td>14656</td><td>0.78</td><td>13185</td><td>13.04</td></tr><tr><td>I08</td><td>78</td><td>10</td><td>7914</td><td>0.09</td><td>6998</td><td>3.12</td><td>7490</td><td>12.13</td><td>7751</td><td>0.28</td><td>6639</td><td>8.77</td></tr><tr><td>I09</td><td>94</td><td>10</td><td>14425</td><td>0.08</td><td>12695</td><td>12.04</td><td>13619</td><td>14.41</td><td>13583</td><td>0.50</td><td>12277</td><td>17.54</td></tr><tr><td>I10</td><td>104</td><td>10</td><td>11505</td><td>0.10</td><td>10217</td><td>4.76</td><td>10443</td><td>19.41</td><td>10686</td><td>0.45</td><td>9439</td><td>19.19</td></tr><tr><td>I11</td><td>95</td><td>10</td><td>18819</td><td>0.08</td><td>16397</td><td>4.03</td><td>13046</td><td>14.05</td><td>18029</td><td>0.34</td><td>15911</td><td>14.16</td></tr><tr><td>I12</td><td>103</td><td>10</td><td>15599</td><td>0.09</td><td>13708</td><td>5.96</td><td>14273</td><td>18.62</td><td>14491</td><td>0.51</td><td>13096</td><td>16.86</td></tr><tr><td>AVG</td><td></td><td></td><td>13324</td><td>0.08</td><td>11426</td><td>5.76</td><td>11922</td><td>12.08</td><td>12424</td><td>0.82</td><td>10864</td><td>14.57</td></tr><tr><td>GAP</td><td></td><td></td><td></td><td></td><td>-14%</td><td></td><td>-10%</td><td></td><td>-6%</td><td></td><td>-19%</td><td></td></tr></tbody></table>

Table 2 highlights the results of the second round of experiments, which aims at analyzing the impact of the different local searches (described in Section 3) with respect to the initial solution computed by CGHA. In CGHA+LS1, CGHA+LS2, and CGHA+LS3, after the constructive phase is completed, the initial solution is brought to a local minimum by means of LS1, LS2, and LS3, respectively. The results demonstrate that LS1 is able to produce on average
the largest improvement in terms of quality solution. Indeed, the value of the
objective function improves by 14% with LS1, by 10% with LS2, and by 6% with
LS3. This result reveals the strongly sequence-dependent nature of the problem.
Indeed, thanks to the intra-machine swap moves of LS1, each sequence of jobs
can be re-sorted, obtaining a large improvement of the initial solution. The slight
improvements brought by LS3 are obtained in a very short time (on average,
less than one second), thus LS3 is able to provide a good trade-off between the
neighborhood size (hence time needed to explore it) and its effectiveness. On the
other hand, LS2 is the most time-consuming local search, reflecting the fact that
the LS2 neighborhood size is the largest one.

# 5 Conclusions

In this paper, we presented a local search approach for the PMSCP. Firstly, we proposed a constructive greedy procedure (CGHA) for the generation of a good initial solution and then a local search-based approach (ISHA) which combines CGHA with three different local search procedures. Experiments over real-world instances confirmed that the proposed methods are able to find good-quality solutions and can provide a quick support to the company on its weekly decisions. More precisely, the computational results show that CGHA is able to find solutions in a very short time, which, in terms of quality, are similar to the solutions produced by the company. Furthermore, ISHA is always capable to significantly improve the quality of the initial solution (by an average of about 20%) within small computing times (less than 20 seconds). These good results were confirmed in practice. Indeed, ISHA is currently used during the weekly production scheduling by the company, which attested that ISHA is capable of producing good quality results.

It is worthwhile to remark that the computing times of all the proposed approaches, including the full ISHA approach, are currently not a major issue. Indeed, taking into account that the planned activities cover about one week, larger computing times are feasible and further refinements of the proposed approaches are possible. In particular, as a possible topic for future research, we are interested in introducing some perturbation mechanism inside ISHA to help the search to escape from local optima solutions and to bring diversification into the search.

# References

1. Allahverdi, A.: The third comprehensive survey on scheduling problems with setup times/costs. European Journal of Operational Research **246**(2), 345–378 (2015)

2. Graham, R., Lawler, E., Lenstra, J., Kan, A.: Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics **5**(C), 287–326 (1979)

3. Lenstra, J., Rinnooy Kan, A., Brucker, P.: Complexity of machine scheduling problems. Annals of Discrete Mathematics **1**(C), 343–362 (1977)
4. Meunier, F., Neveu, B.: Computing solutions of the paintshop-necklace problem. Computers & Operations Research 39(11), 2666-2678 (2012)

5. Paine, F.A., Paine, H.Y.: A handbook of food packaging. Springer, Boston, MA, USA (2012)

6. Pinedo, M.: Scheduling. Springer, New York, NY, USA (2012)

7. Schuurman, J., Van Vuuren, J.H.: Scheduling sequence-dependent colour printing jobs. South African Journal of Industrial Engineering 27(2), 43-59 (2016)