# Parallel Machine Scheduling with Stochastic Workforce Skill Requirements

Xin Liu, Ming Liu

► To cite this version:

Xin Liu, Ming Liu. Parallel Machine Scheduling with Stochastic Workforce Skill Requirements. IFIP International Conference on Advances in Production Management Systems (APMS), Sep 2021, Nantes, France. pp.258-265, 10.1007/978-3-030-85906-0_29. hal-04022140

HAL Id: hal-04022140

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

Submitted on 9 Mar 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.
Parallel machine scheduling with stochastic
workforce skill requirements

Xin Liu¹ and Ming Liu²

¹ Glorious Sun School of Business & Management, Donghua University, China
liuxin9735@126.com

² School of Economics & Management, Tongji University, Shanghai, 200092, China
mingliu@tongji.edu.cn

**Abstract.** In the context of Industry 4.0, both of the ability to handle unexpected events and personalization customization are emphasized. This work investigates a parallel machine scheduling problem with uncertain skill requirements. The problem involves a two-stage decision-making process: (i) determining the workers' skill training plan and the number of opened machines on the first stage before the realization of uncertain skill requirements, and (ii) scheduling jobs and assigning workers to jobs on the second stage, under known skill requirements. The objective is to minimize the expected total cost, including the workers' skill training cost, machine opening cost and the expected penalty cost of jobs' tardiness. A two-stage stochastic programming formulation is proposed, and an illustrative example shows the applicability of the model.

**Keywords:** Parallel machine scheduling · Stochastic optimization · Skill requirements · Skill training plan

# 1 Introduction

Industry 4.0, also known as the fourth industrial revolution or smart manu-
facturing, has received widely industrial and academic attention ([9], [10], [24]).
Such a concept gains sustainable and competitive advantages, aiming at improv-
ing the cooperation and communication of Cyber-Physical Systems and Human
Resources ([14]). One of the goals of Industry 4.0 is to find flexible and efficient
production schedules, to cope with unpredictable issues ([19], [15], [18]).

Production Scheduling is an essential role in manufacturing, and it greatly
impacts the production efficiency ([17], [25], [6]). As unexpected events often
occur in practice, such as changing workers' physical conditions and dynamic
manufacturing environments, stochastic production scheduling is more realistic
and becoming a popular research issue in recent years ([1], [22], [13]). Most ex-
isting works assume that the job processing times are uncertain. Industry 4.0 is
also a way to customization and personalization production, which emphasizes
different requirements of orders ([21]). In practical manufacturing systems, re-
quirements for workers' skills to handle different jobs are different. Due to the
changeable market situations and the upgrade of technology and products, the
skills required by jobs may unexpectedly vary as well, and the uncertain skill requirements largely impact the scheduling and cannot be ignored.

On the other hand, from the mid- and long-term perspectives, managers should offer specialized skill training for workers, in order to cope with the uncertain skill requirements. In the following, we describe the impacts of skills possessed by workers on the job processing times, via borrowing the concept of “skill coefficient” ([12]). That is, if the standard processing time of job *j* is *p*<sub>j</sub>, and a worker with skill *l* handles job *j*, the practical processing time of job *j* is $\delta_{jl}p_j$, where $\delta_{jl}$ is the skill coefficient.

Parallel machine manufacturing situations are common in practice, and the parallel machine scheduling problem have been widely investigated ([7], [11], [23]). Motivated by the above observations, this work considers a stochastic parallel machine scheduling problem with skill requirements. The problem involves a two-stage decision making process: (i) in the first stage, jobs' skill requirements are unknown, workers' skill training plan and the number of opened machines are determined; and (ii) when jobs' skill requirements are known, the detailed schedule of jobs on each machine and the worker-to-job assignment are determined. The objective is to minimize the expected total cost, including the workers' skill training cost, machine opening cost and the expected penalty cost for jobs' tardiness. The contribution of this paper mainly include:

(1) A novel parallel machine scheduling problem, where jobs' skill requirements are uncertain, is studied.

(2) Skill requirements are described via a limited set of samples. A two-stage stochastic programming formulation is proposed.

(3) An illustrative example is conducted to show the applicability of the problem model.

In the following, a brief literature review is provided in Section 2. Section 3 describes the problem in detail and propose a two-stage stochastic programming formulation. An illustrative example is shown in Section 4. Section 5 summarizes this work and suggests future research directions.

## 2 Literature review

Parallel machine scheduling problems under deterministic environments have been widely investigated ([7], [11], [20], [8]). This work focuses on a parallel machine scheduling problem with skill training, skill coefficient, and stochastic skill requirements. Thus only the most related literature considering scheduling with workforce is reviewed in the following.

An unrealated parallel machine scheduling problem with limited human resources is investigated in [2], where workers handle the setup activities between two consecutive jobs. The authors study the effect of reducing the human resource capacity on scheduling of parts in cells. [16] consider a parallel machine scheduling problem in precision engineering industry, where multi-skill workers are considered. The problem is to determine the worker-to-workshift and
worker-to-machine assignments, to minimize the total salary payment and the
overtime payment. They propose a mixed-integer programming formulation and
design a two-stage heuristic algorithm. [4] investigate an identical parallel ma-
chine scheduling problem to assign workers to machines, where job processing
times depend on the number of workers assigned to a machine. They propose a
genetic algorithm to minimize the total tardiness. Based on that, [3] study the
minimization of the total flow time and design a genetic algorithm. [5] investi-
gate an unrelated parallel machine scheduling problem with sequence-dependent
setup times, in which workers handle the setup activities and worker number is
limited, to minimize the makspan. The specific skill level possessed by each
worker affects setup times. They design a permutation encoding-based genetic
algorithm for the problem.

In sum, to our best knowledge, there is no literature investigating the parallel
machine problem with stochastic skill requirements, in which the worker skill
training plan should be determined.

3 Problem description and formulation

In this section, the considered problem is first described in detail, and then basic
notations and a two-stage stochastic programming formulation are proposed.

**3.1 Problem description**

This paper investigates a parallel machine problem with stochastic skill require-
ments. The considered problem consists of a set N of jobs to be processed by a
set M of machines and handled by a set R of workers, and the skills required by
jobs are collected in set L. The problem follows the basic assumptions:

(1) Each job $j \in N$ should be assigned to exactly one machine $k \in M$ for processing.

(2) One machine can process at most one job at a time unit.

(3) The set of skills capable to handle job $j \in N$ is denoted by $Q_j$, which is stochastic. We use a set $\Omega$ of scenarios (i.e., samples) to describe the stochastic skill requirements, and we have $Q_j(\omega)$ under scenario $\omega \in \Omega$. That is, a worker with any one skill $l \in Q_j$ can be assigned to handle job $j$.

(4) If a worker with skill $l \in Q_j$ handles job $j$, the actual processing time of job $j$ is $\delta_{jlp_j}$, where $\delta_{jl}$ is the skill coefficient and $p_j$ is the standard processing time of job $j$.

(5) The cost for training worker $r \in R$ to possesses skill $l \in L$ is denoted by $c_{rl}$. The due date $d_j$ of job $j \in N$ is predetermined by the customer, and the unit-time penalty cost of jobs' tardiness is denoted by $c_j^P$.

The problem consists of a two-stage decision-making process: (i) the first
stage determines the workers' skill training plan and the number of opened
machines, before the realization of skill requirements, and (ii) for a given scenario
$\omega \in \Omega$, the second stage schedules jobs on each machine and assigns workers to
jobs, under realized $Q_j(\omega)$. The objective is to minimize the total cost, including
the workers' skill training cost and the expected penalty cost for jobs' tardiness.
## 3.2 Two-stage stochastic programming formulation

In this subsection, input parameters and decision variables are presented, and a two-stage stochastic programming formulation is proposed.

### Input parameters:

- $N$: Set of jobs indexed by $i, j$, there is a dummy job 0 serving as the predecessor of the first job and the successor of the last job processed on a machine;

- $M$: Set of machines indexed by $k$;

- $R$: Set of workers indexed by $r$;

- $L$: Set of skills indexed by $l$;

- $\Omega$: Set of scenarios indexed by $\omega \in \Omega$;

- $p_j$: Processing time of job $j$;

- $\delta_{jl}$: Skill coefficient if job $j$ is handled by a worker with skill $l \in L$;

- $Q_j(\omega)$: Set of skills capable to process job $j$ under scenario $\omega \in \Omega$;

- $c_{rl}^M$: Cost for training worker $r \in R$ to process skill $l \in L$;

- $c_{rl}^P$: Cost for opening machine $k \in M$;

- $c_j^P$: Penalty cost for jobs' tardiness;

- $M$: A large enough number.

### Decision variables:

- $\eta_{rl}$: Binary variable, equal to 1 if worker $r \in R$ is trained to process skill $l \in L$, and 0 otherwise;

- $x_{ij}^k(\omega)$: Binary variable, equal to 1 if job $i$ is processed immediately before job $j$ on machine $k$ under scenario $\omega \in \Omega$, and 0 otherwise;

- $y_k$: Binary variable, equal to 1 if machine $k$ is opened, and 0 otherwise;

- $z_{rj}(\omega)$: Binary variable, equal to 1 if worker $r \in R$ is assigned to process job $j \in N$ under scenario $\omega \in \Omega$, and 0 otherwise;

- $S_j(\omega)$: Nonnegative variable, denoting the starting time of job $j \in N$ under scenario $\omega \in \Omega$;

- $t_j(\omega)$: Nonnegative variable, denoting the tardiness of job $j \in N$ under scenario $\omega \in \Omega$.

- $\nu_{rjl}(\omega)$: Binary variable, used to linearize $\eta_{rl}z_{rj}(\omega)$, and equal to 1 if worker $r \in R$ is trained to process skill $l \in L$ and handle job $j \in N$, and 0 otherwise.

$$ \min f = \sum_{r \in R} \sum_{l \in L} c_{rl} \eta_{rl} + \sum_{k \in M} y_k c_k^M + \frac{1}{|\Omega|} \sum_{\omega \in \Omega} \sum_{j \in N} c_j^P t_j(\omega) \quad (1) $$

$$ \text{s.t.} \quad \sum_{l \in L} \eta_{rl} = 1, \quad \forall r \in R \quad (2) $$

$$ \sum_{j \in N} x_{0j}^k(\omega) \leq y_k, \quad \forall k \in M, \omega \in \Omega \quad (3) $$

$$ \sum_{k \in M} \sum_{i \in N \cup \{0\}} x_{ij}^k(\omega) = 1, \quad \forall j \in N \quad (4) $$

$$ \sum_{i \in N \cup \{0\}, i \neq j} x_{ij}^k(\omega) - \sum_{i \in N \cup \{0\}, i \neq j} x_{ij}^k(\omega) = 0, \quad \forall j \in N, k \in M, \omega \in \Omega \quad (5) $$
$$z_{rj}(\omega) \leq \sum_{l \in Q_j(\omega)} \eta_{rl}, \quad \forall r \in R, j \in N, \omega \in \Omega \quad (6)$$

$$\sum_{r \in R} z_{rj}(\omega) = 1, \quad \forall j \in N, \omega \in \Omega \quad (7)$$

$$\sum_{j \in N} z_{rj}(\omega) \leq 1, \quad \forall r \in R, \omega \in \Omega \quad (8)$$

$$\nu_{rjl}(\omega) \leq z_{rj}(\omega), \quad \forall r \in R, j \in N, l \in L, \omega \in \Omega \quad (9)$$

$$\nu_{rjl}(\omega) \leq \eta_{rl}, \quad \forall r \in R, j \in N, l \in L, \omega \in \Omega \quad (10)$$

$$\nu_{rjl}(\omega) \geq 1 - \mathcal{M}(2 - \eta_{rl} - z_{rj}(\omega)), \quad \forall r \in R, j \in N, l \in L, \omega \in \Omega \quad (11)$$

$$S_j(\omega) \geq S_i(\omega) + \sum_{r \in R} \sum_{l \in L} p_i \delta_{il} \nu_{ril}(\omega) - \mathcal{M}(1 - \sum_{k \in M} x_{ij}^k(\omega)), \\ \forall i, j \in N, i \neq j, \omega \in \Omega \quad (12)$$

$$S_j(\omega) + \sum_{r \in R} \sum_{l \in L} p_j \delta_{jl} \nu_{rjl}(\omega) - t_j(\omega) \leq d_j, \quad \forall j \in N, \omega \in \Omega \quad (13)$$

$$\eta_{rl}, x_{ij}^k(\omega), z_{rj}(\omega) \in \{0, 1\}, \quad \forall i, j \in N, i \neq j, r \in R, l \in L, \omega \in \Omega \quad (14)$$

$$S_j(\omega), t_j(\omega) \geq 0, \quad \forall j \in N, \omega \in \Omega \quad (15)$$

The objective function is to minimize the expectation of the system cost, including the first-stage skill training cost (i.e., $sum_{r \in R} \sum_{l \in L} c_{rl} \eta_{rl}$) and the machine opening cost (i.e., $\sum_{k \in M} y_k c_k^M$), and the expected second-stage penalty cost of jobs' tardiness, i.e., $\sum_{\omega \in \Omega} \sum_{j \in N} c_j^P t_j(\omega)$.

Constraints (2) ensure that each worker should be trained to possess exactly one skill. Constraints (3) restrict that jobs can only be assigned to opened machines under scenario $\omega \in \Omega$. Constraints (4) ensure that each job is assigned to one machine for processing under scenario $\omega \in \Omega$. Constraints (5) serve as the flow conservations, i.e., the numbers of a job's predecessor and successor on a machine should be the same under scenario $\omega \in \Omega$. Constraints (6) ensure that only workers with the required skills can be assigned to handle job j under scenario $\omega \in \Omega$. Constraints (7) imply that a job should be handled by exactly one worker under scenario $\omega \in \Omega$. Constraints (8) restrict that a worker can handle at most one job under scenario $\omega \in \Omega$. Constraints (9)-(11) are to linearize $\eta_{rl} z_{rj}(\omega)$. Constraints (12) calculate the starting time of each job $j \in N$ under scenario $\omega \in \Omega$. Constraints (13) estimate the tardiness of each job $j \in N$ under scenario $\omega \in \Omega$. Constraints (14) and (15) provide the domains of decision variables.

## 4 An illustrative example

In this section, an illustrative example is investigated, to test the applicability of the proposed model. The input data is reported in Table 1 and Table 2, where (1) 6 jobs, 3 machines, 10 workers and 10 skills in total are involved; (2) 20 scenarios (i.e., $|\Omega|$) is tested; (3) Table 1 provides the input skill coefficient $\delta_{jl}$ and the
standard processing time $p_j$ and the due date $d_j$; and (4) Table 2 reports the input cost for training each worker $r$ to possess skill $l$. Without loss of generality, penalty cost $c_j^P$ for jobs' tardiness is set to be 1. Skill requirement $Q_j$ of each job $j \in N$ is a randomly selected subset of $L$. Via calling the CPLEX solver, the obtained objective value is 107.32 within 98 seconds. The 10 workers are trained to possess skills [6, 7, 4, 8, 6, 8, 5, 10, 2, 8], and all of the 3 machines are opened.

<table><caption>**Table 1.** Input data of the illustrative example</caption><thead><tr><th rowspan="2">j\l</th><th colspan="10">δ<sub>jl</sub></th><th rowspan="2">p<sub>j</sub></th><th rowspan="2">d<sub>j</sub></th></tr><tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th></tr></thead><tbody><tr><td>1</td><td>1.46</td><td>1.30</td><td>1.18</td><td>1.21</td><td>1.20</td><td>1.27</td><td>1.21</td><td>0.62</td><td>1.25</td><td>1.05</td><td>9</td><td>10</td></tr><tr><td>2</td><td>0.99</td><td>1.46</td><td>1.26</td><td>0.53</td><td>0.82</td><td>1.30</td><td>1.26</td><td>1.00</td><td>0.75</td><td>0.64</td><td>10</td><td>11</td></tr><tr><td>3</td><td>1.30</td><td>1.16</td><td>1.25</td><td>0.77</td><td>1.45</td><td>0.68</td><td>0.77</td><td>1.46</td><td>1.01</td><td>0.65</td><td>2</td><td>13</td></tr><tr><td>4</td><td>0.64</td><td>0.53</td><td>0.89</td><td>0.54</td><td>0.53</td><td>0.99</td><td>1.18</td><td>0.84</td><td>1.20</td><td>0.76</td><td>10</td><td>13</td></tr><tr><td>5</td><td>0.92</td><td>1.35</td><td>1.16</td><td>0.59</td><td>0.94</td><td>0.95</td><td>1.16</td><td>1.09</td><td>1.39</td><td>1.34</td><td>7</td><td>9</td></tr><tr><td>6</td><td>1.42</td><td>2.44</td><td>0.67</td><td>1.33</td><td>0.88</td><td>1.15</td><td>0.66</td><td>0.72</td><td>1.46</td><td>0.75</td><td>1</td><td>13</td></tr></tbody></table>

<table><caption>**Table 2.** Input cost $c_{rl}$ for training workers of the illustrative example</caption><thead><tr><th>worker (r)\ skill (l)</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th></tr></thead><tbody><tr><td>1</td><td>18</td><td>16</td><td>15</td><td>13</td><td>12</td><td>10</td><td>12</td><td>13</td><td>19</td><td>12</td></tr><tr><td>2</td><td>12</td><td>16</td><td>18</td><td>15</td><td>20</td><td>18</td><td>12</td><td>15</td><td>20</td><td>14</td></tr><tr><td>3</td><td>20</td><td>20</td><td>20</td><td>11</td><td>11</td><td>18</td><td>11</td><td>14</td><td>15</td><td>11</td></tr><tr><td>4</td><td>13</td><td>13</td><td>11</td><td>16</td><td>19</td><td>19</td><td>11</td><td>10</td><td>15</td><td>11</td></tr><tr><td>5</td><td>12</td><td>18</td><td>16</td><td>12</td><td>15</td><td>10</td><td>19</td><td>12</td><td>13</td><td>20</td></tr><tr><td>6</td><td>12</td><td>18</td><td>15</td><td>17</td><td>20</td><td>14</td><td>16</td><td>11</td><td>19</td><td>20</td></tr><tr><td>7</td><td>16</td><td>14</td><td>10</td><td>17</td><td>10</td><td>12</td><td>16</td><td>12</td><td>14</td><td>16</td></tr><tr><td>8</td><td>15</td><td>16</td><td>13</td><td>18</td><td>14</td><td>18</td><td>11</td><td>12</td><td>11</td><td>20</td></tr><tr><td>9</td><td>13</td><td>10</td><td>11</td><td>14</td><td>11</td><td>14</td><td>19</td><td>14</td><td>18</td><td>12</td></tr><tr><td>10</td><td>19</td><td>10</td><td>18</td><td>10</td><td>20</td><td>20</td><td>16</td><td>10</td><td>14</td><td>13</td></tr></tbody></table>

# 5 Conclusion

This paper investigates a two-stage stochastic parallel machine scheduling problem: (1) the first stage determines the worker skill training plan and the opened machines, under unknown skill requirements, and (2) the second stage schedules the jobs on each machine and assigns workers to jobs. A two-stage stochastic programming formulation is proposed for the problem, and an illustrated example is investigated to show the applicability of the formulation.

Further research is still needed: (i) developing algorithms that can solve the problem more efficiently; (ii) investigating robust optimization of the problem, from the risk-averse perspective; (iii) considering situations where the probability of not meeting the skill requirements is restricted.
Acknowledgements

This work is supported by the National Natural Science Foundation of China (NSFC) under Grants 72021002, 71771048, 71432007, 71832001 and 72071144.

References

1. Al-Khamis, T., M'Hallah, R.: A two-stage stochastic programming model for the parallel machine scheduling problem with machine capacity. Computers & Operations Research **38**(12), 1747–1759 (2011)

2. Celano, G., Costa, A., Fichera, S.: Scheduling of unrelated parallel manufacturing cells with limited human resources. International Journal of Production Research **46**(2), 405–427

3. Chaudhry, I.A.: Minimizing flow time for the worker assignment problem in identical parallel machine models using ga. International Journal of Advanced Manufacturing Technology **48**(5-8), 747–760 (2010)

4. Chaudhry, I.A., Drake, P.R.: Minimizing total tardiness for the machine scheduling and worker assignment problems in identical parallel machines using genetic algorithms. The International Journal of Advanced Manufacturing Technology **42**(5), 581–594 (2009)

5. Costa, A., Cappadonna, F.A., Fichera, S.: A hybrid genetic algorithm for job sequencing and worker allocation in parallel unrelated machines with sequence-dependent setup times. International Journal of Advanced Manufacturing Technology **69**(9-12), 2799–2817 (2013)

6. Dolgui, A., Ivanov, D., Sethi, S.P., Sokolov, B.: Scheduling in production, supply chain and industry 4.0 systems by optimal control: fundamentals, state-of-the-art and applications. International Journal of Production Research **57**(2), 411–432 (2019)

7. Dong, C., Chen, M., Wan, G.: Parallel machine selection and job scheduling to minimize machine cost and job tardiness. Computers & Operations Research **32**(8), 1995–2012 (2005)

8. Edis, E.B., Oguz, C., Ozkarahan, I.: Parallel machine scheduling with additional resources: Notation, classification, models and solution methods. European Journal of Operational Research **230**(3), 449–463 (2013)

9. Gorecky, D., Schmitt, M., Loskyll, M., Zühlke, D.: Human-machine-interaction in the industry 4.0 era. Management Science **23**(6), 595–605 (2014)

10. Hofmann, E., Rüsch, M.: Industry 4.0 and the current status as well as future prospects on logistics. Computers in Industry **89**, 23–34 (2017)

11. Ji, M., Cheng, T.C.E.: Parallel-machine scheduling with simple linear deterioration to minimize total completion time. European Journal of Operational Research **188**(2), 342–347 (2008)

12. Liu, M., Liu, X., Chu, F., Zhang, E., Chu, C.: Service-oriented robust worker scheduling with motivation effects. International Journal of Production Research (2020), doi:10.1080/00207543.2020.1730998

13. Liu, M., Liu, X., Chu, F., Zheng, F., Chu, C.: Service-oriented robust parallel machine scheduling. International Journal of Production Research **57**(12), 3814–3830 (2019)
14. Longo, F., Nicoletti, L., Padovano, A.: Smart operators in industry 4.0: A human-centered approach to enhance operators' capabilities and competencies within the new smart factory context. Computers & Industrial Engineering **113**, 144–159 (2017)

15. Machado, C.G., Winroth, M.P., Ribeiro da Silva, E.H.D.: Sustainable manufacturing in industry 4.0: an emerging research agenda. International Journal of Production Research **58**(5), 1462–1484 (2020)

16. Pan, Q.K., Suganthan, P.N., Chua, T.J., Cai, T.X.: Solving manpower scheduling problem in manufacturing using mixed-integer programming with a two-stage heuristic algorithm. The International Journal of Advanced Manufacturing Technology **46**(9-12), 1229–1237 (2010)

17. Pinedo, M., Hadavi, K.: Scheduling: Theory, Algorithms and Systems. Springer Berlin Heidelberg (1992)

18. Rosin, F., Forget, P., Lamouri, S., Pellerin, R.: Impacts of industry 4.0 technologies on lean principles. International Journal of Production Research **58**(6), 1644–1661 (2020)

19. Rossit, D.A., Tohmé, F., Frutos, M.: Industry 4.0: Smart scheduling. International Journal of Production Research **57**(12), 3802–3913 (2018)

20. Vallada, E., Ruiz, R.: A genetic algorithm for the unrelated parallel machine scheduling problem with sequence dependent setup times. European Journal of Operational Research **211**(3), 612–622 (2011)

21. Wang, Y., Ma, H.S., Yang, J.H., Wang, K.S.: Industry 4.0: a way from mass customization to mass personalization production. Advances in Manufacturing **5**(004), 311–320 (2017)

22. Xu, X., Cui, W., Lin, J., Qian, Y.: Robust makespan minimisation in identical parallel machine scheduling problem with interval data. International Journal of Production Research **51**(12), 3532–3548 (2013)

23. Yang, D.L., Cheng, T.C.E., Yang, S.J.: Parallel-machine scheduling with controllable processing times and rate-modifying activities to minimise total cost involving total completion time and job compressions. International Journal of Production Research **52**(4), 1133–1141 (2014)

24. Yin, Y., Stecke, Kathryn, E., Li, D.: The evolution of production systems from industry 2.0 through industry 4.0. International Journal of Production Research **56**(1-2), 848–861 (2018)

25. Zhang, J., Ding, G., Zou, Y., Qin, S., Fu, J.: Review of job shop scheduling research and its new perspectives under industry 4.0. Journal of Intelligent Manufacturing **30**, 1809–1830 (2017)