paper1
paper1
Keywords: This paper investigates a multi-objective optimization distributed no-wait permutation flow shop
Distributed no-wait flow shop scheduling problem under the constraint of sequence dependent setup time. Our optimization
Sequence dependent setup time case is minimizing the makespan and maximum tardiness criteria. Therefore, our main objective
Inspired nature metaheuristics
will be to find the optimal jobs sequence that minimizes a function representing the two criteria
Makespan and maximum tardiness
of makespan and maximum tardiness. This function will be linearly dependent of these two
criteria via a weighting parameter for each criterion. To solve this industrial problem, we
propose the mixed integer linear programming (MILP) and a set of efficient metaheuristics
solving different size instances. To this end, we suggest three inspired nature metaheuristics:
The genetic algorithm (GA), the artificial bee colony (ABC) algorithm and migratory bird
optimization (MBO) algorithm. We suggest a total of six new algorithms based on nature-
inspired metaheuristics. Also, two constructive heuristics are used, the greedy randomized
adaptive search procedure (GRASP) and Nawaz–Enscore–Ham (NEH) algorithms. It was revealed
that GA algorithm with NEH initialization gives the best results comparing to the other
metaheuristics.
1. Introduction
Finding the best sequence in a permutation flow shop scheduling problem (PFSP) with 𝑛 jobs and 𝑚 machines remains one of
the great challenges in the manufacturing industry. Since the 1950s and starting from the pioneering work of Johnson [1], many
algorithms have been studied in order to solve the optimization problem in scheduling flow shop. Indeed, the goal for manufacturers
is to plan a best sequence, not necessarily the optimal one, in order to minimize a criterion in a manufacturing process of machines
arranged in series. This kind of problem is often encountered in continuous or discontinuous flow industries, such as metallurgy,
petrochemical industry, plastics industry, etc. Its strong presence in the industrial field was an important category of optimization
problems for scheduling problems. This has been the subject of a variety of efficient algorithms to solve it, as it is classified as
being − 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 [2] problem in optimization. The classical PFSP is studied by assuming that all jobs are processed in a single
production factory. However, nowadays many managers have adopted the strategy to split the production into separate factories.
Those production units can be geographically close to each other or localized in different cities, countries or even continents [3,4].
Because of the world-wide industry globalization, competition and growth in demand, the shift from single factory to multi-site
companies of production has become necessary. The distributed factories favor more production flexibility and allow fulfilling a
significant number of jobs in a reasonable time compared with the single factory. Other benefits of multi-plant factories consist of
having high production quality, reduction of production costs and minimizing the management risks [5].
∗ Corresponding author.
E-mail addresses: [email protected] (K. Allali), [email protected] (S. Aqil), [email protected] (J. Belabid).
https://doi.org/10.1016/j.simpat.2021.102455
Received 13 August 2021; Received in revised form 12 November 2021; Accepted 29 November 2021
Available online 18 December 2021
1569-190X/© 2021 Elsevier B.V. All rights reserved.
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
This paper investigates a bi-objective distributed no-wait permutation flow shop scheduling problem (DNWPFSP) under the
constraint of sequence dependent setup time (SDST). The first criterion is the maximum completion time of all jobs, called also
makespan (𝐶𝑚𝑎𝑥 ) and the second is the maximum tardiness (𝑇𝑚𝑎𝑥 ) of all jobs. The first objective is to minimize the makespan, which
allows producing all the batch in a reduced time, while the second objective consists in minimizing the maximum tardiness of all
jobs in the operating factories. The minimization of the second criterion makes it possible to reduce the completion time of each job
compared to the due desired date by the customer. We recall that the due time is a preferred fixed date by the customer for each job;
any job finished after this date will be considered as late. The tardiness of a certain job is therefore the time elapsed between the
job completion time and its due date. We note that, besides the criteria related to internal production in the company, production
managers rely on the satisfaction of their customers. The usefulness of optimizing the delay criterion is a concern for most industrial
managers. In this way, we propose a bi-objective optimization model of the DNWPFSP-SDST problem combining two criteria. The
first is linked to the rationalized management of the park machine identified by 𝐶𝑚𝑎𝑥 ; the second is linked to customer satisfaction
represented by 𝑇𝑚𝑎𝑥 .
In our case study, we are interested in two types of constraints: non-waiting and SDST setup time. The first constraint concerns the
characteristics of the jobs, the second concerns the preparation machines in scheduling process. Of great importance is the interest
of studying the SDST constraint in the DNWPFSP scheduling problem. This time is generally considered unproductive, mobilizing
production resources. The SDST constraint is found in various industrial flow production cells. Indeed, this constraint is encountered
in the metallurgy industry, plastic production, transfer lines or the assembly industry. The assembly and disassembly of tools, the
cleaning machines, and the transfer of products to workshops can be considered as SDST times. The strong presence of this constraint
in various PFSP scheduling problems prompted us to consider it in our DNWPFSP-SDST problem.
In a recent work [6] on the optimization of the distributed permutation flow shop scheduling problem (DPFSP) scheduling, the
local search procedures are used in the iterated greedy (IG) algorithm to minimize 𝐶𝑚𝑎𝑥 . Similarly, in [7] a set of heuristics and three
metaheuristics are proposed: the variable neighborhood descent(VND) algorithm, the artificial bee colony (ABC) algorithm and the
IG algorithm in order to minimize the makespan. Also, in [8] we can distinguish a variety of implementations of the IG algorithm
and models in (MILP) in order to minimize the makespan for the DPFSP-SDST problem. Shao et al. [9] proposed recently a model
in MILP and a set of local search algorithms to minimize makespan and weighted total tardiness in DNWPFSP with SDST constraint.
We continue in the same direction of research on DNWPFSP-SDST scheduling problems by considering the makespan and maximum
tardiness as to criteria to be optimized. To this purpose, we suggest a MILP model and a set of nature-inspired metaheuristics
to minimize makespan and maximum tardiness. The used metaheuristic algorithms are: genetic algorithm (GA), the artificial bee
colony (ABC) and migratory bird optimization (MBO) algorithms reinforced by local search procedures. Our objective function is
expressed by two criteria with a weighting coefficient for each criterion. In our contribution, we propose two main algorithms with
constructive solutions for the initialization phase. In fact, we are developing a version of the NEH and GRASP algorithms to start
each metaheuristic. In total, we develop six algorithms, two for each metaheuristic according to the initialization algorithm.
The distribution of production centers in several geographical sites constitutes a distributed scheduling problem. In Fig. 1, a
distributed scheduling problem consisting, for example, of three production units forming a flow shop scheduling process. The
scheduling department is forced to establish a production plan for the batch of jobs launched by the ordering department. The
main problem consists in assigning the jobs to the different production centers in order to minimize the criterion imposed under
the constraints considered. The scheduling calendar is characterized by a subset of the affected jobs. The resolution of this kind
of problem is a priority for business managers as a goal to satisfy the customers in order to produce the desired quantity on time.
Multi-objective optimization is very useful for production decision-makers; minimizing to more than two objectives is often a priority
for manufacturers. Unfortunately, mathematically, it is very difficult to find a single solution that achieves two minimum goals
at the same time. The use of approaches such as the linear combination between the objectives represents a preferred solution
ensuring a balance between the criteria to be optimized. Therefore, in our optimization problem, we are interested in solving the
DNWPFSP-SDST problem by minimizing two criteria expressed by a single objective function.
Our problem will be denoted by 𝐷𝐹 𝑚|𝑆𝐷𝑆𝑇 , 𝑛𝑜 − 𝑤𝑎𝑖𝑡|𝜔 × 𝐶𝑚𝑎𝑥 + (1 − 𝜔) × 𝑇𝑚𝑎𝑥 respecting the proposed notation 𝛼|𝛽|𝛾 used
in the scheduling problem literature. The first field 𝛼 represents the nature of study problem, the second field 𝛽 groups together
the constraints and at the end the last field 𝛾 represents the criteria to be optimized. Our approach proposes a model representing
a great flexibility by the use of the linear weighting of the two objectives. Indeed, this makes it possible to adapt the weighting
coefficient according to the importance of the criterion for batch being scheduled. Such a method reflects great flexibility on the
part of the manager production in making decisions when establishing the scheduling schedule.
This paper is organized as follows: after this introduction, in Section 2 we review the used methods to solve the flow shop and the
distributed flow shop scheduling problems. In Section 3, we are interested in the proposed methods to solve our problem. Section 4
is devoted to the analysis of the obtained results by our resolution approaches. Section 5 will close this contribution by highlighting
the strengths of our approaches and indicating some promising directions for research on this subject.
2. Related works
Over the past few years, the scheduling issue has experienced a wide spread of the distributed permutation flow shop scheduling
problem (DPFSP). This form of problem has opened up a scope in optimization for scheduling problems. In fact, distributed workshop
architectures are the result of globalization and the opening-up of the industrial markets. The need to develop distributed scheduling
models, thus allowing the company to adopt effective strategies to optimize the criteria imposed by production resources. The
DPFSP with the objective of minimizing the makespan is studied in [10]. The authors suggest six model versions of MILP method
2
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
and different heuristics to solve DPFSP problem. Also, in [11], an estimation of distribution algorithm (EDA) approach is proposed
for solving the same problem to minimize the makespan criterion. In the same context a scatter search (SS) method is employed
in [12] for this kind of problems in order to optimize makespan. In a similar work, the same problem was tackled in [13]; the authors
minimize the makespan for DPFSP scheduling problem using the IG algorithm. Another approach of resolution was suggested in [14]
and it turned out that tabu search (TS) algorithm outperforms many other existing procedures. A hybrid genetic algorithm was also
tested to solve DPFSP with the aim to minimize the total completion of jobs and the makespan [15].
The tardiness of jobs was also the subject of many DPFSP research projects as criterion to be optimized. For instance minimizing
the total tardiness for a distributed assembly permutation flow shop scheduling problem (DAPFSP) [16], where the authors suggest
an effective SS method based on memetic algorithm in order to find the best solution. The no-wait DPFSP problem was studied
recently in [17] by using variable neighborhood search algorithm. It is noteworthy to mention that the no-wait constraint is usually
encountered in many industrial cases such as steel fabrication, chemical processing and food production [18]. For instance, some job
characteristics like temperature or viscosity may change if it is not immediately processed after its exit from the previous machine.
Therefore, no time of interruption between two consecutive machines is tolerated and when necessary the start of the job in the
first machine should be delayed in order to avoid such interruption. This constraint will ensure the quality of jobs during their
processing in the manufacturer.
The DPFSP scheduling issue with no-wait constraint is studied in [19]; the authors showed that IG algorithm can give good results
for this kind of problem. The constraint of sequence dependent setup time (SDST) is built into several scheduling models. In [20],
DAPFSP manufacturing processes where developed to minimize the makespan using a variety of heuristics. In our contribution, we
consider the SDST constraint because of its importance in the industrial reality of PFSP scheduling problems. Effectively, in this
situation the machine needs to be prepared and adapted to process a new job. The elapsed time for this operation is called setup
time, for example the time needed for cleaning or adjustment. A set of contributions was the subject of the study of PFSP problems
under SDST constraints [21–23] for a single-objective optimization. Similarly, we find research work under SDST constraints for
a multi-objective optimization [22,24,25]. Other constraints have been studied for the DPFSP problem such as the blocking [26],
where the authors propose a discrete differential evolution algorithm to minimize makespan. Also, the constraint of no-idle machines
is addressed in the DPFSP problem in [27], by minimizing the makespan.
In several industrial situations, managers are faced with multi-criteria to be simultaneously optimized. Each criterion represents
an industrial objective to be enhanced with respect to some imposed constraints. The multi-objective DPFSP scheduling problem has
drawn the interest of many recent optimization works. For example, a competitive memetic algorithm has been employed to solve
a multi-objective DPFSP with makespan and total tardiness as criteria to be minimized [28]. Similarly in [29], a model in MILP and
the large neighborhood search (LNS) algorithm is implemented for the 𝐷𝐹 𝑚|𝑟𝑒𝑒𝑛𝑡𝑟𝑎𝑛𝑡|𝐶𝑚𝑎𝑥 , 𝑇̄ , 𝑇 𝐶 in order to minimize makespan,
the average tardiness and the total cost (TC). The work presented in [30] a two-objective study of the problem 𝐷𝐹 𝑚 ∥ 𝐶𝑚𝑎𝑥 , 𝑇 𝐸𝐶
using a knowledge-based cooperative algorithm (KCO) to minimize makespan and total energy consumption (TEC). In the same
direction of multi-objective optimization a recent study in [31] addresses the problem 𝐷𝐹 𝑚|𝑛𝑜 − 𝑖𝑑𝑙𝑒|𝐶𝑚𝑎𝑥 , 𝑇 𝐸𝐶 proposes a MILP
and the collaborative optimization algorithm (COA) to minimize the same goal under no-idle constraint.
With the same concept, minimizing both criteria of makespan and total energy consumption in a stochastic DPFSP scheduling
problem was studied in [32]. Hence, the multi-objective DPFSP scheduling problem has demonstrated its great importance in
manufacturing industry. A bi-objective DNWPFSP-SDST scheduling problem was tackled in a recent work [9]; the authors have
used a Pareto-based estimation of distribution algorithm to solve the problem by considering makespan and total weighted tardiness
as criteria to be optimized. Based on the previous studies, we are interested in this work in the minimization of two criteria the
3
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
makespan and the maximum tardiness. To our knowledge, no previous work has investigated these two criteria for the DNWPFSP-
SDST scheduling problem. Motivated by this particularity of the two criteria to be optimized at the same time, our addition consists
in proposing a linear function with a weighting coefficient of each objective, in this case the makespan and the maximum tardiness.
The first criterion is linked to the management of the park machine and the second criterion represents the relationship with
customers. We combine them into a single weighted bi-objective function. In order to meet customer requirements and rationalize
the management of the machine park. The purpose of manufacturers is to develop platforms in the form of simulation software
capable of optimizing a variety of objectives.
Nature-inspired and local search metaheuristics are increasingly used in solving optimization problems. Technological develop-
ment in the power of computing machines is pushing researchers to move towards approximate approaches based on metaheuristics.
Indeed, the industrial size of the production batches for scheduling problems is large size, to use the metaheuristics is an alternative
giving the good results. In [33] find the application of the ABC algorithm in solving DPFSP problem with non-identical factories
to minimize the makespan. Also in [34], the use of a MILP model and a variety of IG algorithm for solving the just-in-time DPFSP
problem to minimize the total weighted earliness and tardiness. We also find to use the MBO algorithm in [35] in order to solve
the optimization problem by minimizing the makespan in the hybrid flow shop scheduling problem. GA-based metaheuristics is
implemented with an improved version in [36] in solving assembly DPFSP issues to minimize makespan.
The main methods and approaches for solving scheduling problems are of two types: exact methods and approximate methods.
In our contribution we propose both approaches in order to solve the DNWPFSP-SDST problem. For the exact method, we develop
a MILP with an objective function with a weighting coefficient for each of the two criteria. As for the approximate method, we
proposed three inspired nature metaheuristics initialized by two algorithms with a constructive solution. The three metaheuristics
are the GA, ABC and MBO algorithms which are reinforced by local search procedures for exploring neighborhood systems. These
metaheuristics have seen great expansion in solving scheduling optimization problems. In addition, we will adopt two heuristics
to improve the solution in the initialization phase for three metaheuristics. In this approach, reinforcement in the initialization
phase saves a lot of computational time when exploring neighborhood systems. The two initialization algorithms are among the
constructive solution techniques that are well suited for solving the industrial problem DNWPFSP under SDST constraints. Indeed,
two constructive heuristics based on GRASP [37] procedure and NEH [38] algorithm are used to improve the inspired nature meta-
heuristics. In the following section, we present in detail the different approaches for solving the optimization scheduling problem
in distributed environment manufacturing.
3. Resolution approaches
In the DNWPFSP-SDST optimization problem, a set of machines = {𝑀1 , 𝑀2 , … , 𝑀𝑚 } installed in a production line. A batch of
𝑛 job is started in the production process starting with the first machine 𝑀1 and ending its production cycle with the last machine
𝑀𝑚 . All the jobs = {𝐽1 , 𝐽2 , … , 𝐽𝑛 } have the same operating range of production in the workshop. In the multi-factory production
problem, we consider that the set of = {1 , 2 , … , 𝐹 } of production units constituting a distributed flow shop problem. In each
factory 𝑓 , 𝑓 = 1, 2, … , 𝐹 the set of machines forms the production process. Each job 𝐽𝑖 admits an operation on a machine 𝑀𝑘
of processing time 𝑝𝑖,𝑘 . When a machine 𝑀𝑘 has just executed a 𝐽𝑖 , a sequence dependent setup time 𝑠𝑖,𝑗,𝑘 is required to process
a new job 𝐽𝑗 . However, when the job 𝐽𝑖 is the first on a machine 𝑀𝑘 this setup time is 𝑠𝑖,𝑖,𝑘 . In the no wait flow shop scheduling
problem, the start time of the job 𝐽𝑖 on the machine 𝑀𝑘 equals its completion time on the previous machine 𝑀(𝑘−1) . Our model
for NWDPFSP-SDST scheduling problem consists of scheduling 𝐹 sequences 𝜋 𝑓 on all factories containing 𝑚 machines such that
𝜋 𝑓 = [𝜋 𝑓 (1), 𝜋 𝑓 (2), … , 𝜋 𝑓 (𝑛𝑓 )], where 𝑛𝑓 stands for the number of jobs on factory 𝑓 . The summation of those numbers 𝑛𝑓 is equal
to 𝑛. In order to compute our optimization problem, we need first to be define 𝐷𝜋 𝑓 (𝑖−1),𝜋 𝑓 (𝑖) the completion time difference between
consecutive jobs 𝜋 𝑓 (𝑖 − 1) and 𝜋 𝑓 (𝑖) such that
∑
𝑚
𝐷𝜋 𝑓 (𝑖−1),𝜋 𝑓 (𝑖) = max { (𝑝𝜋 𝑓 (𝑖),𝑘 − 𝑝𝜋 𝑓 (𝑖−1),𝑘 ) + 𝑝𝜋 𝑓 (𝑖−1),ℎ + 𝑠𝜋 𝑓 (𝑖−1),𝜋 𝑓 (𝑖),𝑘 }
ℎ=1,…,𝑚
𝑘=ℎ (1)
𝑖 =2, … , 𝑛𝑓 , 𝑓 = 1, … , 𝐹
For the first job 𝜋 𝑓 (1), this distance will be equal to the completion time of the first job, where the job 𝜋 𝑓 (0), is a dummy job
added at the start of each sub-sequence 𝜋 𝑓 .
∑
𝑚
𝐷𝜋 𝑓 (0),𝜋 𝑓 (1) = max {𝑠𝜋 𝑓 (1),𝜋 𝑓 (1),ℎ + 𝑝𝜋 𝑓 (1),𝑘 }, 𝑓 = 1, … , 𝐹 (2)
ℎ=1,…,𝑚
𝑘=ℎ
Hence, it will be easy to see that the completion time of each job on the last machine is given by
𝐶𝜋 𝑓 (1),𝑚 =𝐷𝜋 𝑓 (1),𝜋 𝑓 (1) , 𝐶𝜋 𝑓 (𝑖),𝑚 = 𝐶𝜋 𝑓 (𝑖−1),𝑚 + 𝐷𝜋 𝑓 (𝑖−1),𝜋 𝑓 (𝑖)
(3)
𝑖 =2, … , 𝑛𝑓 , 𝑓 = 1, … , 𝐹
The tardiness of each job can be defined as the difference between its completion time and its due date in the case when the
processing of the job in its factory is greater than its due date. Otherwise, the job will be considered as early
4
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 1
The used notation in MILP model.
Notation Description
𝑓 The index of factory, 𝑓 = 1, 2, … , 𝐹
𝑘 The index of machine, 𝑘 = 1, 2, … , 𝑚
𝑖, 𝑗 The index of job, 𝑖 = 0, 1, … , 𝑛, 𝑗 = 0, 1, … , 𝑛
𝑝𝑖,𝑘 The processing time of job 𝐽𝑖 in machine 𝑀𝑘
𝑠𝑖,𝑗,𝑘 The setup time if job 𝐽𝑖 precedes job 𝐽𝑗 in machine 𝑀𝑘
𝑠𝑖,𝑖,𝑘 The setup time of job 𝐽𝑖 if its the first in machine 𝑀𝑘
𝑋𝑖,𝑗 The binary variable its equal 1 if job 𝐽𝑗 is processed
immediately after job 𝐽𝑖 , 0 otherwise
𝐶𝑖,𝑘 The completion time of 𝐽𝑗 in machine 𝑀𝑘
𝑇𝑖 The tardiness of job 𝐽𝑖
𝐶𝑚𝑎𝑥 The makespan
𝑇𝑚𝑎𝑥 The maximum tardiness
𝜔 The weighting coefficient
HV The height value
Finally, the makespan and maximum tardiness can be given by the following formulas
and
Recall that from the Eqs. (3), we can find the completion times of each job on the other machines by successive subtraction of the
processing times since the problem deals with no-wait constraint. The objective function is defined by
Where the term 𝜔 represents the weighting coefficient associated with each criterion, with 𝜔 ∈ [0, 1]. The goal is to minimize the
objective function value to obtain the sequence 𝜋 ∗ in the space of solutions 𝛱, such that (𝜋 ∗ ) ⩽ (𝜋), 𝜋 ∈ 𝛱.
In order to solve the DNWPFSP-SDST optimization problem, we propose a model in MILP expressed by the two-objective function
to be minimized and a set of constraints. The established model makes it possible to minimize the combination of 𝐶𝑚𝑎𝑥 and 𝑇𝑚𝑎𝑥
formulated by the function involving the constraints expressed as a function of the parameters and the decision variables. In this
model, the constraint of not waiting for a job must be satisfied when scheduling between two successive machines in the production
process. In addition, we will assume that no job can be processed by more than one machine, and no machine can process more
than one job at a given time.
The transfer time between machines is neglected. We also assume that no preventive and corrective maintenance time is expected.
Likewise, no work interruptions during the scheduling process are allowed. The completion time of the job 𝐽𝑖 on the machine 𝑀𝑘
is noted 𝐶𝑖,𝑘 . In order to formulate linear mixed integer programming (MILP), we define the following Boolean variable 𝑋𝑖,𝑗 . In
Table 1, we give the used notation in the mathematical formulation in MILP for solving the DNWPFSP-SDST scheduling problem.
Here the two indexes 𝑖 and 𝑗 varied from 0 to 𝑛. In addition, we will introduce a dummy job 𝐽0 as well as a dummy machine 𝑀0
such that 𝐶0,𝑘 = 𝐶𝑖,0 = 0. The formulation retained in MILP consists in expressing the linear combination of makespan 𝐶𝑚𝑎𝑥 and
maximum delay 𝑇𝑚𝑎𝑥 , with a weighting parameter 𝜔. Our formulation in MILP is inspired by the model presented in [10] which
developed for the DPFSP scheduling problem. The model can be formulated as follows:
5
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
𝑇𝑖 ≥ 𝐶𝑖,𝑚 − 𝑑𝑖 ; ∀𝑖 (16)
𝑇𝑚𝑎𝑥 ≥ 𝑇𝑖 ; ∀𝑖 (18)
𝑇𝑖 ≥ 0, ∀𝑖 (20)
The Eq. (8) expresses the objective function to be minimized. The constraint set (9) ensures that each job has exactly one
preceding job. The second constraint set (10) guarantees that every job has at most one successor. Constraint sets (11) and (12)
indicate that the dummy job 𝐽0 appears 𝐹 times as predecessor job and 𝐹 − 1 as a successor job. The constraint set (13) states that
each job cannot be successor and predecessor of other job at the same time. This means that the dummy job 𝐽0 will separate the
sequences to be processed in the different factory.
The constraint set (14) specifies that the completion time of a processed job is greater than its processing time plus the summation
of the completion time of its predecessor job and the setup time needed between these two jobs with 𝐻𝑉 is a certain high value.
The constraint set (15) controls that the starting of a given job on a machine is exactly equal to the completion time of the same
job on the previous machine. This constraint is completely specific to no-wait flow shop scheduling problems. The constraint (16)
identifies the tardiness of each job on the last machine. The constraints (17) and (18) make it possible to determine the criteria of
the makespan and the maximum tardiness. The constraints (19)–(21) allow us to express the domains of validity of the decision
variables of our model.
In this subsection, we will illustrate our studied DNWPFSP-SDST by a simple example of scheduling nine jobs on three machines
with only three factories. The processing times 𝑝𝑖,𝑘 and the setup time represented by the matrices [𝑠𝑖,𝑗,1 ], [𝑠𝑖,𝑗,2 ] and [𝑠𝑖,𝑗,3 ] between
all the jobs are given below
⎡ 8 6 7⎤ ⎡2 3 2 5 2 5 4 3 3⎤
⎢ 5 8 4⎥⎥ ⎢2 3 4 5 3 4 3 4 4⎥⎥
⎢ ⎢
⎢ 9 2 5⎥ ⎢3 5 3 2 3 3 4 3 6⎥
⎢ 5 6 4⎥ ⎢3 3 2 4 4 2 4 6 3⎥
⎢ ⎥ ⎢ ⎥
[𝑝𝑖,𝑘 ]9×3 =⎢ 7 5 8⎥ ; [𝑠𝑖,𝑗,1 ]9×9 = ⎢4 5 4 4 3 4 5 2 3⎥
⎢ 3 8 4⎥ ⎢4 5 2 3 2 4 4 4 4⎥
⎢ ⎥ ⎢ ⎥
⎢ 5 2 7⎥ ⎢4 4 2 4 4 4 3 3 2⎥
⎢ 6 5 6⎥ ⎢2 3 3 5 3 2 3 3 2⎥
⎢ ⎥ ⎢ ⎥
⎣ 9 6 7⎦ ⎣2 5 2 3 6 3 4 3 2⎦
⎡2 2 3 2 3 2 2 4 5⎤ ⎡2 5 4 3 4 2 2 3 4⎤
⎢2 3 3 2 4 4 4 3 3⎥⎥ ⎢2 2 4 5 4 3 4 4 3⎥⎥
⎢ ⎢
⎢3 4 3 2 3 4 3 2 2⎥ ⎢2 4 3 3 3 4 3 5 2⎥
⎢3 2 2 3 3 3 3 4 3⎥ ⎢3 3 4 3 3 6 4 3 3⎥
⎢ ⎥ ⎢ ⎥
[𝑠𝑖,𝑗,2 ]9×9 = ⎢4 4 5 3 3 2 2 4 4⎥ [𝑠𝑖,𝑗,3 ]9×9 = ⎢5 4 4 3 5 3 3 4 4⎥
⎢5 3 4 5 2 3 3 2 2⎥ ⎢2 6 4 3 2 2 3 3 4⎥
⎢ ⎥ ⎢ ⎥
⎢4 3 2 2 5 3 4 3 2⎥ ⎢2 3 3 5 3 3 2 4 3⎥
⎢4 5 2 3 4 3 2 2 5⎥ ⎢2 5 2 4 3 4 4 3 3⎥
⎢ ⎥ ⎢ ⎥
⎣2 5 1 6 3 2 2 4 3⎦ ⎣2 6 4 3 4 4 3 2 2⎦
The due dates of the batch of jobs are 𝑑1 = 15, 𝑑2 = 13, 𝑑3 = 9, 𝑑4 = 11, 𝑑5 = 17, 𝑑6 = 11, 𝑑7 = 13, 𝑑8 = 14, 𝑑9 = 19. The
bi-objective function to be minimize is given for a weighting coefficient 𝜔 = 0.4. We represent in Fig. 2 the Gantt chart of the
optimal solution solving by the solver using CPLEX. The solution given by the mathematical formulation in MILP is represented by:
6
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
𝑋0,3 = 1, 𝑋3,6 = 1, 𝑋6,5 = 1, 𝑋5,0 = 1, 𝑋0,4 = 1, 𝑋4,2 = 1, 𝑋2,1 = 1, 𝑋1,0 = 1, 𝑋0,7 = 1, 𝑋7,8 = 1𝑋8,9 = 1. All the jobs will be distributed
over the three production units as shown in the figure given on the Gantt diagram. We can identify that the distribution of jobs
on the three units is as follows: 𝜋 1 = [3, 6, 5], 𝜋 2 = [4, 2, 1], 𝜋 3 = [7, 8, 9]. We can see that the tardiness recorded for each job are:
𝑇1 = 25, 𝑇2 = 16, 𝑇3 = 10, 𝑇4 = 8, 𝑇5 = 24, 𝑇6 = 19, 𝑇7 = 4, 𝑇8 = 14, 𝑇9 = 22. Likewise, it is clear that the makespan in the three units
1
are: 𝐶𝑚𝑎𝑥 2
= 41, 𝐶𝑚𝑎𝑥 3
= 40 and 𝐶𝑚𝑎𝑥 = 41 given by the jobs 𝐽5 , 𝐽1 and 𝐽9 respectively. We can see that the three factories are well
balanced in terms of machine load. The unit realizing the greatest value of the makespan the factory 1 and 3 of 41 units of time,
while the value of the maximum tardiness is given by the factory 2 of 25 units of time.
Solving the optimization problem in scheduling by heuristics is generally a fast and efficient method to obtain a good quality of
solution. In most cases and in particular for PFSP problems the approaches are often based on priority rules giving an initial sequence.
In this paper, we consider two constructively solved heuristic algorithms adopted for the DPFSP problem. Indeed, we apply the NEH
algorithm and the GRASP procedure for the bi-criteria minimization of the 𝐷𝐹 𝑚|𝑆𝐷𝑆𝑇 , 𝑛𝑜 − 𝑤𝑎𝑖𝑡|𝜔×𝐶𝑚𝑎𝑥 +(1 −𝜔)×𝑇𝑚𝑎𝑥 scheduling
problem.
7
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 2
The used notation in NEH algorithm.
Notation Description
𝜋0 The initial sequence 𝜋0 = [𝜋0 (1), … , 𝜋0 (𝑛)]
𝜋𝑓 The sub-sequence assigned to factory 𝑓 , 𝑓 = 1, … , 𝐹
𝛤𝑓 The set of sub-sequence given by insertion of 𝜋0 (𝑖) in factory 𝑓 , ∀𝑖
𝑓
𝜋𝑛𝑒ℎ The best sub sequence given by NEH algorithm in factory 𝑓
𝜋𝑛𝑒ℎ The best sequence given by NEH algorithm
Table 3
The used notation in GRASP procedure.
Notation Description
𝜋𝑓 The sub-sequence assigned to factory 𝑓 , 𝑓 = 1, … , 𝐹
𝜅 The unscheduled sub-sequence
𝛺𝑓 The set of sub-sequences given GRASP procedure in factory 𝑓
𝛺 The set of sequences given GRASP procedure
𝑓
𝜋𝑔𝑟 The best sub sequence given by GRASP procedure in factory 𝑓
𝜋𝑔𝑟 The best sequence given by GRASP procedure
𝑚𝑖𝑛 A current minimum value of the objective function
𝑚𝑎𝑥 A current maximum value of the objective function
𝛼 The parameter setting of RCL list
It is a step-by-step constructive solution approach to getting a good start solution. To solve this problem, our approach consists
in adapting the NEH algorithm to the DPFSP problem with several parallel flow shop manufacturing process. In the first step, an
initial sequence 𝜋0 is obtained by a priority rule. Subsequently, in second step the 𝐹 first jobs in the sequence will be assigned to the
𝐹 production units constituting an initial scheduling phase. The third step consists in assigning the remaining 𝑛 − 𝐹 jobs by inserting
each job in the different positions of the built sub-sequence in each unit. The goal is to determine the best position obtained by
inserting each job in the best unit giving the minimum value of the objective function value . The Algorithm 1, describes the
scheduling steps of 𝑛 jobs on 𝑚 machines for a set of units in the DNWPFSP-SDST with bi-criteria minimization scheduling problem.
8
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 4
The used notation in GA metaheuristic.
Notation Description
The population of sequences for GA algorithm
𝜋𝐺𝐴 The best sequence given by GA algorithm
𝑢 The set of sequences generate for factory 𝑢
𝑣 The set of sequences generate for factory 𝑣
𝜋 𝑥𝑡 The sub-sequence generate by ISP neighborhood, 𝑡 = 1, … , 4
𝑢 The set of sub-sequence given ISP for factory 𝑢
𝑣 The set of sub-sequence given ISP for factory 𝑣
𝜎𝑟 The set of sub-sequence generate by ISP
technique is implemented in various scheduling optimization problems [39–41]. To our knowledge, the GRASP algorithm has not
been applied before for solving the DPFSP scheduling problem. This therefore constitutes a new contribution to the resolution of
the DNWPFSP-SDST bi-objective optimization problem.
The methods of solving optimization problems by metaheuristics are of great utility in the field of operations research. They are
generally adopted for relatively large size problems. The goal is to find effective solutions when the exact methods do not allow it.
For this, our approach consists in developing three bio-inspired nature metaheuristic for the resolution of a two-criteria optimization
scheduling problem DNWPFSP-SDST.
9
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
solutions () in the crossing phase. The description of then enhanced GA algorithm adopted to solve the DNWPFSP-SDST problem
is given by Algorithm 3.
In Fig. 3, we illustrate the three phases for GA algorithm. Starting with two parents 𝜋 𝑢 = [5, 3, 7, 6, 1, 8] and 𝜋 𝑣 = [4, 12, 10, 11, 9, 2],
we consider two point of crossover phase. Also, two references sequences 𝜋 𝑥1 = [5, 12, 10, 11, 9, 8] and 𝜋 𝑥2 = [4, 3, 7, 6, 1, 2] are defined.
The procedure ISP is applied to sub-sequence 𝜋 𝑢 and 𝜋 𝑣 to generate the set neighborhood structure 𝑢 and 𝑣 respectively on the
right and the left respectively. We can see that the total number of sub-sequences generated in the crossing phase is 7. This leads
to varying the sub-sequence 𝜎𝑟 in the set of solutions to retain the best solutions 𝜋̄ 𝑢 and 𝜋̄ 𝑣 respectively in 𝑢 and 𝑣 .
This approach is hybrid-enhanced technique used to improved our version for GA algorithm for DNWPFSP-SDST.
We consider the parameter 𝜆 which represents the exploration step of the neighborhood system in the crossing phase. This
parameter is very important in the kind of improvement GA model when exploring the neighborhood system. Our enhanced approach
in the algorithm is to vary 𝜆 depending on the number of elements |𝜋 𝑢 | or |𝜋 𝑣 | sub-sequences processed in order to better explore
the space of neighboring solutions.
10
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 5
The used notation in ABC algorithm.
Notation Description
The population of sequences for ABC algorithm
𝜋𝐴𝐵𝐶 The best sequence given by ABC algorithm
𝜋𝑝𝑟 The sequence given by path relinking procedure
𝑘 The used neighborhood, 𝑘 = 1, 2, 3
𝑓𝑚𝑖𝑛 The factory of minimal objective function value
𝑓𝑚𝑎𝑥 The factory of maximal objective function value
The exploration of the neighborhood system in the ABC algorithm is developed by procedures for disturbing the positions of
jobs between production units. This approach is applied in the three main phases of ABC algorithm. Indeed, in each phase, after the
identification of the factory 𝑓𝑚𝑖𝑛 and 𝑓𝑚𝑎𝑥 , we adopt the corresponding local search procedure. In this technique, two positions 𝑝1 and
𝑝2 are generated randomly in two sub-sequences 𝜋 𝑓𝑚𝑖𝑛 and 𝜋 𝑓𝑚𝑎𝑥 respectively. Thus, we propose the following three neighborhood
systems
– 1 : In the system of permutation between the factories, one chooses at random position 𝑝1 in the sequence 𝜋 𝑓𝑚𝑖𝑛 and position
𝑝2 in the sequence 𝜋 𝑓𝑚𝑎𝑥 . Subsequently, the two jobs in the two positions exchange each other by swapping positions between
the two factories.
– 2 : In the insertion system with left shift between factories, the job located at 𝑝1 from 𝜋 𝑓𝑚𝑖𝑛 is inserted in the position (𝑝2 + 1)
of 𝜋 𝑓𝑚𝑎𝑥 and the job is found at 𝑝2 at 𝜋 𝑓𝑚𝑎𝑥 is inserted in position (𝑝1 + 1) at 𝜋 𝑓𝑚𝑖𝑛 .
– 3 : In the insertion system with right shift between factories, the job located at 𝑝1 from 𝜋 𝑓𝑚𝑖𝑛 is inserted in position (𝑝2 − 1)
of 𝜋 𝑓𝑚𝑎𝑥 and the job is found at 𝑝2 at 𝜋 𝑓𝑚𝑎𝑥 is inserted in position (𝑝1 − 1) at 𝜋 𝑓𝑚𝑖𝑛 .
In order to clarify the three proposed neighborhood system, we give a numerical example in Fig. 4. In this illustration, 𝜋 𝑓𝑚𝑖𝑛 =
[5, 1, 7, 11, 3] and 𝜋 𝑓𝑚𝑎𝑥 = [2, 6, 10, 8, 9, 4], such that 𝑝1 = 3 and 𝑝2 = 5.
For the neighborhood system 1 the two jobs located in 𝑝1 = and 𝑝2 permute position in the two sub-sequences, we will have
two new sub-sequences 𝜋 𝑓𝑚𝑖𝑛 = [5, 1, 9, 11, 3] and 𝜋 𝑓𝑚𝑎𝑥 = [2, 6, 10, 8, 7, 4]. When the neighborhood system 2 is applied, the job 7 of
the 𝜋 𝑓𝑚𝑖𝑛 is inserted in the position (𝑝2 + 1) in 𝜋 𝑓𝑚𝑎𝑥 with shift to the left after extracting the job 9 from 𝜋 𝑓𝑚𝑎𝑥 . Conversely, the job
9 of 𝜋 𝑓𝑚𝑎𝑥 is inserted in the sub-sequence 𝜋 𝑓𝑚𝑖𝑛 in the position (𝑝1 + 1) with shift to the left after extraction of the job 7 from 𝜋 𝑓𝑚𝑖𝑛 .
After the change made, the new sub-sequences are 𝜋 𝑓𝑚𝑖𝑛 = [5, 1, 11, 9, 3] and 𝜋 𝑓𝑚𝑎𝑥 = [2, 6, 10, 8, 4, 7]. Finally, in the neighborhood 3
the shift is made between the two sub-sequences by inserting jobs 7 and 9 in positions (𝑝1 − 1) and (𝑝2 − 1) right shift in 𝜋 𝑓𝑚𝑖𝑛 and
11
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
𝜋 𝑓𝑚𝑎𝑥 respectively. After applying this modification of position and unit, the new sub-sequences are therefore 𝜋 𝑓𝑚𝑖𝑛 = [5, 9, 1, 11, 3]
and 𝜋 𝑓𝑚𝑎𝑥 = [2, 6, 10, 7, 8, 4].
In our enhancement of the algorithm ABC, we suggest the path-relinking (PR) technique in first phase. Algorithm 5 shows the
different steps of the path-relinking procedure. We opted this technique for its simplicity and easy implementation. This procedure
is very interesting and allows realizing new neighborhood structures of good quality in scheduling optimization problems. By using
this procedure, which we incorporated in the ABC algorithm, we were able to accelerate the convergence of ABC metaheuristic.
This improvement in the ABC algorithm by integrating the PR procedure is beneficial in making a hybrid algorithm. Subsequently,
in each of the three phases of the algorithm, a neighborhood system is applied. This approach allows diversification and better
exploration in the neighborhood system of the current solution. Indeed, given a sequence 𝜋 = [𝜋1 , 𝜋2 , … , 𝜋𝑛 ], we generate two
integer variables ℎ and 𝑙: ℎ ⩽ 𝑛, 𝑙 ⩽ 𝑛, three possibilities of generating the neighborhood system are retained:
– 1 : in this case generate two position, ℎ and 𝑙 inverse the block of jobs between 𝜋(ℎ) and 𝜋(𝑙).
– 2 : taken two position, if 𝑙 < ℎ insert 𝜋(ℎ) in position 𝑙 and shift to the left.
– 3 : in this structure, if ℎ ⩾ 𝑙 insert 𝜋(ℎ) in position 𝑙 and shift to the right.
Exploring the solution space by local research methods is extremely important in metaheuristic . In this way, the PR algorithm
constitutes a phase of improvement and accelerating the search for a best solution. For that we construct the sequence 𝜋 by the
concatenation of the sub-sequences of all factories classified in decreasing order for . The PR algorithm makes it possible to
generate a set of neighboring solutions to which we apply the NEH or GRASP algorithm depending on the adopted version of
ABC metaheuristic. In Fig. 5, we illustrate an example for neighborhood structure used in PR algorithm, whose purpose is to clarify
the used notation in PR algorithm, Table 6 shows the adopted notation.
12
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 6
The used notation in PR algorithm.
Notation Description
𝜋 The current sequence
𝜋 𝑏𝑒𝑠𝑡 The current best sequence
𝜋𝑝𝑟 The sequence obtained by PR procedure
The set of sequences generate in PR procedure
𝑘 The used neighborhood system, 𝑘 = 1, 2, 3
ℎ1 , ℎ2 The used index in neighborhood system
13
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 7
The used notation in MBO algorithm.
Notation Description
𝜒𝑅 The sub population on the right for MBO algorithm
𝜒𝐿 The sub population on the left for MBO algorithm
𝜋𝑀𝐵𝑂 The best sequence find by MOB algorithm
𝜃 The number of turn for all population
𝜋̄ The best sequence given by PR procedure
Table 8
The parameters for the algorithms.
Instance GA ABC MBO
Size_Pop 𝜆 Size_Pop Size_Pop 𝜃
𝑓𝑚𝑖𝑛
Small size 5 ⌈𝑛 2 ⌉ 20 11 20
𝑓𝑚𝑖𝑛
Medium size 15 ⌈𝑛 3 ⌉ 30 21 40
𝑓𝑚𝑖𝑛
Large size 25 ⌈𝑛 4 ⌉ 40 31 60
the PR algorithm is applied to the sequence formed by the contention of the sub-sequences of all units 𝑓 = 1, … , 𝐹 classified in
decreasing order of .
We recapitulate here the various approaches of the proposed resolutions for the bi-objective optimization problem DNWPFSP-
SDST. We have adopted two main types of approaches: an exact method based on a MILP and a set of approximate methods based
on three inspired nature metaheuristics. In Fig. 6, we find a summary of the approaches to solutions, where we distinguish the use
cases of each method. Each instance in our study is identified by the number of jobs, the number of machines and the number of
factory. In our platform, starting from an instance which we can classify according to its size. If the instance is small, the study will
be done using the MILP and the two heuristics NEH and GRASP; subsequently a scheduling plan is established by minimizing the
bi-objective criteria taking into account the imposed constraints. In the case where the instance is medium or large, the resolution
approach is based on the GA, ABC and MBO metaheuristics; these algorithms will be initialized by the NEH and GRASP procedures.
At the end, a scheduling plan is made to establish a schedule in each factory.
Using approximate methods, we have developed a set of hybrid algorithms based on the two heuristics NEH and GRASP and
the three metaheuristics GA, ABC and MBO. In Fig. 7, we describe the different combinations forming six adopted algorithms
14
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 9
Objective function value for small instance.
𝑛×𝑚×𝐹 𝜔=0 𝜔 = 0.2 𝜔 = 0.4
MILP CPU NEH CPU GRASP CPU MILP CPU NEH CPU GRASP CPU MILP CPU NEH CPU GRASP CPU
8×3×2 20 0.035 20 0.002 23 0.003 25.3 0.037 25.3 0.004 27.6 0.008 32.3 0.042 35.2 0.007 37.4 0.009
8×4×2 33 1.227 37 0.031 37 0.042 42.6 1.437 42.6 0.083 47.3 0.087 53.2 1.542 54.8 0.086 55.2 0.094
10 × 3 × 2 42 2.564 45 0.072 45 0.083 53.2 2.635 55.1 0.083 57.8 0.086 70.2 2.873 73.8 0.088 75.2 0.092
10 × 4 × 2 65 5.342 65 1.234 68 1.342 77.7 5.432 79.3 1.794 80.2 1.874 98.2 7.789 105.6 1.675 106.7 1.453
10 × 3 × 3 33 4.564 33 1.123 37 1.231 38.2 4.654 41.2 1.321 44.5 1.345 52.7 5.675 57.8 1.453 55.9 1.786
10 × 4 × 3 45 11.675 45 1.678 48 1.778 53.7 12.786 55.3 1.876 58.2 1.886 68.4 13.456 72.8 1.893 71.4 1.954
12 × 3 × 3 60 43.564 60 1.886 65 1.893 77.7 45.786 77.8 1.895 82.4 1.913 88.4 47.894 89.5 1.943 92.5 1.975
12 × 4 × 3 72 112.567 77 1.934 80 1.978 99.3 115.434 115.6 1.954 118.4 1.965 121.5 121.654 134.6 1.987 137.8 1.997
14 × 2 × 2 80 5534.2 85 2.125 89 2.342 110.4 5674.4 112.6 2.546 118.4 2.768 131.2 5786.4 136.4 2.827 145.8 2.876
14 × 3 × 3 96 20345.3 113 2.456 115 2.542 121.1 20678.4 126.5 2.564 128.4 2.654 134.7 21432.3 138.6 2.678 141.2 2.897
16 × 2 × 2 208 25348.2 218 2.894 220 2.876 231.5 26345.8 238.7 2.892 241.6 2.876 258.3 26677.5 258.9 2.946 267.8 2.987
16 × 3 × 2 234 28564.6 238 2.893 243 2.934 251.5 29675.5 256.4 2.934 258.2 2.967 261.5 29789.2 266.8 2.967 269.7 2.989
Average 82 6664.4 86.3 1.527 89.2 1.587 98.5 6880.2 102.2 1.659 105.3 1.703 114.2 6990.5 118.7 1.712 120.7 1.758
for the resolution of our problem. In this conception, during the initialization phase, one of the heuristic is chosen; thereafter,
a metaheuristic is applied by adopting the adequate neighborhood system in the local search phase.
15
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 10
Objective function value for small instance.
𝑛×𝑚×𝐹 𝜔 = 0.6 𝜔 = 0.8 𝜔=1
MILP CPU NEH CPU GRASP CPU MILP CPU NEH CPU GRASP CPU MILP CPU NEH CPU GRASP CPU
8×3×2 49.7 0.065 53.8 0.012 54.7 0.014 60.5 0.053 63.7 0.011 67.4 0.012 80 0.041 93 0.008 97 0.009
8×4×2 63.2 2.345 64.4 0.096 66.2 0.099 80.5 1.867 85.3 0.078 85.7 0.085 90 1.532 95 0.094 105 0.098
10 × 3 × 2 92.4 3.456 96.3 0.098 96.3 0.103 102.4 3.234 102.3 0.094 107.8 0.097 112 2.903 117 0.089 121 0.091
10 × 4 × 2 110.3 9.378 117.2 1.723 122.2 1.786 125.6 8.456 128.7 1.567 131.3 1.675 135 8.123 138 1.345 141 1.436
10 × 3 × 3 71.2 7.678 77.3 1.126 77.3 1.238 80.5 6.675 82.5 1.118 83.8 1.213 90 6.576 95 2.235 98 2.675
10 × 4 × 3 88.9 21.567 92.7 2.231 96.3 2.342 112.5 18.456 116.3 2.124 116.8 2.223 122 18.675 126 2.235 126 2.675
12 × 3 × 3 111.5 52.543 115.7 2.564 121.3 2.675 130.5 48.897 133.3 2.564 136.4 2.685 140 49.453 153 2.378 156 2.432
12 × 4 × 3 141.1 128.675 158.4 2.689 162.3 2.867 170.2 127.786 175.1 2.885 178.6 2.932 190 125.873 185 2.786 188 2.885
14 × 2 × 2 152.6 6234.6 155.8 4.678 157.8 4.897 180.4 6123.4 188.4 4.675 184.7 4.897 200 6115.7 208 4.123 214 4.342
14 × 3 × 3 158.3 24567.8 162.4 5.675 167.8 5.777 180.3 23345.3 190.5 5.575 197.2 5.854 207 23546.8 213 5.765 215 5.876
16 × 2 × 2 277.8 32342.1 282.4 6.673 285.7 6.763 306.5 32456.8 310.3 6.685 318.7 6.785 346 32123.9 349 6.763 351 6.871
16 × 3 × 2 280.5 34321.5 285.3 6.786 289.3 6.823 320.7 33453.8 328.5 6.784 333.8 6.883 350 31478.4 358 6.765 363 6.893
Average 133.1 8140.9 138.2 2.863 141.4 2.948 154.9 7966.2 158.7 2.846 161.9 2.945 171.8 7789.8 177.8 2.833 181 2.957
Table 11
ARPD and CPU value for small sized test instances for all algorithms.
Weight 𝑛×𝑚×𝐹 MILP GA1 GA2 ABC1 ABC2 MBO1 MBO2
ARPD CPU ARPD CPU ARPD CPU ARPD CPU ARPD CPU ARPD CPU ARPD CPU
𝜔=0 9×3×3 0.000 2.58 0.045 13.68 0.078 17.78 0.089 16.99 0.091 18.89 0.093 15.74 0.099 17.86
11 × 3 × 3 0.000 35.54 0.000 14.22 0.001 21.32 0.034 18.43 0.014 22.32 0.017 17.37 0.023 22.76
13 × 4 × 4 0.000 9681.24 0.011 14.12 0.091 21.31 0.036 19.22 0.044 23.35 0.045 18.65 0.065 21.88
15 × 3 × 3 0.000 19414.02 0.033 18.78 0.025 23.82 0.046 19.92 0.032 24.98 0.054 18.84 0.033 23.36
𝜔 = 0.2 9×3×3 0.000 51.03 0.035 14.65 0.045 17.32 0.067 16.85 0.086 19.87 0.092 14.33 0.093 18.21
11 × 3 × 3 0.000 71.41 0.000 14.78 0.023 18.88 0.017 17.89 0.012 20.28 0.023 17.12 0.015 19.08
13 × 4 × 4 0.000 12081.01 0.023 14.45 0.021 22.65 0.056 17.75 0.043 23.85 0.034 16.32 0.034 22.89
15 × 3 × 3 0.000 22112.42 0.014 15.32 0.034 26.67 0.032 18.65 0.033 24.84 0.044 20.78 0.032 24.69
𝜔 = 0.4 9×3×3 0.000 9.24 0.046 12.55 0.032 17.89 0.057 15.75 0.065 18.89 0.067 14.94 0.082 17.99
11 × 3 × 3 0.000 65.52 0.003 13.33 0.023 18.76 0.026 14.45 0.025 16.54 0.034 13.67 0.028 15.43
13 × 4 × 4 0.000 14473.92 0.003 14.65 0.001 16.21 0.023 13.56 0.035 16.76 0.055 13.87 0.032 15.99
15 × 3 × 3 0.000 26076.62 0.024 15.61 0.015 18.52 0.035 18.53 0.031 22.21 0.033 16.86 0.037 18.65
𝜔 = 0.6 9×3×3 0.000 15.06 0.055 15.73 0.045 17.78 0.065 16.88 0.067 19.95 0.057 14.76 0.078 16.78
11 × 3 × 3 0.000 181.53 0.000 16.21 0.000 19.41 0.045 16.12 0.031 21.34 0.036 13.65 0.054 18.11
13 × 4 × 4 0.000 16967.16 0.002 15.34 0.004 22.67 0.027 17.56 0.034 23.67 0.027 17.56 0.031 22.65
15 × 3 × 3 0.000 32847.48 0.014 15.67 0.032 26.89 0.032 20.32 0.055 22.67 0.031 18.67 0.042 23.98
𝜔 = 0.8 9×3×3 0.000 15.31 0.025 15.76 0.034 15.78 0.033 16.67 0.031 18.86 0.056 17.54 0.057 19.68
11 × 3 × 3 0.000 150.54 0.023 16.45 0.000 21.56 0.036 16.56 0.034 22.78 0.046 16.64 0.058 20.87
13 × 4 × 4 0.000 16113.63 0.004 14.45 0.003 18.56 0.046 17.67 0.021 21.89 0.032 16.67 0.025 19.64
15 × 3 × 3 0.000 24333.64 0.026 15.67 0.035 20.78 0.078 19.89 0.078 27.92 0.056 18.31 0.057 23.56
𝜔=1 9×3×3 0.000 6.72 0.015 14.78 0.025 16.88 0.056 16.78 0.035 18.89 0.045 15.56 0.055 19.86
11 × 3 × 3 0.000 144.67 0.005 16.76 0.007 19.89 0.015 18.01 0.018 22.12 0.034 14.65 0.037 18.87
13 × 4 × 4 0.000 15267.45 0.000 15.54 0.000 18.67 0.023 16.65 0.045 20.86 0.037 15.79 0.045 19.86
15 × 3 × 3 0.000 25287.45 0.023 15.45 0.034 23.67 0.056 18.87 0.045 24.93 0.076 17.56 0.088 23.84
Average 0.000 9808.54 0.017 15.28 0.025 20.16 0.042 17.49 0.041 21.61 0.047 16.49 0.054 20.27
4. Experimental result
In this section, we will discuss the computational results conducted to evaluate the performance of our algorithms. The analysis
is carried out by making the comparative study on two large families of problems: the first family is small, the second family is
medium and large size. For small instances the comparison is made between NEH, GRASP and the exact method designated by the
MILP approach. However, the implementation of the methods will be mainly applied to medium and large size instances. The goal
is to verify the efficiency of heuristics and metaheuristics. When the instances are relatively large, the simulation will be carried
out based on the different developed versions of the three metaheuristics GA, ABC and MBO. We have chosen the parameters of
the simulation for the problem test. These adjustment factors are experimented empirically. We specify the number of jobs 𝑛, the
number of machines 𝑚, the number of factory 𝐹 as well as the processing times 𝑝𝑖,𝑘 and the setup time 𝑠𝑖,𝑗,𝑘 . We note that the
parameter of the due date is chosen according to the characteristics of the problem. In Eq. (22), we give the expression adopted in
the simulation phase, where the due date 𝑑𝑖 can be given by the following formula
∑
(1 + 𝑟𝑎𝑛𝑑()) × 𝑚 𝑘=1 (𝑝𝑖,𝑘 + 𝑠𝑖,𝑖,𝑘 )
𝑑𝑖 = 𝛿 × (22)
𝐹
16
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 12
ARPD value for small instances with 𝜌 = 20, the minimum value are in bold.
𝑛×𝑚×𝐹 𝜔=0 𝜔 = 0.2 𝜔 = 0.4
GA1 GA2 ABC1 ABC2 MBO1 MBO1 GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2
10 × 3 × 2 3.45 3.56 3.89 3.99 3.67 3.78 3.49 3.56 3.67 3.89 3.56 3.66 3.41 3.78 3.56 3.84 3.64 3.56
10 × 4 × 2 3.21 3.33 4.22 4.35 4.67 4.89 4.25 4.84 4.87 4.99 4.33 4.56 4.23 4.64 4.27 4.55 4.28 4.77
10 × 5 × 2 3.17 3.16 3.34 3.45 3.55 3.58 3.67 3.58 3.64 3.67 3.78 3.84 3.78 3.89 3.87 3.79 3.82 3.91
10 × 6 × 2 5.22 5.33 5.44 5.65 5.89 5.97 5.32 5.43 6.11 6.23 6.23 6.29 6.75 6.72 6.34 6.51 6.24 6.56
15 × 3 × 3 4.45 4.89 5.23 5.64 5.78 5.97 4.38 4.65 5.38 5.49 5.89 6.11 5.18 5.36 5.56 5.87 5.77 5.89
15 × 4 × 3 4.63 4.56 4.89 5.01 5.28 5.49 5.27 5.18 5.34 5.34 5.67 5.78 5.46 5.78 5.42 5.56 5.26 5.49
15 × 5 × 3 3.41 3.26 3.46 3.72 3.66 3.82 4.01 4.12 4.23 4.45 4.36 4.45 4.28 4.65 4.42 4.53 4.31 4.52
15 × 6 × 3 2.34 2.66 2.58 2.88 2.76 2.79 2.42 2.46 2.37 2.87 2.65 2.77 2.46 2.51 2.65 2.86 2.77 2.94
20 × 3 × 4 2.78 3.34 3.24 3.47 3.45 3.89 3.67 3.48 3.78 3.88 3.58 3.69 3.78 3.89 3.67 3.76 3.78 3.89
20 × 4 × 4 2.22 2.45 2.89 3.11 3.12 3.17 3.56 3.89 3.89 3.59 3.87 3.67 3.56 3.87 3.76 3.85 3.67 3.87
20 × 5 × 4 1.98 1.99 2.12 2.67 2.84 2.45 2.76 2.63 2.86 2.86 2.72 2.87 2.89 2.85 2.56 2.77 2.83 2.81
20 × 6 × 4 2.67 3.16 3.19 3.45 3.48 3.89 3.89 3.79 3.67 3.78 3.78 3.78 3.66 2.88 3.67 3.53 3.35 3.89
25 × 3 × 5 1.12 1.34 1.67 1.87 1.78 1.54 1.78 1.65 1.89 1.67 1.84 1.86 1.63 1.85 1.76 1.86 1.78 1.68
25 × 4 × 5 1.37 1.67 1.84 1.56 1.82 1.95 1.48 1.86 1.67 1.85 1.67 1.53 1.18 1.49 1.58 1.89 1.45 1.56
25 × 5 × 5 1.11 1.45 1.89 1.78 1.83 1.93 1.14 1.78 1.88 1.99 2.01 1.17 1.45 1.66 1.67 1.81 1.65 1.96
25 × 6 × 5 1.34 1.25 1.56 1.78 1.54 1.78 1.56 1.47 1.88 1.89 1.95 1.89 1.19 1.14 1.48 1.67 1.86 1.94
Average 2.78 3.02 3.21 3.39 3.44 3.55 3.29 3.39 3.57 3.65 3.61 3.62 3.49 3.56 3.51 3.72 3.52 3.70
Table 13
ARPD value for small instances with 𝜌 = 20, the minimum value are in bold.
𝑛×𝑚×𝐹 𝜔 = 0.6 𝜔 = 0.8 𝜔=1
GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2
10 × 3 × 2 3.32 3.45 3.78 3.89 3.78 3.66 3.57 3.52 3.67 3.63 3.87 3.67 4.23 4.11 4.38 4.23 4.54 4.32
10 × 4 × 2 3.33 3.45 3.67 3.99 3.56 3.64 3.54 3.78 3.98 3.67 3.87 3.95 3.56 3.78 3.87 3.83 3.81 3.97
10 × 5 × 2 3.22 3.56 3.78 3.53 3.23 3.76 3.21 3.33 3.65 3.48 3.86 3.94 3.17 3.23 3.67 3.68 3.87 3.33
10 × 6 × 2 5.51 5.45 5.67 5.34 5.76 5.54 5.33 5.32 5.76 5.47 5.75 5.77 5.18 5.34 5.63 5.23 5.37 5.86
15 × 3 × 3 4.23 4.56 4.44 4.56 4.28 4.77 4.86 4.35 4.56 4.37 4.78 4.56 4.48 4.88 4.76 4.89 4.67 4.89
15 × 4 × 3 4.21 4.56 4.89 4.86 4.81 4.89 5.02 5.12 5.55 5.28 5.35 5.45 5.16 5.23 5.49 5.78 5.47 5.76
15 × 5 × 3 3.12 3.27 3.84 3.67 3.28 3.52 3.87 3.93 3.64 3.53 3.52 3.28 3.63 3.84 3.89 3.42 3.83 3.92
15 × 6 × 3 2.45 2.47 2.64 2.67 2.52 2.58 2.28 2.29 2.35 2.39 2.45 2.49 2.18 2.21 2.44 2.48 2.52 2.63
20 × 3 × 4 3.12 3.24 3.34 3.37 3.18 3.23 3.45 3.58 3.57 3.48 3.88 3.63 3.26 3.31 3.41 3.45 3.54 3.58
20 × 4 × 4 2.15 2.23 2.67 2.45 2.68 2.83 2.23 2.13 2.33 2.45 2.55 2.65 2.35 2.25 2.45 2.56 2.34 2.56
20 × 5 × 4 2.17 2.33 2.46 2.56 2.58 2.35 2.24 2.35 2.44 2.58 2.56 2.56 2.35 2.45 2.45 2.89 2.56 2.65
20 × 6 × 4 2.21 2.33 2.34 2.45 2.67 2.72 2.14 2.23 2.45 2.55 2.33 2.67 2.11 2.25 2.54 2.67 2.65 2.82
25 × 3 × 5 1.45 1.55 1.67 1.78 1.55 1.65 1.18 1.32 1.43 1.55 1.65 1.76 1.55 1.82 1.83 1.87 1.93 1.97
25 × 4 × 5 1.34 1.15 1.31 1.24 1.54 1.45 1.27 1.21 1.31 1.33 1.42 1.53 1.48 1.26 1.32 1.36 1.28 1.45
25 × 5 × 5 1.25 1.67 1.56 1.78 1.29 1.34 1.13 1.45 1.71 1.67 1.28 1.32 1.19 1.23 1.33 1.52 1.26 1.28
25 × 6 × 5 1.23 1.16 1.46 1.65 1.47 1.82 1.18 1.29 1.35 1.45 1.67 1.89 1.22 1.13 1.35 1.44 1.56 1.85
Average 2.77 2.90 3.09 3.11 3.01 3.10 2.90 2.95 3.10 3.05 3.17 3.19 2.94 3.02 3.17 3.14 3.20 3.03
here 𝛿 depends on the studied instance size in such manner to have always some jobs finish after their due dates. Our formula is
inspired by the approach to calculating the due date for the PFSP problem presented in [49] and the PFSP-SDST problem described
in [50]. We proposed this expression by adopting it to the DNWPFSP-SDST problem. In our case, we consider that 𝛿 ∈ {1, 2}
for small and medium size instances and 𝛿 ∈ {3, 4} for large size instances. For small and medium size instances, we varied the
number of jobs 𝑛 ∈ [8, 50], 𝑚 ∈ {3, 4, 5} and 𝐹 ∈ {2, 3, 4, 5}. However, for the experimental study of large size instances, we choose:
𝑛 ∈ {50, 100, 150, 200, 250}, 𝑚 ∈ {5, 10, 20} and 𝐹 ∈ {4, 5, 6, 7}. We have also made a choice where the processing time 𝑝𝑖,𝑘 ∈ [1, 49]
and the setup time are defined as 𝑠𝑖,𝑗,𝑘 ∈ [5, 15]. The experimental study is carried out on instances covering the different sizes of
the tested problem. The measured parameter is the average relative percentage of the deviation (ARPD) allowing to qualify the
efficiency of each algorithm. This parameter is given by Eq. (23)and it is calculated for an average of 𝐻 test.
( )
1 ∑
𝑅
𝐴𝑙𝑔𝑜
𝑟 − 𝑏𝑒𝑠𝑡
𝐴𝑅𝑃 𝐷 = × × 100% (23)
𝑅 𝑟=1 𝑏𝑒𝑠𝑡
17
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 14
ARPD value for small instances with 𝜌 = 30, the minimum value are in bold.
𝑛×𝑚×𝐹 𝜔=0 𝜔 = 0.2 𝜔 = 0.4
GA1 GA2 ABC1 ABC2 MBO1 MBO1 GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2
10 × 3 × 2 2.15 2.46 2.71 2.79 2.87 2.98 2.19 2.46 2.57 2.72 2.85 2.96 2.31 2.48 2.66 2.74 2.84 2.96
10 × 4 × 2 2.31 2.43 2.87 2.95 3.17 3.25 3.65 3.84 3.87 3.92 4.03 4.12 2.43 2.61 3.67 3.75 4.08 4.15
10 × 5 × 2 1.47 1.76 2.14 2.85 3.12 3.31 2.82 2.88 2.94 3.07 3.23 3.34 2.78 2.92 3.42 3.59 3.72 2.88
10 × 6 × 2 3.52 3.33 3.74 3.85 4.08 4.17 3.12 3.02 4.21 4.43 4.13 4.85 3.15 2.98 3.84 3.66 4.84 4.96
15 × 3 × 3 2.63 2.39 3.71 3.84 3.89 3.95 2.23 2.45 2.78 2.89 3.12 3.41 3.42 2.16 3.32 3.54 3.76 3.85
15 × 4 × 3 3.09 2.96 2.83 3.25 3.58 3.79 3.19 3.18 2.82 3.86 3.85 3.88 2.97 3.42 3.64 2.78 3.86 3.94
15 × 5 × 3 1.83 1.45 1.46 1.62 1.86 1.88 2.01 2.25 2.17 2.35 2.36 2.62 1.37 1.43 1.74 1.85 2.01 2.32
15 × 6 × 3 1.82 1.86 2.93 1.78 2.06 2.09 2.12 2.13 2.47 2.02 2.85 2.88 1.83 1.91 2.05 2.13 2.52 2.86
20 × 3 × 4 1.08 1.24 1.64 1.87 2.05 2.09 1.32 1.52 1.57 1.68 1.85 1.97 2.08 2.14 2.23 3.34 2.56 2.57
20 × 4 × 4 1.34 1.52 1.76 1.85 2.14 2.17 1.86 1.82 2.07 2.13 2.31 2.48 1.23 1.52 1.78 1.85 1.96 1.99
20 × 5 × 4 2.38 2.58 2.91 3.07 3.12 3.37 3.42 3.43 3.25 3.39 3.47 3.73 3.12 3.35 3.23 3.58 3.62 3.59
20 × 6 × 4 3.17 3.23 3.79 3.89 4.08 4.25 4.21 4.52 4.65 4.82 4.58 4.88 4.53 4.68 4.78 4.83 4.95 4.97
25 × 3 × 5 2.04 2.14 2.31 2.46 2.59 2.64 2.09 2.25 2.32 2.36 2.44 2.52 2.03 2.15 2.42 2.63 2.83 2.93
25 × 4 × 5 1.08 1.13 1.28 1.31 1.63 1.87 1.28 1.54 1.73 1.88 1.88 1.95 1.21 1.11 1.34 1.53 1.58 1.76
25 × 5 × 5 0.98 1.15 1.12 1.18 1.23 1.67 0.74 0.88 1.08 1.37 1.45 1.65 0.52 0.74 1.06 1.08 1.15 1.25
25 × 6 × 5 0.76 0.46 0.86 0.88 1.04 1.11 0.56 0.47 0.78 0.82 0.96 1.03 0.47 0.55 0.74 0.78 0.87 0.93
Average 1.99 2.00 2.37 2.46 2.65 2.78 2.29 2.44 2.58 2.80 2.83 3.01 2.15 2.25 2.62 2.66 2.94 3.05
Table 15
ARPD value for small instances with 𝜌 = 30, the minimum value are in bold.
𝑛×𝑚×𝐹 𝜔 = 0.6 𝜔 = 0.8 𝜔=1
GA1 GA2 ABC1 ABC2 MBO1 MBO1 GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2
10 × 3 × 2 1.02 1.12 1.23 1.31 1.19 1.23 1.12 1.34 1.45 1.55 1.24 1.53 1.23 1.45 1.34 1.39 1.37 1.84
10 × 4 × 2 1.08 1.11 1.23 1.35 1.43 1.44 1.09 1.12 1.34 1.23 1.33 1.45 1.18 1.12 1.33 1.54 1.22 1.19
10 × 5 × 2 1.23 1.09 1.34 1.54 1.17 1.12 1.08 1.15 1.22 1.24 1.24 1.34 1.14 1.25 1.27 1.16 1.28 1.39
10 × 6 × 2 1.23 1.35 1.45 1.17 1.45 1.67 1.26 1.13 1.45 1.26 1.66 1.89 1.13 1.24 1.33 1.44 1.17 1.28
15 × 3 × 3 0.35 0.67 0.54 0.66 0.44 0.38 0.23 0.36 0.67 0.55 0.88 0.82 0.27 0.45 0.66 0.55 0.77 0.65
15 × 4 × 3 0.16 0.34 0.24 0.45 0.47 0.45 0.32 0.51 0.56 0.57 0.48 0.39 0.19 0.23 0.42 0.28 0.47 0.56
15 × 5 × 3 0.23 0.67 0.45 0.28 0.67 0.43 0.28 0.55 0.77 0.44 0.37 0.68 0.52 0.33 0.78 0.48 0.88 0.82
15 × 6 × 3 0.09 0.11 0.23 0.14 0.17 0.18 0.16 0.11 0.12 0.17 0.21 0.17 0.04 0.12 0.16 0.18 0.23 0.18
20 × 3 × 4 0.19 0.11 0.14 0.27 0.36 0.54 0.56 0.37 0.58 0.27 0.47 0.58 0.43 0.68 0.54 0.69 0.78 0.56
20 × 4 × 4 0.28 0.46 0.52 0.45 0.35 0.55 0.37 0.57 0.53 0.65 0.45 0.65 0.29 0.34 0.58 0.56 0.46 0.56
20 × 5 × 4 0.17 0.23 0.33 0.41 0.32 0.36 0.18 0.22 0.35 0.56 0.44 0.67 0.16 0.32 0.34 0.46 0.54 0.34
20 × 6 × 4 0.23 0.33 0.45 0.56 0.76 0.98 0.12 0.26 0.33 0.45 0.34 0.48 0.17 0.29 0.48 0.59 0.76 0.78
25 × 3 × 5 0.12 0.08 0.23 0.17 0.23 0.22 0.06 0.15 0.21 0.16 0.26 0.34 0.13 0.16 0.23 0.21 0.22 0.23
25 × 4 × 5 0.11 0.23 0.45 0.34 0.67 0.38 0.14 0.22 0.36 0.34 0.29 0.33 0.13 0.15 0.27 0.36 0.35 0.47
25 × 5 × 5 0.16 0.21 0.12 0.26 0.17 0.25 0.12 0.11 0.16 0.17 0.23 0.36 0.16 0.21 0.13 0.27 0.26 0.32
25 × 6 × 5 0.06 0.12 0.14 0.13 0.16 0.17 0.08 0.14 0.12 0.19 0.17 0.19 0.11 0.17 0.12 0.14 0.15 0.21
Average 0.41 0.51 0.56 0.59 0.62 0.64 0.44 0.51 0.63 0.61 0.62 0.74 0.45 0.53 0.62 0.64 0.68 0.71
In the simulation phase, the adjustment parameters of the metaheuristic algorithms are an essential phase to establish a good
calibration. This is done depending on the size of the instance, in Table 8 we represent the parameter levels of each algorithm. We
can see that the size of the population (Size_Pop) for each metaheuristic algorithm is a determining factor in our classification. We
also indicate that the tuning parameter 𝜆 for the GA algorithm will be set according to the size of the number of elements in the
unit 𝑓𝑚𝑖𝑛 i.e. 𝑛𝑓𝑚𝑖𝑛 .
In this study, we are interested in the comparative result for small instances. For this purpose, we compare the obtained values
by our heuristics and by the MILP. For the simulation chosen, we consider that 𝑛 ∈ {8, 10, 12, 14, 16}, 𝑚 ∈ {2, 3, 4} and 𝐹 ∈ {2, 3}. In
Tables 9 and 10, we give the value of the objective function for various instances, we use a MILP solver implemented in CPLEX. We
also report the CPU computation time for the different applied methods . This parameter allows us to learn about the complexity of
this algorithms. The results recorded are based on the weighting coefficient of the objective function criteria. From this first analysis,
we can conclude that the NEH algorithm gives good results compared to the GRASP algorithm by referring to the exact solution
given by the MILP. In addition, we can see that the NEH heuristic gives the best results in a few seconds, coming very close to the
solution obtained by MILP.
18
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 16
ARPD value for large instances with 𝜌 = 20, the minimum value are in bold.
𝑛×𝑚×𝐹 𝜔=0 𝜔 = 0.2 𝜔 = 0.4
GA1 GA2 ABC1 ABC2 MBO1 MBO1 GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2
50 × 5 × 4 1.02 1.12 1.23 1.31 1.19 1.23 1.12 1.34 1.45 1.55 1.24 1.53 1.23 1.45 1.34 1.39 1.37 1.84
50 × 10 × 4 1.08 1.11 1.23 1.35 1.43 1.44 1.09 1.12 1.34 1.23 1.33 1.45 1.18 1.12 1.33 1.54 1.12 1.19
50 × 15 × 4 1.23 1.09 1.34 1.54 1.17 1.12 1.08 1.15 1.22 1.24 1.24 1.34 1.14 1.25 1.27 1.16 1.28 1.39
50 × 20 × 4 1.23 1.35 1.45 1.17 1.45 1.67 1.26 1.13 1.45 1.26 1.66 1.89 1.13 1.24 1.33 1.44 1.17 1.28
100 × 5 × 5 0.35 0.67 0.54 0.66 0.44 0.33 0.23 0.36 0.67 0.55 0.88 0.82 0.27 0.45 0.66 0.55 0.77 0.65
100 × 10 × 5 0.16 0.34 0.24 0.45 0.47 0.45 0.32 0.51 0.56 0.57 0.48 0.39 0.19 0.23 0.42 0.28 0.47 0.56
100 × 15 × 5 0.23 0.67 0.45 0.28 0.67 0.43 0.28 0.55 0.77 0.44 0.37 0.68 0.52 0.33 0.78 0.48 0.88 0.82
100 × 20 × 5 0.09 0.11 0.23 0.14 0.17 0.18 0.16 0.11 0.12 0.17 0.21 0.17 0.04 0.12 0.16 0.18 0.23 0.18
150 × 5 × 6 0.19 0.11 0.14 0.27 0.36 0.54 0.56 0.37 0.58 0.27 0.47 0.58 0.43 0.68 0.54 0.69 0.78 0.56
150 × 10 × 6 0.28 0.46 0.52 0.45 0.35 0.55 0.37 0.57 0.53 0.65 0.45 0.65 0.29 0.34 0.58 0.56 0.46 0.56
150 × 15 × 6 0.17 0.23 0.33 0.41 0.32 0.36 0.18 0.22 0.35 0.56 0.44 0.67 0.16 0.32 0.34 0.46 0.54 0.34
150 × 20 × 6 0.23 0.33 0.45 0.56 0.76 0.98 0.12 0.26 0.33 0.45 0.34 0.48 0.17 0.29 0.48 0.59 0.76 0.78
200 × 5 × 7 0.12 0.08 0.23 0.17 0.23 0.22 0.06 0.15 0.21 0.16 0.26 0.34 0.13 0.16 0.23 0.21 0.13 0.23
200 × 10 × 7 0.11 0.23 0.45 0.34 0.67 0.38 0.14 0.22 0.36 0.34 0.29 0.33 0.13 0.15 0.27 0.36 0.35 0.47
200 × 15 × 7 0.16 0.21 0.12 0.26 0.17 0.25 0.12 0.11 0.16 0.17 0.23 0.36 0.16 0.21 0.13 0.27 0.26 0.32
200 × 20 × 7 0.06 0.12 0.14 0.13 0.16 0.17 0.08 0.14 0.12 0.19 0.17 0.19 0.11 0.17 0.12 0.14 0.15 0.21
250 × 5 × 7 0.17 0.26 0.34 0.26 0.19 0.26 0.13 0.17 0.15 0.27 0.23 0.27 0.17 0.24 0.22 0.18 0.25 0.27
250 × 10 × 7 0.07 0.09 0.11 0.09 0.12 0.23 0.09 0.14 0.12 0.17 0.14 0.15 0.13 0.22 0.15 0.17 0.19 0.23
250 × 15 × 7 0.34 0.54 0.38 0.56 0.68 0.37 0.28 0.53 0.25 0.39 0.63 0.67 0.45 0.41 0.45 0.64 0.69 0.65
250 × 20 × 7 0.37 0.28 0.34 0.67 0.58 0.32 0.43 0.56 0.45 0.89 0.77 0.67 0.56 0.58 0.93 0.76 0.73 0.75
Average 0.38 0.47 0.51 0.55 0.57 0.57 0.40 0.48 0.55 0.57 0.59 0.68 0.42 0.49 0.58 0.60 0.62 0.66
Table 17
ARPD value for large instances with 𝜌 = 20, the minimum value are in bold.
𝑛×𝑚×𝐹 𝜔 = 0.6 𝜔 = 0.8 𝜔=1
GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2
50 × 5 × 4 1.05 1.22 1.34 1.42 1.23 1.28 1.12 1.24 1.45 1.32 1.35 1.45 1.12 1.23 1.33 1.65 1.45 1.83
50 × 10 × 4 1.06 1.04 1.11 1.23 1.45 1.32 1.14 1.27 1.34 1.17 1.23 1.32 1.31 1.07 1.09 1.13 1.09 1.11
50 × 15 × 4 1.21 1.34 1.25 1.36 1.45 1.63 1.14 1.28 1.24 1.78 1.22 1.56 1.17 1.23 1.32 1.34 1.17 1.26
50 × 20 × 4 1.08 1.13 1.26 1.29 1.34 1.44 1.16 1.18 1.26 1.35 1.32 1.55 1.07 1.16 1.24 1.27 1.32 1.45
100 × 5 × 5 0.34 0.44 0.53 0.65 0.57 0.67 0.37 0.55 0.58 0.78 0.68 0.62 0.32 0.34 0.49 0.52 0.45 0.76
100 × 10 × 5 0.17 0.15 0.45 0.32 0.67 0.82 0.48 0.19 0.71 0.73 0.67 0.82 0.57 0.82 0.75 0.73 0.85 0.67
100 × 15 × 5 0.43 0.69 0.47 0.52 0.83 0.85 0.56 0.67 0.78 0.59 0.67 0.69 0.38 0.83 0.48 0.89 0.69 0.85
100 × 20 × 5 0.09 0.17 0.23 0.14 0.13 0.12 0.17 0.26 0.26 0.27 0.22 0.31 0.11 0.18 0.19 0.34 0.45 0.24
150 × 5 × 6 0.31 0.41 0.45 0.32 0.39 0.44 0.28 0.34 0.56 0.67 0.34 0.56 0.87 0.22 0.45 0.59 0.38 0.45
150 × 10 × 6 0.56 0.63 0.78 0.67 0.62 0.66 0.22 0.32 0.47 0.51 0.34 0.58 0.29 0.43 0.33 0.48 0.56 0.78
150 × 15 × 6 0.15 0.25 0.32 0.45 0.34 0.42 0.18 0.26 0.33 0.34 0.44 0.53 0.34 0.45 0.23 0.65 0.63 0.64
150 × 20 × 6 0.21 0.34 0.34 0.24 0.56 0.36 0.52 0.67 0.24 0.34 0.45 0.67 0.34 0.49 0.58 0.48 0.58 0.89
200 × 5 × 7 0.09 0.08 0.23 0.13 0.26 0.34 0.14 0.24 0.26 0.24 0.13 0.16 0.18 0.17 0.19 0.17 0.16 0.15
200 × 10 × 7 0.17 0.24 0.24 0.35 0.34 0.67 0.15 0.18 0.23 0.27 0.35 0.46 0.13 0.18 0.26 0.23 0.22 0.33
200 × 15 × 7 0.19 0.25 0.26 0.28 0.34 0.33 0.18 0.26 0.34 0.45 0.65 0.67 0.43 0.51 0.54 0.58 0.78 0.64
200 × 20 × 7 0.11 0.23 0.17 0.27 0.34 0.23 0.15 0.16 0.28 0.26 0.23 0.25 0.14 0.26 0.16 0.37 0.18 0.13
250 × 5 × 7 0.23 0.35 0.13 0.17 0.27 0.25 0.12 0.22 0.34 0.46 0.15 0.27 0.17 0.23 0.23 0.24 0.19 0.27
250 × 10 × 7 0.12 0.19 0.15 0.32 0.26 0.17 0.15 0.18 0.17 0.26 0.22 0.34 0.16 0.18 0.18 0.52 0.23 0.28
250 × 15 × 7 0.21 0.45 0.23 0.46 0.67 0.73 0.27 0.35 0.67 0.89 0.45 0.56 0.24 0.34 0.67 0.34 0.45 0.78
250 × 20 × 7 0.31 0.67 0.53 0.63 0.68 0.54 0.63 0.74 0.76 0.83 0.67 0.56 0.78 0.53 0.76 0.76 0.89 0.67
Average 0.40 0.51 0.52 0.56 0.63 0.66 0.45 0.52 0.61 0.67 0.58 0.69 0.50 0.54 0.57 0.67 0.63 0.70
In order to verify the robustness of our algorithms, we present a comparative study between metaheuristics and MILP for
relatively small instances. Table 11 shows the results of the simulation, where the recorded values related to the ARPD and the
CPU computation time. For the MILP, we give the value of the CPU in seconds, on the other hand for the metaheuristics we give the
CPU time in seconds for a limit number of iterations of 100. From the results found we note that the algorithm GA1 records better
performance in terms of the quality of the solutions evaluated by ARPD. Indeed, the GA1 algorithm achieves a minimum value of
0.00 of ARPD obtained for four instances among the 24 instances tested. In addition, the GA1 algorithm achieves a success rate of
62.5% compared to other algorithms.
The following comparative study still concerns small instances and the simulation study aims to determine the value of ARPD
for our metaheuristics. In this case, we choose that 𝑛 ∈ {10, 15, 20, 25}, 𝑚 ∈ {3, 4, 5, 6} and 𝐹 ∈ {2, 3, 4, 5}. The value of ARPD for
each algorithm is given for an average of ten tests while respecting the computation time limit 𝜏𝑚𝑎𝑥 = 𝜌 × 𝑛 × 𝑚 × 𝐹 in milliseconds
where 𝜌 ∈ {20, 30}.
19
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Table 18
ARPD value for large instances with 𝜌 = 30, the minimum value are in bold.
𝑛×𝑚×𝐹 𝜔=0 𝜔 = 0.2 𝜔 = 0.4
GA1 GA2 ABC1 ABC2 MBO1 MBO1 GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2
50 × 5 × 4 0.92 0.97 1.03 1.11 1.21 1.33 0.88 0.95 1.03 1.05 1.12 1.13 0.83 0.85 0.92 0.96 1.07 1.09
50 × 10 × 4 0.78 0.71 0.83 0.85 0.93 0.97 0.69 0.72 0.84 0.93 0.94 0.97 0.78 0.72 0.83 0.86 0.92 0.97
50 × 15 × 4 2.03 2.09 2.13 2.24 2.27 2.32 2.09 2.05 2.12 2.14 2.27 2.41 1.77 1.85 1.89 1.92 1.98 1.97
50 × 20 × 4 1.84 1.96 2.05 2.07 2.15 2.18 1.86 1.93 2.05 2.16 2.26 2.42 1.86 1.94 2.03 2.15 2.27 2.28
100 × 5 × 5 0.82 0.96 1.04 1.06 1.14 1.23 0.87 0.97 1.07 1.05 1.18 1.22 0.78 0.75 0.86 0.89 0.87 0.96
100 × 10 × 5 0.25 0.33 0.44 0.55 0.67 0.72 0.42 0.41 0.66 0.72 0.88 0.89 0.28 0.31 0.38 0.43 0.56 0.63
100 × 15 × 5 0.17 0.23 0.31 0.43 0.57 0.59 0.18 0.25 0.23 0.41 0.54 0.58 0.12 0.13 0.38 0.46 0.58 0.62
100 × 20 × 5 0.14 0.17 0.18 0.24 0.21 0.28 0.14 0.19 0.22 0.25 0.31 0.35 0.11 0.18 0.24 0.26 0.33 0.37
150 × 5 × 6 0.32 0.21 0.64 0.67 0.76 0.84 0.26 0.28 0.42 0.53 0.77 0.88 0.33 0.48 0.72 0.85 0.87 0.97
150 × 10 × 6 0.37 0.42 0.42 0.45 0.57 0.64 0.43 0.52 0.47 0.54 0.75 0.83 0.35 0.46 0.62 0.77 0.86 0.76
150 × 15 × 6 0.22 0.28 0.43 0.51 0.62 0.66 0.33 0.42 0.45 0.57 0.64 0.67 0.26 0.34 0.48 0.66 0.74 0.77
150 × 20 × 6 0.73 0.82 0.88 0.87 0.89 0.93 0.67 0.78 0.83 0.78 0.74 0.78 0.65 0.68 0.88 0.91 0.86 0.88
200 × 5 × 7 0.08 0.11 0.17 0.19 0.21 0.32 0.09 0.14 0.16 0.21 0.23 0.29 0.03 0.07 0.13 0.16 0.12 0.18
200 × 10 × 7 0.21 0.24 0.31 0.44 0.53 0.59 0.24 0.27 0.32 0.41 0.52 0.53 0.17 0.12 0.17 0.26 0.45 0.48
200 × 15 × 7 0.08 0.06 0.15 0.16 0.23 0.28 0.02 0.01 0.06 0.07 0.13 0.16 0.05 0.09 0.16 0.21 0.22 0.22
200 × 20 × 7 0.16 0.22 0.23 0.23 0.32 0.33 0.18 0.25 0.22 0.29 0.26 0.24 0.12 0.18 0.22 0.26 0.25 0.27
250 × 5 × 7 0.08 0.06 0.17 0.16 0.21 0.24 0.03 0.07 0.14 0.18 0.19 0.24 0.09 0.14 0.07 0.21 0.31 0.35
250 × 10 × 7 0.07 0.12 0.14 0.19 0.22 0.25 0.06 0.04 0.15 0.18 0.16 0.19 0.03 0.12 0.14 0.21 0.23 0.27
250 × 15 × 7 0.13 0.14 0.28 0.36 0.36 0.39 0.18 0.22 0.24 0.33 0.43 0.47 0.05 0.11 0.25 0.31 0.47 0.65
250 × 20 × 7 0.16 0.18 0.28 0.37 0.48 0.52 0.13 0.16 0.25 0.38 0.37 0.56 0.06 0.18 0.33 0.54 0.63 0.65
Average 0.47 0.51 0.60 0.65 0.72 0.78 0.48 0.53 0.59 0.65 0.73 0.79 0.43 0.48 0.59 0.66 0.72 0.76
Table 19
ARPD value for large instances with 𝜌 = 30, the minimum value are in bold.
𝑛×𝑚×𝐹 𝜔 = 0.6 𝜔 = 0.8 𝜔=1
GA1 GA2 ABC1 ABC2 MBO1 MBO1 GA1 GA2 ABC1 ABC2 MBO1 MBO2 GA1 GA2 ABC1 ABC2 MBO1 MBO2
50 × 5 × 4 2.12 2.22 2.31 2.32 2.43 2.48 2.52 2.14 2.15 2.31 2.45 2.45 2.13 2.17 2.23 2.45 2.51 2.62
50 × 10 × 4 2.16 2.18 2.22 2.23 2.25 2.34 2.44 2.17 2.13 2.26 2.31 2.42 2.11 2.17 2.19 2.23 2.29 2.31
50 × 15 × 4 1.71 1.84 1.85 1.87 1.95 1.93 1.64 1.68 1.72 1.83 1.92 1.96 1.73 1.83 1.77 1.84 1.77 1.86
50 × 20 × 4 1.18 1.23 1.27 1.31 1.44 1.54 1.25 1.28 1.36 1.39 1.42 1.57 1.17 1.16 1.28 1.31 1.47 1.55
100 × 5 × 5 0.52 0.62 0.63 0.66 0.77 0.77 0.47 0.52 0.63 0.68 0.79 0.82 0.41 0.44 0.52 0.57 0.65 0.68
100 × 10 × 5 0.36 0.25 0.55 0.62 0.63 0.71 0.28 0.32 0.31 0.47 0.54 0.64 0.27 0.32 0.35 0.42 0.55 0.73
100 × 15 × 5 0.03 0.09 0.16 0.22 0.23 0.25 0.06 0.13 0.18 0.21 0.25 0.29 0.08 0.13 0.17 0.19 0.22 0.25
100 × 20 × 5 0.11 0.15 0.25 0.31 0.28 0.32 0.07 0.16 0.18 0.21 0.27 0.34 0.09 0.08 0.21 0.24 0.35 0.38
150 × 5 × 6 0.21 0.24 0.25 0.28 0.31 0.42 0.18 0.24 0.26 0.32 0.37 0.45 0.17 0.19 0.25 0.29 0.31 0.42
150 × 10 × 6 0.36 0.42 0.45 0.52 0.56 0.64 0.27 0.29 0.36 0.41 0.44 0.52 0.39 0.45 0.53 0.58 0.66 0.72
150 × 15 × 6 0.23 0.27 0.33 0.35 0.44 0.52 0.27 0.31 0.42 0.54 0.54 0.57 0.14 0.15 0.21 0.27 0.28 0.34
150 × 20 × 6 0.12 0.14 0.14 0.18 0.22 0.26 0.13 0.17 0.22 0.31 0.38 0.43 0.14 0.19 0.26 0.28 0.38 0.52
200 × 5 × 7 0.07 0.09 0.13 0.13 0.18 0.21 0.04 0.08 0.16 0.18 0.21 0.24 0.08 0.11 0.15 0.18 0.21 0.25
200 × 10 × 7 0.16 0.21 0.22 0.25 0.24 0.37 0.14 0.17 0.22 0.26 0.32 0.41 0.12 0.17 0.16 0.21 0.24 0.35
200 × 15 × 7 0.15 0.17 0.21 0.23 0.27 0.31 0.14 0.21 0.24 0.25 0.32 0.36 0.13 0.19 0.22 0.28 0.38 0.34
200 × 20 × 7 0.17 0.16 0.25 0.27 0.33 0.38 0.16 0.18 0.13 0.23 0.24 0.28 0.12 0.16 0.26 0.27 0.28 0.23
250 × 5 × 7 0.13 0.15 0.23 0.27 0.28 0.35 0.17 0.21 0.24 0.26 0.31 0.37 0.18 0.21 0.28 0.32 0.41 0.47
250 × 10 × 7 0.02 0.08 0.11 0.12 0.16 0.17 0.05 0.08 0.14 0.16 0.22 0.27 0.06 0.08 0.11 0.21 0.27 0.32
250 × 15 × 7 0.03 0.02 0.12 0.16 0.17 0.21 0.07 0.05 0.17 0.19 0.25 0.26 0.04 0.07 0.13 0.14 0.15 0.18
250 × 20 × 7 0.11 0.17 0.23 0.26 0.28 0.34 0.13 0.14 0.16 0.23 0.27 0.36 0.08 0.11 0.16 0.19 0.21 0.24
Average 0.49 0.53 0.59 0.62 0.67 0.72 0.52 0.52 0.56 0.63 0.69 0.75 0.48 0.51 0.57 0.62 0.67 0.73
In Tables 12 and 13, we illustrate the performance for all algorithms for 𝜌 = 20 by varying the weighting coefficient. In this
analysis, the result shows that the GA algorithm in its first version is more efficient than the other algorithms. The smallest value
of ARPD is 1.11% given by GA1 based on the NEH algorithm. The success rate of the GA algorithm in these two versions is 66.66%
which justifies our proposed improvement.
In order to further verify the robustness of our algorithms, we give a comparative study for 𝜌 = 30 of the same set of instances
tested before. This confirms the good performance of the GA algorithm in particular for the GA1 version. Tables 14 and 15 also
show that the GA1 algorithm is the best among other algorithms. Therefore, this algorithm achieved a success rate of 70.83% in
giving the minimum values of ARPD for 68 cases among 96 tested cases. In this study the minimum value of all instances is 0.04%
given by the GA1 algorithm when 𝜔 = 1.
In order to have a deeper analysis, we are continuing the comparative study between our algorithms in order to show the
effectiveness of our approaches for the relatively medium-size problem. This instance category is identified by the number of jobs
20
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Fig. 8. The means plots of all algorithms for medium instances with 𝜌 = 20.
𝑛 ∈ {30, 35, 40, 45} the machine number 𝑚 ∈ {3, 4, 5} and the number of production units 𝐹 ∈ {3, 4, 5}. We chose to do this analysis of
four instances for the six algorithms by varying the weighting coefficient of the value of the objective function. Instances simulated
for an average graphical representation of ARPD with a confidence interval of 95%. Indeed, in Fig. 8, we illustrate the comparative
study for the four instances of the parameter 𝜌 = 20. Similarly in Fig. 9 the mean plot is given for the same instances for 𝜌 = 30.
It is clear that the GA1 algorithm is better compared to other algorithms. The results of the plotting of the various simulations are
made for the NEH algorithm in the initialization phase. This further confirms the observation made for relatively small instances.
We can observe that the average minimum value of ARPD is 0.54% recorded by GA1 and the average maximum value is 3.258%
given by MBO2 .
In the industrial context, production batches are often large. The processing of jobs in such a workshop like that of the distributed
flow shop requires resolution methods based on metaheuristics. We have put in a comparative study plan between our approaches
for this type of problem in order to identify the best algorithms among the six proposed algorithms. The performances of our
metaheuristic algorithms are therefore measured by statistical test set for relatively large instances. For it, the comparative study
is intended for large size instances with 𝑛 ∈ { 50, 100, 150, 200, 250}, 𝑚 ∈ { 5, 10, 15, 20} and 𝐹 ∈ {4, 5, 6, 7}. Moreover we propose
two analyzes according to two values respectively for 𝜌 = 20 and 𝜌 = 30. In the first step we choose to check the efficiency of six
algorithms for the value of 𝜌 = 20.
In Tables 16 and 17, we represent the value of ARPD for the different algorithms. We retain the same assumptions of the
simulation as the case of weak instance. We have also seen the clear good performance of the genetic algorithm. Indeed, we were
able to modify the neighborhood system for the GA algorithm; this allowed us to improve the efficiency of the GA algorithm while
reducing the size of the population. We record that the minimum value of APRD is also given by GA1 algorithm based NEH like
the previous case. The success rate of the GA algorithm is 76.66%. The analysis is made on a set of 20 instances for the six weight
configurations of the objective function weighting 𝜔 ∈ {0, 0.2, … , 1} making a total of 120 instances.
The goal of which is to continue in research of the relevance of the algorithms used in solving our problem. We propose in
Tables 18 and 19 an analysis using the parameter 𝜌 = 30 for relatively large size instances. We can see that the GA1 algorithm
is the best performing one among all the proposed algorithms. The minimum value recorded is 0.02% obtained by GA1 , although
the largest value is 2.62% given by the MBO2 algorithm. We note that the algorithm GA1 achieves the minimum value in 91 cases
among 120 simulated giving a success rate of 84.16%. From this last analysis, we can confirm therefore that the algorithm GA1 is
a effective method for solving the DNWPFSP-SDST bi-objective scheduling problem.
21
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
Fig. 9. The means plots of all algorithms for medium instances with 𝜌 = 30.
5. Conclusion
Optimization problems in distributed workshops are the new generation of optimization problems in scheduling industry. In this
paper, we have proposed two approaches to solve the distributed flow shop problem under the constraints no wait and sequence
dependent setup time. In fact, we have developed a model in mixed integers linear programming and a set of heuristics and
metaheuristics. The objective is to minimize the maximum tardiness and the makespan expressed by a single weighted objective
function. Such a model enhances flexibility in decision-making by favoring one criterion over another. The approach developed by
metaheuristics is based on three algorithms inspired nature. We used the genetic algorithm, the artificial bee colony algorithm and
the migratory bird optimization algorithm. We have implemented two versions for each metaheuristic and in total six algorithms are
proposed. For the different metaheuristics, we applied new methods of exploring the neighborhood system. In addition, metaheuristic
algorithms are initialized by two powerful constructive solution algorithms denoted by NEH and GRASP. A comparative study
is carried out on small, medium and large instances in order to verify the effectiveness of our methods using the MILP and
metaheuristics. The simulation shown the good performance of NEH compared to GRASP for small instances and the good efficiency
of the genetic algorithm based NEH compared to the other two metaheuristics for medium and large instances.
In the future, several research directions may be used to enrich the scheduling optimization study for distributed flow shop
problems. Consequently, various objectives and constraints will be the subject of a problem to study, such as the introduction of
energy consumption in the objective function and the importance of taking into account the constraints of unavailability of machines.
A multi-objective optimization of the total flow time and total tardiness constitute a potential problem of great industrial interest
to be addressed in the future.
References
[1] S.M. Johnson, Optimal two-and three-stage production schedules with setup times included, Nav. Res. Logist. Q. 1 (1) (1954) 61–68.
[2] M.R. Garey, D.S. Johnson, R. Sethi, The complexity of flowshop and jobshop scheduling, Math. Oper. Res. 1 (2) (1976) 117–129.
[3] J. Behnamian, S.F. Ghomi, A survey of multi-factory scheduling, J. Intell. Manuf. 27 (1) (2016) 231–249.
[4] A. Toptal, I. Sabuncuoglu, Distributed scheduling: a review of concepts and applications, Int. J. Prod. Res. 48 (18) (2010) 5235–5262.
[5] B. Wang, K. Han, J. Spoerre, C. Zhang, Integrated product, process and enterprise design: why, what and how? in: Integrated Product, Process and
Enterprise Design, Springer, 1997, pp. 1–20.
[6] R. Ruiz, Q.-K. Pan, B. Naderi, Iterated greedy methods for the distributed permutation flowshop scheduling problem, Omega 83 (2019) 213–222.
[7] T. Meng, Q.-K. Pan, L. Wang, A distributed permutation flowshop scheduling problem with the customer order constraint, Knowl.-Based Syst. 184 (2019)
104894.
[8] J.-P. Huang, Q.-K. Pan, L. Gao, An effective iterated greedy method for the distributed permutation flowshop scheduling problem with sequence-dependent
setup times, Swarm Evol. Comput. 59 (2020) 100742.
[9] W. Shao, D. Pi, Z. Shao, A Pareto-based estimation of distribution algorithm for solving multiobjective distributed no-wait flow-shop scheduling problem
with sequence-dependent setup time, IEEE Trans. Autom. Sci. Eng. 16 (3) (2019) 1344–1360.
[10] B. Naderi, R. Ruiz, The distributed permutation flowshop scheduling problem, Comput. Oper. Res. 37 (4) (2010) 754–768.
22
K. Allali et al. Simulation Modelling Practice and Theory 116 (2022) 102455
[11] S.-y. Wang, L. Wang, M. Liu, Y. Xu, An effective estimation of distribution algorithm for solving the distributed permutation flow-shop scheduling problem,
Int. J. Prod. Econ. 145 (1) (2013) 387–396.
[12] B. Naderi, R. Ruiz, A scatter search algorithm for the distributed permutation flowshop scheduling problem, European J. Oper. Res. 239 (2) (2014)
323–334.
[13] S.-W. Lin, K.-C. Ying, C.-Y. Huang, Minimising makespan in distributed permutation flowshops using a modified iterated greedy algorithm, Int. J. Prod.
Res. 51 (16) (2013) 5029–5038.
[14] J. Gao, R. Chen, W. Deng, An efficient tabu search algorithm for the distributed permutation flowshop scheduling problem, Int. J. Prod. Res. 51 (3) (2013)
641–651.
[15] J. Gao, R. Chen, A hybrid genetic algorithm for the distributed permutation flowshop scheduling problem, Int. J. Comput. Intell. Syst. 4 (4) (2011)
497–508.
[16] Y. Yang, P. Li, S. Wang, B. Liu, Y. Luo, Scatter search for distributed assembly flowshop scheduling to minimize total tardiness, in: 2017 IEEE Congress
on Evolutionary Computation, CEC, IEEE, 2017, pp. 861–868.
[17] M. Komaki, B. Malakooti, General variable neighborhood search algorithm to minimize makespan of the distributed no-wait flow shop scheduling problem,
Prod. Eng. 11 (3) (2017) 315–329.
[18] N.G. Hall, C. Sriskandarajah, A survey of machine scheduling problems with blocking and no-wait in process, Oper. Res. 44 (3) (1996) 510–525.
[19] W. Shao, D. Pi, Z. Shao, Optimization of makespan for the distributed no-wait flow shop scheduling problem with iterated greedy algorithms, Knowl.-Based
Syst. 137 (2017) 163–181.
[20] S. Hatami, R. Ruiz, C. Andrés-Romano, Heuristics and metaheuristics for the distributed assembly permutation flowshop scheduling problem with sequence
dependent setup times, Int. J. Prod. Econ. 169 (2015) 76–88.
[21] Y. Wang, X. Li, Z. Ma, A hybrid local search algorithm for the sequence dependent setup times flowshop scheduling problem with makespan criterion,
Sustainability 9 (12) (2017) 2318.
[22] E.-d. Jiang, L. Wang, An improved multi-objective evolutionary algorithm based on decomposition for energy-efficient permutation flow shop scheduling
problem with sequence-dependent setup time, Int. J. Prod. Res. 57 (6) (2019) 1756–1771.
[23] Z. Shao, D. Pi, W. Shao, A novel discrete water wave optimization algorithm for blocking flow-shop scheduling problem with sequence-dependent setup
times, Swarm Evol. Comput. 40 (2018) 53–75.
[24] L. He, W. Li, Y. Zhang, Y. Cao, A discrete multi-objective fireworks algorithm for flowshop scheduling with sequence-dependent setup times, Swarm Evol.
Comput. 51 (2019) 100575.
[25] S. Aqil, K. Allali, On a bi-criteria flow shop scheduling problem under constraints of blocking and sequence dependent setup time, Ann. Oper. Res. (2019)
1–23.
[26] F. Zhao, L. Zhao, L. Wang, H. Song, An ensemble discrete differential evolution for the distributed blocking flowshop scheduling with minimizing makespan
criterion, Expert Syst. Appl. 160 (2020) 113678.
[27] C.-Y. Cheng, K.-C. Ying, H.-H. Chen, H.-S. Lu, Minimising makespan in distributed mixed no-idle flowshops, Int. J. Prod. Res. 57 (1) (2019) 48–60.
[28] J. Deng, L. Wang, A competitive memetic algorithm for multi-objective distributed permutation flow shop scheduling problem, Swarm Evol. Comput. 32
(2017) 121–131.
[29] A.P. Rifai, H.-T. Nguyen, S.Z.M. Dawal, Multi-objective adaptive large neighborhood search for distributed reentrant permutation flow shop scheduling,
Appl. Soft Comput. 40 (2016) 42–57.
[30] J.-J. Wang, L. Wang, A knowledge-based cooperative algorithm for energy-efficient scheduling of distributed flow-shop, IEEE Trans. Syst. Man Cybern.:
Syst. 50 (5) (2018) 1805–1819.
[31] J.-f. Chen, L. Wang, Z.-p. Peng, A collaborative optimization algorithm for energy-efficient multi-objective distributed no-idle flow-shop scheduling, Swarm
Evol. Comput. 50 (2019) 100557.
[32] Y. Fu, G. Tian, A.M. Fathollahi-Fard, A. Ahmadi, C. Zhang, Stochastic multi-objective modelling and optimization of an energy-conscious distributed
permutation flow shop scheduling problem with the total tardiness constraint, J. Cleaner Prod. 226 (2019) 515–525.
[33] T. Meng, Q.-K. Pan, A distributed heterogeneous permutation flowshop scheduling problem with lot-streaming and carryover sequence-dependent setup
time, Swarm Evol. Comput. 60 (2021) 100804.
[34] F. Xiong, M. Chu, Z. Li, Y. Du, L. Wang, Just-in-time scheduling for a distributed concrete precast flow shop system, Comput. Oper. Res. 129 (2021)
105204.
[35] B. Zhang, Q.-k. Pan, L. Gao, X.-l. Zhang, H.-y. Sang, J.-q. Li, An effective modified migrating birds optimization for hybrid flowshop scheduling problem
with lot streaming, Appl. Soft Comput. 52 (2017) 14–27.
[36] X. Zhang, X.-T. Li, M.-H. Yin, An enhanced genetic algorithm for the distributed assembly permutation flowshop scheduling problem, Int. J. Bio-Inspir.
Comput. 15 (2) (2020) 113–124.
[37] G. Prabhaharan, B.S.H. Khan, L. Rakesh, Implementation of grasp in flow shop scheduling, Int. J. Adv. Manuf. Technol. 30 (11) (2006) 1126–1131.
[38] M. Nawaz, E.E. Enscore Jr., I. Ham, A heuristic algorithm for the m-machine, n-job flow-shop sequencing problem, Omega 11 (1) (1983) 91–95.
[39] S. Aqil, K. Allali, On VNS-GRASP and iterated greedy metaheuristics for solving hybrid flow shop scheduling problem with uniform parallel machines and
sequence independent setup time, in: Heuristics for Optimization and Learning, Springer, 2021, pp. 17–32.
[40] E.M. González-Neira, J.R. Montoya-Torres, A GRASP meta-heuristic for the hybrid flowshop scheduling problem, J. Decis. Syst. 26 (3) (2017) 294–306.
[41] E. Alekseeva, M. Mezmaz, D. Tuyttens, N. Melab, Parallel multi-core hyper-heuristic GRASP to solve permutation flow-shop problem, Concurr. Comput.:
Pract. Exper. 29 (9) (2017) e3835.
[42] C.E. Andrade, T. Silva, L.S. Pessoa, Minimizing flowtime in a flowshop scheduling problem with a biased random-key genetic algorithm, Expert Syst. Appl.
128 (2019) 67–80.
[43] Y. Rao, R. Meng, J. Zha, X. Xu, Bi-objective mathematical model and improved algorithm for optimisation of welding shop scheduling problem, Int. J.
Prod. Res. 58 (9) (2020) 2767–2783.
[44] D. Gong, Y. Han, J. Sun, A novel hybrid multi-objective artificial bee colony algorithm for blocking lot-streaming flow shop scheduling problems,
Knowl.-Based Syst. 148 (2018) 115–130.
[45] J.-q. Li, S.-C. Bai, P.-y. Duan, H.-y. Sang, Y.-y. Han, Z.-x. Zheng, An improved artificial bee colony algorithm for addressing distributed flow shop with
distance coefficient in a prefabricated system, Int. J. Prod. Res. 57 (22) (2019) 6922–6942.
[46] A. Sioud, C. Gagné, Enhanced migrating birds optimization algorithm for the permutation flow shop problem with sequence dependent setup times,
European J. Oper. Res. 264 (1) (2018) 66–73.
[47] T. Meng, Q.-K. Pan, J.-Q. Li, H.-Y. Sang, An improved migrating birds optimization for an integrated lot-streaming flow shop scheduling problem, Swarm
Evol. Comput. 38 (2018) 64–78.
[48] I. Benkalai, D. Rebaine, C. Gagné, P. Baptiste, Improving the migrating birds optimization metaheuristic for the permutation flow shop with
sequence-dependent set-up times, Int. J. Prod. Res. 55 (20) (2017) 6145–6157.
[49] E. Vallada, R. Ruiz, G. Minella, Minimising total tardiness in the m-machine flowshop problem: A review and evaluation of heuristics and metaheuristics,
Comput. Oper. Res. 35 (4) (2008) 1350–1373.
[50] R. Ruiz, T. Stützle, An iterated greedy heuristic for the sequence dependent setup times flowshop problem with makespan and weighted tardiness objectives,
European J. Oper. Res. 187 (3) (2008) 1143–1159.
23