Expert Systems With Applications
Expert Systems With Applications
a r t i c l e i n f o a b s t r a c t
Article history: The concurrent layout and scheduling problem is an extension of the well-known job-shop scheduling
Received 29 May 2019 problem with transport delays, in which, in addition to the decisions taken in the classic problem, the
Revised 18 November 2019
location of machines must be selected from a set of possible sites. The aim of this study was to solve
Accepted 19 November 2019
this problem by using a local neighborhood search algorithm (LNSA). This algorithm used a random local
Available online 20 November 2019
neighborhood, where neighbors were produced by simple operators commonly used in metaheuristics for
Keywords: scheduling problems. The solution coding used in the LNSA enabled all the calculated solutions to be valid
Job-shop scheduling problem schedules for the problem. The findings of the study were compared with those obtained by Ranjbar, who
Facility layout problem proposed the benchmark problems. Our method obtained a minor average relative percentage compared
Local neighborhood search algorithm to the best-known results. Furthermore, it achieved a smaller makespan in the problems with higher
computational complexity, which may aid companies that require customized manufacturing.
© 2019 Elsevier Ltd. All rights reserved.
1. Introduction lem (FLP). CLSPJE consists of the determination of (a) the optimal
scheduling in which a set of jobs must be manufactured in a set
Customized manufacturing implies that a company can adapt of machines and, simultaneously, (b) the optimal location of these
their production processes to specific customer needs at a rea- machines in order to minimize the processing time of the last
sonable price and in compliance with the delivery dates (Modrak job, considering the transport delays originating from the move-
& Soltysova, 2018; Jiao, Ma, & Tseng, 2003). In recent years, cus- ment between machines. Therefore, determining the arrangement
tomization has been combined with manufacturing because it of machines (FLP) and the job to be performed on each piece of
is important to fulfill customer expectations (Dou, Li, & Chun, equipment (JSSP) are two of the most important decisions to be
2015). For this reason, manufacturers have been challenged to de- considered in achieving efficiency and flexibility of the production
sign modern facilities and operate them effectively (Mourtzis & area (Ranjbar & Najafian, 2012; Hernandez-Gress, Reyna-Amador,
Doukas, 2014; Papakostas, Pintzos, Giannoulis, Nikolakis, & Chrys- Barragan-Vite, & Rivera-Gomez, 2017).
solouris, 2014). Among the applications of the problem addressed While JSSP and FLP are combinatorial problems, JSSP is an NP-
in this study is reconfigurable manufacturing systems (Dou, Li, & hard combinatorial optimization problem (Goncalves, Mendes, &
Chun, 2015), in which the configuration of machines holds con- Resende, 2005). Consequently, it is not feasible to solve a prob-
stant for a relatively short time (i.e., months, weeks, etc.) so that lem of this type (even when it is of a medium size) by using
these decision and programming jobs are tactical (Bi, Lang, Chen, traditional algorithms. Hence, metaheuristic approaches have ob-
& Wang, 2008; Renzi, Leafi, Cavazzuti, & Andrisano, 2014). tained satisfactory results for complex JSSP problems (Nowicki &
The concurrent layout and scheduling problem in a job shop Smutnicki, 2005; Zhang, Li, Rao, & Guan, 2008; Pratchayaborirak
environment (CLSPJE) is a problem involved in the design of fa- & Kachitvichyanukul, 2011; Pardalos, Shylo, & Vazacopoulos, 2010;
cilities as well as compliance with the delivery dates, combining Van Laarhoven, Aarts, & Lenstra, 1992). Moreover, it has been
the job-shop scheduling problem (JSSP) and facility layout prob- demonstrated that heuristics, in this case, do not only provide
the best alternative when the problems are large but also gener-
∗
ate robust solutions when a disruption happens (Jamili, 2016). Be-
Corresponding author.
E-mail addresses: [email protected] (E.S. Hernández-Gress), [email protected]
sides, the solution of FLP by the means of the quadratic assign-
(J.C. Seck-Tuoh-Mora), [email protected] (N. Hernández-Romero), ment problem (QAP) has also been handled by metaheuristics be-
[email protected] (J. Medina-Marín), [email protected] (P. Lagos-Eulogio), cause, as the numbers of machines and locations increase, so does
[email protected] (J. Ortíz-Perea).
https://doi.org/10.1016/j.eswa.2019.113096
0957-4174/© 2019 Elsevier Ltd. All rights reserved.
2 E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096
the problem complexity (Russell & Kai-Yin, 1996; Taillard, 1991; discrete version of the PSO algorithm (ePSO) was used without lo-
Shojaee-Ghandeshtani, Mollai, Hosein-Seyedkashi, & Mohsen- cal search, in addition to using a different coding because of the
Neshati, 2010; Stuzle, 2006; James, Rego, & Glover, 2009; flexible feature, while in the study by Zandieh (2019), the algo-
Ikonomovska, Chorbev, Gjorgjevik, & Dragan, 2006; Shokri, Ashjari, rithm was a combination of two evolutionary techniques (BBO and
Saberi, & Yoon, 2013; Jingfa, Huiyun, Kun, & Shengy, 2018; Palomo- GA), with an encoding that considered more elements. Its purpose
Romero, Salas-Morera, & García-Hernández, 2017). was restricted to the problems with few jobs (i.e., up to 20) and
According to Dou, Li, and Chun (2015) limited research has few machines (i.e., up to 6). The results in both the studies were
been conducted in order to tackle the configuration design prob- tested with randomly generated and unpublished problems and
lem by considering both physical configuration design and schedul- compared with different versions of the proposed algorithms.
ing simultaneously, although there are industries in which it is Studies taking the same problem and the coding were con-
necessary to adjust production capacity and functionality in re- ducted by Ripon, Glette, Hovin, and Torresen (2012) and Ripon and
sponse to changing market needs. Other approaches considered Torrensen (2014). However, what makes them different is that in
the transportation time of handling material in makespan (Chen both the studies, the problems of job scheduling and distribution
& Allen, 2015; Kourosh & Bashirzadeh, 2015); however, they do layout were taken separately for the cost function and solved us-
not obtain the machine configuration as a decision variable. Ad- ing the NSGA-II algorithm. Discrete versions of genetic operators
ditionally, recent trends in JSSP are creating novel metaheuris- were adapted in the study by Ripon, Glette, Hovin, and Torre-
tics that can result in improved solutions for the benchmarking sen (2012) and that proposal was later complemented by a sim-
problems (Mishra, Bose, & Rao, 2017) and consider this problem ple local search in the study by Ripon and Torrensen (2014). It
with specific restrictions such as the energy efficiency of ma- should be noted that Ripon and Torrensen (2014) only took seven
chines (Salido, Escamilla, Giret, & Barber, 2016), in real approaches test problems that were modifications of the problems in the OR-
such as rescheduling with job insertion (Zhou, et al., 2015), or in Library. For the most part, these problems were similar or smaller
multiobjective flexible manufacturing systems (Vahit, 2016). In re- in size to the 43 problems treated in the present study.
cent years, several studies have been conducted with the aim to Thus, to the best of our knowledge, the ideas presented in the
solve CLSPJE (Kazemi, Poormoaied, & Eslami, 2012; Ranjbar & Na- present study have not previously been used to propose an evolu-
jafian, 2012; Ripon & Torrensen, 2014; Hernandez-Gress, Reyna- tionary algorithm for the CLSPJE problem.
Amador, Barragan-Vite, & Rivera-Gomez, 2017). The most complete The remainder of this paper is organized as follows. In
of these is the approach of Ranjbar and Najafian (2012), who pro- Section 2, the problem definition is presented along with an
posed a benchmark specific to CLSPJE with 43 problems. Therefore, example. In Section 3, the proposed algorithm is explained. In
the aim of the present study was to present a novel metaheuristic Section 4, the results are demonstrated, which are then discussed
method in order to solve CLSPJE and compare the results obtained in Section 5. Finally, the conclusion is presented in Section 6.
with those obtained by Ranjbar and Najafian. This method can be
used in industries that require mass customization. 2. CLSPJE
The algorithm presented in this study is evolutionary. The use
of local neighborhoods to enhance the performance of evolution- CLSPJE is an extension of the well-known JSSP with transport
ary algorithms is not new for JSSP and many of its variants (i.e., delays (Ranjbar & Najafian, 2012), in which, in addition to the de-
setup time, additional or constrained resources and fuzzy process- cisions taken in the classic problem, the location of machines must
ing time, among others). be selected from a set of possible sites. Afterward, sequencing and
Many of the previous studies that treat JSSP and FLP together allocation of machines to possible sites are carried out in CLSPJE in
actually only work on one of them (Fu & Kaku, 1997; Barbosa- order to minimize the processing time completion of the last job
Póvoa, Mateus, & Novais, 2002; Chang-Lin, Shan-Ping, & Tsung- (i.e., makespan) after considering the transport delays.
Shing, 2011), while other authors solve the problems by simu- CLSPJE can be described based on the following assumptions:
lating the sequence of jobs taking all the possible facility lay-
• There are n jobs, m machines, m possible sites, and a ware-
outs so that the size of problems to be resolved are limited
house.
(Azadeh, Motevali Haghighi, & Asadzadeh, 2014; Azadeh, Moghad-
• Each job i consists of a set of m operations, where each job vis-
dam, Asadzadeh, & Negahban, 2011; Azadeh, Nazari, & Chark-
its each machine at most once.
hand, 2015). In other cases, the problem of assigning locations
• All the machines have the capacity to process only a single job.
means having many factories with the same capacities (Azab &
• Initially, all the jobs are in a fixed location such as a warehouse.
Naderi, 2014; Naderi & Azab, 2014) and not placing machines in
• The release time and due dates are unspecified.
different locations.
• The transportation time between each pair of machines, as well
Sophisticated heuristics that use local searches are discussed
as the warehouse, is symmetric.
in the works of Jamili, Shafia, and Tavakkoli-Moghaddam (2011),
• Different jobs can be transported simultaneously and the trans-
Solimanpur, Vrat, and Shankar (2004), Chassaing, et al. (2014),
portation speed is identical for all the jobs.
Ribas, Companys and Tort-Martorell (2015), Azab and
• The transportation time depends only on distance.
Naderi (2014), and Naderi and Azab (2014); however, they took
• The processing, transportation, and setup time is defined as a
the variations of JSSP or the flexible JSSP without optimizing the
deterministic parameter.
facility layout. In these studies, we can find local search methods
• The sequence of operations for each job is predetermined
or a path relinking that is similar to the ones used in the present
(JSSP), and no preemption is allowed.
study. However, these studies did not propose the combination of
• The only problem goal is the minimization of the makespan.
these techniques, which has been introduced by the present study.
In addition to the study by Ranjbar and Najafian (2012), the The search space size for CLSPJE is (n!)m m!. The reason for
studies conducted by Daliri, Mokhtari, and Kamalabadi (2015) and this is that the first part, (n!)m , represents the JSSP computational
Zandieh (2019) are also similar to ours. In both the studies, the complexity, and the number of combinations for the machines ac-
flexible case (FJSP) was taken, which makes the problem to be commodation is m! (Ripon & Torrensen, 2014). Every sequence of
solved and, therefore, the coding of solutions different; hence, its JSSP can be tested with every permutation of machines, yielding
application to the problem addressed in the present study was not (n!)m m! possible solutions. While both the problems are very dif-
direct. In the study by Daliri, Mokhtari and Kamalabadi (2015) a ficult to solve, solving the two together is even more challenging.
E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096 3
Although this has not been specified in the literature, it can easily M2 at location p2 , and machine M3 at location p3 . (Fig. 1 [a]). Ini-
be assumed that this is why the two problems are treated sepa- tially, C(i, 0) = 0 and T(j) = 0 for all the jobs i and all the machines
rately. j. The calculation of makespan is detailed below:
In order to solve such combinatorial optimization prob- MO(1, 1 ) = 1, C (1, 1 ) = max{0 + 1, 0} + 2 = 3, T (1 ) = 3
lems, optimal algorithms require extensive computational efforts MO(2, 1 ) = 2, C (2, 1 ) = max{0 + 3, 0 } + 1 = 4, T (2 ) = 4
and memory capacity, even when the problem size is small MO(1, 2 ) = 3, (1, 2) = max{3 + 5, 0 } + 3 = 11, T (3 ) = 11
(Fuentes-Penna, Ruiz-Vanoye, Diaz-Parra, Perez-Ortega, & Lopez- MO(2, 2 ) = 1, C (2, 2 ) = max{4 + 2, 3 } + 5 = 11, T (1 ) = 11
Perez, 2015). The reason for the computational complexity is that MO(3, 1 ) = 3, C (3, 1 ) = max{0 + 6, 11 } + 4 = 15 T (3 ) = 15
heuristic methods are designed to determine solutions within a MO(1, 3 ) = 2, C (1, 3 ) = max{11 + 3, 4 } + 4 = 18, T (2 ) = 18
reasonable computational time. Our approach adapts a combina- MO(2, 3 ) = 3, C (2, 3 ) = max{11 + 5, 15 } + 2 = 18, T (3 ) = 18
tion of population-based methods with local neighborhood search MO(3, 2 ) = 1, C (3, 2 ) = max{15 + 5, 11 } + 6 = 26, T (1 ) = 26
procedures in order to develop a robust algorithm with effec- MO(3, 3 ) = 2, C (3, 3 ) = max{26 + 2, 18 } + 4 = 32, T (2 ) = 32
tive exploration and exploitation properties in the search space,
thereby avoiding premature convergence and stagnation of solu- For this example, the makespan obtained is 32. Note that the
tions. calculation of the makespan allows an operation to be moved from
Assuming M to be a matrix and M(a,b) the entry at row a and one location to another while the final location machine is still
column b, CLSPJE is defined as follows: MO is the matrix of ma- busy. The previous solution can be represented with a permuta-
chines assigned to operations, with size (n × m), n rows repre- tion with repetitions in the case of operations, and a simple per-
senting jobs and m columns representing the operations. For the mutation in the case of the accommodation of machines in the lo-
operations at columns j = 1, …, m, MO(i,j) represents the machine cations, remaining as two sequences: (121231233) and (123). This
assigned to operation j for the job i. In our study, all the jobs were coding and decoding are formalized in the next section.
processed by all the machines, and no preemption was allowed. The makespan Mk is the time in which the last operation ends
Moreover, it was not necessary to represent the warehouse because (in this case, 32) and can be expressed more effectively through a
there was no processing time associated with it. MT is the time Gantt chart, as illustrated in Fig. 1.
matrix of size (n × m), where the entry MT(i,j) provides the pro-
cessing time of the job i in machine j, with i = 1, …n, and j = 1, 3. Local neighborhood search algorithm (LNSA)
…m. Moreover, T(j) is the time when the machine j is available.
Initially, T(j) = 0 for j = 1, …m. MD is the transportation ma- 3.1. Inspiration
trix of size (m + 1 × m + 1), where the entry MD( p1 , p2 ) defines
the transportation time from location p1 to p2 , including the ware- LNSA was inspired to solve a complex problem by the coopera-
house at the first location. It is notable that this matrix may have tion of simple operators that are similar to the operation of cellular
different effects on the completion time of jobs according to the automata. A cellular automaton is a discrete dynamic system com-
location assigned to each machine j. Q(0) is the index in MD of the posed of cells that can have a finite number of states, interacting
warehouse and, for j = 1, …m, Q(j) is the index in MD of the lo- locally with other cells in their neighborhood with simple transi-
cation assigned to machine j; hence, Q(0) = 1 and Q(j) > 1. Thus, tion rules to change or maintain their state. This action was per-
the transportation time for the operation j of the job i is defined as formed synchronously for all the automaton cells in discrete steps
R(i, j) = MD(Q(MO(i,j − 1) ), Q(MO(i,j) )). In the case where j − 1 = 0, of time. Excellent studies on cellular automata can be found in the
MO(i,0) = 0 so as to represent the warehouse. Moreover, C(i, j) rep- works of Wolfram (2002), McIntosh (2009), and Adamatzky (2010).
resents the completion time of the operation j for job i, with C(i, Cellular automata have proven capable of performing com-
0) = 0, meaning that jobs do not have processing time in the plex tasks despite the simplicity of their local transitions. Re-
warehouse. Using these elements, for j = 1, …m, C(i, j) is calcu- cently, continuous optimization algorithms inspired by cellular
lated as: automatons have been proposed in the works of Shi, Liu, Gao,
and Zhang (2011) and Lagos-Eulogio, Seck-Tuoh-Mora, Hernandez-
C (i, j ) = max C (i, j − 1 ) + R(i, j ), T MO(i, j ) + MT i, MO(i, j ) Romero, and Medina-Marin (2017). LNSA represents an approach to
(1) deal with discrete problems using concepts of cellular automata,
particularly the simplicity in the functions of transition and local
Once C(i, j) was calculated, we updated T(MO(i,j) ) = C(i, j). The communication between the solutions.
makespan Mk is the maximum value C(i, m) for jobs i = 1, …n, CLSPJE involves two concurrent optimization problems: oper-
i.e., the maximum completion time among all the jobs in the last ation scheduling and assignment of locations. Therefore, a good
operation. operation scheduling may no longer be so if the arrangement
The original problem of Anantha and Tamilarasi (2010) is pre- of machines changes, since the critical route of operations may
sented below in order to get a better understanding of the prob- vary when changing the allocation of machines. This feature pre-
lem. This example includes three machines and jobs, where every vents the direct use of more sophisticated neighborhood struc-
job has different routes and their processing time is known. tures and local search operators developed by Taillard (1994),
Van Laarhoven, Aarts, and Lenstra (1992), Dell’Amico and Tru-
1 3 2
MO = 2 1 3 , bian (1993), Nowicki and Smutnicki (1996), Blazewicz, Domschke,
3 1 2 and Pesch (1996), Balas and Vazacopoulos (1998), and Zhang, Li,
⎡ ⎤ Guan, and Rao (2007), which have been widely used for the JSSP.
0 1 3 6 LNSA’s approach for CLSPJE is to use simple operators that, by
2 4 3
⎢1 0 2 5⎥
MD = ⎣
3⎦
, MT = 5 1 2 working together, combine and exchange information in such a
3 2 0 way that exploration and exploitation actions are carried out in
6 4 4
6 5 3 0 a balanced way and have the ability to escape from local min-
In order to illustrate a possible solution to this problem, the ima. LNSA maintains the search space exploration and exploitation
following sequence of jobs and operations (i, j) is taken as an ex- through the probabilistic use of the neighborhood structure and lo-
ample: (1, 1), (2, 1), (1, 2), (2, 2), (3, 1), (1, 3), (2, 3), (3, 2), and cal search operators applied to each solution so that they can gen-
(3, 3). Machine M1 will be accommodated at location p1 , machine erate new variants and share information from other solutions.
4 E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096
Fig. 1. (a) Machine arrangement and (b) Gantt chart. Transportation delays are represented in gray.
3.2. Encoding and decoding of solutions This type of codification allows for every possible combination
of nm operations to be a valid schedule for CLSPJE. Thus, we can
For our specific problem (CLSPJE), every solution s is repre- apply any operator type over the list of operations and locations in
sented by two lists: the first with nm operations and the sec- s, with the only condition being that it conserves m copies of every
ond with m machine locations. The standard solution codifications number for the operations and maintains the list of locations as a
maintain each job with its corresponding operation within a single permutation.
item, which implies that unfeasible solutions may be generated if The decoding of each solution s is performed in manner simi-
a recombination of items is performed, because the precedence of lar to that shown in the example of Section 2. Given a solution s,
operations is not respected. the sequence {snm + 1 … snm + m } is taken to place each machine j
Therefore, the classic coding proposed by Bierwirth (1995) was at the location snm + j for 1 ≤ j ≤ m. Then, the operations of the
used in order to avoid the previous issue, utilizing a vector with sequence {s1 … snm } are scanned from left to right, i.e., we first use
repetitions (i.e., Bierwith vector or list of job permutations), where the operation specified by s1 , then that of s2 , and so on in order to
each job appears as many times as its number of operations. An calculate the corresponding completion time. It should be remem-
advantage of this coding is that local search methods work di- bered that in the sequence {s1 … snm }, each job appears m times.
rectly in the coding space without the problem of generating non- Thus, if si is the j-th appearance of a job in {1…n}, C(si ,MO(i,j) ) is
feasible solutions (Chassaing, et al., 2014). This coding is comple- being calculated for this job, according to Eq. (1).
mented by adding a permutation at the end, indicating the assign-
ment of locations for the machines involved in the distribution lay-
out. 3.3. Description of the algorithm
In the proposed algorithm, each solution s contains the order
of the operations to be scheduled and the location assignment for Given that we are optimizing two problems concurrently in
each machine. Furthermore, each solution s has nm + m elements, CLSPJE, the objective of LNSA is to have the cooperation of sim-
where the first nm represent the order in which the operations are ple operators to complement each other in the exploration and
processed, and the last m indicate how to distribute the machines exploitation tasks rather than the implementation of sophisticated
in the locations. For each solution s, si denotes the i-th element of operations of optimization.
s for 1 ≤ i ≤ nm + m, such that si can be both an operation or a The proposed algorithm consists of generating an initial pop-
location. ulation with qn leading solutions or smart-cells, to which a local
For a given solution s = {s1 … snm + m }, the operations are rep- neighborhood search is to be applied in order to look for a bet-
resented by the sequence {s1 … snm } of numbers belonging to the ter position. The number of initial solutions is proportional to the
set {1…n}, where each number appears m times. The operations number of jobs n to be scheduled in order to manage an adequate
list is browsed from left to right in order to obtain the makespan number of solutions, depending on the problem size.
Mk(s). If a number 1 ≤ i ≤ n appears in the list for the first The stagnation of the population of smart-cells in quite similar
time, the first operation of job i is performed and the correspond- solutions is avoided using a minimum distance procedure, which
ing process time is calculated. Moreover, the next time number i ensures that there are at least two different types of solutions or
appears in the list, the second operation of job i is carried out. The new information is generated randomly in the other case.
locations are listed by means of a permutation of the set {1…m} For a local search algorithm, a neighborhood structure
contained in the sequence {snm + 1 … snm + m }, where the machine j is a mechanism that can obtain a new set of neighbor
will be placed at location snm + j for 1 ≤ j ≤ m. solutions by applying a small perturbation to a solution
E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096 5
(Zhang, Li, Rao, & Guan, 2008). Each neighbor solution is reached reviewing Eq. (2). Thus, NewP has the same number of smart-cells
immediately from a given solution by an operation. as P, with both the minimum distance between them (or the min-
In the case of LNSA, each smart-cell generates l neighbors, and imum number of jobs and locations in a different order) and new
each neighbor is generated using a mutation or a local search op- information in the case where random solutions have been gener-
eration. This operation is also applied probabilistically either to the ated. Given Eq. (2), there may be two very similar smart-cells in
sequence of operations or locations contained in a smart-cell. The NewP, but this also ensures that there is either at least another
mutation operators used are interchange and insertion, while the smart-cell that retains the minimum distance from these two or
local search operators applied are path-relinking and a local search a smart-cell has been generated at random. Thus, not all the so-
of locations that are described in detail later. For every smart- lutions in NewP are similar due to the effect of Eq. (2). There are
cell, LNSA takes the optimal solution of the complete neighbor- at least two types of solutions that keep a minimum distance or
hood (i.e., the smart-cell and its neighbors), which becomes the with new information. This feature helps both to maintain differ-
new smart-cell state in the next generation. ent solutions so as to improve the exploration capacity of the al-
The probabilistic application of the mutation and local search gorithm and avoid stagnation, as well as be able to have very simi-
operators in the sequence of operations or locations allows for lar smart-cells, which support the exploitation of good solutions as
a simple process to find a fitting solution in the vast search the execution of the algorithm progresses. Note that Eq. (2) returns
space represented by the concurrent optimization of the opera- a normalized value and that the user defines the mind parameter.
tion scheduling and machine allocation. Mutation and path relink- If the value of mind is high (close to 1), it is guaranteed to have at
ing applied either in the operation scheduling or machine alloca- least two widely different types of smart-cells or the generation of
tion (although not both at the same time) present the possibility random solutions. Its application involves a linear comparison be-
of generating new smart-cells, especially in the exploration of the tween (nm) + m elements, and we have to compare qn smart-cells.
search space at the beginning of the optimization process. In ad- This implies the performance of Tr(qn − 1) × ((nm) + m) cal-
vanced stages of the same process, it is more likely that good so- culations, where T r (a ) = (1 + 2 . . . + a) = (a × (2a+1)) is the triangu-
lutions share similar operation scheduling or machine allocation, lar number of the integer a. Therefore, the complexity of applying
so that the application of these operators work better for the ex- Eq. (2) to the entire population is O(m(n3 + n2 + n)), indicating a
ploitation of such solutions since they are applied only to the op- polynomial complexity.
eration scheduling or the machine location sequence, which allows
for the refinements of the solutions already found and preventing
3.5. Neighborhood method
the loss of useful information in the smart-cells.
The mutation and local search operators used in LNSA have
A total of l neighbors will be calculated in order to improve the
been widely used in a multitude of previous works, which have
makespan of every smart-cell. Each neighbor will be generated us-
proven their effectiveness and limitations as well. Using these op-
ing one of four possible operations, according to the modulus of
erators together in the neighborhood structure of a smart-cell al-
1 ≤ r ≤ l:
lows for having new solutions of different types, which brings the
algorithm the possibility of improving its solutions either by mu- • If mod(r, 4) = 1, the neighbor is calculated by the insertion of
tation or local search at the same time. In this way, the results of operations with a probability pop , and locations with a proba-
the operators complement each other, enabling their joint action bility 1 − pop .
to optimize an instance of CLSPJE. • If mod(r, 4) = 2, the neighbor is calculated by the exchange
Within the neighborhood structure, other operators that apply of operations with a probability pop , and locations with a
to the best smart-cell after each iteration of the algorithm are the probability 1 − pop .
topological order (TO) and the reverse network (RN). As these op- • If mod(r, 4) = 3, the neighbor is calculated by the path relink-
erators require a more significant number of computational oper- ing (PR) process from the smart-cell s to a different s’ in NewP,
ations, they are only applied to the best smart-cell if it changes selected through a roulette scheme by considering the current
in the last iteration of the algorithm so as to obtain new informa- makespan of solutions in NewP.
tion added to the population. In this manner, every smart-cell is • If mod(r, 4) = 0, the neighbor is calculated by the PR process
updated if TO or RN produce a better solution. TO and RN are de- from a different smart-cell s’ in NewP selected by a roulette
signed to look for new solutions every time the best smart-cells scheme, depending on the current makespan of the solutions
are updated and function as operators of exploration in the search to the current smart-cell s.
space.
Although the exploitation phase intensifies in the advanced Therefore, the mutation operators used to generate new neigh-
stages of the optimization process, LNSA prevents all the solu- bors of a smart-cell are insertion and exchange.
tions from being similar through the distance operator, since this Insertion involves selecting two different positions in the
ensures that there are at least two types of smart-cells with a smart-cell s (for example, i < j), such that in the neighbor s’, we
minimum distance. Otherwise, new smart-cells are generated ran- have s j ’ = si and sk−1 ’ = sk for (i + 1) ≤ k ≤ j. In the case of op-
domly, which allows for keeping the exploration part of the algo- erations, the number of possible neighbors that the insertion can
rithm throughout its execution. produce is (nm − 1)2 and in the case of locations, (m − 1)2 , bring-
ing the possibility for searching for a total of (nm − 1)2 (m − 1)2
3.4. New population with minimum distance different variants of a smart-cell.
Exchange consists of selecting two different positions in the
A new population NewP is generated from P. If there is at least smart-cell s (for example, i < j), and the neighbor s’ is obtained
another smart-cell s = s’, each smart-cell s in P will be a member by swapping the positions, i.e., sj ’ = si and si ’ = sj . The number
of NewP, such that d(s, s’) > mind , where of possible neighbors that the exchange can generate is provided
δ ( si , si ’ ) by nm(nm 2
−1 )
in the case of operations, and m(m2−1) in the case of
d (s, s’ ) = (2) locations, which provides the possibility of searching for a total of
(nm ) + m
i ( nm(nm
2
−1 )
)( m(m2−1) ) different variants of a smart-cell.
, and δ (si , si ’ ) = 1 if si = si ’. Otherwise, it is 0. In the case where Insertions and exchange are classically used in many meta-
| NewP | < | P |, random smart-cells will be added to NewP without heuristics for scheduling problems because they provide good
6 E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096
Fig. 2. Neighborhood method applied to a smart-cell representing 3 jobs and 3 machines. Operations scheduling is in multiple colors, and machine locations are in gray tones.
The neighbors are outlined in blue. Mutation operators are exemplified in (B) for exchange and (C) for insertion. These mutation operators can be applied probabilistically
over operations (C) or locations (B). Furthermore, the local search operators (PR) from and into the smart-cell are applied in (A) and (D), respectively. PR is only employed
to the operation list. Finally, a local search on locations was used with probability pls , as in the case of the neighbor (D).
quality solutions (Blazewicz, Domschke, & Pesch, 1996; Cheng, Gen, used in the present study, it was applied differently by using it in
& Tsujimura, 1999; Deroussi, Gourgand, & Norre, 2012). the neighborhoods of a smart-cell.
Path relinking (PR) involves establishing a route of intermediate The neighborhood method is illustrated in Fig. 2.
solutions between two smart-cells, i.e., from s to s’, for the oper-
ation list only. From left to right, the first position i is taken such
that si = si’. Then, the first following operation j is sought such
3.7. Topological order condition and reverse network
that sj = si ’. Once both the positions have been determined, si and
sj are interchanged in order to obtain a new intermediate solution.
In the proposed algorithm, the topological order (TO) condition
The PR process is repeated until all of the positions are filled. In
is performed to obtain a new solution s’ from a provided smart-
each intermediate solution, the location list remains the same as
cell s. In order to achieve this, the operation list of s is sorted in
that of s.
a non-increasing order of completion times. To apply this, let C(si )
PR is based on the idea of generating new solutions that com-
be the completion time of operation si . For all the i and j, if C(si ) >
bine parts of the smart-cells involved in order to improve good so-
C(sj ), operation si is placed before operation sj in s’.
lutions Invalid source specified.. Since only PR is being applied on
The list of operations obtained by TO is placed in reverse order
the sequence of operations, the number of different solutions that
so as to calculate the reverse network (RN), keeping the list of the
can be built between the initial smart-cell and the smart-cell guide
locations unchanged.
is provided by the number of different positions that both smart-
Fig. 3 provides an illustrative example of the application of TO
cells have, which gives a maximum of nm new solutions. From all
and RN for the operation scheduling of three jobs and machines.
of the generated intermediate solutions, one is selected at random.
For each operation, its completion time is calculated. It should be
As PR is only used for operations, it meets two objectives in
noted that this time is obtained as the makespan of the complete
LNSA: if the location sequences are similar in s and s’, PR works as
solution is calculated; hence, it does not imply additional compu-
a local search method that seeks to refine the makespan of s. On
tation. The completion time of each operation depends on the pro-
the other hand, if s and s’ have dissimilar sequences of operations,
cessing time of the respective machine, the time when the next
PR works as an exploratory method generating new variants of s,
machine is released, and the transfer time between the locations.
taking the sequence of operations in s’ as a guide.
Therefore, it is variable time, which depends on the sequence of
previous operations. TO and RN are only applied for the list of op-
erations, not locations.
3.6. Local search for locations The idea of TO and RN is to test for better accommodation for
jobs with high completion time in the current solution, prioritiz-
For every neighbor s, a local search is performed only over ing that they are processed first (TO) or last (RN). TO and RN are
the list of locations in s, with a probability pls . First, the location also useful to maintain population diversity, since the order of op-
of machines with the minimum distance are exchanged, produc- erations obtained from them can become very different from the
ing a new solution s’. If Mk(s) < Mk(s’), the process is stopped, original, especially in the early stages of optimization. Since both
and s remains unchanged. Otherwise, s’ replaces s, and the pro- TO and RN only offer a different operation scheduling when ap-
cedure continues to exchange the locations, now with the second plied to a smart-cell, and its application involves the ordering of
minimum distance. This process is repeated until no improvement partial completion time (which is computationally expensive), it
is achieved or the maximum m/2 location interchanges are per- is only applied to the best smart-cell in the population if it is
formed. The idea behind a local search for locations was to re- changed in the last iteration of the LNSA in order to add new
fine the makespan of a selected neighbor looking for a new ar- information to the population. Both the tools (TO and RN) have
rangement of machines based on the locations from the least to a been successfully employed in a scatter search metaheuristic in the
greater distance. This type of local search was successfully applied studies by Ranjbar and Najafian (2012) and Valls, Quintanilla, and
in the study by Ranjbar and Najafian (2012); however, while it was Ballestín (2003).
E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096 7
Fig. 3. Illustrative example of different operation scheduling obtained by the application of TO and RN on three jobs and operations per job.
one ad hoc test problem to test their algorithms, while rently. Finally, Fu and Kaku (1997) Barbosa-Póvoa, Mateus, and
Solimanpur, Vrat, and Shankar (2004), Alaykýran, Engin, and Novais (2002), Jamili, Shafia, and Tavakkoli-Moghaddam (2011),
Döyen (2007), Naderi and Azab (2014), Chassaing et al. (2014), Azab and Naderi (2014), Naderi and Azab (2014), Daliri, Mokhtari,
and Ribas, Companys, and Tort-Martorell (2015) used public do- and Nakhai Kamalabadi (2015) and Zandieh (2019) implemented
main problems but did not take the two problems concur- random problems that have not been published. Furthermore,
E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096 9
Fig. 5. Box-plot diagrams showing the distribution of optimization results of LNSA for 50 0 0, 50,0 0 0, and 50 0,0 0 0 calculated schedules.
Fig. 6. Gantt chart for optimal solution calculated by LNSA for problem LAC7.
10 E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096
Table 4
Makespan results.
the problems presented by Ripon, Glette, Hovin, and Torre- columns provide the name and size of every instance, while col-
sen (2012) and Ripon and Torrensen (2014) were based on those umn 3 provides the best-known results. Additionally, the best re-
published by the OR Library, but they treated cost function in a sults have been presented in column 4 and their relative error per-
multi-objective manner; hence, it is not possible to make a direct centage have been provided in column 5.
comparison. Besides, they only proposed seven problems. In this The values of the parameters of the LNSA were adjusted using a
way, the 43 problems stated by Ranjbar and Najafian (2012), which full-factorial design. Five levels of each parameter have been con-
were also based on those of the OR Library, comprehended the sidered (Table 3).
most extensive list available, with full specification and complete In order to prove the 55 = 3, 125 combinations of parameters,
makespan results for the purpose of comparison. we ran each combination 30 times. At every run, 50 0 0 schedules
These 43 problems were adaptations of the classic problems were produced so as to optimize the FTC1 problem. The average
of Lawrence JSSP (Lawrence, 1984) and Fisher (Fisher & Thomp- of the 30 runs was considered so as to evaluate the performance
son, 1963) available at the OR Library. Processing and trans- of every set of parameters. In the specific case of LNSA, experi-
portation times specification for these problems can be found mental results demonstrated that the following set of parameters
at https://sites.google.com/site/clspje/ and https://figshare.com/s/ exhibit optimal performance for this problem: (a) smart-cell pro-
8dc7b0837e31baf20452 with DOI: 10.6084/m9.figshare.7629647. portion q = 1.5, (b) mind = 0.7, (c) l = 5, (d) pls = 0.05, and (e)
Subsequent works may take new adaptations of other instances of pop = 0.7.
JSSP and FLP in order to complement this benchmark. In order to demonstrate how LNSA convergence is improved
Thus, the verification and analysis of LNSA’s experimental out- when more solutions are calculated, three values (50 0 0, 50,0 0 0,
comes were only compared with the results obtained in the study and 50 0,0 0 0) of the produced schedules were considered for stop-
by Ranjbar and Najafian (2012), which proposed a benchmark of ping the algorithm execution as indicated in columns 6, 7, and 8
43 instances with different sizes (n x m) and provided two differ- of Table 4, respectively, while the relative error percentage of the
ent findings, which have been presented in Table 4. The first two LNSA best solutions were given in column 9. Owing to the com-
E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096 11
Table 5
Execution time of LNSA for every instance.
For each of the three types of experiments performed with the LNSA algorithm, Table 6 presents the best
values, averages, and standard deviations of 30 independent rules for the 43 instances of CLSPJE.
plexity of the calculations, a program was developed using the and neighbors in their algorithms for the same problem, although
specialized software MatlabR2015a, and all of the examples were by using a multi-objective cost function.
solved on a computer with a 3.2-GHz quad-core Intel Xeon Proces- LNSA uses 5 parameters to control its operation, although this
sor and 8-GB memory. number may seem high and limit its practicality. Recent stud-
LNSA handles an increasing number of smart-cells and a fixed ies have also handled an identical or higher number of parame-
number of neighbors, which leads to an increase in the number of ters (Alaykýran, Engin, & Döyen, 2007; Ranjbar & Najafian, 2012;
solutions to be evaluated for the problems with a higher number Ripon, Glette, Hovin, & Torresen, 2012; Ripon & Torrensen, 2014;
of machines and locations. In order to make a fair comparison with Ribas, Companys, & Tort-Martorell, 2015). A possible subsequent
the results published in the works of Ranjbar and Najafian (2012), task is to add an intelligent process of auto-tuning parameters so
we had same constraints regarding the number of schedules pro- as to reduce the number of parameters that a user must specify.
duced to halt the algorithm. Table [4] shows that the all the best results of LNSA are in col-
The number of neighbors that LNSA handles for each umn 8, which indicates that LNSA converges to better values when
smart-cell may seem high; however, the presented algorithm more solutions are considered. Results improving the solutions of
updates the smart-cells based on local search, which in- Ranjbar and Najafian (2012) are marked in red, while the results
cludes information exchange with other smart-cells through PR. improving the best-known solutions are marked with (∗ ), and the
These types of strategies have also been proposed in recent results below the ones obtained Ranjbar and Najafian (2012) are
works that use multiple neighbors for scheduling problems marked in blue. It can be observed that LNSA improved the sched-
(Jamili, Shafia, & Tavakkoli-Moghaddam, 2011; Chassaing, et al., ules of 15 instances (most for more complex problems with more
2014; Ribas, Companys, & Tort-Martorell, 2015). It should be noted jobs and machines), and the best-known solutions were improved
that the studies by Ripon, Glette, Hovin, and Torresen (2012) and in 11 instances. Furthermore, LNSA produced worse results only in
Ripon and Torrensen (2014) utilized a similar number of solutions 9 instances. Table 5 presents the execution time for every case.
12 E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096
Table 6
Best, average and standard deviation of every experiment.
1. Instance 2. 3. 4. 5. 6. 7. 8. 9. 10.
5,0 0 0 5,0 0 0 5,0 0 0 50,0 0 0 50,0 0 0 50,0 0 0 50 0,0 0 0 50 0,0 0 0 50 0,0 0 0
LNSA LNSA LNSA LNSA LNSA LNSA LNSA LNSA LNSA
best ave std best ave std best ave std
It can be observed that the obtained time was similar to that re- The last five values of s (3, 5, 2, 1, 4) define the proposed ma-
ported by Ranjbar and Najafian (2012). Besides, the linear growth chine arrangement, where the first machine was placed at location
of the execution time in every case can also be noticed. 3, the second at location 5, the third at location 2, the fourth at lo-
Fig. 5 depicts the box-plot diagrams for the three types of ex- cation 1, and the fifth at location 4. Fig. 6 presents the Gantt chart
periments. Parts (A), (B), and (C) present the diagrams of all the illustrating the scheduling of jobs and the makespan according to
instances, while parts (D), (E) and (F) display the box plots for the proposed machine arrangement for the problem LAC7.
the problems with the highest number of jobs and locations. It The Gantt chart in Fig. 3 represents the machine processes
is clearly observable from Table 6 and the last box plot diagrams in assorted colors. For example, in order to distinguish overlap-
how the averages improved and the standard deviations reduced, ping, M1 is yellow, M2 is purple, M3 is blue, M4 is red, and M5
indicating a better convergence of LNSA toward the optimum as a is green. The transportation delay is indicated in gray. As every
higher number of schedules are calculated. row represents a job, there are 15 rows and a total of 75 sched-
In order to illustrate the LNSA results, the optimal smart-cell uled operations. The makespan is 960, which is the time at which
obtained for the LAC7 problem is: the last operation is ended. The complete set of solutions ob-
⎧ ⎫ tained for the 43 problems is available at https://figshare.com/s/
⎪
⎨5 14 6 12 13 2 10 3 8 1 2 14 7 1 10 13 6 2 4 8 9 13⎪
⎬
14 1 13 7 11 12 9 4 2 15 10 11 4 9 1 11 7 7 13 3 14 8dc7b0837e31baf20452.
s=
⎪
⎩15 10 11 8 4 9 6 2 7 5 6 15 11 3 12 14 15 12 9 ⎪
⎭ 5. Discussion
5 3 10 5 6 12 8 1 8 4 3 5 15, 3 5 2 1 4
The first 75 values of s indicate the order of the operations, In Table 4, column 5, the relative error is displayed for the com-
starting with the first operation of job 5, followed by the first op- parison of the results obtained by Ranjbar and Najafian (2012) with
eration of job 14, and so on. The first number repeated in the so- the best-known results. Negative results signify worse results,
lution is 14, which indicates that, after the first operation of job 2, while positive results are better. Moreover, the average relative
the second operation of job 14 was scheduled for production. error was -0.1144%. Furthermore, in column 9, our best results
E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096 13
Table 7
Better, worse, and similar results.
LNSA vs best known Ranjbar [9] hybrid algorithm vs the best-known results
Number of instances 11 14 18 0 6 37
Percentage 25.58% 32.55% 41.86% 0% 13.95% 86.05%
(50 0,0 0 0 solutions) were compared to the best-known results, also Further work may involve the application of the proposed al-
obtaining an average relative error of -0.0412%. Additionally, Table gorithm to other programming problems where resources are as-
7 also demonstrates how many times the better or worse results signed dynamically. For example, in vehicular ad-hoc networks
were obtained, and how many of these were similar. (VANETs), moving cars are treated as nodes to create a mobile
Comparing our method to the best-known one, it can be ob- wireless network. As car positions change constantly with time,
served that the proposed algorithm improved the makespan results there is a need for algorithms that can maintain a robust VANET
in 25.58% of the instances and maintained the results in 41.86%, according to the location of cars selected to create a network. In
while the method employed by Ranjbar and Najafian (2012) did this sense, an adaptation of LNSA can be investigated in order to
not improve the best-known results in any of the examples solved. define a VANET.
Moreover, taking the best-known results as reference, the aver- Furthermore, additional local search operators and strategies
age relative error was minor in the proposed LNSA. It is worth may be proven to specify better neighbors in the exploitation pro-
mentioning that, in problems LAC 31–35 of size 30 x 10 with the cess of each smart-cell or the use of other distance operators with
highest complexity, the LNSA always improved the results. There- lesser complexity in order to maintain the diversity of population,
fore, when applied to CLSPJE, LNSA yields superior results in prob- avoid stagnation, and be able to manage more jobs and machines.
lems with a higher computational complexity. Future directions in- Owing to the double scheduling that must be solved to optimize
clude testing other algorithms in CLSPJE and solving problems with CLSPJE, the opportunity exists for interested researchers to conduct
higher complexity by the means of LNSA. a comprehensive study on the appropriate employment of classical
evolutionary and metaheuristic algorithms and compare their per-
6. Conclusions formance with the results presented in this study.
Future work requires formalizing the features of semi-active
The importance of an integrated JSSP and FLP involves reduced and active solutions in response to this problem, considering the
costs, improved system performance, and rapid response to cus- transportation and processing time involved in the calculation of
tomer demands in order to remain alive in the intense competition makespan, and use these characteristics to propose heuristics that
of the global market, thereby justifying a costly long-term invest- are capable of building and improving semi-active and active solu-
ment. However, to the best of the authors’ knowledge, FLPs and tions.
JSSPs have only been solved independently by researchers. Only re- We can also consider the use of a more sophisticated neigh-
cently have certain integrated approaches been proposed for solv- borhood structure and local search operators, such as those pro-
ing these problems together. posed by Taillard (1994), Van Laarhoven, Aarts, and Lenstra (1992),
Although the two problems are related, they have already been Dell’Amico and Trubian (1993), Nowicki and Smutnicki (1996),
treated and separated in the literature, which may affect the de- Balas and Vazacopoulos (1998), and Zhang, Li, Guan, and
cisions related to them, as solutions are sought sequentially. How- Rao (2007), to be able to optimize critical blocks that behave dy-
ever, the literature is not clear on this, which may be owing to two namically by the different machine allocations implied by CLSPJE.
reasons: first, each problem exhibits its own computational com-
plexity, which increases when it is resolved concurrently. Second, Declaration of Competing Interest
when solved and implemented with metaheuristics, it is difficult
to codify, implement, and determine a solution for both the prob- The authors declare that they have no known competing finan-
lems. Thus, it is relevant to develop new algorithms to operate on cial interests or personal relationships that could have appeared to
concurrent problems. influence the work reported in this paper.
This study has proposed a new algorithm (LNSA) with the aim
to minimize the makespan for CLSPJE. LNSA was inspired by the
use of a local neighborhood to improve the exploration of every Credit authorship contribution statement
smart-cell. The LNSA employs codification in which every smart-
cell is a combination of jobs [28], every job is repeated m times, Eva Selene Hernández-Gress: Conceptualization, Methodology,
and a permutation of m locations exists. In this manner, any re- Data curation, Validation, Formal analysis, Writing - original
combination of elements produces an additional valid solution. draft, Writing - review & editing. Juan Carlos Seck-Tuoh-Mora:
Therefore, operators commonly used in other scheduling problems Conceptualization, Methodology, Software, Data curation, Valida-
can be applied in this codification. tion, Writing - original draft, Writing - review & editing, Su-
The idea behind LNSA is that the exploration and exploitation pervision. Norberto Hernández-Romero: Methodology, Software,
are guided by simple operators that are executed in the same it- Formal analysis, Investigation, Writing - original draft. Joselito
eration of the algorithm, which helps the algorithm to be simple, Medina-Marín: Conceptualization, Software, Formal analysis, Writ-
perform the exploitation and exploration of the search space in a ing - original draft. Pedro Lagos-Eulogio: Conceptualization, Soft-
balanced way, and escape from local minima. ware, Validation. Javier Ortíz-Perea: Investigation, Validation.
LNSA has been applied over a benchmark of 43 instances and
compared to the hybrid algorithm formulated by Ranjbar and Na- Acknowledgments
jafian (2012). Satisfactory results were obtained and the best-
known solution were improved in 11 cases, particularly those with This work was supported by the National Council for Science
higher complexity that appear in actual cases in the industries, and Technology (CONACYT), with project number CB-2014-237323
which require flexibility in order to respond to customer demands. and project number CB-2017-2018-A1-S-43008.
14 E.S. Hernández-Gress, J.C. Seck-Tuoh-Mora and N. Hernández-Romero et al. / Expert Systems With Applications 144 (2020) 113096
Wolfram, S. (2002). A new kind of science. Champaign, IL.: Wolfram media. Zhang, C., Li, P., Rao, Y., & Guan, Z. (2008). A very fast TS/SA algorithm for the job
Zandieh, M. (2019). Scheduling of virtual cellular manufacturing systems: A bio- shop scheduling problem. Computing Operational Research, 35(1), 282–294.
geography-based optimization algorithm. Applied Artificial Intelligence, 33(7), Zhou, K., Ponnuturai, N., Tay, J., Chin, S., Xiang, C., & Qan, K. (2015). A two-stage
594–620. artificial bee colony algorithm scheduling flexible job-shop scheduling problem
Zhang, C., Li, P., Guan, Z., & Rao, Y. (2007). A tabu search algorithm with a new with new job insertion. Expert Systems with Applications, 42, 7652–7663.
neighborhood structure for the job shop scheduling problem. Computers & Op-
erations Research, 34(11), 3229–3242.