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

INTERNATIONAL

TRANSACTIONS
IN OPERATIONAL
Intl. Trans. in Op. Res. 00 (2020) 1–29 RESEARCH
DOI: 10.1111/itor.12878

A multistart biased random key genetic algorithm for the


flexible job shop scheduling problem with transportation
S. Mahdi Homayounia,∗ , Dalila B. M. M. Fontesa,b and José F. Gonçalvesa,b
a
LIAAD, INESC TEC, Porto 4200-465, Portugal
b
Faculdade de Economia, Universidade do Porto, Porto 4200-464, Portugal
E-mail: smh@inesctec.pt [Homayouni]; dfontes@inesctec.pt [Fontes]; jfgoncal@fep.up.pt [Gonçalves]
Received 31 January 2020; received in revised form 25 August 2020; accepted 2 September 2020

Abstract
This work addresses the flexible job shop scheduling problem with transportation (FJSPT), which can be
seen as an extension of both the flexible job shop scheduling problem (FJSP) and the job shop scheduling
problem with transportation (JSPT). Regarding the former case, the FJSPT additionally considers that the
jobs need to be transported to the machines on which they are processed on, while in the latter, the specific
machine processing each operation also needs to be decided. The FJSPT is NP-hard since it extends NP-hard
problems. Good-quality solutions are efficiently found by an operation-based multistart biased random key
genetic algorithm (BRKGA) coupled with greedy heuristics to select the machine processing each operation
and the vehicles transporting the jobs to operations. The proposed approach outperforms state-of-the-art
solution approaches since it finds very good quality solutions in a short time. Such solutions are optimal
for most problem instances. In addition, the approach is robust, which is a very important characteristic in
practical applications. Finally, due to its modular structure, the multistart BRKGA can be easily adapted to
solve other similar scheduling problems, as shown in the computational experiments reported in this paper.

Keywords: flexible job shop scheduling; joint scheduling; BRKGA; genetic algorithm; transportation scheduling

1. Introduction

This work addresses the joint scheduling of production and transport in flexible job shop man-
ufacturing systems. Manufacturing flexibility has become a critical factor to achieve competitive
advantage in today’s markets. However, higher flexibility leads to a higher degree of complexity in
operations management.
Scheduling is the process of allocating scarce resources to tasks over time. Proper scheduling is
one of the success factors of a manufacturing system, since it may have a considerable impact on
the system performance.


Corresponding author.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
Published by John Wiley & Sons Ltd, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main St, Malden, MA02148,
USA.
2 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
The classical job shop scheduling problem (JSP) comprises a set of jobs and a set of machines.
Each job consists of a sequence of manufacturing operations that must be processed in a given
order on a given machine. Several performance measures, that is, objective functions, have been
used to assess how good a schedule is, the most common being the minimization of the makespan
(the completion time of all jobs). The JSP is an NP-hard problem (Garey et al., 1976).
The JSP considers that exactly one machine can perform each operation, and thus each job has
a fixed and predetermined routing, that is, the sequence of machines to visit is predetermined. In
contrast, in the flexible job shop scheduling problem (FJSP), there are several machines that can
process each operation of each job. Therefore, to solve the FJSP, one also has to determine which
machine processes each operation of each job, that is, job routing. The FJSP is also NP-hard as
it is an extension of the JSP, since it also involves determining job routing. The FJSP has been
extensively studied in the past few decades (for some recent work, see, e.g., Chaudhry and Khan,
2016; Shen et al., 2018; Bissoli et al., 2019; Deliktas et al., 2019; Gao et al., 2019; Lin et al., 2020).
Conventionally, scheduling problems were designed around the machines, considering them the
only important resource, thus ignoring material handling. However, material handling scheduling
is not only an important aspect of manufacturing systems but also implies the need for transport
resources and the existence of nonnegligible transport time between operations. Therefore, mate-
rial handling and manufacturing operations should be scheduled simultaneously, leading to the job
shop scheduling problem with transportation (JSPT). The JSPT is a generalization of the classi-
cal JSP since it also considers a vehicle scheduling problem, and therefore, it is also an NP-hard
problem. For some recent literature, the reader is referred to, for example, Zheng et al. (2014) and
Fontes and Homayouni (2019). Automated guided vehicles (AGVs) are being used in various in-
dustries, such as logistics, automotive, healthcare, manufacturing, and food and beverages, and a
growing adoption of AGVs is foreseen as it can contribute to productivity, safety, and accuracy. For
instance, in 2018 E&K Automation GmbH, a Germany-based robotics company, has launched its
autonomous ultraflat transport robot, FAST MOVE, to support the development of industry 4.0
and industrial automation. A market analysis (Grand View Research, 2020) reports that the global
AGV market size was valued at USD 3.0 billion in 2019 and is expected to witness a compound
annual gross rate of 14.1% from 2020 to 2027.
This work addresses a JSP extension that incorporates the two above-mentioned extensions, that
is, the flexible job shop scheduling problem with transportation (FJSPT), which involves solv-
ing four different but interrelated subproblems, namely: job routing, machine scheduling, vehi-
cle assignment, and transport scheduling. This type of production system can be found in a wide
range of industries, for example, VS Möbel—a furniture manufacturer (VS Möbel, 2020); Prince
Industries—a machine tools manufacturer (Makino, 2020); and Mazda Motor—an automotive
manufacturer (ReliablePlane, 2020).
The FJSPT has not yet been the subject of much research and the first published work seems to
be that of Deroussi and Norre (2010). The authors propose an iterated local search approach, in
which a solution is constructed by (a) successively assigning each transport operation to a vehicle
and (b) determining the completion time of each production operation by assigning it to a machine
that completes it first. The solution obtained is improved by a local search procedure that employs
exchange and insertion moves. Then, a feasible neighbor solution is generated by applying a per-
turbation scheme (three successive random moves). Finally, a simulated annealing scheme decides
on whether to update the current solution. The authors also propose a library of problem instances

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 3
by extending the JSPT instances due to Bilge and Ulusoy (1995), by adding additional machines
to the layout and alternative machines to process each operation (Set 1 in this work). (Note that
no results have been reported.) These instances became de facto benchmark instances as they have
been used in all reported literature, except in Kumar et al. (2011).
Kumar et al. (2011) propose a differential evolution (DE) algorithm, where the DE determines
the sequence of manufacturing operations as the encoding is operation based (a two-digit encod-
ing: job and operation). Similar to genetic algorithms (GAs), DE evolves a population of solutions
through selection, mutation, and crossover. The authors ensure feasibility by resorting to a repair
mechanism, which might disrupt the solution process. Machines and vehicles are assigned to op-
erations and tasks, respectively, by greedy heuristics that choose the vehicle that picks up the job
the earliest and the machine that completes the operation the earliest. The computational experi-
ments use another modified version of the instances in Bilge and Ulusoy (1995) (Set 2 in this work),
proposed by themselves.
The GATS approach of Zhang et al. (2012) hybridizes a GA and a tabu search (TS) that se-
quentially solve the operation-resource assignment problem (GA) and the operation sequencing
problem for each resource (TS). First, the GA assigns operations to resources (machines and vehi-
cles) and then, for a given assignment, the TS finds and improves an operation sequence for each
resource. The neighborhood search uses three moves: insert move (changes the resource assign-
ment for one task), internal exchange (exchanges two operations performed on the same resource,
machine, or vehicle), and external exchange (exchanges two operations performed on different re-
sources). The work is extended in Zhang et al. (2013) by combining a GA, a TS, and a shifting
bottleneck (GTSB) procedure. As before, the GA is responsible for assigning operations and tasks
to machines and vehicles, respectively. Then, the shifting bottleneck procedure finds a sequence of
operations for each machine and a sequence of tasks for each vehicle. Finally, the TS attempts to
improve these sequences. These approaches report the best-known results for the FJSPT instances
in Set 1 (Deroussi and Norre, 2010).
Nouri et al. (2016) propose a hybrid metaheuristic based on a clustered holonic multiagent model
in which, in the first stage, a GA is used to find and evolve a population of solutions. These solu-
tions are sequentially grouped into clusters, based on the dissimilarity distance between individuals.
Then, in the second stage, a parallel TS is used to search for neighbor solutions in each cluster. Com-
putational experiments are reported for instances in Set 1 (Deroussi and Norre, 2010); however, the
results are believed not to be comparable since for six of the nine instances the reported results are
lower than the minimum processing and transport time for all jobs (assuming every machine to be
available when needed and that a vehicle is always available) (Homayouni and Fontes, 2019b). Note
that these assumptions imply that jobs never wait.
Recently, Karimi et al. (2017) propose two mixed-integer linear programming (MILP) models,
a sequence-based model and a position-based model, for a version of the FJSPT that differs from
the main literature in two ways. On the one hand, the transportation time between machines is job-
dependent. On the other hand, there is an unlimited number of transport resources; thus, the jobs
are transported without any delay and only loaded travel exists, which amounts to an increased
processing time.
More recently, Homayouni and Fontes (2019b) develop an MILP model for the FJSPT without
explicit consideration of the vehicles, which allows for a considerable reduction in the number of
decision variables and constraints. The model uses three sets of variables: (a) machine-operation

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
4 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29

Machine

Vehicle

LU area

Fig. 1. A possible configuration of a flexible job shop.

allocation; (b) manufacturing operations sequencing; and (c) transport tasks sequencing, which are
connected through completion time constraints. All but one of the problem instances in Deroussi
and Norre (2010) have been solved to optimality very quickly.
This work proposes a multistart biased random-key genetic algorithm (BRKGA) for the FJSPT,
which improves upon the solutions of the state-of-the-art metaheuristics. Furthermore, the pro-
posed approach can be adapted to find good-quality solutions to the subproblems of the FJSPT,
that is, JSP, JSPT, and FJSP. BRKGA has already been shown to improve on the best-known so-
lutions (BKSs) when applied to the JSP; see Gonçalves and Resende (2011). A preliminary and
shorter version of this paper has been presented at MIC (Homayouni and Fontes, 2019a).
The remainder of this paper is organized as follows. The problem is formally defined in Section 2.
Section 3 describes the multistart BRKGA proposed and Section 4 reports the computational ex-
periments. Finally, in Section 5 some conclusions are drawn.

2. Problem definition

A flexible job shop is a manufacturing environment equipped with a set I of multipurpose machines
where a set J of independent jobs are to be produced. Each job i ∈ J consists of an ordered set
Ji = {1, 2, . . . , ni } of manufacturing operations. Since different operations of the same job may be
processed on different machines, jobs need to be transported between the machines. In addition, the
jobs are initially available at the load/unload (LU) area, from where they need to be transported to
the machine processing their first operation, and where they must be returned to upon completion.
The jobs are moved by a set V of vehicles, in nonpreemptive journeys, within the manufacturing
area and to and from the LU area. The vehicles are parked at the LU area at the beginning of the
scheduling period. An example of such a manufacturing environment is illustrated in Fig. 1.
Each operation Oi j , with i ∈ J and j ∈ Ji , can be processed, without preemption, on any machine
of a subset of machines, say m ∈ Ii j ⊆ I, with a known processing time pm i j.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 5
In the FJSPT, four interdependent combinatorial optimization problems need to be solved si-
multaneously, namely: determining which machine processes each manufacturing operation (job
routing), sequencing the operations on each machine (machine scheduling), determining which ve-
hicle performs each transport task (vehicle assignment), and sequencing the transport tasks on each
vehicle (vehicle scheduling).
Machines and vehicles can, respectively, perform one operation and one task at a time. Each job
can be handled (processed or moved) by one resource (machine or vehicle) at a time. As in JSPs,
enough buffer space is assumed by the machines, where jobs may wait either for a machine or for
a vehicle. No transfer times or resources are required to move the jobs between the machines and
their buffers.
Vehicles may be required to do an empty travel, from their current location (dwell point) to the
location where their next assigned job must be picked up at, followed by a loaded travel from there
to the machine processing the job’s next operation.
The shop floor layout is known, thus the distances between machines and between the LU area
and the machines are known. All vehicles can carry one job at a time and move at the same speed
regardless of being loaded or empty. Transportation times are distance-dependent and constant
since no congestion issues are considered.
Let us now describe the problem in more detail. A vehicle v ∈ V becomes available to perform
its next task at time tv and at location lv , when it finishes its previous assignment. Then, vehicle v
travels from lv to the location of its next assigned job. The vehicle current location lv is either the LU
area or a specific machine. The job to be picked up may be at the LU area, if none of its operations
has been processed or at a specific machine, where its last operation was processed.
Let the next task of vehicle v be transporting job i to have its first operation processed on machine
mi1 . Since job i is already at the LU area, ready to transport, vehicle v can pick it up as soon as it
reaches the LU area, that is, at time tv + TlvLU . (Note that if vehicle v’s current location is the LU
area lv = LU , then job i can be picked up immediately, i.e., at time tv .) Vehicle v then takes job
i to machine mi1 , where the job is delivered (either to the machine or to the buffer area). Hence,
mi1
vehicle v becomes available to pursue its next assignment at time tv + TlvLU + TLU and location
lmi1 . Therefore, the available time and the available location of vehicle v are updated as given by
Equation (1), where Tl1l2 represents the traveling time between locations l1 and l2 (obviously, if l1 = l2
then Tl1l2 = 0):

mi1
tv = tv + TlvLU + TLU and lv = lmi1 . (1)

Let us now consider that job i has to be transported to have operation Oi j processed. This means
that job i has to be picked up at the machine processing operation Oi( j−1) , say machine mi( j−1) , and
transported to the machine assigned to process operation Oi j , say machine mi j . Vehicle v is ready
m
to transport job i whenever it reaches machine mi( j−1) , which happens at time tv + Tlv i( j−1) . Job i is
ready to be picked up by vehicle v whenever machine mi( j−1) finishes processing it, that is, ci( j−1) .
Therefore, vehicle v departs from machine mi( j−1) at time dv , which is calculated as in Equation (2):
 
m
dv = max tv + Tlv i( j−1) , ci( j−1) . (2)

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
6 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
Hence, the available time and the available location of vehicle v are updated as in Equation (3):

m
tv = dv + Tmi(i j−1)
j
and lv = lmi j . (3)

The completion time ci j of operation Oi j is given by its starting time plus its processing time at
m
the chosen machine pi ji j . The former is the largest between the time at which the machine concludes
its previous assigned operation cmi j and the time at which the job arrives at the machine tv , as given
in Equation (4). Machine mi j becomes available for processing another operation at time cmi j = ci j :

  m
ci j = max cmi j , tv + pi ji j . (4)

This process is repeated until the last operation of the job is processed, which can then be returned
to the LU area to be delivered to the final customer. The objective is to minimize the makespan,
that is, the completion time of the last job on the last machine.

3. The multistart biased random key genetic algorithm

GAs are a powerful stochastic global search technique that due to their flexibility and good perfor-
mance have been proposed to solve numerous optimization problems in many fields (Snyder and
Daskin, 2006; Fontes and Gonçalves, 2007, 2013; Roque et al., 2011, 2014, 2017; Homayouni et al.,
2014; Fontes et al., 2018).
GAs mimic the principles of natural evolution by evolving a population of solutions to a given
problem through recombination and mutation. Random key genetic algorithms (RKGAs) were
originally proposed by Bean (1994) specifically for problems involving sequencing. RKGAs repre-
sent a solution to the problem as a vector of random keys (RKs), that is, real numbers in the interval
[0, 1], which need to be decoded into a solution to the original problem. The decoder proposed in
Bean (1994) sorts the vector of RKs and uses the indices of the sorted vector to find a feasible
solution. After a solution is obtained, the corresponding quality, that is, fitness value, is calculated.
To obtain a new population, an elitist strategy is used: (a) the best (elite) solutions are copied; (b)
a small number of solutions are randomly generated; and (c) the rest of the population is obtained
through recombination.
BRKGAs (Roque et al., 2014; Gonçalves et al., 2016; Brandão et al., 2017) differ from RKGAs
by introducing bias in the recombination process as one of the parents is always chosen from the
group of elite solutions. The other parent may be chosen from the remaining solutions or from
the entire population. In addition, recombination resorts to a parameterized uniform crossover
that gives higher probability to the alleles of the better parent to be passed on. Since, the solution
space of the optimization problem is searched indirectly, the framework can be used to solve a wide
range of problems (Correcher and Alvarez-Valdes, 2017) and requires only the definition of the
chromosome representation and of the decoder.
Algorithm 1 shows the main steps of the proposed BRKGA, which is a multistart variant of a
BRKGA since several populations are evolved in sequence (Gonçalves and Resende, 2018).

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 7

Algorithm 1. The proposed multistart biased random key genetic algorithm

1: Initialization of the control parameters for the BRKGA


2: while stopping criteria are not satisfied do
3: Generate a random population using a new seed for the random number generator,
4: while restart criterion is not satisfied do
5: Decode solutions of current population,
6: Assign machine and vehicle for each solution using the greedy heuristic algorithm,
7: Evaluate the solutions (compute the makespan),
8: Update the best solution,
9: Partition the population into elite and nonelite according to the makespan values,
10: Copy the elite group onto the next population,
11: Generate mutants,
12: Add mutants to the new population,
13: Generate offspring by “parameterized uniform crossover,”
14: Add offspring to the new population,
15: end while
16: end while
17: Terminate the algorithm and print the best solution and makespan.

Each population is evolved (lines 5–13) until the restart criteria are met (line 4). Once this hap-
pens, a new random population is generated (line 3) and the process of evolving it is repeated. The
algorithm stops whenever the stopping criteria are reached (line 2).
After randomly generating Pmax chromosomes, each is decoded into a feasible sequence of op-
erations and then vehicles and machines are assigned by a greedy heuristic. After calculating each
solution fitness (i.e., makespan), the population is partitioned into two groups of individuals: an
elite group consisting of Ne chromosomes with the best fitness values and the rest of the popula-
tion (Pmax − Ne chromosomes). A new population is obtained by joining three groups of solutions,
namely: the elite group, which is copied onto the new population; the mutants group, which is ran-
domly generated in the same way as the initial population was; and the offspring group, which is
obtained through the crossover operator.

3.1. Solution representation and decoding



A solution to the FJSPT is encoded as a vector of N = ni=1 ni elements, where elements 1 to n1
refer to the operations of job 1, elements n1 + 1 to n1 + n2 to the ones of job 2, and so on. Each
vector element is an RK, initially randomly generated.
The decoding procedure uses the smallest position value (SPV) rule, originally devised by Bean
(1994) to construct a permutation representation of the RKs. The position with the smallest RK
determines the first operation to be sequenced, followed by the position with the second smallest
RK, and so on.
Let us illustrate the solution representation and decoding using the first job set designed by Ku-
mar et al. (2011) with 5 jobs and 13 manufacturing operations, each of which is to be processed
on one among the three alternative machines. Further, let us consider layout 1, with four machines

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
8 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29

Job 1 Job 2 Job 3 Job 4 Job 5

1 2 3 4 5 6 7 8 9 10 11 12 13
0.22 0.35 0.76 0.56 0.08 0.44 0.37 0.67 0.10 0.58 0.18 0.97 0.47
a) Unsorted RKs vector,

5 9 11 1 2 7 6 13 4 10 8 3 12
b) Permutation representation of the RKs,

2 3 4 1 1 3 2 5 2 4 3 1 5
c) Sequence of jobs,

d) Sequence of operations.

Fig. 2. Solution representation and decoding procedure for problem instance EXF11.

and one LU area. This problem instance is designated as EXF11 (instance data are provided in
Appendix B). A chromosome for EXF11 is shown in Fig. 2a, in which a vector of N = 13 RKs rep-
resents the sequence of operations. The corresponding permutation, obtained using the SPV rule,
is presented in Fig. 2b. Following the work by Gonçalves and Resende (2011), this permutation is
converted into a feasible sequence of operations by first converting the sequence of operations into
a sequence of corresponding jobs; thus each job appears as many times as the number of operations,
as depicted in Fig. 2c. Then job numbers are converted into the ordered operation numbers, by re-
placing (from left to right) the jth appearance of job i by operation Oi j , as illustrated in Fig. 2d.
Note that, a sequence of operations imposes a sequence of job moves as, to have operation Oi j per-
formed at machine mi j , job i needs to be moved from machine mi( j−1) processing operation Oi( j−1)
(or LU area if Oi j is the job’s first operation) to machine mi j .

3.2. Assignment heuristic algorithm

A solution also requires machine-operation and vehicle-move assignments, which are determined
by a greedy heuristic algorithm; for details, see Algorithm 2.
The algorithm starts by getting the next operation in the scheduling sequence Oi j , time tv , and
location lv at which each vehicle v ∈ V has finished the previous assignment, and the completion
time cm of each machine m ∈ Ii j that can process operation Oi j . Then, the algorithm chooses the
vehicle to pick up job i at its current location (mi( j−1) or the LU area if j = 1). Finally, the machine
to process operation Oi j is chosen. Before moving on to the next operation, the time and location at
which the chosen vehicle and machine become available for another assignment are updated. This
is repeated until all operations have been dealt with.
Since the assignment heuristic is embedded in the BRKGA (line 6 of Algorithm 1), the BRKGA
can be used to solve other related scheduling problems by removing the assignment heuristic

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 9

Algorithm 2. Greedy heuristic algorithm for resource assignment

1: Retrieve Oi j the operation for resource assignment.


2: Get the available time tv and location lv of each vehicle and available time cm of each machine.
3: if j = 1 then
4: Assign vehicle v∗ using a heuristic rule (see Table 1).
5: Calculate vehicle departure time from the LU area: dv∗ = tv∗ + TlvLU ∗
.
6: Assign machine m∗ using a heuristic rule (see Table 1): mi1 = m∗ .
m
7: Update available time and location of the assigned vehicle: tv∗ = dv∗ + TLUi1 , lv∗ = mi1 .
8: Update available time of the assigned machine and calculate operation completion time:

cm∗ = ci1 = max{tv∗ , cm∗ } + pmi1 .
9: else
10: Get the completion time ci( j−1) of operation Oi( j−1) and its assigned machine mi( j−1) .
11: Assign vehicle v∗ using a heuristic rule (see Table 2).
m
12: Calculate vehicle departure time from machine mi( j−1) : dv∗ = max{tv∗ + Tlv∗i( j−1) , ci( j−1) }.
13: Assign machine m∗ using a heuristic rule (see Table 2): mi j = m∗ ,
14: if mi j = mi( j−1) then
mj
15: Update available time and location of the assigned vehicle: tv∗ = dv∗ + Tmi(i j−1) , lv∗ = mi j ,
16: end if
17: Update available time of the assigned machine and calculate operation completion time:

cm∗ = ci j = max{cm∗ , tv∗ } + pmi j .
18: end if

Table 1
Heuristic rules for machine-operation and vehicle-move assignments for the first operation of a job

Rule no. Description


Vehicle selection rules
VF1 Select the vehicle that reaches the LU area the earliest: v∗ = arg minv∈V {tv + TlvLU }.
VF2 Select the vehicle that is available the earliest: v∗ = arg minv∈V {tv }
Machine selection rules
MF1 Select the machine that finish processing Oi1 the earliest: m∗ = arg minm∈Ii1 {max{cm , dv∗ + TLU
m
} + pmi1 }.

MF2 Select the machine that is available the earliest: m = arg minm∈Ii1 {cm }
The vehicle departure time is given by dv∗ = tv∗ + TlvLU ∗

partially or completely. For example, good-quality solutions are obtained for the JSP by remov-
ing the assignment heuristic (line 6 of Algorithm 1), for the JSPT by removing from Algorithm 2 all
machine-related instructions, and for the FJSP by removing from Algorithm 2 all vehicle-related
instructions. This is further explored and explained in Sections 4.5 and 4.6.
To choose a vehicle to assign the move to as well as to choose a machine to process the operation,
we propose several rules. In particular, if the operation being dealt with is the first operation of a
job, we propose two different rules for each assignment (VF1 and VF2 and MF1 and MF2) and
five rules otherwise (V1–V5 and M1–M5), as given in Tables 1 and 2. Ties for both vehicles and
machines are broken by choosing the lower index. In Section 4.2, we analyze the performance of
these rules by considering all 100 possible combinations.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
10 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
Table 2
Heuristic rules for machine-operation and vehicle-move assignments for other operations of a job

Rule no. Description


Vehicle selection rules
V1 Select the vehicle that reaches machine mi( j−1) the latest before ci( j−1) if one exists
m m m
∃ v ∈ V : tv + Tlv i( j−1) ≤ ci( j−1) ⇒ v∗ = arg max{tv + Tlv i( j−1) : tv + Tlv i( j−1) ≤ ci( j−1) };
v∈V
otherwise, select the vehicle that reaches mi( j−1) the earliest:
m
v∗ = arg min{tv + Tlv i( j−1) }
v∈V
V2 Select the vehicle that reaches machine mi( j−1) the earliest after ci( j−1) , if one exists
m m m
∃ v ∈ V : tv + Tlv i( j−1) ≥ ci( j−1) ⇒ v∗ = arg min{tv + Tlv i( j−1) : tv + Tlv i( j−1) ≥ ci( j−1) };
v∈V
otherwise, select the vehicle that reaches mi( j−1) the latest:
m
v∗ = arg max{tv + Tlv i( j−1) }
v∈V
V3 Select the vehicle that minimizes resources waiting time:
m
v∗ = arg min{|tv + Tlv i( j−1) − ci( j−1) |}
v∈V
V4 Select the vehicle that reaches mi( j−1) the earliest:
m
v∗ = arg min{tv + Tlv i( j−1) }
v∈V
V5 Select the vehicle that is available the earliest:
v∗ = arg min{tv }
v∈V
Machine selection rules
M1 Select the machine that is available the latest before job i reaches it, if one exists:
∃ m ∈ Ii j : cm ≤ dv∗ + Tmmi( j−1) ⇒ m∗ = arg max{cm : cm ≤ dv∗ + Tmmi( j−1) };
m∈Ii j
otherwise, select the machine that is available the earliest:
m∗ = arg min{cm }
m∈Ii j
M2 Select the machine that is available the earliest after job i reaches it, if one exists:
∃ m ∈ Ii j : cm ≥ dv∗ + Tmmi( j−1) ⇒ m∗ = arg min{cm : cm ≥ dv∗ + Tmmi( j−1) };
m∈Ii j
otherwise, select the machine that is available the latest:
m∗ = arg min{cm }
m∈Ii j
M3 Select the machine that minimizes resource waiting time:
m∗ = arg min{|dv∗ + Tmmi( j−1) − cm |}.
m∈Ii j
M4 Select the machine that finishes processing Oi j the earliest:
m∗ = arg min{max{cm , dv∗ + Tmmi( j−1) } + pmij }.
m∈Ii j
M5 Select the machine that is available the earliest:
m∗ = arg min{cm }
m∈Ii j
m
The vehicle departure time is given by dv∗ = max{tv∗ + Tlv∗i( j−1) , ci( j−1) }.

It should be noted that if the machine chosen to process operation Oi j is similar to the one
assigned to process operation Oi( j−1) , then the job does not need to be moved; thus, a vehicle-move
assignment is not required and the time and location at which the chosen vehicle is available are
not updated (step 14 in Algorithm 2).

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 11

0.22 0.35 0.76 0.56 0.08 0.44 0.37 0.67 0.10 0.58 0.18 0.97 0.47
a) Elite parent,

0.29 0.24 0.54 0.21 0.09 0.78 0.45 0.15 0.17 0.83 0.52 0.53 0.10
b) Non-elite parent,

0.64 0.90 0.19 0.42 0.89 0.06 0.17 0.85 0.61 0.59 0.28 0.33 0.65
c) Mapping vector,

0.22 0.24 0.76 0.56 0.09 0.44 0.37 0.15 0.10 0.58 0.18 0.97 0.47
d) Offspring.

Fig. 3. Parameterized uniform crossover for EXF11.

Random keys 0.22 0.24 0.76 0.56 0.09 0.44 0.37 0.15 0.10 0.58 0.18 0.97 0.47
Operations sequence
Selected machine M1 M3 M3 M1 M2 M2 M3 M4 M3 M4 M1 M2 M3
Selected vehicle V1 V2 V2 V1 V2 V2 V1 V1 V2 V1 V1 V2 V2

Fig. 4. Optimal solution for EXF11.

3.3. Generation transition

To evolve the population, a new generation is produced using an elitist strategy that (a) copies all
elite solutions of the current population, which results in a monotonically improving metaheuristic;
(b) introduces mutants (randomly generated in the same way as the initial solutions were generated),
which enables escape from local entrapment; and (c) produces offspring by crossover. To implement
the parameterized uniform crossover, two parents are randomly selected, one from the elite solu-
tions and the other from the remaining solutions. Bias is introduced by giving a higher mating
chance to elite solutions. In addition, the probability that an individual inherits its characteristics
from the elite parent is also set to a larger value than that of the nonelite parent.
Figure 3 illustrates the crossover mechanism by considering instance EXF11; subparts (a) and (b)
show 2RK vectors with 13 genes each. Assume, without loss of generality, that subpart (a) refers to
an elite individual and subpart (b) to a nonelite individual. Further, let pe = 0.7 be the probability
of an offspring inheriting the allele of its elite parent. For each allele a random number in the
interval [0,1] is generated, the resulting mapping vector is shown in Fig. 3c. Whenever an element
has a value less than or equal to pe , the offspring inherits the allele of the elite parent; otherwise the
offspring inherits the allele of the nonelite parent. In this example, the offspring inherits the allele of
the nonelite parent only in its second, fifth, and eighth genes; resembling the elite parent the most;
see Fig. 3d.
Using algorithms 1 and 2 with resource selection rules VF1, MF1, V4, and M4 an optimal so-
lution is found for this instance; see Fig. 4. The corresponding Gantt chart is depicted in Fig. 5,
where the operations are shown as OXY, X being the job number and Y the operation number, with

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
12 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29

Fig. 5. Gantt chart for the optimal solution in Fig. 4.

the corresponding processing times in parentheses. The transport tasks are shown as an “origin-
destination” pair with the corresponding travel time in parentheses. The empty journeys of the
vehicles are colored in gray.

4. Results and discussion

Computational experiments were carried out on two sets of benchmark problem instances appro-
priately designed for the FJSPT. Data Set 1, proposed by Deroussi and Norre (2010), consists of a
modified version of 10 problem instances originally proposed by Bilge and Ulusoy (1995) for the
JSPT. Data Set 2, proposed by Kumar et al. (2011), contains 57 instances also derived from those
proposed by Bilge and Ulusoy (1995).
The proposed BRKGA was implemented in Julia 1.2 (Bezanson et al., 2017) and all computa-
TM
tional experiments were carried out on a 3.20 GHz Intel® Core i7-8700 PC with 24 GB RAM.
The population size Pmax , the number of generations Gmax , and the number of restarts k, were
empirically selected; see the numerical analysis described in Section 4.1. In addition, the number
of elite solutions Ne , the number of mutants Nm , and the elite inheritance probability pe were set
to 0.2Pmax , 0.1Pmax , and 0.7, respectively. The algorithm stops whenever the number of allowed
restarts is reached or if the target value (the optimal if one is known, otherwise the best-known
upper bound) is obtained. Due to the stochastic nature of the BRKGA, the algorithm was run 15
times for each problem instance.

4.1. Behavior of the multistart BRKGA

Following on the procedure proposed in Gonçalves and Resende (2018), we analyze the behavior
of the BRKGA using a restart strategy; more specifically, we analyze the impact of the population
size and of the number of restarts on the BRKGA performance.
After selecting a subset of problem instances, the BRKGA is run 100 times (without restart), each
time with a new seed for the random number generator. In each run, we record the number of gener-
ations the algorithm took to find a solution at least as good as the target solution. The experiments
are performed considering 10 different population sizes, ranging from 50 to 500 individuals.
Figure 6 depicts the average CPU time (over the 100 runs) required to find a solution at least
as good as the target one, for the different population sizes. Since, as can be seen, increasing the

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 13

12.1

11.9

10.5
Average CPU time (s)

9.9

6.9

5.9

5.7
5.6

4.8

4.2
50 100 150 200 250 300 350 400 450 500

Population size (Pmax)


Fig. 6. Average CPU time to target solution value for different population sizes (without restart).

1
Cumulative probability

0.8

0.6

0.4

0.2

0
101 102 103 104
Genrations to target value

Fig. 7. Empirical cumulative distribution function to target solution for problem instance EXF441 with Pmax = 500
(without restart).

population size gradually decreases the average CPU time required to find the target solution value,
we set Pmax = 500.
Figure 7 plots an empirical cumulative distribution function based on the number of generations
required (in each of the 100 runs) to obtain a solution at least as good as the target solution for
problem instance EXF441 (as an example). The figure shows that in 62% of the runs the algorithm
needs at most 100 generations to find the target value (i.e., the BRKGA fails to find the target value
with a probability of 1 − 0.62 = 0.38 if a limit of 100 generations is imposed). The probability of
failing to find the target value (p− ) decreases to 0.37, 0.36, 0.35, 0.32, and 0.28 if the number of
generations increases to 200, 400, 600, 800, and 1000, respectively.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
14 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
0.4

0.35

0.3
Gmax=100 Gmax=200

0.25
Probability

Gmax=300 Gmax=400
0.2

Gmax=500 Gmax=600
0.15

Gmax=700 Gmax=800
0.1

0.05 Gmax=900 Gmax=1000

Total generations (Gmax×k)

Fig. 8. Probability of failing to find the target value in EXF441 considering different combinations of allowed
generations Gmax and run cycles k.

As explained in Gonçalves and Resende (2018), the probability of failing to find the target value
decreases much faster if restarts are considered. In fact, the authors have shown that if p(g)− is
the probability of failing to find the target value when the algorithm is run for g generations, then
(p(g)− )k is the probability of failing to find the target value if k cycles of g generations are run. In
addition, this value is shown to be considerably smaller if the algorithm is run for k × g generations.
Let us illustrate this using our example. The probability of failing to find the target value with
100 generations is p(100)− = 0.38. Restarting the algorithm after 100 generations and assuming
independent runs leads to a probability of failing to find the target value of (p(100)− )2 = 0.382 =
0.14 quite smaller than that of running 200 generations without restart (0.37). Figure 8 shows
the value for this probability for problem instance EXF441 considering several combinations of
allowed generations Gmax (from 100 to 1000) and run cycles k (up to 20). It can be seen that the
best values, that is, smaller probabilities of failing to find the target value, are obtained with a small
number of generations and a large number of cycles. For example, consider Gmax = 100 with k =
4, Gmax = 200 with k = 2, and Gmax = 400 with k = 1 (all considering a total of Gmax × k = 400
generations), the probability of failing to find the target value for these cases is shown as a red
square in Fig. 8. While the p− is about 2% for four cycles of 100 generations each, it is about 14%
for two cycles of 200 generations each, and 36% for one cycle of 400 generations. Given the results
obtained for the subset of problem instances under consideration, we set Gmax = 100 and k = 5.

4.2. Analysis of the heuristic rules

To analyze the impact of the heuristic rules on the solution quality, we run all 100 possible com-
binations (2 × 2 × 5 × 5) and report in Table 3 a summary of the results obtained, for the best 10
combinations. Each rule combination (rule set) is identified by four digits, each corresponding to
the rule number used; see rule numbers and definitions in Tables 1 and 2.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 15
Table 3
Analysis of the 10 best heuristic rule sets

10 Instances in Set 1 28 Instances in Set 2 with t/p > 0.25 29 Instances in Set 2 with t/p ≤ 0.25
     
Rule set B A #B Rule set B A #B Rule set B A #B
1144 1338 1354.5 7 1144 2047 2067.1 22 1144 3181 3194.9 23
1234 1338 1354.9 6 2144 2047 2068.5 23 2144 3181 3195.3 23
2144 1338 1355.5 7 2134 2048 2067.3 23 1134 3182 3195.0 23
1134 1340 1349.1 6 1134 2049 2062.9 23 2134 3182 3195.3 23
2134 1340 1351.3 6 2124 2055 2078.0 18 1154 3182 3197.7 23
2234 1340 1357.2 6 1124 2055 2078.4 18 1124 3182 3203.9 23
1154 1340 1361.1 6 1154 2057 2076.9 19 2154 3183 3196.9 22
2154 1340 1362.1 5 2154 2057 2077.7 18 2143 3183 3197.5 22
1244 1342 1356.9 5 1114 2063 2081.0 16 1133 3184 3200.8 21
2244 1342 1359.2 5 2114 2066 2082.7 14 2114 3185 3203.6 21

For each rule set, we


report the summation over the 10 of 57 instances of the best makespan
found in the 15 runs ( B), the summation over the 10 of 57 instances of the average makespan
found in the 15 runs ( A), and the number of instances for  which the best-known
 makespan has
been found (#B). In this table the rule sets are sorted first by B, then by the A, and finally by
#B.
As can be seen, no rule set performs best in all three parameters and they all have similar per-
formances. Nevertheless, it seems that rule set 1144 performs slightly better. Moreover, it can be
concluded that regarding machine assignment, the fourth heuristic rule has better performance.

4.3. Results for Data Set 1

Data Set 1 consists of the 10 instances proposed in Deroussi and Norre (2010), which have been
used on all reported works on the FJSPT, except in Kumar et al. (2011). These instances use the 10
job sets and layout 1 originally proposed in Bilge and Ulusoy (1995) for the JSPT and differ from
the original ones in the sense that all machines have been duplicated. Therefore, each operation
can be performed on two alternative machines with the same processing time; see Appendix A for
details and data. In this work and following Zhang et al. (2012, 2013), these instances are designated
as fjsp1:10.
For each problem instance, Table 4 reports its characteristics (the number of machines, jobs, and
operations and average traveling to processing times ratio1 ) and the optimal makespan and the
computation time in seconds (Time) required to obtain it as reported in Homayouni and Fontes
(2019b). The following columns report the computational performance of the proposed BRKGA
and that of state-of-the-art metaheuristics (Zhang et al., 2012, 2013). For the three metaheuris-
tics, we report the best makespan (Best) and the corresponding percentage optimality gap (GAP),

1
Following the work in Bilge and Ulusoy (1995), we compute the average traveling to processing times ratio (t/p) by
dividing the average loaded transport time by the average processing time, over all jobs and all possible routes for each job.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
16 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
Table 4
Results for problem instances in Set 1

Characteristics MILP BRKGA GTSB GATS


Ins M-J-O t/p Optimal Time b
Best GAP σ% Time b
Best GAP Best GAP
fjsp1 8-7-19 0.27 134 554.25 138 2.99 1.89 3.81 146 8.96 144 7.46
fjsp2 8-6-15 0.25 114 17.12 118 3.51 0.00 3.36 118 3.51 118 3.51
fjsp3 8-6-16 0.24 120 4.44 120 0.00 1.96 0.69 124 3.33 124 3.33
fjsp4 8-5-19 0.40 114 280.64 120 5.26 0.85 4.74 124 8.77 124 8.77
fjsp5 8-5-13 0.43 94 2.26 96 2.13 0.00 2.78 94 0.00 94 0.00
fjsp6 8-6-18 0.25 138 42.09 138 0.00 1.53 2.41 144 4.35 144 4.35
fjsp7a 8-8-19 0.35 110 9852.20 112 1.82 1.77 2.75 122 10.91 124 12.73
fjsp8 8-6-20 0.23 178 131.67 178 0.00 0.59 2.58 181 1.69 180 1.12
fjsp9 8-5-17 0.30 144 43.10 144 0.00 0.36 0.95 146 1.39 150 4.17
fjsp10 8-6-21 0.21 174 1396.50 174 0.00 1.29 2.59 178 2.30 178 2.30
Mean 1232.43 1.57 1.02 2.67 4.52 4.77
a
No optimal solution was found within the 50-second limit.
b
Computation times refer to the same computer.

computed as in Equation (5). Regarding the BRKGA, we also report the percentage of makespan
standard deviation (σ %) and the average computation time in seconds (Time), over the 15 runs:

(Best − Optimal)
GAP = × 100. (5)
Optimal
It should be noted that for instance fjsp7 the MILP model could not be solved to optimality
within the 50,000-second time limit imposed; thus, for this instance we report the BKS (110) and
the computation time required to find it (9852.20 seconds).
From the results reported in Table 4, it can be seen that the proposed BRKGA very quickly finds,
in always less than five seconds, very good quality solutions for the problem instances used. In fact,
an optimal solution is found for five of the nine instances for which one is known.
The BRKGA outperforms the state-of-the-art metaheuristics since for 8 of the 10 instances it
finds better solutions than those found by GATS and GTSB (Zhang et al., 2012, 2013), and only for
one does it fail to match them. The BRKGA solutions are on average 1.57% away from the BKSs;
while those of GTSB and GATS are on average 4.52% and 4.77% worse than BKSs. Moreover,
the average percentage of standard deviation is only 1.02% (always below 2%), which allows for
inferring the BRKGA robustness.

4.4. Results for Data Set 2

Data Set 2 was proposed by Kumar et al. (2011) who adapted the JSPT instances proposed in
Bilge and Ulusoy (1995) by considering that each operation can be done on one of three alternative
machines; see Appendix B for details and data. Originally, Bilge and Ulusoy (1995) designed 10
job sets and 4 layouts obtaining 40 problem instances. Since the resulting instances had a t/p ratio
over 0.25 and, according to Bilge and Ulusoy (1995), this ratio is the major factor affecting problem

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 17
Table 5
Results for problem instances in the first group of Set 2 (t/p > 0.25)

Characteristics BRKGA PDE-1 PDE-2


Ins M-J-O t/p Best GAP σ% Time Best GAP Best GAP
EXF11 4-5-13 0.52 70 −5.41 0.00 0.05 74 0.00 74 0.00
EXF21 4-6-15 0.51 76 −1.30 0.54 4.36 77 0.00 77 0.00
EXF41 4-5-19 0.74 72 −1.37 1.37 5.81 73 0.00 73 0.00
EXF51 4-5-13 0.82 61 0.00 1.50 3.58 61 0.00 61 0.00
EXF71 4-8-19 0.73 81 0.00 0.64 5.39 81 0.00 81 0.00
EXF81 4-6-20 0.47 93 0.00 0.64 2.25 93 0.00 94 1.08
EXF91 4-5-17 0.51 82 0.00 0.00 1.91 82 0.00 82 0.00
EXF12 4-5-13 0.43 59 0.00 0.00 2.84 59 0.00 59 0.00
EXF22 4-6-15 0.38 62 0.00 1.00 1.69 62 0.00 63 1.61
EXF42 4-5-19 0.61 58 −3.33 1.10 4.48 60 0.00 60 0.00
EXF52 4-5-13 0.70 49 −2.00 1.00 2.78 50 0.00 50 0.00
EXF72 4-8-19 0.55 62 −1.59 0.42 4.22 63 0.00 64 1.59
EXF82 4-6-20 0.38 80 −3.61 1.35 2.25 83 0.00 83 0.00
EXF92 4-5-17 0.41 69 −2.82 1.12 0.58 71 0.00 71 0.00
EXF13 4-5-13 0.46 62 −3.13 0.00 0.06 64 0.00 64 0.00
EXF23 4-6-15 0.43 67 0.00 0.62 1.41 67 0.00 67 0.00
EXF43 4-5-19 0.66 63 −1.56 1.31 3.22 66 3.13 64 0.00
EXF53 4-5-13 0.90 53 1.92 1.73 2.28 52 0.00 52 0.00
EXF73 4-8-19 0.64 67 −1.47 1.24 2.78 68 0.00 69 1.47
EXF83 4-6-20 0.42 84 0.00 1.33 2.28 84 0.00 84 0.00
EXF93 4-5-17 0.45 74 0.00 0.00 1.89 74 0.00 74 0.00
EXF14 4-5-13 0.56 78 −2.50 0.00 0.05 80 0.00 80 0.00
EXF24 4-6-15 0.52 87 0.00 0.58 1.72 87 0.00 87 0.00
EXF44 4-5-19 0.79 82 −1.20 1.02 2.06 83 0.00 83 0.00
EXF54 4-5-13 0.90 68 −2.86 0.76 1.88 70 0.00 70 0.00
EXF74 4-8-19 0.77 97 −3.00 1.40 1.86 100 0.00 100 0.00
EXF84 4-6-20 0.50 102 −2.86 2.07 2.66 107 1.90 105 0.00
EXF94 4-5-17 0.55 89 −1.11 0.40 2.25 90 0.00 90 0.00
Mean −1.40 0.83 2.45 0.18 0.21

difficulty, they created a second group of 42 instances with t/p ratios of or below 0.25. In order to do
so, the authors halved all transportation times and doubled or tripled processing times. Instances
in the first group are designated as EXF11 to EXF104, in which the first figure refers to the job
set (1–10) and the second to the layout (1–4), whereas instances in the second group have an extra
figure, which is 0 for doubled processing times and 1 for tripled processing times.
Tables 5 and 6 report the BRKGA results obtained for the modified version of these two groups
of instances (excluding the instances involving job sets 3, 6, and 102 ) together with those reported
by Kumar et al. (2011) for PDE-1 and PDE-2, which are the only known results for these in-
stances. Since no optimal solutions are available for these instances, we use the BKS, obtained as
BKS = min{PDE-1,PDE-2}, to compute the gap for each instance; see Equation (6). As before,
2
We do not report results for the 25 instances involving job sets 3, 6, and 10, since for these instances there are some typos
in the data provided in Kumar et al. (2011).

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
18 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
Table 6
Results for problem instances in the second group of Set 2 (t/p ≤ 0.25)

Characteristics BRKGA PDE-1 PDE-2


Ins M-J-O t/p Best GAP σ% Time Best GAP Best GAP
EXF110 4-5-13 0.13 94 0.00 0.00 0.05 96 2.13 94 0.00
EXF210 4-6-15 0.13 104 0.00 0.95 1.17 104 0.00 104 0.00
EXF410 4-5-19 0.18 92 0.00 0.00 3.16 92 0.00 92 0.00
EXF510 4-5-13 0.20 77 0.00 0.00 0.02 77 0.00 77 0.00
EXF710 4-8-19 0.18 102 −0.97 0.52 2.38 103 0.00 103 0.00
EXF810 4-6-20 0.12 141 −0.70 0.70 2.67 142 0.00 142 0.00
EXF910 4-5-17 0.13 119 1.71 0.77 2.08 117 0.00 117 0.00
EXF120 4-5-13 0.11 91 −2.15 0.00 0.09 96 3.23 93 0.00
EXF220 4-6-15 0.10 102 0.99 0.51 1.33 101 0.00 101 0.00
EXF420 4-5-19 0.15 90 2.27 0.00 2.13 88 0.00 91 3.41
EXF520 4-5-13 0.17 76 0.00 0.00 0.02 76 0.00 76 0.00
EXF720 4-8-19 0.14 98 −2.00 0.39 2.33 100 0.00 100 0.00
EXF820 4-6-20 0.09 138 0.00 0.41 2.63 138 0.00 140 1.45
EXF920 4-5-17 0.10 118 3.51 0.43 2.11 114 0.00 114 0.00
EXF130 4-5-13 0.11 95 3.26 0.96 1.88 92 0.00 92 0.00
EXF230 4-6-15 0.11 102 0.00 0.96 1.70 102 0.00 102 0.00
EXF430 4-5-19 0.16 90 −1.10 0.46 3.41 92 1.10 91 0.00
EXF530 4-5-13 0.18 78 1.30 0.00 2.02 77 0.00 77 0.00
EXF730 4-8-19 0.16 100 −0.99 0.88 1.98 101 0.00 102 0.99
EXF830 4-6-20 0.10 139 −1.42 0.66 2.27 141 0.00 141 0.00
EXF930 4-5-17 0.11 118 1.72 0.22 2.09 116 0.00 116 0.00
EXF140 4-5-13 0.14 99 0.00 0.00 2.00 99 0.00 99 0.00
EXF241 4-6-15 0.09 153 −0.65 0.30 0.97 154 0.00 157 1.95
EXF441 4-5-19 0.13 133 −0.75 0.19 2.11 135 0.75 134 0.00
EXF541 4-5-13 0.15 113 0.00 0.00 0.02 113 0.00 113 0.00
EXF740 4-8-19 0.19 104 −2.80 0.80 2.33 107 0.00 107 0.00
EXF741 4-8-19 0.13 150 0.00 0.40 2.00 151 0.67 150 0.00
EXF840 4-6-20 0.13 144 0.00 0.82 2.64 147 2.08 144 0.00
EXF940 4-5-17 0.14 121 3.42 0.29 1.80 117 0.00 117 0.00
Mean 0.16 0.40 1.77 0.34 0.27

we report problem instance characteristics3 and, for all methods, the best makespan (Best) and the
corresponding percentage optimality gap (GAP). For the BRKGA, we also report the percentage
makespan standard deviation (σ %) and the average computation time in seconds (Time), over the
15 runs:
(Best − BKS)
GAP = × 100. (6)
BKS
The BRKGA was able to improve the BKSs for 17 (see the negative GAP values in Table 5) of
the 28 instances in the first group (t/p > 0.25), being worse for only one instance, and 10 of the
3
Note that the ratio reported here is not the original one, since in the modified instances there are three alternative
machines and thus, job routing has to be determined. As before, the t/p ratio is computed by dividing the average loaded
transport time by the average processing time, over all jobs and all possible routes for each job.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 19
Table 7
Results for the JSP—modified version of the instances proposed by Bilge and Ulusoy (1995)

Characteristics MILP BRKGA


Instances M-J-O Optimal Best GAP σ% Time
EX1x 4-5-13 60 60 0.00 0.00 0.01
EX2x 4-6-15 70 70 0.00 0.00 0.01
EX3x 4-6-16 70 70 0.00 0.00 0.02
EX4x 4-5-19 54 54 0.00 0.00 0.05
EX5x 4-5-13 48 48 0.00 0.00 0.01
EX6x 4-6-18 88 88 0.00 0.00 0.12
EX7x 4-8-19 66 66 0.00 0.00 0.02
EX8x 4-6-20 141 141 0.00 0.00 0.03
EX9x 4-5-17 81 81 0.00 0.00 0.10
EX10x 4-6-21 112 112 0.00 0.00 0.46
Mean 0.00 0.00 0.08

29 instances in the second group (t/p ≤ 0.25), being worse on eight instances; see Table 6. Thus,
it can be concluded that the BRKGA outperforms the DE algorithms (Kumar et al., 2011). Note
that in these comparisons, we consider the best solution among PDE-1 and PDE-2. In addition, the
BRKGA is very robust since the average percentage standard deviation is only 0.83% and 0.40%
for instances in the first and the second groups, respectively. Finally, it should be noted that CPU
times are always below six seconds.

4.5. Multistart BRKGA for other job shop scheduling problem versions

The multistart BRKGA proposed in this work is coupled with a heuristic algorithm that determines
the resource assignments and it can be easily adapted to solve other JSP versions, in particular the
JSP, JSPT, and FJSP as they are subproblems of the FJSPT.
In order to solve JSP instances, one just needs to disregard the resource assignment heuristic (line
6 of Algorithm 1) since job routing is predetermined and no transport within the shop floor is con-
sidered. In order to illustrate this, we consider a set of JSP instances resulting from the 10 job sets
in Bilge and Ulusoy (1995), while disregarding the layouts (as transportation times and resources
are not considered). The solutions obtained by the multistart BRKGA (without the heuristic algo-
rithm) are compared with optimal solutions obtained by implementing the MILP model in Fontes
and Homayouni (2019) considering an infinite number of vehicles and zeroing all traveling times.
These instances are designated as EX1x to EX10x and the results are reported in Table 7. As can
be seen, the multistart BRKGA found optimal solutions for all the instances in all runs almost in-
stantly.
The multistart BRKGA can also be applied to solve JSPT instances. In this case, just the vehicle-
related instructions of Algorithm 2 are considered since, as job routing is known in advance, no
machine assignment is required.
We solved a small subset of JSPT instances (the 10 job sets and layout 1 proposed by Bilge
and Ulusoy, 1995) and the results are reported in Table 8. For each problem instance, we report

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
20 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
Table 8
Results for the JSPT—instances proposed by Bilge and Ulusoy (1995)

Characteristics MILP BRKGA TS GATS GTSB


Instances M-J-O Optimal Best GAP σ% Time Best GAP Best GAP Best GAP
EX11 5-13-3 96 96 0.00 0.95 0.50 96 0.00 96 0.00 96 0.00
EX21 6-15-3 100 100 0.00 1.82 1.03 100 0.00 104 4.00 103 3.00
EX31 6-16-4 99 99 0.00 2.27 0.95 99 0.00 99 0.00 99 0.00
EX41 5-19-5 112 112 0.00 2.02 1.47 112 0.00 116 3.57 114 1.79
EX51 5-13-3 87 87 0.00 0.48 0.38 87 0.00 88 1.15 87 0.00
EX61 6-18-3 118 118 0.00 0.71 1.38 118 0.00 120 1.69 122 3.39
EX71a 8-19-3 111 111 0.00 2.28 1.33 111 0.00 115 3.60 114 2.70
EX81 6-20-4 161 161 0.00 0.00 0.11 161 0.00 161 0.00 161 0.00
EX91 5-17-4 116 116 0.00 0.74 1.09 116 0.00 116 0.00 116 0.00
EX101 6-21-4 146 146 0.00 1.43 1.67 146 0.00 148 1.37 148 1.37
Mean 0.00 1.27 0.99 0.00 1.54 1.42
a
No optimal solution was found within the 50,000-second limit.

the optimal makespan found by the MILP proposed in Fontes and Homayouni (2019), the results
obtained by the multistart BRKGA, and the results found by TS (Zheng et al., 2014), GATS (Zhang
et al., 2012), and GTSB (Zhang et al., 2013), as well as the respective optimality gaps.
As can be seen from the results reported in Table 8, the multistart BRKGA is able to find an
optimal solution for all instances for which one is known. Although the TS proposed in Zheng
et al. (2014) was also able to find an optimal solution for all instances, that was not the case for
GATS (Zhang et al., 2012) and GTSB (Zhang et al., 2013). It should be noted that the TS was
specifically proposed for the JSPT and cannot solve the FJSPT, as is the case for the BRKGA,
GATS, and GTSB.
Lastly, the multistart BRKGA can also find good-quality solutions for the FJSP, as can be seen
in Section 4.6, where the impact of the transportation times and resources on the FJSP is discussed
further.

4.6. Impact of the transportation constraints

For many years it has been common practice, in the scheduling community, to ignore material
handling by assuming that transportation resources are always available when needed and that
transportation time is either negligible or can be considered as a setup time. Solutions to the FJSPT
are obtained by solving the FJSP (with or without setup times) and then, at the shop floor, vehicles
are assigned to the required transports when available. Obviously, the resulting makespan is larger
than that of the FJSP schedule since transportation times and waiting times need to be added.
In this section, we consider such a strategy to find solutions to the FJSPT instances of Sets 1
and 2, which are then compared to the solutions obtained in Sections 4.3 and 4.4 and also to those
obtained while completely disregarding transportation (i.e., considering the FJSP). Thus, for each
instance we compare and report, in Tables 9 and 10, the following:

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 21
Table 9
Impact of the transportation time and resources on the makespan of the flexible job shop problem for instances in Set 1

Ins t/p FJSPT FJSP FJSP+T Diff Inc


fjsp1 0.27 138 116 216 18.97 56.52
fjsp2 0.25 118 94 140 25.53 18.64
fjsp3 0.24 120 100 176 20.00 46.67
fjsp4 0.40 120 84 206 42.86 71.67
fjsp5 0.43 96 78 134 23.08 39.58
fjsp6 0.25 138 118 172 16.95 24.64
fjsp7 0.35 112 82 170 36.59 51.79
fjsp8 0.23 178 162 211 9.88 18.54
fjsp9 0.30 144 116 204 24.14 41.67
fjsp10 0.21 174 146 226 19.18 29.89
Mean 0.29 23.72 39.96

1. FJSP—makespan of the schedule obtained by ignoring transportation;


2. FJSP+T—makespan of the schedule obtained by ignoring transport to which the corresponding
transportation and waiting times are added afterwards; and
3. FJSPT—makespan of the schedule obtained by simultaneously considering production and
transport.

To solve the FJSP version of the instances the machine assignment rules MF1 and M4 need to
be modified as no vehicles are being considered:
MF1—select the machine that finishes processing Oi1 the earliest: m∗ = arg minm∈Ii1 {cm + pm i1 }.
M4—select the machine that finishes processing Oi j the earliest: m∗ = arg minm∈Ii j {cm + pm
ij }.
To find the makespan resulting from adding transportation and waiting times to the FJSP sched-
ule (FJSP+T), we assign (from left to right) a vehicle to move the job having each operation done
on a machine using, as before, heuristic rules VF1 and V4 (see Tables 1 and 2).
The results reported in Tables 9 and 10 for problem instances of Sets 1 and 2, respectively, include
the t/p ratio, the makespan of the best solution for the FJSP, the makespan for the FJSP+T using
the best FJSP schedule, and the makespan of the best solution for the FJSPT (as given in Tables 4–
6). In addition, we also report the percentage difference (Diff) between FJSPT and FJSP makespans,
computed as in Equation (7), and the percentage increase (Inc) of the FJSP+T makespan over the
FJSPT makespan, as computed in Equation (8):

makespanFJSPT − makespanFJSP
Diff = × 100. (7)
makespanFJSP

makespanFJSPT+T − makespanFJSPT
Inc = × 100. (8)
makespanFJSPT

The results show that the FJSPT makespan is on average about 24%, 53%, and 7% larger than
that of FJSP for problem instances in Set 1, first group of Set 2, and second group of Set 2, respec-

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
22 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
Table 10
Impact of the transportation time and resources on the makespan of the flexible job shop problem for instances in Set 2

The first group The second group


Ins t/p FJSPT FJSP FJSP+T Diff Inc Ins t/p FJSPT FJSP FJSP+T Diff Inc
EXF11 0.52 70 44 93 59.09 32.86 EXF110 0.13 94 88 114 6.82 21.28
EXF21 0.51 76 49 98 55.10 28.95 EXF210 0.13 104 98 112 6.12 7.69
EXF41 0.74 72 42 106 71.43 47.22 EXF410 0.18 92 84 92 9.52 0.00
EXF51 0.82 61 36 81 69.44 32.79 EXF510 0.20 77 72 81 6.94 5.19
EXF71 0.73 81 46 122 76.09 50.62 EXF710 0.18 102 92 107 10.87 4.90
EXF81 0.47 93 68 133 36.76 43.01 EXF810 0.12 141 136 158 3.68 12.06
EXF91 0.51 82 55 107 49.09 30.49 EXF910 0.13 119 110 124 8.18 4.20
EXF12 0.43 59 44 83 34.09 40.68 EXF120 0.11 91 88 108 3.41 18.68
EXF22 0.38 62 49 89 26.53 43.55 EXF220 0.10 102 98 107 4.08 4.90
EXF42 0.61 58 42 82 38.10 41.38 EXF420 0.15 90 84 90 7.14 0.00
EXF52 0.70 49 36 70 36.11 42.86 EXF520 0.17 76 72 76 5.56 0.00
EXF72 0.55 62 46 91 34.78 46.77 EXF720 0.14 98 92 102 6.52 4.08
EXF82 0.38 80 68 105 17.65 31.25 EXF820 0.09 138 136 149 1.47 7.97
EXF92 0.41 69 55 100 25.45 44.93 EXF920 0.10 118 110 122 7.27 3.39
EXF13 0.46 62 44 89 40.91 43.55 EXF130 0.11 95 88 111 7.95 16.84
EXF23 0.43 67 49 90 36.73 34.33 EXF230 0.11 102 98 110 4.08 7.84
EXF43 0.66 63 42 87 50.00 38.10 EXF430 0.16 90 84 90 7.14 0.00
EXF53 0.90 53 36 68 47.22 28.30 EXF530 0.18 78 72 78 8.33 0.00
EXF73 0.64 67 46 105 45.65 56.72 EXF730 0.16 100 92 105 8.70 5.00
EXF83 0.42 84 68 111 23.53 32.14 EXF830 0.10 139 136 152 2.21 9.35
EXF93 0.45 74 55 102 34.55 37.84 EXF930 0.11 118 110 125 7.27 5.93
EXF14 0.56 78 44 114 77.27 46.15 EXF140 0.14 99 88 123 12.50 24.24
EXF24 0.52 87 49 120 77.55 37.93 EXF241 0.09 153 147 164 4.08 7.19
EXF44 0.79 82 42 116 95.24 41.46 EXF441 0.13 133 126 142 5.56 6.77
EXF54 0.90 68 36 101 88.89 48.53 EXF541 0.15 113 108 117 4.63 3.54
EXF74 0.77 97 46 160 110.87 64.95 EXF740 0.19 104 92 113 13.04 8.65
EXF84 0.50 102 68 155 50.00 51.96 EXF741 0.13 150 138 159 8.70 6.00
EXF94 0.55 89 55 121 61.82 35.96 EXF840 0.13 144 136 162 5.88 12.50
EXF940 0.14 121 110 130 10.00 7.44
Mean 0.58 52.50 41.26 0.14 6.82 7.44

tively. Note that the average t/p ratio for these instances is, respectively, 0.29, 0.58, and 0.14. These
results clearly show that material handling cannot be ignored. Moreover, from the comparison be-
tween the FJSP+T and the FJSPT makespans, it can be concluded that production and transport
scheduling need to be simultaneously optimized. For the specific instances considered, the FJSP+T
makespan is considerably larger, on average about 40%, 41%, and 7% larger for problem instances
in Set 1, first group of Set 2, and second group of Set 2, respectively.
The results reported in Tables 9 and 10 show for both Diff and Inc an upward trend with
the value of the t/p ratio. Therefore, we investigated further the impact of t/p ratios by chang-
ing the values in the traveling time matrix for the 10 job sets in Set 1. Twenty traveling time
matrices have been considered, each obtained by multiplying all original elements by a constant
({0.25, 0.5, 0.75, 1, 1.25, . . . , 5}), resulting in t/p ratios ranging from 0.05 to over 2. Again we cal-
culated the makespans associated with FJSPT, FJSP, and FJSP+T.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 23

V=1 V=2 V=3 V=4 V=5


Increase (%)

[0.05,0.1] (0.1,0.2] (0.2,0.3] (0.3,0.4] (0.4,0.5] (0.5,0.6] (0.6,0.7] (0.7,0.8] (0.8,0.9] (0.9,1.0] (1.0,1.1] (1.1,1.2] (1.2,1.5] (1.5,2.2]
t/p ratios

Fig. 9. Average FJSP+T makespan increase (%) over that of the FJSPT for problem instances in Set 1 with different t/p
ratios and different number of available vehicles.

Furthermore, we have repeated the experiments with these 20 sets considering different num-
bers of available vehicles (V = {1, 2, . . . , 5}). Figure 9 shows the average values for the percentage
increase in the makespan of the FJSP+T (over that of the FJSPT) for 14 intervals of the t/p ratio.
As expected, it can be observed that the percentage increase in the makespan associated with
FJSP+T increases with the t/p ratio. In addition, it can also be observed that as the number of
vehicles increases, the difference between the makespans of FJSP+T and FJSPT becomes smaller.
This is expected as for a large number of vehicles the transport scheduling becomes less of a con-
cern, since only machines are a scarce resource. Nevertheless, even for instances with very low
t/p ratios and a large number of available vehicles, the improvement in the makespan is still sub-
stantial; the makespan of the FJSP+T is, on average, always at least 2% larger than that of the
FJSPT. Therefore, we can conclude that simultaneously scheduling production and transportation,
although increasing problem complexity, leads to lower makespans, and is thus of value in practice.

5. Conclusion

This work addresses the FJSPT, which is not only scientifically challenging but also relevant in
practice since finding good-quality solutions can bring about cost reductions with large impacts.
This paper proposes a multistart BRKGA to address the FJSPT, which combines four differ-
ent but interrelated combinatorial problems, namely: job routing (machine-operation allocation),
machine scheduling (operations sequencing on each machine), vehicle assignment (vehicle-task al-
location), and transport scheduling (tasks sequencing on each vehicle).
The computational results show the multistart BRKGA to be capable of quickly finding very
good-quality solutions for the FJSPT. In addition, due to its modular structure it can be easily
adapted to solve other similar types of scheduling problems, by suppressing some of the modules.
In fact, we reported very good results for the JSP, for the JSPT, and for the FJSP.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
24 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
Regarding the FJSPT, the BRKGA was able to find solutions that match the optimal makespan
in five of the nine instances with a known optimum for problem instances in Set 1. It outperforms
the existing metaheuristic solution methods for the FJSPT, since for 8 of the 10 problem instances
in Set 1 it found better solutions than state-of-the-art metaheuristics. Regarding the 57 problem
instances in Set 2, the BRKGA was able to find a solution better than or equal to the current BKS
in 46 instances, about 80% of them. Moreover, the BRKGA finds these solutions very quickly, since
its running time was always under six seconds. Finally, the BRKGA produces robust solutions,
a very important characteristic in practice, since the makespan percentage standard deviation is,
below 2.1% (on average, 1.02% for Set 1, 0.83% for the first group of Set 2, and 0.40% for the
second group of Set 2).
Furthermore, the importance and relevance of including transportation in the FJSP has been
empirically demonstrated as ignoring the transportation part of the problem leads to wrong and
misleading results. We have shown the makespan obtained by ignoring the transportation part (i.e.,
solving the FJSP) to be below the best possible makespan (best/optimal solution for the FJSPT)
between 1.47% and 110.87%, which in practice may cause several problems (e.g., planning and cus-
tomer relations, etc.). Besides that, when the FJSP schedule is sent to the shop floor, it is missing
the vehicles’ allocation and scheduling. Vehicles have then to be assigned to move the jobs for the
operations to be done. The resulting makespan (FJSP+T) will be larger than that of the FJSP
schedule since transportation times as well as waiting times have to be added. Our computational
experiments have shown the latter (FJSP+T) to be larger than the makespan obtained by simul-
taneously scheduling production and transportation (FJSPT), even if the transportation times are
much smaller than the processing times and a large number of available vehicles are available. In-
deed, the FJSP+T makespan can be up to 71.67% larger than that of the FJSPT, among instances
in Sets 1 and 2.

Acknowledgments

We acknowledge the financial support of FEDER/COMPETE2020/NORTE2020/POCI/


PIDDAC/MCTES/FCT funds through grants PTDC/EGE-OGE/31821/2017 and PTDC/EEI-
AUT/31447/2017.

References

Bean, J.C., 1994. Genetic algorithms and random keys for sequencing and optimization. ORSA Journal on Computing 6,
2, 154–160.
Bezanson, J., Edelman, A., Karpinski, S., Shah, V.B., 2017. Julia: a fresh approach to numerical computing. SIAM Review
59, 1, 65–98.
Bilge, Ü., Ulusoy, G., 1995. A time window approach to simultaneous scheduling of machines and material handling
system in an FMS. Operations Research 43, 6, 1058–1070.
Bissoli, D.C., Zufferey, N., Amaral, A.R., 2019. Lexicographic optimization-based clustering search metaheuristic for
the multiobjective flexible job shop scheduling problem. International Transactions in Operational Research. https:
//doi.org/10.1111/itor.12745.
Brandão, J.S., Noronha, T.F., Resende, M.G., Ribeiro, C.C., 2017. A biased random-key genetic algorithm for scheduling
heterogeneous multi-round systems. International Transactions in Operational Research 24, 5, 1061–1077.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 25
Chaudhry, I.A., Khan, A.A., 2016. A research survey: review of flexible job shop scheduling techniques. International
Transactions in Operational Research 23, 3, 551–591.
Correcher, J.F., Alvarez-Valdes, R., 2017. A biased random-key genetic algorithm for the time-invariant berth allocation
and quay crane assignment problem. Expert Systems with Applications 89, 112–128.
Deliktas, D., Torkul, O., Ustun, O., 2019. A flexible job shop cell scheduling with sequence-dependent family setup times
and intercellular transportation times using conic scalarization method. International Transactions in Operational
Research 26, 6, 2410–2431.
Deroussi, L., Norre, S., 2010. Simultaneous scheduling of machines and vehicles for the flexible job shop problem. Inter-
national Conference on Metaheuristics and Nature Inspired Computing, Djerba Island, Tunisia, pp. 1–2.
Fontes, D.B.M.M., Gonçalves, J.F., 2007. Heuristic solutions for general concave minimum cost network flow problems.
Networks 50, 1, 67–76.
Fontes, D.B.M.M., Gonçalves, J.F., 2013. A multi-population hybrid biased random key genetic algorithm for hop-
constrained trees in nonlinear cost flow networks. Optimization Letters 7, 6, 1303–1324.
Fontes, D.B.M.M., Goncalves, J.F., Fontes, F.A.C.C., 2018. An evolutionary approach to the maximum edge weight
clique problem. Recent Advances in Electrical & Electronic Engineering 11, 3, 260–266.
Fontes, D.B.M.M., Homayouni, S.M., 2019. Joint production and transportation scheduling in flexible manufacturing
systems. Journal of Global Optimization 74, 4, 879–908.
Gao, K., Cao, Z., Zhang, L., Chen, Z., Han, Y., Pan, Q., 2019. A review on swarm intelligence and evolutionary algo-
rithms for solving flexible job shop scheduling problems. IEEE/CAA Journal of Automatica Sinica 6, 4, 904–916.
Garey, M.R., Johnson, D.S., Sethi, R., 1976. The complexity of flowshop and jobshop scheduling. Mathematics of Oper-
ations Research 1, 2, 117–129.
Gonçalves, J.F., Resende, M.G.C., 2011. Biased random-key genetic algorithms for combinatorial optimization. Journal
of Heuristics 17, 5, 487–525.
Gonçalves, J.F., Resende, M.G.C., 2018. Random-key genetic algorithms. In Martí, R., Pardalos, P., Resende, M. (eds)
Handbook of Heuristics. Springer, Cham, pp. 703–715.
Gonçalves, J.F., Resende, M.G.C., Costa, M.D., 2016. A biased random-key genetic algorithm for the minimization of
open stacks problem. International Transactions in Operational Research 23, 1–2, 25–46.
Grand View Research, 2020. Automated guided vehicle market size, share & trends analysis report by vehicle type, by
navigation technology, by application, by end-use industry, by component, by battery type, by region, and segment
forecasts, 2020–2027. Grand View Research, San Francisco, CA. Available at https://www.grandviewresearch.com/
industry-analysis/automated-guided-vehicle-agv-market (accessed 16 July 2020).
Homayouni, S.M., Fontes, D.B.M.M., 2019a. A biased random key genetic algorithm for the flexible job shop problem
with transportation. XIII Metaheuristics International Conference MIC, July 28–31, Cartagena, Colombia, pp. 149–
151.
Homayouni, S.M., Fontes, D.B.M.M., 2019b. Joint scheduling of production and transport with alternative job routing
in flexible manufacturing systems. AIP Conference Proceedings, Vol. 2070. AIP Publishing, College Park, MD, p.
020045.
Homayouni, S.M., Tang, S.H., Motlagh, O., 2014. A genetic algorithm for optimization of integrated scheduling of
cranes, vehicles, and storage platforms at automated container terminals. Journal of Computational and Applied
Mathematics 270, 545–556.
Karimi, S., Ardalan, Z., Naderi, B., Mohammadi, M., 2017. Scheduling flexible job-shops with transportation times:
mathematical models and a hybrid imperialist competitive algorithm. Applied Mathematical Modelling 41, 667–682.
Kumar, M.S., Janardhana, R., Rao, C., 2011. Simultaneous scheduling of machines and vehicles in an FMS environment
with alternative routing. The International Journal of Advanced Manufacturing Technology 53, 1–4, 339–351.
Lin, W., Deng, Q., Han, W., Gong, G., Li, K., 2020. An effective algorithm for flexible assembly job-shop scheduling with
tight job constraints. International Transactions in Operational Research. https://doi.org/10.1111/itor.12767.
Makino, 2020. Crowning achievement, automation helps Prince Industries master global manufacturing. Available at
https://www.competitiveproduction.com/articles/crowning-achievement/ (accessed 3 July 2020).
Nouri, H.E., Driss, O.B., Ghédira, K., 2016. Simultaneous scheduling of machines and transport robots in flexible job
shop environment using hybrid metaheuristics based on clustered holonic multiagent model. Computers & Industrial
Engineering 102, 488–501.

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
26 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
ReliablePlane, 2020. Mazda capitalizes on flexible manufacturing capabilities. Available at https://www.reliableplant.
com/Read/7750/mazda (accessed 3 July 2020).
Roque, L.A.C., Fontes, D.B.M.M., Fontes, F.A.C.C., 2011. A biased random key genetic algorithm approach for unit
commitment problem. International Symposium on Experimental Algorithms. Springer, Berlin, pp. 327–339.
Roque, L.A.C., Fontes, D.B.M.M., Fontes, F.A.C.C., 2014. A hybrid biased random key genetic algorithm approach for
the unit commitment problem. Journal of Combinatorial Optimization 28, 1, 140–166.
Roque, L.A.C., Fontes, D.B.M.M., Fontes, F.A.C.C., 2017. A multi-objective unit commitment problem combining eco-
nomic and environmental criteria in a metaheuristic approach. Energy Procedia 136, 362–368.
Shen, L., Dauzère-Pérès, S., Neufeld, J.S., 2018. Solving the flexible job shop scheduling problem with sequence-
dependent setup times. European Journal of Operational Research 265, 2, 503–516.
Snyder, L.V., Daskin, M.S., 2006. A random-key genetic algorithm for the generalized traveling salesman problem. Eu-
ropean Journal of Operational Research 174, 1, 38–53.
VS Möbel, G., 2020. Available at https://www.vs.de/en/?group=0 (accessed 2 July 2020).
Zhang, Q., Manier, H., Manier, M.A., 2012. A genetic algorithm with tabu search procedure for flexible job shop schedul-
ing with transportation constraints and bounded processing times. Computers & Operations Research 39, 7, 1713–
1723.
Zhang, Q., Manier, H., Manier, M.A., 2013. Metaheuristics for job shop scheduling with transportation. In Jarboui, B.,
Siarry, P., Teghem, J. (eds) Metaheuristics for Production Scheduling. John Wiley & Sons, Hoboken, NJ, pp. 465–493.
Zheng, Y., Xiao, Y., Seo, Y., 2014. A tabu search algorithm for simultaneous machine/AGV scheduling problem. Inter-
national Journal of Production Research 52, 19, 5748–5763.

Appendix A: Data Set 1


Table A1
Job sets for problem instances in Data Set 1: two alternative machines for each manufacturing operation (processing time)
(Deroussi and Norre, 2010)
Job Set 1 Job Set 2

J1 M1; M2(16) M3; M4(32) M7; M8(24) J1 M1; M2(20) M7; M8(36)
J2 M1; M2(40) M5; M6(20) M3; M4(36) J2 M3; M4(20) M7; M8(36)
J3 M5; M6(24) M7; M8(16) M1; M2(30) J3 M1; M2(20) M5; M6(40)
J4 M7; M8(28) M3; M4(36) J4 M3; M4(20) M5; M6(30) M7; M8(24)
J5 M5; M6(20) M1; M2(30) J5 M1; M2(20) M3; M4(30) M7; M8(24)
J6 M1; M2(16) M3; M4(32) M7; M8(24) J6 M1; M2(20) M3; M4(30) M5; M6(24)
J7 M1; M2(40) M5; M6(20) M3; M4(36)

Job Set 3 Job Set 4

J1 M1; M2(32) M5; M6(30) J1 M7; M8(22) M1; M2(20) M3; M4(14)
J2 M3; M4(36) M7; M8(30) J2 M5; M6(24) M3; M4(20) M7; M8(16)
J3 M1; M2(40) M3; M4(20) J3 M3; M4(14) M5; M6(20) M1; M2(18) M5; M6(16)
J4 M5; M6(30) M7; M8(20) J4 M3; M4(14) M7; M8(16) M1; M2(24) M3; M4(12)
J5 M1; M2(16) M3; M4(20) M5; M6(30) M7; M8(34) J5 M1; M2(18) M3; M4(14) M7; M8(16) M3; M4(20) M5; M6(16)
J6 M3; M4(20) M5; M6(30) M7; M8(16) M1; M2(30)

Job Set 5 Job Set 6

J1 M1; M2(12) M3; M4(24) M7; M8(18) J1 M1; M2(18) M3; M4(22) M7; M8(14)
J2 M1; M2(36) M5; M6(12) M3; M4(30) J2 M1; M2(38) M3; M4(40) M7; M8(26)
J3 M5; M6(18) M7; M8(6) M1; M2(24) J3 M3; M4(28) M5; M6(40) M7; M8(18)
J4 M7; M8(12) M3; M4(30) J4 M3; M4(28) M5; M6(40) M7; M8(18)
J5 M5; M6(6) M1; M2(18) J5 M1; M2(22) M5; M6(32) M7; M8(16)
J6 M1; M2(20) M5; M6(24) M7; M8(20)

(Continued)

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 27
Table A1
Continued
Job Set 7 Job Set 8

J1 M1; M2(12) M7; M8(12) J1 M3; M4(24) M5; M6(42) M7; M8(22)
J2 M3; M4(22) M7; M8(18) J2 M3; M4(24) M5; M6(42) M7; M8(22)
J3 M3; M4(18) M7; M8(14) J3 M3; M4(24) M5; M6(42) M7; M8(22)
J4 M5; M6(32) M7; M8(14) J4 M3; M4(24) M5; M6(42) M7; M8(22)
J5 M1; M2(18) M5; M6(36) J5 M1; M2(20) M3; M4(28) M5; M6(36) M7; M8(9)
J6 M3; M4(26) M5; M6(38) M7; M8(12) J6 M1; M2(20) M3; M4(28) M5; M6(36) M7; M8(18)
J7 M1; M2(20) M3; M4(18) M5; M6(26)
J8 M1; M2(22) M3; M4(18) M7; M8(16)

Job Set 9 Job Set 10

J1 M5; M6(18) M1; M2(24) M3; M4(18) M7; M8(12) J1 M1; M2(22) M5; M6(38) M3; M4(32) M7; M8(26)
J2 M5; M6(32) M3; M4(22) M7; M8(18) J2 M3; M4(42) M5; M6(32) M7; M8(28)
J3 M1; M2(42) M3; M4(36) M7; M8(14) J3 M5; M6(16) M3; M4(20) M1; M2(28) M7; M8(18)
J4 M3; M4(40) M5; M6(44) M7; M8(22) J4 M3; M4(26) M5; M6(40) M7; M8(20)
J5 M5; M6(28) M1; M2(32) M3; M4(26) M7; M8(18) J5 M1; M2(18) M5; M6(32) M7; M8(36)
J6 M3; M4(38) M1; M2(42) M5; M6(22) M7; M8(30)

Table A2
Travel times in the layout with eight machines (Deroussi and Norre, 2010)

LU M1 M2 M3 M4 M5 M6 M7 M8
LU 0 6 8 6 8 10 12 10 12
M1 8 0 2 8 2 4 6 4 6
M2 6 10 0 10 8 2 4 6 4
M3 12 4 6 0 6 8 10 8 10
M4 10 2 4 6 0 6 8 2 8
M5 8 8 2 8 6 0 6 4 2
M6 6 10 8 10 8 6 0 6 4
M7 12 4 6 4 2 8 10 0 10
M8 10 6 4 6 4 2 8 2 0

Appendix B: Data Set 2


Table B1
Job sets for problem instances: Set 2 (Kumar et al., 2011)

Job Set 1 Job Set 2


J1 A1 M1(8) M2(16) M4(12) J1 A1 M1(10) M4(18)
A2 M2(9) M3(14) M1(13) A2 M3(12) M2(16)
A3 M3(9) M4(17) M2(10) A3 M2(11) M3(17)
J2 A1 M1(20) M3(10) M2(18) J2 A1 M2(10) M4(18)
A2 M3(18) M1(13) M4(17) A2 M4(8) M1(20)
A3 M2(21) M4(8) M3(19) A3 M3(12) M2(16)
(Continued)

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
28 S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29
Table B1
Continued

Job Set 1 Job Set 2


J3 A1 M3(12) M4(8) M1(15) J3 A1 M1(10) M3(20)
A2 M4(11) M2(10) M3(14) A2 M3(12) M2(18)
A3 M1(11) M3(7) M2(17) A3 M2(8) M4(22)
J4 A1 M4(14) M2(18) J4 A1 M2(10) M3(15) M4(12)
A2 M1(16) M3(16) A2 M4(11) M1(17) M2(9)
A3 M3(16) M1(16) A3 M1(13) M4(13) M3(11)
J5 A1 M3(10) M1(15) J5 A1 M1(10) M2(15) M4(12)
A2 M2(9) M4(16) A2 M4(12) M1(14) M3(11)
A3 M4(11) M3(14) A3 M2(8) M3(14) M1(15)
J6 A1 M1(10) M2(15) M3(12)
A2 M3(11) M4(13) M2(13)
A3 M2(12) M3(14) M4(11)

Job Set 4 Job Set 5


J1 A1 M4(11) M1(10) M2(7) J1 A1 M1(6) M2(12) M4(9)
A2 M3(10) M2(9) M4(9) A2 M3(7) M4(10) M2(10)
A3 M2(13) M4(9) M3(6) A3 M2(7) M3(10) M1(10)
J2 A1 M3(12) M2(10) M4(8) J2 A1 M1(18) M3(6) M2(15)
A2 M1(10) M4(11) M3(9) A2 M3(16) M2(7) M1(16)
A3 M4(11) M3(9) M2(10) A3 M2(17) M4(8) M3(14)
J3 A1 M2(7) M3(10) M1(9) M3(8) J3 A1 M3(9) M4(3) M1(12)
A2 M4(10) M2(9) M3(8) M1(7) A2 M1(11) M3(4) M2(9)
A3 M3(9) M1(11) M4(7) M2(7) A3 M4(10) M2(5) M3(11)
J4 A1 M2(7) M4(8) M1(12) M2(6) J4 A1 M4(6) M2(15)
A2 M3(9) M2(6) M4(10) M1(8) A2 M2(8) M3(13)
A3 M1(8) M3(9) M2(9) M4(6) A3 M3(7) M1(14)
J5 A1 M1(9) M2(7) M4(8) M2(10) M3(8) J5 A1 M3(3) M1(9)
A2 M3(8) M4(8) M3(10) M1(9) M2(7) A2 M4(5) M2(7)
A3 M2(8) M3(8) M1(9) M3(8) M4(9) A3 M2(4) M4(8)

Job Set 7 Job Set 8


J1 A1 M1(6) M4(6) J1 A1 M2(12) M3(21) M4(11)
A2 M3(7) M2(5) A2 M1(13) M4(19) M3(12)
A3 M4(5) M3(7) A3 M3(14) M2(18) M1(12)
J2 A1 M2(11) M4(9) J2 A1 M2(12) M3(21) M4(11)
A2 M4(10) M3(10) A2 M3(14) M2(20) M1(10)
A3 M3(12) M1(8) A3 M1(13) M4(19) M3(12)
J3 A1 M2(9) M4(7) J3 A1 M2(12) M3(21) M4(11)
A2 M3(10) M1(6) A2 M4(13) M1(22) M3(9)
A3 M4(8) M3(8) A3 M1(10) M4(22) M2(12)
J4 A1 M3(16) M4(7) J4 A1 M2(12) M3(21) M4(11)
A2 M2(14) M3(9) A2 M3(11) M1(23) M2(10)
A3 M1(17) M2(6) A3 M4(13) M2(22) M3(9)
(Continued)

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies
S. Mahdi Homayouni et al. / Intl. Trans. in Op. Res. 00 (2020) 1–29 29
Table B1
Continued

Job Set 7 Job Set 8


J5 A1 M1(9) M3(18) J5 A1 M1(10) M2(14) M3(18) M4(9)
A2 M4(11) M2(20) A2 M4(13) M3(13) M1(17) M2(8)
A3 M2(10) M4(17) A3 M3(11) M4(13) M2(16) M1(11)
J6 A1 M2(13) M3(19) M4(6) J6 A1 M1(10) M2(14) M3(18) M4(9)
A2 M3(12) M4(18) M1(8) A2 M2(12) M4(13) M1(16) M3(10)
A3 M1(14) M2(17) M3(7) A3 M4(9) M3(15) M2(17) M1(10)
J7 A1 M1(10) M2(9) M3(13)
A2 M3(11) M1(10) M2(11)
A3 M4(11) M3(10) M1(11)
J8 A1 M1(11) M2(9) M4(8)
A2 M2(9) M3(10) M1(9)
A3 M4(10) M1(11) M3(7)

Job Set 9
J1 A1 M3(9) M1(12) M2(9) M4(6) J4 A1 M2(20) M3(22) M4(11)
A2 M4(10) M3(9) M1(10) M2(7) A2 M4(21) M1(20) M3(12)
A3 M2(8) M4(15) M3(8) M1(5) A3 M3(22) M2(21) M1(10)
J2 A1 M3(16) M2(11) M4(9) J5 A1 M3(14) M1(16) M2(13) M4(9)
A2 M1(14) M3(12) M2(10) A2 M2(15) M4(13) M1(14) M3(10)
A3 M2(18) M4(10) M3(8) A3 M1(16) M3(14) M4(11) M2(11)
J3 A1 M1(21) M2(18) M4(7)
A2 M3(19) M4(19) M1(8)
A3 M4(22) M1(16) M2(8)

Table B2
Job shop layouts traveling time (Bilge and Ulusoy, 1995)

Layout 1 LU M1 M2 M3 M4 Layout 3 LU M1 M2 M3 M4
LU 0 6 8 10 12 LU 0 2 4 10 12
M1 12 0 6 8 10 M1 12 0 2 8 10
M2 10 6 0 6 8 M2 10 12 0 6 8
M3 8 8 6 0 6 M3 4 6 8 0
M4 6 10 8 6 0 M4 2 4 6 12 0

Layout 2 LU M1 M2 M3 M4 Layout 4 LU M1 M2 M3 M4
LU 0 4 6 8 6 LU 0 4 8 10 14
M1 6 0 2 4 2 M1 18 0 4 6 10
M2 8 12 0 2 4 M2 20 14 0 8 6
M3 6 10 12 0 2 M3 12 8 6 0 6
M4 4 8 10 12 0 M4 14 14 12 6 0

© 2020 The Authors.


International Transactions in Operational Research © 2020 International Federation of Operational Research Societies

You might also like