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

HAL
open science

# An Unrelated Parallel Machines Rescheduling Problem: An Industrial Case Study

Alice Berthier, Alice Yalaoui, Hicham Chehade, Farouk Yalaoui, Lionel Amodeo, Christian Bouillot

► To cite this version:

Alice Berthier, Alice Yalaoui, Hicham Chehade, Farouk Yalaoui, Lionel Amodeo, et al. An Unrelated Parallel Machines Rescheduling Problem: An Industrial Case Study. IFIP International Conference on Advances in Production Management Systems, Sep 2021, Nantes, France. pp.81-91, 10.1007/978-3-030-85874-2_9. hal-03352548

HAL Id: hal-03352548

https://utt.hal.science/hal-03352548

Submitted on 15 Feb 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_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_3.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.
# An unrelated parallel machines rescheduling problem: an industrial case study

Alice Berthier¹, Alice Yalaoui¹, Hicham Chehade¹, Farouk Yalaoui¹, Lionel Amodeo¹, and Christian Bouillot

UTT, Unisité de Technologie de Troyes, Computer Laboratory and Digital Society
(LIST3N),
12 rue Marie Curie, CS42060, 10004 Troyes Cedex, France
alice.berthier@utt.fr

**Abstract.** This study tackles an unrelated parallel machines rescheduling problem. Sequence and machine dependent setup times and limited resources are taken into consideration. The study focuses on the objective of proposing an efficient and stable rescheduling solution. The resolution approach is explained and illustrated. Different indicators to optimize the rescheduling planning are tested and results are analyzed. The problem is inspired from a concrete case of textile industry.

**Keywords:** Rescheduling · Unrelated parallel machines · Genetic algorithm

## 1 Introduction

The purpose of this paper is to propose a method to adapt the production scheduling when disruption occurs. The stake is to have a limited impact on the workshop organization and the productivity performances.

The workshop considered in this study is composed of unrelated parallel machines with machine and sequence dependent setup times. Two types of limited resources are considered: number of operators available that limits the number of parallel machines able to run at the same time and number of adjusters that limits the number of setup. Each adjuster can do only one setup at a time. The objective is to reschedule a known number of jobs after a disruption.

An initial production planning is provided by a scheduling algorithm already implemented with $c_{max}$ minimization. However, perfect production conditions are very unrealistic, disruptions can occur and the initial planning may no longer be up to date. The different disruptions that can occur in this problem are:

- Arrival of a new job

- Deletion of a job

- Machine breakdown

- Lack of human resources (operator or adjuster)

The rescheduling objective is to find the best possible planning to finish all the jobs as soon as possible by keeping stability in the planning initially provided and
integrating work in progress information. This is why this study is focused on the
objective of maximizing performance (min $c_{max}$) while maintaining stability.
This problem stems from a real case encountered in textile industry, facing the
industry 4.0 revolution. The development of online-business requires more and
more flexibility and reactivity, specially with the COVID 19 crisis context as
e-business have greatly increased (+100% in 2020). The adaptation needed is
reflected in the entire process of the clothing manufacturing industry from the
knitting of the fabric to the assembling stage.

The rest of the study is organized as follows. Section 2 gives a literature review on this kind of problem. Section 3 provides contribution of this study with the exposition of resolution method. The next section gives results obtained. A conclusion end up the study in section 5.

## 2 State of the art

In the literature, only two works tackle problems on the same type of system studied in this paper. Work of Berthier et al. [4] deals with a dynamic layout problem in the same industrial environment. The importance of flexibility in such workshop may be encountered at a tactical level. In [5], the authors propose a complete study of the scheduling problem (MILP and AG) to deal with $c_{max}$ minimization in such systems.

In fact, often, real-world scheduling problems are dynamic systems and they need to respond to exogenous events [6]. Different rescheduling approaches are proposed in the literature.

The first one is to use a standard scheduling method with the new data after disruption. This can rich high quality solution on the performance objective. However, solution stability is not guarantee [10]. On real life production, getting a totally different schedule is very unfavorable to a good workshop organization and management.

The second one is to use a proactive scheduling. This is generated by inserting idle time between the pre-scheduling activities, enabling the disruptions to be smoothed out through the system in order to maintain the schedule quality [1]. Stochastic approaches are an other way to do it [13].

The last one is reactive scheduling, commonly referred to as rescheduling. It is a procedure to modify the existing schedule during processing to adapt to changes in a production or operational environment. Kim [8] recently studies a rescheduling problem of unrelated parallel machines with job-dependent setup times under forecasted machine breakdown.

To briefly review some authors that tackle similar problems in literature: [16] consider an hybrid flowshop with random disturbance and develop and implement a heuristic on an expert system software. In [11] incoming workflows to be executed on a large-scale distributed system are modeled as directed graphs, where tasks may fail their computations. Heuristics for the problem have been implemented in a specific application simulator. In [14] a steel making continuous caster process is considered with uncertain tasks and a Lagrangian Decomposi-
tion method is developed to solve it. [17] consider a flexible job shop with partial and total rescheduling to deal with rush orders, job cancellations and machine breakdowns. Finally, [3] tackles a dynamic job shop with new orders, rush orders, order cancellations, due date changes and machine breakdowns. Rescheduling is event driven and it is carried out considering different criteria in lexicographic order.

On a majority of studies, contrary to scheduling problems, the complexity comes from the combination of two conflicting objectives. Rescheduling problems are taken into consideration: performance and stability measurements. Multiple indicators in the literature are proposed. The definition and use of appropriate performance metrics or quality indicators is crucial. Currently, there are many proposed metrics [7] that can be classified into unary, which assign each non-dominated set a number that reflects a certain quality aspect, and binary, which assign a number to a pair of Pareto approximations. However, each industry has its own characteristics that involves specific indicators. For example, stability can be evaluate by the number of jobs processed on different machines in the original and new schedules ([2]). Other approaches defined stability in terms of deviation of job starting times between the original and revised schedules and the difference of job sequences ([12], [9]).

## 3 Resolution method

The contribution of this study is to explore multiple evaluation metrics of the rescheduling solution. First, instances are randomly generated and schedule with the genetic algorithm developed by Berthier et al. [5]. This algorithm is based on makespan minimization. The entire production has to be finished as soon as possible without any priority under the time horizon. Then, disturbances are generated. The new problem is to reschedule with two conflicting objectives : keep a good performance but also guarantee stability. The flowchart of the resolution approach is given in figure 1.

The stability in rescheduling is more complex to evaluate than $c_{max}$ evaluation.

<figure><img src="image_4.png" /><figcaption>Fig. 1: Flowchart of the resolution approach</figcaption></figure>

This study focuses on the measurement of the number of machine assignment differences between the initial scheduling and the rescheduling planning for each job. To illustrate this, an example is given in the following. This example does not take human resources limitation into consideration. Table 1 gives the processing time $p_{mi}$ of each machine $m = (1...M)$ for each job $i = (1...N)$ per unite
and the quantity of each job is given in the last row of the table. Table 2 gives the setup times between jobs $i = (0...N)$ and $j = (1...N)$ on machine 1, 2 and 3. Figure 2 shows the result of the example instance scheduling. The $c_{max}$ value reached is 29. Now, supposing that M2 becomes unavailable from time 7 to time 37. If jobs 4 and 5 are shifted after the disruption, the $c_{max}$ value is increasing up to 54 but stability measurement is equal to 0: no job is machine changed (figure 3). But if machine job assignment is change as in figure 4, the stability indicator is degraded to 2. However, the performance measure $c_{max}$ is improve to 42.

This stability indicator is explored in different combinations and analyzed in order to get the most pertinent and efficient rescheduling planning to the company. These indicator can be compared to a limit parameter. If the limit is crossed, the objective function is penalized. This allows a tolerance and plays up on the performance objective.

<table><caption>Table 1: Processing times $p_{mi}$</caption><tr><td>p<sub>mi</sub></td><td>1 2 3 4 5 6</td></tr><tr><td>M1</td><td>6 3 5 4 7 5</td></tr><tr><td>M2</td><td>4 4 9 3 5 4</td></tr><tr><td>M3</td><td>5 2 7 4 6 6</td></tr><tr><td>Quantity</td><td>3 5 2 4 2 3</td></tr></table>

<table><caption>Table 2: Setup times $s_{mij}$</caption><thead><tr><th>s<sub>1ij</sub></th><th>1 2 3 4 5 6</th><th>s<sub>2ij</sub></th><th>1 2 3 4 5 6</th><th>s<sub>3ij</sub></th><th>1 2 3 4 5 6</th></tr></thead><tbody><tr><td>0</td><td>1 3 2 2 4 1</td><td>0</td><td>3 4 2 1 3 3</td><td>0</td><td>1 2 3 4 5 2</td></tr><tr><td>1</td><td>0 1 2 4 3 1</td><td>1</td><td>0 2 3 3 4 4</td><td>1</td><td>0 3 5 1 1 3</td></tr><tr><td>2</td><td>1 0 4 4 1 4</td><td>2</td><td>2 0 1 1 4 2</td><td>2</td><td>4 0 3 1 1 1</td></tr><tr><td>3</td><td>2 4 0 3 3 3</td><td>3</td><td>4 3 0 4 3 4</td><td>3</td><td>2 1 0 2 2 1</td></tr><tr><td>4</td><td>3 2 4 0 1 2</td><td>4</td><td>4 4 2 0 1 1</td><td>4</td><td>1 2 3 0 2 2</td></tr><tr><td>5</td><td>4 4 3 3 0 4</td><td>5</td><td>1 2 4 3 0 4</td><td>5</td><td>1 1 1 2 0 1</td></tr><tr><td>6</td><td>4 1 1 2 1 0</td><td>6</td><td>2 3 2 3 2 0</td><td>6</td><td>1 2 2 1 3 0</td></tr></tbody></table>

<figure><img src="image_5.png" /><figcaption>Fig. 2: Initial scheduling of the example</figcaption></figure>

## 3.1 Instances generator

In order to have several instances of characteristics close to the real data, an instance generator has been developed. Instances can be used to analyze the different indicators under different parameter conditions on the rescheduling
<figure><img src="image_6.png" /><figcaption>Fig. 3: Rescheduling example after machine unavailability with stability equal to 0</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>Fig. 4: Rescheduling example after machine unavailability with stability equal to 2</figcaption></figure>

tool.

The random generation is established as follows with different probability laws on each step. The generation is divided into two main parts :

- Generation of initial instances that will be scheduled using the scheduling genetic algorithm of the previous study with this industrial partner

- Generation of disturbances on this solution

Table 3 details the different step to generate an instance inspired from [15]. Each instance is generated with the probability law indicated in table 3. The data generated are the number of jobs to schedule, machine eligibility for each job, processing times and setup times. This instance is scheduled with these initial data. After that, one disturbance for this instance is generated randomly among the four disturbance types. The rescheduling process used in this study is event-driven. Each time a disturbance occurs, rescheduling is triggered. Only one disturbance is generated for each instance. After disturbance, the new availability of each resource has to be calculated. In the example of figure 3, when disturbance occurs at time 7, M1 (resp. M3) is unavailable until time 16 (resp. time 16) to finish job 6 (resp. 1). Taking into consideration M1 and M3 availability and the unavailability of M2, the instance is rescheduled.

## 3.2 Objective functions

The resolution method is based on the same genetic algorithm (GA) used in [5]. The solution representation uses in this GA is given in figure 5. The representa-
<table><caption>Table 3: Instances random generator</caption><thead><tr><th>Step number</th><th>Detail</th><th>Probability law</th></tr></thead><tbody><tr><td colspan="3" style="text-align: center; font-weight: bold;">Instances to scheduling operation</td></tr><tr><td>1</td><td>Number of jobs to schedule</td><td>Uniform [50;350]</td></tr><tr><td>2</td><td>For each job, number of machines eligible (max 5 machines) and machines affectation</td><td>Discrete<br>P(1)=0.4; P(2)=0.3; P(3)=0.15; P(4)=0.1; P(5)=0.05</td></tr><tr><td>3</td><td>For each job on each machine eligible, the processing time</td><td>Uniform [450;2500]</td></tr><tr><td>4</td><td>For each job on each machine eligible, the setup time a * min(p<sub>mi</sub>, p<sub>mj</sub>) where a = U(A; B)</td><td>Uniform<br>[A;B]=[0.01;0.1]; [0.05;0.1]; [0.1;0.2]; [0.1;0.2] or [0.2;0.5]</td></tr><tr><td colspan="3" style="text-align: center; font-weight: bold;">Disturbed instances to rescheduling operation</td></tr><tr><td>5</td><td>The kind of disturbance (4 types)</td><td>Discrete<br>P(1)=1/4; P(2)=1/4</td></tr><tr><td>6</td><td>1. Arrival of new job; 2. Deletion of a job; 3. Machine breakdown; 4. Lack of human resources</td><td>P(3)=1/4; P(4)=1/4</td></tr><tr><td>7</td><td>Disturbance date<br>Calculation of resources availability to determine the minimum starting date on each resource</td><td>Uniform [0; c<sub>max</sub>]</td></tr></tbody></table>

tion chosen is an array table with two rows and as many columns as scheduled jobs. In the first row, each job is assigned once and the order will be the sequencing decoding order. The machine assigned for each job is indicated in the second row. To initialize the population of solution, as in numerous papers, a randomized initialization is used.

<table><caption>Fig. 5: Solution chromosome example</caption><tr><td>Job</td><td>6 4 3 5 1 2</td></tr><tr><td>Machine</td><td>1 2 3 2 2 3</td></tr></table>

Only the objective function is changed. Different objective functions have been studied in this paper. The first goal of planning rescheduling is to keep the efficiency of the solution, which corresponds to the optimization of the makespan value ($c_{max}$). This is still the main objective, as performance is more important than stability for the industrial partner. Thus, the first objective function studied is only to minimize the value of $c_{max}$. The other objective functions are composed of two elements to optimize: the $c_{max}$ and a metric to guarantee as much as possible the stability between the initial planning and the rescheduling one. The indicator of stability chosen is the number of assignment job/machine differences. A penalty cost is used for stability, to allow a tolerance threshold. A fixed number of disturbance over the total number of jobs can be tolerated. When changes occur right after the rescheduling date, it can disturb the organization already in
place: setups are made, workers already have information about what they have
to do next. However, when changes occur at the end of the horizon, the schedule
can change. So it is not really disturbing. Finally, seven objective functions are
compared, each one is linear combination:

1. Minimization of $c_{max}$

2. Minimization of $c_{max}$ and assignment differences

3. Minimization of $c_{max}$ and penalty if assignment differences are up to 10% of jobs

4. Minimization of $c_{max}$ and penalty if assignment differences are up to 30% of jobs

5. Minimization of $c_{max}$ and penalty if assignment differences are up to 50% of jobs

6. Minimization of $c_{max}$ and penalty if assignment differences occur less than 24 hours after rescheduling date

7. Minimization of $c_{max}$ and penalty if assignment differences occur less than 48 hours after rescheduling date

# 4 Results

60 instances with different disturbances have been generated. The average size of instances is 189 jobs to schedule initially. For each instance, all the objective functions have been applied and compared. After disturbance, 111 jobs in average has to be reschedule. The disturbance date is generated in average at 26% of the $c_{max}$ value of the initial schedule optimization. Instances have been grouped, related to the type of disturbance. For each group, results are the average of the solution evaluation. Table 4 shows for each group of instances, the performance objective $c_{max}$ reached when it is the single objective function. Stability value of the solution is the reference to evaluate the other objective functions (Section 3.2). This value is calculated as follow : for each job $i$, if the initial machine assignment is different than after rescheduling, $a_i = 1$, else $a_i = 0$. The value in table 4 is : $\sum_{i=1}^{N} a_i$. For performance and stability, standard deviation are given. Depending on the disruption and instance data, performance and stability may be affected in different ways. Distribution of performance ($c_{max}$) are given by box plots (Figure 6). The performance value distribution change from one group to another. Averages and minimum are still very closed but maximum and quartiles diverge.

In table 5, the results with the application of the six other objective functions are given as deviation compared to the references. It can be observed that the efficiency objective is not very degraded compared to when it is the only one to optimize. However, the stability is considerably increased by up to 97% when job/machine assignment differences are taken into consideration. As previously, for each job $i$, if the initial machine assignment is different than after rescheduling with the specific objective function, $b_i = 1$, else $b_i = 0$. The stability value in table 5 is calculated by : $(\sum_{i=1}^{N} b_i - \sum_{i=1}^{N} a_i)/ \sum_{i=1}^{N} a_i$. If the stability value is 0%, it means that the number of job assignment changes is the same than
<figure><img src="image_8.png" /><figcaption>Fig. 6: Performance value distribution for each type of disturbance</figcaption></figure>

rescheduling optimization when stability are not considered. For instance, for group Arrival of a new job, if in table 5, stability value reaches -100%, it means that 40 jobs has no assignment changes compared to initial scheduling planning. When the value is superior to 0%, it means that more machine assignment changes are generated than in the reference rescheduling solution. It happens when assignment changes penalized only beyond a large percentage of jobs (Table 5, Arrival of a new job, objective function 4 and 5).

<table><caption>Table 4: Results reference on optimization of $c_{max}$ for the different disturbances</caption><thead><tr><th>Objective function</th><th>Instance size</th><th colspan="2">1</th></tr><tr><th>Disturbance</th><th>Initial number of jobs</th><th>Performance</th><th>Stability</th></tr></thead><tbody><tr><td>Arrival of a new job</td><td>183±101</td><td>23 129±22 068</td><td>40±27</td></tr><tr><td>Deletion of a job</td><td>204±57</td><td>21 492±11 212</td><td>23±26</td></tr><tr><td>Machine breakdown</td><td>181±87</td><td>21 607±17 964</td><td>43±40</td></tr><tr><td>Lack of human resources</td><td>188±59</td><td>18 966±11 188</td><td>27±27</td></tr><tr><td>Total</td><td>189±72</td><td>20 786±14 626</td><td>32±31</td></tr></tbody></table>

## 5 Conclusion

The originality of the problem studied in this paper is the specific application to the textile industry. New evaluation methods of stability in rescheduling problem have been tested in order to offer the industrial partner an efficient solution. The continuity of this study is to allow to the company to reschedule the workshop production every time an unpredictable disruption occurs. The method has to be tested on real instances. It is the next step of this study with the industrial partner. Generated several disruptions on same instances is an other perspective.
<table><thead><tr><th>Objective function</th><th colspan="2">2</th><th colspan="2">3</th></tr><tr><th>Disturbance</th><th colspan="2">Performance Stability</th><th colspan="2">Performance Stability</th></tr></thead><tbody><tr><td>Arrival of a new job</td><td>5%±9</td><td>-96%±6</td><td>8%±13</td><td>-67%±33</td></tr><tr><td>Deletion of a job</td><td>5%±9</td><td>-100%±1</td><td>1%±3</td><td>-67%±40</td></tr><tr><td>Machine breakdown</td><td>8%±14</td><td>-98%±4</td><td>0%±6</td><td>-59%±47</td></tr><tr><td>Lack of human resources</td><td>6%±13</td><td>-96%±10</td><td>1%±6</td><td>-54%±60</td></tr><tr><td>Total</td><td>6%±12</td><td>-97%±7</td><td>2%±7</td><td>-60%±49</td></tr></tbody></table>

<table><thead><tr><th>Objective function</th><th colspan="2">4</th><th colspan="2">5</th></tr><tr><th>Disturbance</th><th colspan="2">Performance Stability</th><th colspan="2">Performance Stability</th></tr></thead><tbody><tr><td>Arrival of a new job</td><td>3%±7</td><td>13%±39</td><td>2%±5</td><td>13%±85</td></tr><tr><td>Deletion of a job</td><td>0%±7</td><td>-56%±47</td><td>0%±6</td><td>-56%±47</td></tr><tr><td>Machine breakdown</td><td>0%±6</td><td>-40%±49</td><td>0%±4</td><td>-56%±52</td></tr><tr><td>Lack of human resources</td><td>1%±5</td><td>-18%±55</td><td>1%±4</td><td>-21%±60</td></tr><tr><td>Total</td><td>1%±6</td><td>-27%±49</td><td>1%±5</td><td>-29%±63</td></tr></tbody></table>

<table><caption>Table 5: Efficiency and stability results with the different objective function for the different disturbances</caption><thead><tr><th>Objective function</th><th colspan="2">6</th><th colspan="2">7</th></tr><tr><th>Disturbance</th><th colspan="2">Performance Stability</th><th colspan="2">Performance Stability</th></tr></thead><tbody><tr><td>Arrival of a new job</td><td>4%±15</td><td>-58%±47</td><td>5%±13</td><td>-61%±48</td></tr><tr><td>Deletion of a job</td><td>-2%±5</td><td>-65%±42</td><td>-1%±7</td><td>-62%±45</td></tr><tr><td>Machine breakdown</td><td>-2%±6</td><td>-57%±49</td><td>2%±6</td><td>-68%±40</td></tr><tr><td>Lack of human resources</td><td>1%±6</td><td>-70%±40</td><td>1%±5</td><td>-67%±55</td></tr><tr><td>Total</td><td>0%±8</td><td>-64%±43</td><td>1%±8</td><td>-65%±48</td></tr></tbody></table>

It is a very important prerequisite to have an agile and reactive production plan. It is also a first step on the road to the 4.0 factory transformation. Different evaluation functions have been tested and evaluated thanks to a random instance generator. With random generated data similar to real material, the company will be able to choose the evaluation scenario most appropriate to rescheduling, knowing the impact on both efficiency and stability. To future perspective, the Pareto front can be determined in order to let the industrial choose the solution between a set of solutions that is the most pertinent.

## Acknowledgment

This research was supported by ANRT (Association National Recherche Technologie). These acknowledgements also go to our industrial partner. Their participation allows us to work on research topics applied to the current industrial context.

## References

1. Arnaout, J.P.: Rescheduling of parallel machines with stochastic processing and setup times. Journal of Manufacturing Systems 33(3), 376–384 (2014)
2. Azizoglu, M., Alagöz, O.: Parallel-machine rescheduling with machine disruptions. IIE Transactions **37**(12), 1113–1118 (2005)

3. Baykasoğlu, A., Karaslan, F.S.: Solving comprehensive dynamic job shop scheduling problem by using a grasp-based approach. International Journal of Production Research **55**(11), 3308–3325 (2017)

4. Berthier, A., Yalaoui, A., Chehade, H., Yalaoui, F., Amodeo, L., Coquelet, G.: Machines group and load balancing: an industrial case. IFAC-PapersOnLine **52**(13), 415–420 (2019)

5. Berthier, A., Yalaoui, A., Chehade, H., Yalaoui, F., Amodeo, L., Bouillot, C.: Unrelated parallel machines scheduling with dependent setup times in textile industry. CIE (submitted) (2021)

6. Framinan, J.M., Ruiz, R.: Architecture of manufacturing scheduling systems: Literature review and an integrated proposal. European Journal of Operational Research **205**(2), 237–246 (2010)

7. Jiang, S., Ong, Y.S., Zhang, J., Feng, L.: Consistencies and contradictions of performance metrics in multiobjective optimization. IEEE transactions on cybernetics **44**(12), 2391–2404 (2014)

8. Kim, Y.I., Kim, H.J.: Rescheduling of unrelated parallel machines with job-dependent setup times under forecasted machine breakdown. International Journal of Production Research pp. 1–23 (2020)

9. Liu, Z., Lu, L., Qi, X.: Cost allocation in rescheduling with machine unavailable period. European Journal of Operational Research **266**(1), 16–28 (2018)

10. Mohan, J., Lanka, K., Rao, A.N.: A review of dynamic job shop scheduling techniques. Procedia Manufacturing **30**, 34–39 (2019)

11. Olteanu, A., Pop, F., Dobre, C., Cristea, V.: A dynamic rescheduling algorithm for resource management in large scale dependable distributed systems. Computers & Mathematics with Applications **63**(9), 1409–1423 (2012)

12. Pfeiffer, A., Kádár, B., Monostori, L.: Stability-oriented evaluation of hybrid rescheduling methods in a job-shop with machine breakdowns. Proceedings of the 39th CIRP ISMS pp. 173–178 (2006)

13. Ruszczyński, A., Shapiro, A.: Stochastic programming models. Handbooks in operations research and management science **10**, 1–64 (2003)

14. Sun, L., Luan, F., Pian, J.: An effective approach for the scheduling of refining process with uncertain iterations in steel-making and continuous casting process. IFAC-PapersOnLine **48**(3), 1966–1972 (2015)

15. Yalaoui, F., Chu, C.: An efficient heuristic approach for parallel machine scheduling with job splitting and sequence-dependent setup times. IIE Transactions **35**(2), 183–190 (2003)

16. Yin, J., Li, T., Chen, B., Wang, B.: Dynamic rescheduling expert system for hybrid flow shop with random disturbance. Procedia Engineering **15**, 3921–3925 (2011)

17. Zhang, S., Wong, T.N.: Flexible job-shop scheduling/rescheduling in dynamic environment: a hybrid mas/aco approach. International Journal of Production Research **55**(11), 3173–3196 (2017)