Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

Operational Research (2021) 21:1153–1178

https://doi.org/10.1007/s12351-019-00470-8

ORIGINAL PAPER

Bi‑objective hybrid flow shop scheduling with common


due date

Zhi Li1,2 · Ray Y. Zhong2 · Ali Vatankhah Barenji1   · J. J. Liu1 · C. X. Yu3 ·


George Q. Huang2

Received: 24 November 2017 / Revised: 4 November 2018 / Accepted: 26 February 2019 /


Published online: 6 March 2019
© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Abstract
In this paper, the problem of hybrid flow shop scheduling with common due dates
(HFSCDD) is studied, and the objectives are to minimize the total waiting time and
the total earliness/tardiness issues that arise. This study was motivated by a real-life
shop floor, with the predefined goal of meeting the requirements of the final prod-
uct in many manufacturing industries. Where the final product is assembled from
multiple components and, the assembly is only initiated when all components of the
product are complete in number. These interrelated components have common due
dates. In this study, we developed a mathematical model of HFSCDD which made
up of “n” jobs that were processed in “m” machines, located on “I” stages by tak-
ing into consideration the common due dates. This problem is classified as being
NP-hard, and so an efficient modified genetic algorithm is developed to solve it. The
proposed modify GA is developed based on the NSGA II method for large sized
problems. The results of the proposed algorithm have been compared with PSO and
GA algorithms and showed that the proposed algorithm achieved better performance
than existing solutions, since the waiting time and the earliness/tardiness are signifi-
cantly reduced. This is facilitated by the simultaneous production of components for
the same product.

Keywords  Hybrid flow shop scheduling · Multi-objective · Genetic algorithm ·


Common due date

1 Introduction

Scheduling strategies are crucial in helping manufacturing enterprises to meet the


increasingly high customer demands and expectations due to the growing competi-
tive nature of the present consumer market. In the production systems, the flow shop

* Ali Vatankhah Barenji


Ali.vatankhah.barenji@gmail.com
Extended author information available on the last page of the article

13
Vol.:(0123456789)

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


1154 Z. Li et al.

scheduling problem is one of the most distinguished environments (Barenji et  al.
2017). Moreover, all jobs follow the same processing route and need to be processed
at every stage. This problem could be considered as the foundation of several other
interesting formulations (Barenji 2013; Rahimi-Vahed et  al. 2009). As a branch
in flow shop scheduling, the hybrid flow shop (HFS) has played a crucial role in
modern manufacturing and production system, e.g., in the glass, electronics, textile,
paper, steel and pharmaceutical industries (Grabowski and Pempera 2000; Pan et al.
2013; Tavakkoli-Moghaddam et  al. 2007). Furthermore, HFS simulates the com-
mon manufacturing processes, which consist of a set of production stages, where
at least one stage has two or more unrelated parallel machines. This can be consid-
ered as an extension of the flow shop scheduling problem (Rabiee et al. 2014; Wang
2015). However, where the permutation of jobs for each machine is the only thing
needed, HFS (with potentially more than one machine per stage), needs to consider
the assignment of jobs to machines as well as the sequence of jobs on each of the
machine (Pan et  al. 2017). In this respect, many researchers have focused on the
HFS problem; also, various papers have been published in recent times, such as sev-
eral review papers (Linn and Zhang 1999; Luo et al. 2013; Ruiz and Vázquez-Rod-
ríguez 2010). The complexity of the HFS problem has proved to be NP-hard, even
when it includes only two stages (Gupta 1988). And so, precise algorithms have
been designed to find optimal solutions to HFS problems. However, such solutions
can only be gotten when a small size or a very simple scenario is presented, such as
Engin et al. (2011) and Liang and Fung (2016). Therefore, heuristic algorithms pro-
vide a wider and more practical choice for finding high-quality solutions in reason-
able computational time, instead of finding an optimal solution. Heuristic methods
operate by finding the nearest optimal solutions of various practical problems at a
relatively short space of time, so this makes the heuristic method to be widely used
for solving NP-hard problems (Engin et al. 2011; Kim et al. 2009; Li et al. 2015).
However, heuristic methods usually need to be based on the specific characteristics
of the problem. In recent years, the presentation of meta-heuristics, for tackling HFS
problems have grown quickly. Great efforts have been dedicated to meta-heuristics
and satisfactory results have been achieved in solving large-scale HFS problems,
such as tabu search algorithm (Solimanpur and Elmi 2011; Wang and Tang 2009),
genetic algorithm (Azizi et al. 2016; Naderi et al. 2010), artificial bee colony algo-
rithm (Pan et al. 2014; Zhou and Yao 2017) and migrating birds optimization (Meng
2017; Zhang 2017).
Nowadays, many researchers have focused on HFS problems. Ruiz et al. (2010)
stated that in the past 50  years, more than 200 papers have been published in
this filed and many approaches including exact algorithm have been described i.e.
heuristic and meta-heuristic for HFS problems and its many variants. For exam-
ple, Figielska (2014) proposed a heuristic for scheduling in the two-stage flow
shop with one machine at the first stage and parallel unrelated machines at the
second stage, where the renewable resources are shared amongst the stages. Fur-
thermore, Jun and Park (2015) highlighted the HFS problem in the transformer
industry and proposed an algorithm for its solution. The algorithm was a combi-
nation of the Nawaz–Enscore–Ham (NEH) heuristic (a local search algorithm),
and a machine allocation rule with the aim of minimizing the total tardiness.

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1155

Asefi et al. (2014) addressed the no-wait k-stage HFS problem, where there were
“m” machines at each stage. The aim was to minimize the makespan and mean
tardiness; this was accomplished by using a multi-objective approach to solve the
aforementioned problem. Lei and Guo (2016) considered the HFS problem and
based their decision on the number of machines to be used. Previous studies on
HFS often assume that the jobs are independent and therefore, show no assembly
relationship. However, in a real industrial system, the final products are usually
assembled from sub-assemblies in many manufacturing industries. Each prod-
uct may, in turn, be assembled from lower levels of sub-assembly components
(Barenji et al. 2016). Therefore, in real industrial systems, all of the components
for each product need to be produced in the hybrid flow shop before the final
assembly takes place. Moreover, one of the main reason for poor performance of
manufacturing companies is the non-coordination of the interrelated components
in the production process, which is required for the assembly of the final product
(Thuerer et al. 2013; Vatankhah Barenji and Vatankhah 2017).
The interrelated components of a product can be easily processed either too
early or too late; this is because of the various sources of manufacturing system
complexities. As a consequence, the production waiting time (i.e. the interval of
the last component completion time and the first component completion time for
a product) is very long, which not only means larger work-in-process (WIP), but
also more wastage of limited processing capacity. Thus, minimizing the produc-
tion waiting time is one of the objectives that need to be satisfied in order to
tackle the HFS problem; this is accomplished by considering the common due
dates. On the other hand, speeding up or slowing down the interrelated compo-
nents in order to decrease the production waiting times may pull them away from
their common due date (earliness/tardiness). Therefore, minimizing the sum of
the earliness and tardiness is another objective that must be satisfied in order to
tackle the HFS problem. In literature, the most common and popular measure of
the performance of the HFS focuses on minimizing the makespan which leads to
a higher throughput and a higher utilization of production resources (Pan et  al.
2014, 2017; Hidri 2016).
Therefore, based on literature and existing research papers waiting time and mean
earliness/tardiness are main minimization problem which still suffering from mini-
mization, on the HFS problem with common due date considered. Therefore, this
research paper first developed a mathematical model by considering the assembly
line on a common due date, named it HFSCDD and then proposed mathematical
model is solved by a modified genetic algorithm. In order to minimize the produc-
tion waiting times and the overall sum of earliness/tardiness, the performance of the
proposed algorithm is demonstrated by making extensive numerical comparisons of
two other efficient algorithms in the paper.
The main contribution of this paper are as follows: (1) we developed a mathe-
matical model by considering the multi-line assembly line and common due date
for HFS problem. (2) We proposed NSGA II for solving the mathematical model
considering minimizing waiting time and overall sum if earliness/tardiness. (3) The
modified algorithm is developed for large-sized problems and compare with genetic
algorithm (GA) and particle swarm optimization algorithm.

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1156 Z. Li et al.

The rest of this paper was organized as follows. In Sect. 2, the HFSCDD problem
was stated in detail and a mathematical model was presented. Our proposed algo-
rithm for solving HFSCDD problem was described in Sect. 3. Furthermore, to show
the effectiveness of the proposed algorithm, the experimental design and numerical
comparisons were reported in Sect. 4. Finally, Sect. 5 discusses the conclusions and
future works.

2 Problem definition and formulation

From the literature review, it is quite evident that piecing together a feasible plan
that meets the requirement of both objectives, such as production waiting time and
earliness/tardiness, is a difficult task. Therefore, the bi-objective HFSCDD problem
is used and described as follows. A set of P products P = {1, 2… n} has to be assem-
bled by J components. Each component or assembly part J, includes Br sub-process.
Each sub-process Br has to be processed through “m” machines that are located on
“I” production stages {1, 2,…, n}, following the same production route, i.e. stage
1 first, then stage 2, and so on, until the last stage. Each stage has a set of identical
parallel machines, Mi (|Mi| ≥ 2 for at least on stage, where |·| denotes the cardinality
of a set). Each sub-process B ­ r of product J, can be processed on any |Mi| machines at
stage I and, the processing time for all machines is same. We denote the processing
time of component J at stage I as P (J, I). Furthermore, all components of a prod-
uct P have a common due date for meeting the production requirements of the final
product, which is denoted as dJ.
Figure  1 shows the hybrid flow shop studied in this paper. Our assumption is
that each component can be processed in one machine and one component in each
machining process at the same time. Moreover, all components are independent and
available for processing at the initial time. Operations are non-preemptive and the
size of the buffering area in the assembly module is deemed to be unlimited. Also,
product assembly cannot start until all its subsidiary components are finished and
located in the buffer. Therefore, the objective is to find a suitable schedule so that
the assembly waiting time and the sum of earliness/tardiness are minimized simulta-
neously. n is defined as a positive number on overall model.
Before presenting the mathematical formulation, the notations used are summa-
rized below.

(1) Indices

P Index of products, P = 1, …, n;


r Index of sub-component or sub-process, r = 1, …, n;
I Index of stage I, I = 1, …, n;
m Index of machines for stage I, m = 1,…, |Mi|;
t Index of time unit, t = 1, …, n;

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1157

Fig. 1  Hybrid flow shop with a common due date for meeting assembly requirements

(2) Sets

Sp Set of all products, Sp = {1, 2, …, P}, P ∈ Sp;


Br Set of sub-process or sub component of J P; Br = {1, 2, …, n}, Br ∈ J;
MI Set of machines in stage I, MI = {1, 2, …, ­MI}, m ∈ MI;

(3) Parameters

WLI Waiting list of stage I;


Q Arbitrary large number;
P (J, I) Processing time of job J in stage I;
MT(mJ, J) Processing time of job J on machine m in stage I;
CT (J, I) Completion time of job J in stage I;
C(J) Completion time of the last finished component for product J;
E(J) Earliness of product J;
T(J) Tardiness of product J;
CPT(J, t, I) Component J of product P at time t in the stage I (waiting list or cache
processing zone);
PR(J, t) The remaining processing time of component J at time t;
IOS(J) The index of offset for simultaneity of component J;
PRI(J, I) Priority of component J in the waiting list of stage I;

(4) Decision variables

MC(mI, t) 1, if machine m of stage I is busy at time t, and 0 otherwise


YJIm 1, if job J on stage I is scheduled in machine m, and 0 otherwise;
XJIm 1, if job J precedes job J-1 on stage I, and 0 otherwise;

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1158 Z. Li et al.

2.1 Objective function

√ P n
√∑ ∑
f1 (x) = minCT = √ (CT(J, I) − C(J))2 (1)
J=1 J=1

P P
∑ ∑
f2 (x) = minET = (E(J) + T(J)) = |dJ − C(J)| (2)
J=1 J=1

Subject to:
MI

YJIm = 1 (3)
m=1

CT(J, I) ≥ CT(J, I − 1) + P(J, I) (4)


Q(2 − Yjim − Yrim + Xjri ) + CT(j, i) − CT(r, i) ≥ P(j, i) J>r (5)
Q(3 − Yjim − Yrim − Xjri ) + CT(r, i) − CT(j, i) ≥ P(r, i) (6)

C(J) = max{CT(J, I)} (7)


E(J) = max(0, dJ − C(J)) (8)
T(J) = max(0, C(J) − dJ ) (9)
The objective function (1) states that the production waiting time between the dif-
ferent components needs to be minimized in order to achieve the product. The objec-
tive function (2) states that the minimization of the earliness and tardiness of the
maximum products is sought. Constraint (3) specifies that each component should
be assigned to one machine at each stage. Constraint (4) guarantees that each com-
ponent proceeds sequentially in accordance with the pre-defined orders. Constraints
(5) and (6) forbid a machine from processing more than one component simultane-
ously. Constraint (7) defines the earliest start-up time of the assembly for each prod-
uct. Constraints (8) and (9) calculate the earliness and tardiness of the products.

3 Bi‑objective genetic algorithm

Since HFSCDD scheduling problem belongs to the NP-hard family of the prob-
lems, to solve the problem by using the presented mathematical model, the solution
time increases rapidly when the number of the product rises, and the exact solu-
tion methods fail to solve the problem. One of the most effective approaches to deal
with this problem is using one of the metaheuristic algorithms. Genetic algorithms
(GA) are among the most frequently used algorithms in the scheduling problems.
Therefore, in this study, the modified genetic algorithm (GA) is used for solving

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1159

the bi-objective HFSCDD problem. The proposed algorithm makes use of a two-
level chromosome to represent the relationship between the product and its compo-
nents. The first level of chromosome represents the permutation of products, while
the second level of the chromosome represents the permutation of the components.
The chromosomes should be decoded in order to assign components to designate a
machine at all stages. Through decoding, the completion time of the components
can be calculated for fitness evaluation i.e. based on the two objectives. The methods
of Pareto non-dominated sorting and crowding distance assignment used in NSGA
II (Deb et  al. 2002), are used for evaluating the fitness value of chromosomes. In
fact, a better chromosome has a bigger fitness value. The evolution process includes
selection, crossover, mutation, and recombination and production of new genera-
tions. Therefore, we used the non-dominated sorting genetic algorithm for solving
the proposed bi- objective problem (Coello et al. 2007). NSGAII is an extension of
the GA for optimization of multiple objective function. It is related to other evalua-
tion multiple objective optimization algorithms. The pseudo code and flowchart of
the proposed algorithm are illustrated in Fig. 2. The proposed algorithm runs itera-
tively until the stopping criterion is reached (Murugan et al. 2009). More details are
given as follows.

3.1 Encoding and initialization

Figure 3 illustrates the upper level of the chromosome, which shows the permutation
of products, and each product at the first level has a subsidiary permutation of com-
ponents at the lower level. This encoding method enables components of the same
product to be processed together in the first phase, which gives it a higher probabil-
ity of finishing at the same time.

Fig. 2  The pseudocode of NSGA II algorithm

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1160 Z. Li et al.

Fig. 3  A sample of two-level chromosome

3.1.1 Encoding approach

Step 1 For fs = 1,…, n.


Group component J together where J = fs
/* Components of the same product will be grouped together */
Step 2 Permute all the products to generate the level-1 chromosomes.
Step 3 Permute all the components of all the products to generate the level-2
chromosomes.

For instance, there are 13 components belonging to 4 products in stage 1. A chro-


mosome can be represented in Fig. 2. We use pop to denote the population size of
our GA. Initially, the encoding process will be executed pop times to generate all the
initial chromosomes.

3.2 Decoding

Encoding is used to join a set of genes in order to form chromosomes. Locus of


genes on the chromosome indicates the processing order of corresponding opera-
tions. After all, jobs are assigned to the designated machines with the determined
route in each stage, the completion time for all jobs can eventually be calculated.
Following this, the fitness value is then evaluated for each individual. The decod-
∑n
ing scheme needs to designate the allocation for all 1 J components on the stage
I, with priority placed on every single operation. Decoding will use a simulation
method to assign each component to an idle machine until all the components have
been processed on all steps. In the first step, the components are grouped based on
the product number, and then, the sequence of components are denoted by a two-
level chromosome. At heuristic step, the components will wait in the process step I
waiting list. The waiting list is represented as a one-level chromosome.
A set of sequences are used to store the gene sequences from the GA generators,
e.g. crossover and mutation. Each sequence contains a set of items that denotes the
corresponding components or products. The position of the item denotes the pro-
cessing order for the corresponding component or product. In the first stage, items in
the first level of chromosome denote the products’ sequence (J ∈ SJ), and then, items
in the second level of chromosome denote the sequence of components for the same
product. At the heuristic step, items in the sequence of waiting list are used to denote

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1161

all components, and these components are not grouped by the number of products
(J ∈ MLI). The components at the top of the waiting list are selected for processing.
The difference between the first step and the heuristic step is that the waiting list of
the heuristic step can be reordered by utilizing a heuristic method, which helps in
controlling the production simultaneity.

3.2.1 Main loop

For t = 0 to T

Scan all machines (mi = 1, 2,…, |Mi|) in each stage.

Step 1 IF MC(mi , t) = 0 AND WLi ∉ �

/* If the machine is idle and the machine buffer is not empty */

I = Select-TOP: ­WLI

MT (mi, J) = P(J,I)

MC(mi, t) = 1

/*The idle machine will select the first component in the buffer for processing */

Step 2 IF CT(J, I − 1) = t

/* If a machine has finished component ­Br at stage I − 1 at time t */

GO TO ASSIGN CPT (Br, I, t)

/* Assign the component j in the waiting list of current stage I. */ Next t


The production process is simulated by the decoding method employed. At stage
i, all parallel machines share a common machine buffer. The incoming components
from previous stage I − 1 (I > 1) or the blank area (I = 1) will be pushed to any idle
machine or to the common machine buffer in accordance with the “First In First
Out” rule i.e. if no machines seem to be idle. Once a machine finishes its current
operation, it pulls the first component from the machine buffer for the processing
operation. To avoid machine conflict, rules needs to be defined, such as: (1) if the
buffer at stage I isn’t empty, then machines at stage I shouldn’t be idle, (2) machines
are coded as 1, 2, …, m, whenever a part is in the buffer, then this part is put in an
idle machine with respect to the sequential number, e.g. if machine 2 and 3 are idle
at the same time, then the part is placed in machine 3.

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1162 Z. Li et al.

3.2.2 Heuristic algorithm for sequencing waiting list

The heuristic algorithm optimizes the encoding process in order to facilitate the
simultaneity control of components of the same product. The main procedure uti-
lized in the heuristic algorithm consists of two operations: reordering the waiting
list and then, assigning a new arrival component in the waiting list of that stage.
The heuristic algorithm for sequencing the waiting list is applied from the second
stage to the last stage. The difference between the heuristic and the aforementioned
decoding method is that the component permutation isn’t fixed; also, the following
index determines the priority of the job selection during processing. The heuristic
can reorder components in the waiting list for each stage, which helps in facilitating
the simultaneous arrival of components of the same product.
When a machine is idle, a component in the waiting list is assigned to an idle
machine. Components in the waiting list are sequenced in increasing order by the
Priority Index (PRI). The component with a higher PRI, is selected first and assigned
to the idle machine.
As this research takes into account the processing simultaneity of components of
the same product, the degree of simultaneity will be measured. An index of Offset
for Simultaneity (IOS) is innovatively used for measuring the degree of the sim-
ultaneity. This idea is based on a simple hypothesis: the more similar the remain-
ing processing time amongst the different components for the same product is, the
higher the probability of finishing these components at almost the same time during
the final assembly. The IOS index measures the relative production velocity of the
component by making a comparison of other components having a similar prod-
uct. Mean remaining processing time is used for representing the average production
velocity of the product. The remaining processing time of the component minus the
mean remaining processing time for that product is equal to the IOS. Following this,
the IOS can then be used to measure how simultaneous the component is with other
components of the same product. If the value of the IOS is positive, it means that the
component was processed too slowly, and so it needs to be accelerated. If the value
of the IOS is negative, it means that the component was processed too fast, and so it
will wait for the processing of other components that have higher IOS value on the
waiting list.
The value of the IOS is used to reflect the degree of how simultaneous a com-
ponent is with other components of the same product, which can be compared with
other components of different products in the same waiting list. Although the com-
ponents in the waiting list belong to different products, they can be sequenced in
descending order by the IOS, and the rank number is the PRI for the component in
the waiting list (PRI (J, I)). The component with the larger IOS value has a higher
PRI, and so it should be processed with higher priority. The procedure for calculat-
ing the value of the PRI and IOS is made up of three steps.

Step 1 Calculate the remaining processing time PR (J, t) for all components at time t.

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1163

Step 2 Calculate the mean value of the remaining processing time for the compo-
nents of the same product, and then its IOS is calculated by using the remaining
processing time of the component minus the mean value.

PR(J, t)
IOS(j) = PR(J, t) − (10)
J
Step 3 Rank the components separately for each waiting list (WLI,); the components
are then sorted by the descending order of their IOSs, and the PRI (J, I) becomes the
rank number.
The aim of this heuristic algorithm is to control the production simultaneity. This
is to say that when a component is processed later or earlier than other components
of the same product, it may not be able to meet up simultaneously with the common
due date of other components. Accordingly, a higher IOS will be assigned to the
component, which means higher priority is assigned to this component in order to
be accelerated or postponed. Therefore, the deviation of the finish time with respect
to the different components can be minimized for final assembly. For example, if
most of the components are finished and ready for assembly, the mean remaining
time of the product becomes closer to zero. Therefore, the late component then has
larger IOS and higher PRI, and will be accelerated to meet up with the common due
date.

3.3 Pareto non‑dominated sort

The Pareto non-dominant sorting method used in NSGA II is for sorting the popula-
tion into different non-dominant levels. The Pareto non-dominant sorting method is
listed below.

• For each individual x in the population pop:


• Set Sx = � . This set is used for highlighting all the individuals dominated by x.
• Set ­Vx = 0. This is the domination counter used to indicate the number of indi-
viduals which dominate x.
• For each individual y in the population pop.

• If x dominates y then add y into the set Sx , i.e., Sx = Sx {y}.
• Else if y dominates x then add one to the domination counter of x, i.e.,
­Vx = Vx + 1.
• If ­Vx = 0, i.e., if there is no individual that dominates x, then x is included in the
first Pareto front. Use x rank to describe the level of the Pareto front which x
belongs to. Then x rank = 1, when x belongs
⋃ to the first Pareto front. Add x to the
set of first Pareto front, i.e., F1 = F1 {x}..
• This operation repeats itself until all the population pop has been ranked and
added to the set belonging to the Pareto front.
• Set the Pareto front counter to one, i = 1. The operations below will be repeated
until the ith front is empty, i.e. Fi ≠ ∅.
• H = � . H is the set to contain the individuals in (i + 1) th Pareto front.
• For each individual x in Pareto front Fi.

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1164 Z. Li et al.

• For each individual y in a set Sx containing individuals dominated by x.


• If ­Vx = Vx − 1, the dominant count domination count minus one for the individ-
ual y.
• If ­Vx = 0 then y dominates all individuals in the subsequent Pareto fronts. There-
fore, set y rank = i + 1. Add y to the set of first Pareto front H, i.e., H = HUy.
• The front counter minus one.
• Now the set H is the next front and hence ­Fi = H.

This non-dominant sorting method is an improved version of the one used in the
NSGA (Srinivas and Deb 1994).The advantage of this version is that it makes use of
the information on the set the individual dominates (Sx) and a number of individuals
that dominate the individual (Vx).

3.4 Assignment using crowding distance

The crowding distance in NSGA II is used for ranking the individual within the
same Pareto front. After the non-dominated sorting, a rank was assigned to each
individual, which indicated the Pareto front it belonged to. Hence, this made it pos-
sible for the crowding distance of individuals with the same rank to be measured.
The crowding distance of a particular solution is the mean value of its distance with
the two nearest solutions.

• For each Pareto front Fi , n is the number of all individuals belonging to this
Pareto front.
• Set the crowding distance of all individuals to zero, i.e., Fi (dj ) = 0 , where j cor-
responds to the j th individual in Pareto front Fi .
• For each objective function O

• Sort the individuals in front Fi based on objective m, i.e. L = sort (Fi, O).
• Assign infinite distance to the boundary values for each individual in Fi, i.e.,
L(d1) = ∞ and L(dn) = ∞

For k = 2 to (n − 1)
L(K + 1) ⋅ O − L(k − 1) ⋅ O
L(dk ) = L(dk ) +
fomax − fomin

 L(k)O means the value corresponding to Oth objective function of kth individ-
ual in I. The crowding distance assignment is used for calculating the Euclidian
distance of individuals in the same Pareto front within the O-dimensional space.

3.5 Selection

The selection process helps in extracting chromosomes from the solution pool to the
mating pool in order to reproduce an offspring population. The fitness value for each

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1165

chromosome is denoted as a binary vector (f1 (x), f2 (x)).The fitness value is set as the
criteria for measuring and selecting individual chromosome. The fitness value also
indicates the relative strength of chromosomes, and so chromosomes with larger
values are stronger. In our research, the mating pool has pop individuals, and the
binary tournament selection method is used to conduct the selection in order to keep
stronger chromosomes within the mating pool. This is highlighted in four steps.

Step 1 Non-dominant rank individual x. Individual x belongs to Pareto front Fi,


which is ranked as prank(x) = i.

Step 2 Use the crowding distance assignment to sequence all individuals. The
crowding distance comparison operator is denoted as ≻cd . The crowding assignment
follows the rules below:
x ≻cd y If
prank (x) > prank(y);
Prank(x) = prank(y) AND Fi (dx ) < Fi (dy )
Compare all the chromosomes and sort all the individuals in descending order.

Step 3 Choose the 𝜆 th best individual from the pool with a probability of p(1 − p)𝜆−1
.

Step 4 Repeat this operation from step 1 to 3 until the pop individuals are selected.

3.6 Crossover

Crossover generator helps in exchanging the genes within the different parent chro-
mosomes thereby generating offspring chromosomes. The crossover generator is
used as the main genetic operator, which has a major impact on the performance of
the genetic algorithm. The crossover generator randomly selects two chromosomes
for a crossover operation at a time, in order to create two offspring chromosomes.
The linear order crossover (LOX) operator introduced by Cheng et al. (1999) is used
in our proposed algorithm. This operator can preserve both the relative positions
between genes as much as possible and the absolute positions relative to the extrem-
ities of the parents.

3.7 Mutation

Selection, crossover, and mutation are often considered as the three search operators
for an optimized solution. Mutation is used to introduce variation into genes, which
helps in diversifying the chromosomes. It randomly changes a small part of genes
controlled by a designated mutation rate, and an appropriate mutation rate is helpful
for finding chromosomes with higher fitness value in a larger solution space. It helps
to prevent the selection and crossover from focusing on a narrow area of the search
space or the GA from getting stuck in a local optimum (Iyer and Saxena 2004). The

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1166 Z. Li et al.

two commonly used mutation operators are swap (SWP) and insertion (INS), which
are randomly used to conduct the mutation operation.

3.8 Recombination and selection

The recombination and selection act as the elitism strategy for generating a new gen-
eration. Firstly, the individuals from both the parent population and the offspring
population are combined to form 2 × pop-size population for later elitism selection.
Secondly, the individuals in the combined population are arranged with respect to
the rank of the different Pareto front by non-dominant sorting. Moreover, individu-
als in each Pareto front are arranged with respect to the sorting undertaken by their
crowding distance. Finally, the first half of the arrangement is selected as a new pop-
ulation with the pop size as the new generation.

3.9 Stopping criterion

Stopping criterion is a parameter in which the genetic algorithm executes in order to


terminate the solution searching process. Normally, the time, fitness threshold, fit-
ness convergence, population convergence, and gene convergence can be used as the
stopping criteria. However, in this research, a designated number of generations are
set to terminate the searching. This criterion is enhanced to avoid early premature
termination of solution searching; also, the designated number of generations will
be doubled if the fitness is improved within the last quarter of generations. This pro-
cess will repeat itself until the fitness is stable within the last quarter of generations.

4 Numerical experiments

This test is divided into three parts: (1) parameter calibration; this is because the
genetic algorithm performance is highly dependent on the parameters, and thus, the
performance evaluation is needed for accessing different combinations of parame-
ters in order to determine the optimal. (2) In order to prove the results of the pro-
posed modified GA based on the NSGA II, for HFSCDD problem, we used two
other algorithms namely the GA and PSO algorithm for comparison purpose. These
three algorithms are used for three different problems sets, to compare the optimi-
zation performance; (3) illustrative example formulates the three scenarios. This
two algorithms developed based on existing research work in this area and can be
defined as follow;
GA is a metaheuristic inspired by the process of natural selection that belongs
to the larger class of evolutionary algorithms (EA) and commonly used to create
high-quality results of optimization and search problems by relying on bio-inspired
operators. The operation of this algorithm follows 6 main step.

Step 1 Generate a random population of n chromosomes (suitable solutions for the


problem);

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1167

Step 2 Evaluate the fitness f(x) of each chromosome x in the population;

Step 3 Generate a new population by repeating the following steps until the new
population is complete;

Step 4 Use newly generated population for a further run of the algorithm

Step 5 If the end condition is satisfied, stop, and return the best solution in the cur-
rent population.

Step 6 Go to step 2;
As we mention before proposed NSGAII algorithm for solving HFSCDD prob-
lems follow the GA and is modified version of GA. Therefore, parameters selection
and the step of both algorithms are near and comparison of these two results is nec-
essary (Ruiz and Vázquez-Rodríguez 2010; Sha and Lin 2010), and the second algo-
rithm is PSO. Eberhart and Kennedy (1995), while observing the swarm behavior of
birds flocking and fish schooling proposed a population-based stochastic optimiza-
tion technique, which is known as the PSO technique. PSO like GA starts with a
population of random solutions known as particles. The algorithm continues search-
ing for the fittest value in problem space by updating the generations. In PSO, the
potential solutions fly through the problem space by following the current optimum
particles. However, unlike GA, PSO has no evolution operators such as crossover
and mutation. The canonical of the PSO, which is used for the proposed mathemati-
cal model, is developed based on (Sha and Lin 2010).
Suppose that the search space is D-dimensional and there are q particles in
the swarm. Particle i is located at position X ­ i = {X1i, ­X2i, …, X
­ Di} and has veloc-
i i i i
ity ­V  = {V1 , ­V2 , …, ­VD }, where i = 1; 2;…, q. Based on the PSO algorithm, each
particle move towards its own best position (pbest), denoted as P ­ besti = {pbest1i,
i i
­pbest2 ,…, ­pbestn }, and the best position of the whole swarm (gbest) is denoted as
Gbest = {gbest1, ­gbest2, …, g­ bestn} with each iteration. Each particle changes its
position according to its velocity, which is randomly generated toward the pbest and
gbest positions. For each particle r and dimension s, the new velocity Vrs and posi-
tion Xrs of particles can be calculated by equations (Shi and Eberhart 1999).
The overall procedure of the PSO algorithm can be described in the Fig. 4.
Based on the provided information regarding GA and PSO, they bring best results
for comparison purpose for NSGAII to solve HFSCDD problems. Since the relation-
ship between the swarm and particles in PSO is similar to the relationship between
the population and chromosomes in a GA both of them supported bi-objective
problems.

4.1 Parameters calibration

The performance of the NSGAII is highly dependent on the parameters. Therefore, an


analysis is conducted to determine the optimal setting. Four parameters are considered,

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1168 Z. Li et al.

Fig. 4  Pseudocode of PSO algorithm

namely, population size (pop), the probability of crossover (pc), probability of mutation
(pm), and generation (gen). The settings of these parameters are listed in Table 1.
The possible combinations of these parameters consist of 81 sets, and each set is
used to find out the maximum of the objective function. By comparing the results of the
maximum, we selected the best set of parameters as pop = 60, gen = 300, and pc = 0.8 in
the NSGA II algorithm. Some of the results are shown in Fig. 5, where the lower value
in the y-axis is better.

Table 1  Parameters and Settings


Parameters Pop Pc Pm gen

Settings 20 40 60 0.6 0.8 0.95 0.001 0.005 0.05 100 200 300

Fig. 5  Parameter calibration results

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1169

4.2 Optimized performance comparison of the algorithm

In order to verify the result of the proposed algorithm, the PSO and GA algo-
rithms were used in the model, and a comparison of the optimization perfor-
mance of the proposed algorithm with PSO and GA algorithms by conducting a
test for the three different problems sets was conducted. For covering a variety of
situations, three impact factors which consist of the product number N, the num-
ber of components B of a single product and the parallel machine number M of
each phase were defined. The product number N is of two kinds i.e. 3 and 5. The
number of components of B and the parallel machine number M of each phase is
similar to N equaling 3 and 5. Furthermore, the problem sets are represented by
the serial number of the impact factors, where eight kinds of combinations can
be generated. From the eight, three problem sets are chosen from them, where
problem  1 is N*B*M = 3*3*3, problem  2 is N*B*M = 5*3*3, and problem  3 is
N*B*M = 5*5*5. Problem 3 is used as the benchmark for illustrating our princi-
ple. Setting the conditions of the simulation experiment parameters. Parameters
of the proposed algorithm and GA algorithm are set as follows: Population size
(pop) equals 60, gen equals 300, Pc equals 0.8, Pm equals 0.005. Parameters of
the PSO algorithm are set as follows: population size x size equals 60, gen equals
300. The implementation of the simulative algorithm adopts the use of the simu-
lation tools in MATLAB7.11.0, which was run on the Windows 7 platform, hav-
ing an i5-3337-u, CPU2.7 GHz, as well as 4 GB of memory.
In order to prove the performance and efficiency of proposed NSGA II, the
results were analyzed. For comparison of results the objective function values ­f1,
­f2 and running time (s) were measured ten times respectively by using of all algo-
rithms in model of problem 3 (N*B*M = 5*5*5). This is shown in Table 2. In this
table, f is defined as a mean value of f1 and f2.
The test was conducted by using the GA algorithm, the modified GA (based on
NSGA-II) and the PSO algorithm for the three-different problem sets. These test

Table 2  Problem model for N*B*M = 5*5*5 test results


GA PSO NSGA II
f1 f2 f Time f1 f2 f Time f1 f2 f Time

1 106.7 244.0 175.3 8.4 119.6 236.5 178.05 15.6 105.3 242.0 173.7 65.9
2 102.1 242.5 172.3 8.3 105.7 244.0 174.9 15.6 102.4 222.0 171.2 64.8
3 104.4 249.5 177.0 7.9 96.7 252.5 174.6 15.5 126.4 222.0 174.2 65.8
4 95.5 248.5 172.0 8.1 103.5 247.0 175.3 15.7 115.5 223.5 169.5 67.2
5 93.0 257.0 175.0 8.1 98.5 244.5 171.5 15.6 118.7 226.0 172.3 63.7
6 102.1 242.5 172.3 8.1 91.3 252.0 171.7 15.6 131.4 211.0 171.2 65.8
7 90.9 260.0 175.2 8.4 106.5 238.5 172.5 15.3 150.2 210.0 175.6 64.7
8 103.3 249.0 176.2 8.2 96.5 249.0 172.8 15.5 114.7 239.5 177.1 63.8
9 106.4 241.0 173.7 8.2 108.9 241.5 175.2 15.7 105.3 235.0 170.2 66.8
10 102.1 245.0 173.6 8.3 121.8 227.5 174.7 16.4 131.0 223.0 177.0 65.9

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1170 Z. Li et al.

Table 3  Three algorithms based on three-question test results of the model


Test problem Optimal value f (minimum Average f Average running time(s)
N*B*M value of f)
GA PSO NSGAII GA PSO NSGAII GA PSO NSGAII

3*3*3 43.4 43.5 43.4 43.67 46.82 43.44 4.25 8.64 43.09
5*3*3 67.3 73.8 65.6 70.61 78.14 69.22 6.82 14.05 51.97
5*5*5 172.0 171.5 169.5 174.2 176.1 173.20 8.2 15.5 65.44

results are shown in Table 3. In this table, for better comparison, we used mini-
mum result from 10 times running as an optimal value f and the mean value of
10 times test represents the mean value of f or average of f. The mean time is the
mean operating time of 10 times test.
In order to assess the improved efficiency PE of the algorithm’s performance, a
computational formula is put forward as follow:
PE = (VIA − VNA )∕VIA (11)
where ­VIA, is the value of the object function of the comparative algorithm, V ­ NA is
the value of object function of the proposed algorithm. PE reflects the performance
improvement rate of the proposed algorithm relative to the comparative algorithm.
The results depicted in Table 4 in dealing with the same test cases i.e., when solv-
ing the optimal value of f, demonstrated that the solution quality of the PSO algo-
rithm decreased respectively by 0.23% and 9.66% compared with GA algorithm in
the test problem of N*B*M = 3*3*3 and N*B*M = 5*3*3. However, the solution
quality of the PSO algorithm rose by 0.29% compared with GA algorithm in the
test problem of N*B*M = 5*5*5. When solving the average value of f, the solution
quality of PSO algorithm respectively decreased by 7.21% and 10.66% compared
with the GA algorithm in the test problem of N*B*M = 3*3*3 and N*B*M = 5*3*3,
but increased by 0.07% compared with the GA algorithm in the test problem of
N*B*M = 5*5*5. This analysis shows that the GA algorithm performs better than
PSO algorithm when solving small-scale problem, but when there is a large scale
problem to solve, the PSO algorithm performs better than GA algorithm. The solu-
tion quality of modified GA (based on NSGA II) is better than PSO algorithm and
GA algorithm, when the test problem is N*B*M = 3*3*3, N*B*M = 5*3* and
N*B*M = 5*5*5. The operating time of the PSO algorithm is longer than the GA
algorithm and the time of NSGAII is much longer than the PSO algorithm. This is
because the PSO algorithm has an iteration of the position and speed compared with

Table 4  Comparing test results


Test problem Optimal value f Average f Average running time(s)
N*B*M
PSO (%) NSGAII (%) PSO (%) NSGAII (%) PSO (%) NSGAII (%)

3*3*3 − 0.23 0 − 7.21 0.53 − 103.29 − 911.53


5*3*3 − 9.66 2.53 − 10.66 1.97 − 105.41 − 659.80
5*5*5 0.29 1.45 0.07 0.61 − 89.63 − 698.05

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1171

the GA algorithm, and the modified GA based on the NSGA II algorithm increases
in control layer compared with the GA algorithm.

4.3 Illustrative example

The computational experiments focus on evaluating the practical use of the proposed
algorithm, which is coded using MATLAB, running on Core 2, 2.66  GHz laptop
with a 4 GB RAM. In order to evaluate the performance of this algorithm, the test
data have been randomly generated. Since the characteristic of the jobs is product-
component structured for forming a two-level chromosome, each product has been
formulated with five components for easily making a comparison with the different
products. Each problem is identified in the form of “Number of products–Number of
stages–Number of machines at each stage”. For example, a problem with 20 prod-
ucts: each product will have 10 components and 7 stages; also, each stage will have
6 machines. This is denoted by “20-10-7-6”.
In order to illustrate the idea of optimizing the earliness/tardiness and produc-
tion simultaneity, the computational results formulated three scenarios based on the
industrial system: the peak season, the normal season and the low season. The pro-
cessing tasks for the three scenarios are the same as that presented in Table 5. Fur-
thermore, ten products will be processed with each product having five components
or less than five components. The processing time for each component in each stage
is illustrated in Table 5. The differences between these three scenarios are the differ-
ent numbers of machines present at each stage. In the peak season, there are three
machines for each stage, and almost all the products cannot be finished to meet the
due date for the final assembly. In the normal season, there are five machines for
each stage, and most of the products can be finished around the due date for the final
assembly. While in the low season, there are eight machines for each stage and the
components are almost finished earlier than the predicted assembly time. As shown
in Table 4, we consider 10 products and each of them has five components or less
than five components. Each component has different process time in each stage, for
example, product ID 1 has 5 components which used 3 stages and time of compo-
nent 1.1 at stage 1 187s.
Through non-dominant sorting and crowding distance assignment, the best solu-
tion for each season was chosen. The detailed processing status of the best solution
for each season is represented in Fig. 4 in the form of Gantt Charts. In Fig. 6, the
horizontal axis indicates time, and the vertical axis indicates the component number.
Products and components are listed vertically. Each graduation corresponds to one
product, and the five rows for each graduation collectively represent the components
belonging to the product separately. A bar of Gantt Charts shows the startup time
and stoppage time for each component. Furthermore, a series of bars show the pro-
cessing sequence of one component at different stages. Moreover, a number in the
bar indicates the processing machine for that certain stage. For example, the third
bar of one row has been marked as number 4, which meant that the component was
processed by machine 4 at stage 3.

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1172 Z. Li et al.

Table 5  Process parameters
Product ID Components for Component processing time
product (J)
Stage 1 P(J, 1) Stage 2 P(J, 2) Stage 3 P(J, 3)

1 1.1 187 126 115


1.2 202 81 99
1.3 212 102 133
1.4 149 112 144
1.5 223 137 122
2 2.1 301 207 172
2.2 303 196 185
2.3 299 200 194
2.4 321 184 190
2.5 333 195 169
3 3.1 93 60 97
3.2 81 62 81
3.3 99 59 99
3.4 156 87 107
3.5 118 72 102
4 4.1 334 224 184
4.2 363 226 180
4.3 367 244 205
4.4 410 231 211
4.5 366 207 217
5 5.1 203 179 149
5.2 232 143 149
5.3 282 151 167
5.4 228 164 153
5.5 275 156 152
6 6.1 100 65 100
6.2 85 66 85
6.3 103 63 103
6.4 160 91 111
7 7.1 338 228 188
7.2 367 230 184
7.3 370 248 209
7.4 414 235 214
8 8.1 210 189 159
8.2 242 153 159
8.3 292 161 163
8.4 238 174 162
8.5 285 166 162

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1173

Table 5  (continued)
Product ID Components for Component processing time
product (J)
Stage 1 P(J, 1) Stage 2 P(J, 2) Stage 3 P(J, 3)

9 9.1 91 66 87
9.2 102 115 103
9.3 112 114 90
9.4 131 120 115
9.5 87 64 85
10 10.1 115 145 156
10.2 142 136 145
10.3 155 125 164

The scheduling method was designed specially to determine when to assign


the component to be processed on the designated machine. This process is some-
what complicated due to the complex product-component structure and the final
assembly consideration. In a real-life production environment, one product is usu-
ally equal to the customer’s order, and the customer/project manager is interested
in tracking the fulfillment status of the certain production order with the help of
the shop floor manager. The earliness/tardiness and production simultaneity are
considered for the individual product as well as for overall optimization.
Table 6 shows more detailed information of Fig. 6. Table 6 highlights the ear-
liness/tardiness and simultaneity information for the individual products in the
optimization process at every season. In Table 5, the finished time is calculated
for each component. The Assembly time in Table 6 means that the actual assem-
bly time is equal to the finished time of the last finished component of the prod-
uct, while the common due date means the assigned due date for final assembly
of the product. Although the measurement of the simultaneity needs to be con-
sidered practically for final assembly, no academic research concerning it exists.
Therefore, Eq.  (1) is used to measure the simultaneity value for each product
individually, while Eq. (2) is used to measure the earliness/tardiness for the indi-
vidual product.
According to Table  6, less parallel machines (three machines per stage) exist
at each stage during the peak season. Also, there is a lower probability that the
machines will be able to simultaneously process the five components or less than
five components such as product ID 6 for the individual product. In Table 5, the sim-
ultaneity of each product increases considerably compared with the normal and low
seasons. However, the number of parallel machines also increases from 5 (for nor-
mal season) to 8 (for low season). It also should be noted also that the simultaneity
of each product didn’t decrease significantly. The reason is if the number of parallel
machines is similar to the number of each product, the increased machines would
have less effect on the production simultaneity. Therefore, the results enabled the
scheduler predict the simultaneity of each product, and acts as an index for control-
ling the final assembly time.

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1174 Z. Li et al.

Fig. 6  Gantt charts for computa-


tional results

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1175

Table 6  Computational results
Product ID Assembly time Assembly Earliness/tardiness Simultaneity
due date
Peak Normal Low Peak Normal Low Peak Normal Low

1 223 137 144 143 80 6 1 86 71 59


2 333 207 194 220 113 13 26 57 29 35
3 156 87 107 99 57 12 8 120 49 29
4 410 244 217 262 148 18 45 108 48 51
5 282 179 167 196 86 17 29 108 53 33
6 162 90 92 90 58 11 8 120 50 31
7 412 246 221 253 148 18 46 109 49 52
8 285 183 170 199 88 18 31 110 55 35
9 145 83 92 92 55 11 8 85 55 28
10 155 92 85 87 53 10 7 77 45 29

The earliness/tardiness for final assembly also changed with respect to the num-
ber of machines at each stage. The final assembly time worked out from the due
date of delivery. The project manager thrives to issue an earlier assembly date in
order to secure on-time delivery and routinely asks the scheduler to tighten up the
assembly due date, which leads to unnecessary priorities changes in the shop floor
and increases in the product variation. Hence, this algorithm provides a simulated
method for predicting the actual assembly time for each product. This done by com-
paring the simulated assembly time so that the assigned due date can be adjusted
accordingly. Besides, the scheduler can also have an intuitive understanding of the
production capabilities at different seasons through the process of simulation and set
different flexibilities for the assembly due date with much better production priority
control.

5 Conclusions and future work

In this paper, we focused on the hybrid flow shop scheduling with the common due
date. This study was motivated by a realistic study of an industrial setting, with the
assistance of our industrial collaborator. The characteristics of the scheduling prob-
lem was highlighted in four aspects: (1) different products cannot share any compo-
nents; (2) all components need to be assembled to form the final product; (3) long
lead time and high WIP inventory problems; some finished components may have
to wait for a long time before they are assembled; (4) just-in-time delivery. This
HFSCDD problem was formulated as a bi-objective model which took into account
both production waiting for time (for reducing WIP inventory) and earliness/tardiness
(for JIT manufacturing). An advanced GA-based on the NSGA II, was utilized to
solve this model and generate near-optimal solutions. A heuristic algorithm was used
to control the simultaneity of the different components of the same product i.e. during

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1176 Z. Li et al.

the manufacturing process. The components for the same product was finished within
the available interval, and the WIP before the assembly stage was greatly reduced.
The future work proposed for this research will mainly concentrate on three
aspects. Firstly, many other multi-objective optimization algorithms, such as the
SPEA2 and multi-objective artificial immune, can be potential algorithms for simi-
lar scheduling problems. Comparing the performance of these algorithms can be the
subject of our future study. Secondly, in order to solve the HFSCDD and real-time
optimization in an industrial system, we will hinge our focus on the use of agent
based technology.

Acknowledgements The authors would like to acknowledge that the project was supported by the
National Science Foundation of China (Nos. 71501187, 51405089) and the grant from the Humanities
and Social Sciences Foundation of the Ministry of Education in China (No. 14YJC630179), and also, the
Pearl River S&T Nova Program of Guangzhou (No. 201710010004). Post-doctoral foundation (XXX)

References
Asefi H, Jolai F, Rabiee M, Araghi MT (2014) A hybrid NSGA-II and VNS for solving a bi-objective no-
wait flexible flowshop scheduling problem. Int J Adv Manuf Technol 75:1017–1033
Azizi A, Vatankhah Barenji A, Hashmipour M (2016) Optimizing radio frequency identification network
planning through ring probabilistic logic neurons. Adv Mech Eng 8:1687814016663476
Barenji AV (2013) An RFID-based distributed control system for flexible manufacturing system. Eastern
Mediterranean University (EMU)-Doğu Akdeniz Üniversitesi (DAÜ)
Barenji AV, Barenji RV, Hashemipour M (2016) Flexible testing platform for employment of RFID-enabled
multi-agent system on flexible assembly line. Adv Eng Softw 91:1–11
Barenji AV, Barenji RV, Roudi D, Hashemipour M (2017) A dynamic multi-agent-based scheduling approach
for SMEs. Int J Adv Manuf Technol 89:3123–3137
Cheng R, Gen M, Tsujimura Y (1999) A tutorial survey of job-shop scheduling problems using genetic algo-
rithms, part II: hybrid genetic search strategies. Comput Ind Eng 36:343–364
Coello CAC, Lamont GB, Van Veldhuizen DA (2007) Evolutionary algorithms for solving multi-objective
problems. Springer, New York
Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: NSGA-
II. IEEE Trans Evol Comput 6:182–197
Eberhart R, Kennedy J (1995) A new optimizer using particle swarm theory. In: Proceedings of the Sixth
International Symposium on Micro Machine and Human Science, 1995 MHS’95, IEEE, pp 39–43
Engin O, Ceran G, Yilmaz MK (2011) An efficient genetic algorithm for hybrid flow shop scheduling with
multiprocessor task problems. Appl Soft Comput 11:3056–3065
Figielska E (2014) A heuristic for scheduling in a two-stage hybrid flowshop with renewable resources shared
among the stages. Eur J Oper Res 236:433–444
Grabowski J, Pempera J (2000) Sequencing of jobs in some production system. Eur J Oper Res 125:535–550
Gupta JN (1988) Two-stage, hybrid flowshop scheduling problem. J Oper Res Soc 39:359–364
Hidri L (2016) Note on the hybrid flowshop scheduling problem with multiprocessor tasks. Int J Prod Econ
182:531–534
Iyer SK, Saxena B (2004) Improved genetic algorithm for the permutation flowshop scheduling problem.
Comput Oper Res 31:593–606
Jun S, Park J (2015) A hybrid genetic algorithm for the hybrid flow shop scheduling problem with nighttime
work and simultaneous work constraints: a case study from the transformer industry. Expert Syst Appl
42:6196–6204
Kim Y-D, Joo B-J, Shin J-H (2009) Heuristics for a two-stage hybrid flowshop scheduling problem with
ready times and a product-mix ratio constraint. J Heuristics 15:19–42
Lei D, Guo X (2016) Hybrid flow shop scheduling with not-all-machines options via local search with con-
trolled deterioration. Comput Oper Res 65:76–82
Li D, Meng X, Liang Q, Zhao J (2015) A heuristic-search genetic algorithm for multi-stage hybrid flow shop
scheduling with single processing machines and batch processing machines. J Intell Manuf 26:873–890

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Bi‑objective hybrid flow shop scheduling with common due date 1177

Liang F, Fung RY (2016) Coordination mechanism in real-time scheduling of virtual cellular manufacturing
systems. Proc Inst Mech Eng Part B J Eng Manuf 230:534–547
Linn R, Zhang W (1999) Hybrid flow shop scheduling: a survey. Comput Ind Eng 37:57–61
Luo H, Du B, Huang GQ, Chen H, Li X (2013) Hybrid flow shop scheduling considering machine electricity
consumption cost. Int J Prod Econ 146:423–439
Meng T, Pan Q-K, Li J-Q, Sang H-Y (2017) An improved migrating birds optimization for an integrated lot-
streaming flow shop scheduling problem. Swarm Evolut Comput 38:64–78
Murugan P, Kannan S, Baskar S (2009) NSGA-II algorithm for multi-objective generation expansion plan-
ning problem. Electr Power Syst Res 79:622–628
Naderi B, Ruiz R, Zandieh M (2010) Algorithms for a realistic variant of flowshop scheduling. Comput Oper
Res 37:236–246
Pan Q-K, Wang L, Mao K, Zhao J-H, Zhang M (2013) An effective artificial bee colony algorithm for a real-
world hybrid flowshop problem in steelmaking process. IEEE Trans Autom Sci Eng 10:307–322
Pan Q-K, Wang L, Li J-Q, Duan J-H (2014) A novel discrete artificial bee colony algorithm for the hybrid
flowshop scheduling problem with makespan minimisation. Omega 45:42–56
Pan Q-K, Gao L, Li X-Y, Gao K-Z (2017) Effective metaheuristics for scheduling a hybrid flowshop with
sequence-dependent setup times. Appl Math Comput 303:89–112
Rabiee M, Rad RS, Mazinani M, Shafaei R (2014) An intelligent hybrid meta-heuristic for solving a case of
no-wait two-stage flexible flow shop scheduling problem with unrelated parallel machines. Int J Adv
Manuf Technol 71:1229–1245
Rahimi-Vahed A, Dangchi M, Rafiei H, Salimi E (2009) A novel hybrid multi-objective shuffled frog-leap-
ing algorithm for a bi-criteria permutation flow shop scheduling problem. Int J Adv Manuf Technol
41:1227–1239
Ruiz R, Vázquez-Rodríguez JA (2010) The hybrid flow shop scheduling problem. Eur J Oper Res 205:1–18
Sha D, Lin H-H (2010) A multi-objective PSO for job-shop scheduling problems. Expert Syst Appl
37:1065–1070
Shi Y, Eberhart RC (1999) Empirical study of particle swarm optimization. In: Proceedings of the 1999 con-
gress on Evolutionary computation, 1999 CEC 99. IEEE, pp 1945–1950
Solimanpur M, Elmi A (2011) A tabu search approach for group scheduling in buffer-constrained flow shop
cells. Int J Comput Integr Manuf 24:257–268
Srinivas N, Deb K (1994) Muiltiobjective optimization using nondominated sorting in genetic algorithms.
Evol Comput 2:221–248
Tavakkoli-Moghaddam R, Rahimi-Vahed A, Mirzaei AH (2007) A hybrid multi-objective immune algorithm
for a flow shop scheduling problem with bi-objectives: weighted mean completion time and weighted
mean tardiness. Inf Sci 177:5072–5090
Thuerer M, Stevenson M, Silva C, Land M, Filho MG (2013) Workload control and order release in two-
level multi-stage job shops: an assessment by simulation. Int J Prod Res 51:869–882
Vatankhah Barenji A, Vatankhah BR (2017) Improving multi-agent manufacturing control system by indirect
communication based on ant agents. Proc Inst Mech Eng Part I J Syst Control Eng 231:447–458
Wang X, Tang L (2009) A tabu search heuristic for the hybrid flowshop scheduling with finite intermediate
buffers. Comput Oper Res 36:907–918
Wang S-Y, Wang L, Liu M, Xu Y (2015) An order-based estimation of distribution algorithm for stochastic
hybrid flow-shop scheduling problem. Int J Comput Integr Manuf 28:307–320
Zhang B, Q-K Pan, Gao L, X-l Zhang, Sang H-Y, Li J-Q (2017) An effective modified migrating birds opti-
mization for hybrid flowshop scheduling problem with lot streaming. Appl Soft Comput 52:14–27
Zhou J, Yao X (2017) A hybrid artificial bee colony algorithm for optimal selection of QoS-based cloud
manufacturing service composition. Int J Adv Manuf Technol 88:3371–3387

Publisher’s Note  Springer Nature remains neutral with regard to jurisdictional claims in published maps
and institutional affiliations.

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1178 Z. Li et al.

Affiliations

Zhi Li1,2 · Ray Y. Zhong2 · Ali Vatankhah Barenji1   · J. J. Liu1 · C. X. Yu3 ·


George Q. Huang2
1
Guangdong Provincial Key Laboratory of Computer Integrated Manufacturing System, School
of Electromechanical Engineering, Guangdong University of Technology, Guangzhou 510006,
China
2
Department of Industrial and Manufacturing Systems Engineering, The University of Hong
Kong, Pokfulam Road, Hong Kong
3
Academy of Chinese Energy Strategy, China University of Petroleum-Beijing, No. 18 Fuxue
Road, Changping, Beijing 102249, China

13
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Terms and Conditions
Springer Nature journal content, brought to you courtesy of Springer Nature Customer Service Center
GmbH (“Springer Nature”).
Springer Nature supports a reasonable amount of sharing of research papers by authors, subscribers
and authorised users (“Users”), for small-scale personal, non-commercial use provided that all
copyright, trade and service marks and other proprietary notices are maintained. By accessing,
sharing, receiving or otherwise using the Springer Nature journal content you agree to these terms of
use (“Terms”). For these purposes, Springer Nature considers academic use (by researchers and
students) to be non-commercial.
These Terms are supplementary and will apply in addition to any applicable website terms and
conditions, a relevant site licence or a personal subscription. These Terms will prevail over any
conflict or ambiguity with regards to the relevant terms, a site licence or a personal subscription (to
the extent of the conflict or ambiguity only). For Creative Commons-licensed articles, the terms of
the Creative Commons license used will apply.
We collect and use personal data to provide access to the Springer Nature journal content. We may
also use these personal data internally within ResearchGate and Springer Nature and as agreed share
it, in an anonymised way, for purposes of tracking, analysis and reporting. We will not otherwise
disclose your personal data outside the ResearchGate or the Springer Nature group of companies
unless we have your permission as detailed in the Privacy Policy.
While Users may use the Springer Nature journal content for small scale, personal non-commercial
use, it is important to note that Users may not:

1. use such content for the purpose of providing other users with access on a regular or large scale
basis or as a means to circumvent access control;
2. use such content where to do so would be considered a criminal or statutory offence in any
jurisdiction, or gives rise to civil liability, or is otherwise unlawful;
3. falsely or misleadingly imply or suggest endorsement, approval , sponsorship, or association
unless explicitly agreed to by Springer Nature in writing;
4. use bots or other automated methods to access the content or redirect messages
5. override any security feature or exclusionary protocol; or
6. share the content in order to create substitute for Springer Nature products or services or a
systematic database of Springer Nature journal content.
In line with the restriction against commercial use, Springer Nature does not permit the creation of a
product or service that creates revenue, royalties, rent or income from our content or its inclusion as
part of a paid for service or for other commercial gain. Springer Nature journal content cannot be
used for inter-library loans and librarians may not upload Springer Nature journal content on a large
scale into their, or any other, institutional repository.
These terms of use are reviewed regularly and may be amended at any time. Springer Nature is not
obligated to publish any information or content on this website and may remove it or features or
functionality at our sole discretion, at any time with or without notice. Springer Nature may revoke
this licence to you at any time and remove access to any copies of the Springer Nature journal content
which have been saved.
To the fullest extent permitted by law, Springer Nature makes no warranties, representations or
guarantees to Users, either express or implied with respect to the Springer nature journal content and
all parties disclaim and waive any implied warranties or warranties imposed by law, including
merchantability or fitness for any particular purpose.
Please note that these rights do not automatically extend to content, data or other material published
by Springer Nature that may be licensed from third parties.
If you would like to use or distribute our Springer Nature journal content to a wider audience or on a
regular basis or in any other manner not expressly permitted by these Terms, please contact Springer
Nature at

onlineservice@springernature.com

You might also like