0% found this document useful (0 votes)
19 views

Simulation Optimization For A Flexible Jobshop Scheduling Problem Using An Estimation of Distribution Algorithm

The document discusses using a simulation optimization approach combining estimation of distribution algorithms and simulation to schedule operations for a flexible job shop manufacturing problem. The goal is to generate schedules that minimize idle times on machines and work in process while capturing real-world constraints. This is an alternative to previous research only assigning one schedule to all machines.

Uploaded by

juan ardila
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Simulation Optimization For A Flexible Jobshop Scheduling Problem Using An Estimation of Distribution Algorithm

The document discusses using a simulation optimization approach combining estimation of distribution algorithms and simulation to schedule operations for a flexible job shop manufacturing problem. The goal is to generate schedules that minimize idle times on machines and work in process while capturing real-world constraints. This is an alternative to previous research only assigning one schedule to all machines.

Uploaded by

juan ardila
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Int J Adv Manuf Technol (2014) 73:3–21

DOI 10.1007/s00170-014-5759-x

ORIGINAL ARTICLE

Simulation optimization for a flexible jobshop scheduling problem


using an estimation of distribution algorithm
Ricardo Pérez-Rodríguez & S. Jöns & Arturo Hernández-Aguirre &
Carlos Alberto-Ochoa

Received: 20 November 2013 / Accepted: 6 March 2014 / Published online: 4 April 2014
# Springer-Verlag London 2014

Abstract The flexible jobshop scheduling problem permits 1 Introduction


the operation of each job to be processed by more than one
machine. The idea is to assign the processing sequence of Estimation of distribution algorithms (EDA), introduced by
operations on the machines and the assignment of operations Mühlenbein and Paaβ [1], have been successfully used to
on machines such that the system objectives can be optimized. solve complex combinatorial optimization problems such as
The assignment mentioned is a difficult task to implement on scheduling. Chen et al. [2], Liu et al. [3], and Pan and Ruiz [4]
real manufacturing environments because there are many can be consulted on this issue.
assumptions to satisfy, especially when the amount of work Disadvantages of EDAs such as loss of diversity and
is not constant or sufficient to keep the manufacturing process insufficient use of location information of solutions have been
busy for a long time, causing intermittent idle times. An tackled successfully by incorporating other methods such as
estimation of distribution algorithm-based approach coupled genetic algorithms (GAs) during the evolutionary process.
with a simulation model is developed to solve the problem and Chen et al. [5] use this approach.
implement the solution. Using the proposed approach, the Several works have been done in order to capture the
shop performance can be noticeably improved when different problem structure with more precision. Advanced probabilis-
machines are assigned to different schedules. tic models, which solve scheduling problems through EDAs,
have been proposed to attempt to integrate higher-order inter-
actions to enhance the solution quality. Wang et al. [6] and
Keywords Scheduling . Event-discrete simulation . Chen et al. [7] have contributed to research on it.
Estimation of distribution algorithm . Simulation Flowshop scheduling problem and jobshop scheduling
optimization . Work in process . Flexible jobshop scheduling problem on flexible shops have been studied and solved
problem through EDAs from an academic perspective. Jarboui et al.
[8] and Zhang and Li [9] are in this category.
Working out real-world scheduling problems has been con-
R. Pérez-Rodríguez (*) sidered a priority in the last three decades because the condi-
CIATEC, A. C. Omega 201, Fracc. Delta, C.P. 37545 León, tions of any service or manufacturing process requires an
Guanajuato, México
appropriate modeling on the most important variables that
e-mail: [email protected]
affect the performance of the process. The process might have
S. Jöns different scenarios to optimize or different characteristics to
UPGTO, CONACYT, Av. Universidad Norte s/n, Comunidad consider in order to solve the scheduling problem, not only the
“Juan Alonso”, C.P. 38483 Cortázar, Guanajuato, México
academic perspective on such things as market conditions,
A. Hernández-Aguirre competitors, information systems, work conditions, setup time,
CIMAT, A. C. Callejón de Jalisco s/n, Mineral de Valenciana, C.P. maintenance, transfering of parts, labor requirements, storage,
36240 Guanajuato, Guanajuato, México shifts, breaks, the process itself. Chan et al. [10], Wadhwa et al.
[11], Chan and Chung [12], and Chan [13] have considered the
C. Alberto-Ochoa
UACJ, Henry Dunant 4016, Zona Pronaf, C.P. 32310 Ciudad Juárez, real process environment and its flexibility in their approaches
Chihuahua, México to work out real-world scheduling problems.
4 Int J Adv Manuf Technol (2014) 73:3–21

All current research work focuses on the fact that only our knowledge, the parameter described has not been devel-
one schedule is assigned to all the machines on the shop oped through these kinds of algorithms.
floor, but the performance of scheduling is different In addition, all EDAs that have been used for scheduling up
under different circumstances; the shop performance can to this point can be used for service and/or manufacturing
be improved if different machines are assigned to differ- applications. However, in these environments, some assump-
ent schedules. For example, the steel doors manufactur- tions studied from an academic approach may not be met. For
ing process studied in this research does not require all example, the assumption that operations cannot be interrupted
machines to be ready at the beginning of the schedule, is difficult to meet, because there are many reasons to interrupt
because it is extensive and requires time to produce a operations at any workstation or machine due to failures,
complete job. The work content varies greatly at each adjustments, incorrect set up, scrap, shutdown, or the sudden
step. If all machines are ready at the beginning of the arrival of priority jobs.
schedule, it should cause idle times. For this reason and In order to avoid the use of theoretical assumptions that can
contrary to current research, this paper presents an alter- hardly be met or to try to capture the real operating conditions
native solution to the scheduling problem from an indus- on service or manufacturing systems, simulation optimization
trial perspective where the start time for each work shift is an alternative.
is an input variable to consider. We provide a simple Although there are several commercial simulation lan-
example of the variable mentioned by considering a prob- guages that provide optimization tools, to the best of our
lem with four jobs: the four machines shown in Fig. 1. We try knowledge, no current commercial simulation language uses
to achieve the minimum idle time possible for each machine in EDAs as an optimization method.
a work shift of 8 h. An alternative schedule, including off-duty The approach taken in this study combines the key advan-
hours for each machine, is proposed in Fig. 2. To the best of tages of both EDAs and simulation. The focus of this study is

Fig. 1 Scheduling example


Int J Adv Manuf Technol (2014) 73:3–21 5

Fig. 2 Scheduling alternative

to employ simulation with estimation of distribution algorithm from each other because most EDAs generate entirely new
(SEDA) where three probabilistic models are utilized. The solutions.
first one generates the processing sequence of operations on Recently, some attempts have been made to combine
the machines; the second produces the assignment of opera- EDAs with the traditional crossover and mutation operators
tions on machines, and the third obtains the start time for each of GAs [14]. Chen et al. [5] use this approach. They employ an
work shift. approximate probabilistic model to estimate the quality of
Although different performance measures have been candidate solutions to enable the crossover and mutation
considered for optimizing scheduling problems, the work operators to generate more promising solutions. They
in process (WIP), as an important output variable on work on the permutation flowshop scheduling problem
scheduling problems, has been handled with little depth (PFSP). It is one of the best-known NP-hard (non-determin-
through EDAs. This research proposes to build an event- istic polynomial-time) problems. The probabilistic model
discrete simulation model and use SEDA as an optimiza- used is not a source for generating new solutions but acts as
tion method in a steel doors manufacturing shop where a fitness predictor for guiding the crossover and mutation
operations are extensive and diverse and belong to flexible operators to generate better solutions.
jobshop configuration. The objective is to generate sched- Chen et al. [7] also work on PFSPs. They employ two
ules that can obtain a small amount of WIP as a perfor- probabilistic models, while most EDAs do not apply more
mance measure. than one model. The first model represents the number of
times that any job appears before or at a specific position in
the sequences. This model shows the importance of the jobs in
2 Literature review the sequence and was used in research conducted by Jarboui
et al. [8]. The second model indicates whether any job imme-
A discussion about the most current research on scheduling diately follows another in the sequences, i.e., this model
problems with EDAs is outlined below. indicates the number of times that any job immediately fol-
Chen et al. [2] propose guidelines for developing effective lows another. In addition, it is important to note that by
EDAs to solve single machine scheduling problems, particu- combining a genetic-operator approach with a probabilistic
larly the minimization of the total weighted earliness and model, the authors were able to avoid the loss of data diversity
tardiness costs. In general, they used an EDA with an operator which EDAs often demonstrate.
that they call “guided mutation” to generate effective off- Pan and Ruiz [4] offer an EDA for lot-streaming flowshop
spring. The beginning of their algorithm produces new solu- problems with setup times. According to the researchers, in a
tions mainly by genetic operators. After this, they use the traditional flowshop, each job is assumed to be indivisible
probabilistic model to generate better individuals when the and cannot be transferred to a downstream machine
searching process reaches a more stable state. Therefore, until the whole operation on the preceding machine is
sampling new individuals periodically differentiates EDAs finished. Nevertheless, this is not the case in many practical
6 Int J Adv Manuf Technol (2014) 73:3–21

environments where a job or lot consists of many identical configuration. Wang et al. [6] and Yan and Wang [16]
items. The real contribution is how Pan and Ruiz [4] handle explain the problem formulation for this configuration.
the setup time concept in their algorithm. The flexible jobshop scheduling problem FJSP is common-
Wang et al. [6] work on the flexible jobshop scheduling ly defined as follows: there are n jobs J={J1,J2,…,Jn} to be
problem (FJSP). The authors proposed a bi-population based processed on m machines M={M1,M2,…,Mn}. A job Ji is

on EDA, which they called BEDA to solve FJSP with the formed by a sequence of ni operations Oi;1 ; Oi;2 ; …; Oi;ni
criterion of minimizing the maximum completion time. In the to be performed one after another according to a given se-
BEDA, the population may be divided into two sub- quence. The execution of Oi, j requires one machine out of a
populations with a splitting criterion, and the two sub- set of mi, j given machines Mi, j ⊆ M. Preemption is not
populations may be recombined as the entire population with allowed, i.e., each operation must be completed without inter-
a combination criterion to achieve a satisfactory searching ruption once it starts.
quality. In order to simplify the notations for the flexible jobshop
All of this current research work uses discrete EDAs. In scheduling problem in this research, it is convenient to
these kinds of EDAs, each individual explicitly shows its n

information in the sequence of jobs to be processed. The identify the Oi, j by numbers 1,…, N where N :¼ ∑ ni .
i¼1
hybridization between any discrete EDA and any heuristic Consequently, the processing time of the operation i on ma-
method permits obtaining promising solutions. The probabi- chine k∈Mi is denoted by ti,k. In addition, the operations set is
listic models used in all of this current research work are established as O.
updated each time a job is assigned in the sequence. This Let J(i) denote the job to which operation i belongs
updating eliminates the possibility of choosing a previous and let P(i) be the position of operation i in the se-
job, although the authors of this research almost never explic- quence of operations belonging to job J(i) starting with
itly mention that a modification in the sampling process has to one, i.e., P(i)=1 if the operation i is the first operation
be carried out. For example, Shim et al. [15] use EDAs for of a job. Furthermore, the index set I k defined by
solving the multi-objective traveling salesman problem. The Ik :={i∈O|k∈Mi} denotes the indices of operations i∈O
authors opined that the sampling mechanism does not consid- that can be processed on machine k. Consequently, there
er which city has or has not been included in the route. In are |Ik| positions on machine k.
order to get feasible solutions, a refinement operator is In order to model the assignment of operations to
proposed for tackling the inconvenience of the permutation- machines, assignment binary variables xi, k, p for all pk =
based representation. 1, …, |I k |, k = 1, …, m, i ∈ O are introduced if x i, k, p = 1
Although some promising results have been reported by means that the operation i is scheduled for position p
using high-order interactions in probabilistic models, those on machine k.
results do not necessarily outperform simple models in dealing Furthermore, Si is defined as the starting time for operation i.
with some real-world hard problems because these complicat- For each job, the corresponding operations have to be
ed models can only consider a very tiny percentage of variable processed in the given order, that is, the starting time for an
interactions in a hard problem [7]. As a result, simulation operation must not be earlier than the point at which the
optimization is a good alternative to tackle this situation. preceding operation in the sequence of operations of the
The main differences and similarities between current re- respective job is completed. This constraint is imposed simul-
search and this paper are shown in Table 1. In addition, in taneously on all appropriate pairs of operations, aggregated in
Table 2, it details the most important commercial simulation the set of conjunctions C given by C∶={(i,j)| i,j∈O:J(i)=
languages that provide optimization tools. J( j)∧P( j)=P(i)+1}. Consequently, the precedence constraints
As we can see from the previous review, to the best of our are given by
knowledge, the industrial perspective has not been thoroughly
considered In addition, EDAs have not been developed for use
XX
jI k j
as an optimization method for simulation optimization. Si þ xi;k;p t i;k ≤ S j for allði; jÞ∈C: ð1Þ
Finally, some assumptions that are not necessarily met in k∈M i p¼1
service and/or manufacturing systems are used in all of the
current research.
Moreover, each operation has to be assigned to exactly one
position, which is ensured by
3 Problem statement
Xm X
jI k j
The steel doors manufacturing shop, where operations xi;k;p ¼ 1 for all i∈O: ð2Þ
are extensive and diverse, belongs to flexible jobshop k¼1 p¼1
Int J Adv Manuf Technol (2014) 73:3–21 7

Table 1 EDAs for scheduling

Algorithms

Elements Chen et al. [2] Chen et al. [5] Chen et al. Jarboui et al. Pan and Ruiz [4] Wang et al. SEDA
EA/G Self-guided [7] eACGA [8] JEDA [6] BEDA
GA

Configuration style Single-machine PFSP PFSP PFSP Lot-streaming PFSP FJSP FJSP
Processing times Fixed Fixed Fixed Fixed Fixed Fixed Variable
Assumptions Required Required Required Required Partially required Required Not required
Probabilistic model Univariate Univariate Uni/bivariate Univariate Uni/bivariate bivariate Bivariate
Type of EDA Discrete Discrete Discrete Discrete Discrete Discrete Discrete and
continuous
Hybridization EDA-GA EDA-GA EDA-GA EDA-VNS EDA-VNS EDA-local search EDA-simulation
Populations One One One One One Two One
Objective Weighted earliness, Makespan Makespan Total flow time Makespan Makespan Work in process
tardiness costs
Simulation Not provided Not provided Not provided Not provided Not provided Not provided Included
Approach Academic Academic Academic Academic Industrial, sequence- Academic Industrial, all the
dependent setup environment
time considered as really it is
PFSP permutation flowshop scheduling
problem
FJSP flexible jobshop scheduling
problem
VNS variable neighborhood search

Additionally, only one operation can be assigned to each position on a machine if the preceding position is already
position, due to constraints filled. This condition is ensured by

X X X
xi;k;p ≤ 1 for all p ¼ 1; …; jI k j; k ¼ 1; …; m: ð3Þ xi;k;p ≤ xi;k;p − 1 ð4Þ
i∈O i∈O i∈O

The positions on each machine have to be subsequently


for all p ¼ 2; …; jI k j; k ¼ 1; …; m:
filled, that is, an operation is only allowed to be assigned to a

Table 2 Commercial simulation languages


In order to interconnect the machine position variables with
the starting time variables and to enforce a feasible schedule,
Optimization tool non-overlapping constraints are defined by
Languages Tabu search Genetic algorithms Evolutionary strategies 
S i þ t i;k −M 2−xi;k;p−1 −x j;k;p ≤ S j ð5Þ
Simul8® +
SimFlex® +
Simprocess® + for all p=2,…,|Ik|, i≠j∈Ik, k=1,…,m. If the operations i
Promodel® + and j are assigned to the same machine k for consecu-
Arena® + tive positions p−1 and p, then the starting time Sj of
Quest® + operation j must not be earlier than the completion time
Extend® + Si +ti,k of operation i. M is a big constant taken sufficiently
@Risk® + large in order to guarantee constraints (Eq. 5) to be valid if at
AutoMod® + least one of the machine position variables xi,k,p and xi,k,p−1 is
+ Included zero; in other words, operations i and j are not assigned to
consecutive positions on the same machine, and consequently,
8 Int J Adv Manuf Technol (2014) 73:3–21

a non-overlapping constraint does not have to be taken into The completion time Ck on each machine k is defined as the
account. total time required to conclude all the operations scheduled,
Different starting times for each machine were con- which is ensured by
sidered in this research. Let Tk be the off-duty time for 
each machine k. The starting time for the first operation maxi∈I k S i þ t i;k ≤C k for all k ¼ 1; …; m: ð8Þ
on each machine must not be earlier than Tk, which is
ensured by We consider to minimizing the work in the process at the
end of each real work shift on each machine, that is, the
X difference between the completion time and the real work
T k þ Si þ xi;k;p t i;k ≤ S j for all i∈I k ; k ¼ 1; …; m: ð6Þ shift for each machine, given by
p¼1
Xm
Min WIP ¼ maxfC k − Rk ; 0g ð9Þ
Let H be the total time in the work shift for the entire k¼1

manufacturing process. Consequently, the real work shift R Thus, the problem formulation for the steel doors
for each machine k is defined by manufacturing process is given by
X m
Min WIP ¼ maxfC k −Rk ; 0g
T k þ H ¼ Rk for all k ¼ 1; …; m: ð7Þ k¼1

s:t 
maxi∈I k S i þ t i;k ≤ Ck for all k ¼ 1; …; m:
X X
jI k j
Si þ xi; k; p t i; k ≤ S j for all ði; jÞ ∈ C :
k∈M i p¼1
Xm XjI k j
xi; k; p ¼ 1 for all i∈O:
k¼1 p¼1
X
xi; k; p ≤ 1 for all p ¼ 1; …; jI k j; k ¼ 1; …; m:
i∈O
X X
xi; k; p ≤ xi; k; p −1 for all p ¼ 2; …; jI k j; k ¼ 1; …; m:
i∈O i∈O

S i þ t i; k −M 2−xi; k; p−1 −x j; k; p ≤ S j for all p ¼ 2; …; jI k j; i≠ j∈I k ; k ¼ 1; …; m:
X
T k þ Si þ xi; k; p t i; k ≤ S j for all i∈O; k ¼ 1; …; m:
p¼1

T k þ H ¼ Rk for all k ¼ 1; …; m:

Si ≥ 0 for all i∈O:

Tk ≥0 for all k ¼ 1; …; m:

xi; k; p ∈f0; 1g for all p ¼ 1; …; jI k j; k∈M i ; i∈O:

H constant

Although the problem formulation for the steel doors manufacturing process. This situation impedes using EDAs
manufacturing shop has been explained above, it includes directly. Some assumptions that are not met are:
assumptions that are not relevant or consistent with the
manufacturing process mentioned. Unfortunately, some of 1. The machines are assumed to be set up in series. In the
these assumptions simply cannot be applied in the steel doors steel door manufacturing process, this is not possible,
Int J Adv Manuf Technol (2014) 73:3–21 9

Fig. 3 Simulation model’s


assembly department

especially for a layout that does not accomplish such a 5. Each machine can process only one operation at a time. In
configuration. the actual manufacturing process, the cure oven system
2. The storage or buffer capacities in between successive ma- acts as a machine, processing more than 100 doors (from
chines may sometimes be virtually unlimited. Unfortunately, different jobs) at the same time.
this does not happen with the actual manufacturing process. 6. One kind of machine is available. Normally, when
When the products are physically as large as steel the jobs have entered the shop floor, they are pro-
doors, the buffer space in between two successive duced according to a specific route as in any jobshop
machines has limited capacity, causing blockage. When configuration; however, there are working groups
this occurs, the job has to remain at the machine,
preventing a job in the queue at that machine from starting
its processing.
3. Any job can be processed at each stage by any machine.
Although some workstations in the steel door
manufacturing process have parallel machines to process
any job on, the impact on performance measures can be
totally different using one machine to another. The main
reason is because there are a limited number of skilled
workers for certain types of doors that use those parallel
machines.
4. Operations cannot be interrupted. There are many
reasons to interrupt the operations at any workstation
or machine such as failures, adjustments, wrong setup,
scrap, and the sudden arrival of priority jobs. Fig. 4 Fixed values test
10 Int J Adv Manuf Technol (2014) 73:3–21

jobs need to be transferred between machines or worksta-


tions by dollies, platforms, or forklifts in order to continue
the process, and these transfers take time.
8. Processing time is fixed or is known in advance.
Most parts require similar processing, although spe-
cific, required features for each model cause some
variation in actual work content. Due to this unique-
ness, parts require varying amounts of resources and
processing times.
9. All jobs are available at time 0. Normally, not all jobs are
Fig. 5 Operational validity
available at the beginning of the study horizon. They
arrive throughout the study horizon.

that may not be available due to personnel and shift In addition, the operating conditions for the steel doors
scheduling. manufacturing process are different and more sensible
7. The time to transfer jobs between machines is not rele- than classic configurations where operating conditions
vant. In the steel doors manufacturing shop, most of the can be irrelevant. For example:

Table 3 Validation method

Output variables Input variables

Real system Conveyor speed Conveyor speed


0.036 m/s 0.03 m/s 0.05 m/s
Avg utilization (%) 17.39 17.97 18.25
Avg busy processing time (s) 40,922 39,975 40,964
Work in process (doors) 84 91 68
Throughput (doors/shift) 916 909 932
Real system Sealed silicon Sealed silicon
30 min 25 min 35 min
Avg utilization (%) 17.39 18.07 17.91
Avg busy processing time (s) 40,922 35,749 38,815
Work in process (doors) 84 113 118
Throughput (doors/shift) 916 886 881
Real system Drying Drying
30 min 25 min 35 min
Avg utilization (%) 17.39 18.22 18.15
Avg busy processing time (s) 40,922 40,938 40,871
Work in process (doors) 84 68 62
Throughput (doors/shift) 916 931 930
Real system (FIFO rule) Sequences (by complexity) Sequences (by simplicity)
Avg utilization (%) 17.39 15.23 19.63
Avg busy processing time (s) 40,922 35,516 40,724
Work in process (doors) 84 268 82
Throughput (doors/shift) 916 731 917
Real system (without off-duty hours) Shifts (8 off-duty hours) Shifts (4 off-duty hours)
Avg utilization (%) 17.39 16.97 20.30
Avg busy processing time (s) 40,922 33,515 41,127
Work in process (doors) 84 270 68
Throughput (doors/shift) 916 730 931
Int J Adv Manuf Technol (2014) 73:3–21 11

such as the minimum temperature for operations to


begin.
e. Capacities. In many cases, operations personnel are avail-
able when they need to produce a given job, but the
manufacturing process can require different capacities
for given machines and workstations. Because of this,
personnel scheduling affects the actual capabilities of the
manufacturing process.

The steel door manufacturing process contains several


workstations associated with different products. Each type
Fig. 6 Feasibility of operation
of door goes through a different sequence of processing
steps; furthermore, the work content varies greatly at each
step. Unlike other manufacturing processes, once produc-
a. Storage rules for the work in process on the workstations. tion starts on the doors, the sequence may be changed,
Normally, when a job finishes its process through a storing it as work in process. When the manufacturing
machine, it continues to the next process in other ma- process becomes overcommitted, parts must be construct-
chines, but some processes need to be done in batches. In ed with overtime or subcontracted in order to meet up-
such a case, the job needs to wait until a certain number stream demand, resulting in higher costs and longer lead
of jobs have already come to the start of the next process. times.
While waiting, the operators stack the jobs and when the The processing requirements of the jobs are:
process can finally continue, the operators take the jobs
one by one from the last to first modifying the original & Specific workstations should be used for each job.
sequence. Nevertheless, this manufacturing process is flexible, and
b. Transfer rules for raw material and work in process. some jobs can be processed in other workstations.
Usually, when a job is ready to go to another worksta- & Each job involves a set of operations.
tion or machine to start the next process, it simply goes, & Sequences of operations vary noticeably from job to job.
but sometimes it has to wait until some load rule is
satisfied. This is common in the actual manufacturing Finally, the objective is to generate schedules of N different
process, where the door’s transfer is done by dollies, jobs that require processing on M workstations based on
which cannot move until there is a minimum of ten different work shifts in a flexible manufacturing process of
doors. steel doors to obtain the minimum level of work in process
c. Load rules on the conveyor. Commonly, when a machine through the interaction between simulation and SEDA.
is available, it can process another job. In the case of the Simulation is used to model the facility being studied, while
painting process, an elevated conveyor transfers doors and SEDA is used to guide the overall schedule search process to
frames to the cure oven. However, this does not always identify the best performing ones.
happen. Although it contains more than one hundred
spaces (carriers) to load, they cannot be fully used due to
the size of doors or frames. The operators need to allow 4 Simulation model—for a steel doors manufacturing
some spaces in order to prevent contact between doors or shop
frames on conveyor curves. Those carriers are then idle
machines. In order to avoid the use of theoretical assumptions that can
d. Startup policies. When some machines are turned on, hardly be met and to try to capture the real operating condi-
any job can be processed. There are also certain tools or tions on the manufacturing process mentioned, we do not omit
machines that need to reach some critical parameter, the global behavior of the process when solutions are

Fig. 7 Representation of an
individual
12 Int J Adv Manuf Technol (2014) 73:3–21

Fig. 8 Processing time data and a


feasible sequence

proposed. If this happens, it is not possible to ensure real process. For this reason, we verified and validated the simu-
solutions that can be implemented. Therefore, we built a lation model.
simulation model that emulates the manufacture of the most We ran the simulation model under different conditions to
important kinds of doors sold by the company. The model determine if its computer programming and implementation
contains all the tasks performed by different machines in the are correct as an applying verification technique which is
manufacturing process for each sort of product that is sched- known as the fixed values test [17, 18]. We decided to verify
uled. Our simulation model included many types of details the throughput as model results. It was verified against calcu-
that a manufacturing process presents: setup time, mainte- lated a priori values. Figure 4 depicts previous descriptions in
nance programming, load and unload processing, packing three production departments.
and unpacking materials, transferring of parts between depart- The validation method developed for this case study was
ments, labor requirements for each machine or process, stor- based on Pita and Wang’s [19] work which classifies the input
age rules in buffers, delay time in some areas, shifts, breaks, variables as a function of how they affect output variables.
and meals. All of these situations are present in the given The selected input variables are conveyor speed in painting,
manufacturing process. Figure 3 shows a side of the final process time of the sealed system in assembly, process time of
assembly department. the drying system in washing, sequences, and work shifts. The
Nevertheless, even if we were able to integrate operation output variables are utilization average of all employees,
times and workflows in the model, it does not mean the model effective process time average of all employees, work in
is faithful to and representative of the real manufacturing process, and throughput. Table 3 shows the main results.

Fig. 9 Gantt chart of the solution


shown in Fig. 8
Int J Adv Manuf Technol (2014) 73:3–21 13

Fig. 10 A feasible sequence with


off-duty hours

From the results shown above, the work sequences and 5 SEDA—for a steel doors manufacturing shop
off-duty hours before starting the work shift are a key
opportunity to improve the manufacturing process. This is 5.1 Solution representation
mainly because the amount of releases is not constant or
sufficient to keep the manufacturing process busy for a long Any solution to the manufacturing process mentioned should
time, causing intermittent idle times. This characteristic is be a combination of operation scheduling decision, machine
sensitive to the actual manufacturing process. A good bal- assignment, and off-duty hours before starting the work shift.
ance of off-duty hours helps to improve the output variables Thus, a solution can be expressed by the processing sequence
values shown in the validation method described above, and of operations on the machines, and the assignment of opera-
it includes the WIP. A combined approach using work tions on machines and the off-duty hours, which would be
sequences, and off-duty hours was the purpose of this the operators before starting their activities. In this paper, a
research. solution is represented by three vectors (operation sequence
Furthermore, the validation of the simulation model was vector, machine assignment vector, and off-duty hours
realized statistically. We compared the results derived by the vector).
model with real production in the same initial conditions, For the operation sequence vector, the number of elements
satisfying statistical assumptions in the validation. Figure 5 equals the total number of operations, where each element
depicts the information below. contains a random value U[0,1], an important difference

Fig. 11 Gantt chart of the


solution shown in Fig. 10

Fig. 12 Representation of an
individual to a valid operation
sequence
14 Int J Adv Manuf Technol (2014) 73:3–21

between our approach and Wang et al.’s [6] work. For the different off-duty hours possible as shown in Fig. 6. In
machine assignment vector, each element represents the cor- Fig. 7, the representation of an individual is illustrated.
responding selected machine for each operation. For the off- To show a comparison between this approach and Wang
duty hours vector, each element shows the off-duty hours, et al.’s [6] work, an example is provided. Figure 8 details the
which would be the operators before starting their activities on fixed processing time for each job on each machine and a
the most important manufacturing departments on the shop. feasible sequence. Figure 9 illustrates the Gantt chart of this
To explain the representation, we provide an example by solution working at the same time on all machines. Figure 10
considering a problem with four jobs, four machines, and shows another feasible sequence, but it includes off-duty

Fig. 13 Communication SEDA–


simulation model
Int J Adv Manuf Technol (2014) 73:3–21 15

Fig. 14 Integration SEDA and simulation model


16 Int J Adv Manuf Technol (2014) 73:3–21

hours and its impact over work in process. Idle time can be 5.3 Probability model
noted in Fig. 11. However, in the industrial environment
mentioned, the processing time is not fixed. Therefore, SEDA contains three different graph models. The first graph
Wang et al.’s [6] representation should not be directly applied. model aims to determine an estimation of distribution model
The results may be totally different. Because of this, a simu- to generate new offspring (operation sequence) using a subset
lation model is used to tackle this drawback. of 'm' selected sequences (individuals). In order to do this, we
However, it is possible that, when a given job reaches adopted a continuous optimization procedure instead of a
a workstation that remains off-duty, the job will have to discrete one to solve the scheduling problem. This is an
wait until the workstation starts production again, important difference between this approach and the current
converting the job to WIP. We sought as little WIP as research. The advantage of this representation for each indi-
possible, given the operational, physical, and programmatic vidual, through continuous values, is that they do not have
restrictions. direct meaning to the solution they represent. There is no
problem if each individual does not explicitly shows its infor-
5.2 Generation of the population mation on the sequence of jobs to be processed. It is not
necessary that the probabilistic model be updated each time
Initial population members are generated randomly in order to a job is assigned in the sequence, and it is not necessary to
enable a wide range of solutions [20]. make any modification in the sampling process. Rudolph [21]

Table 5 Comparison of results for each variance


Table 4 Comparison of results for each average
H0 :σ21 =σ22
H0 :μ1 =μ2 GA SEDA GA SEDA α=0.01
GA SEDA GA SEDA α=0.10 Trial Best Best σ21 σ22 σ21/σ22 Fc < 0.545 or
Trial Best Best μ1 μ2 μ1 −μ2 |Zc|≤1.645 Fc > 1.832

1 2.66 3.50 4.97 6.37 −1.40 16.64* 1 2.66 3.50 2.926 2.903 1.0079 1.0079*
2 3.21 2.56 5.30 5.35 −0.05 0.58 2 3.21 2.56 3.124 2.661 1.1738 1.1738*
3 2.93 0.91 5.29 5.63 −0.34 3.37* 3 2.93 0.91 2.763 5.553 0.4976 0.4976
4 3.31 0.00 5.23 4.14 1.09 11.47* 4 3.31 0.00 2.377 5.028 0.4727 0.4727
5 2.66 0.03 5.01 4.09 0.92 9.175* 5 2.66 0.03 3.307 4.933 0.6704 0.6704*
6 2.66 0.00 4.95 4.15 0.80 8.160* 6 2.66 0.00 2.848 5.050 0.5640 0.5639*
7 2.66 0.00 4.90 4.16 0.74 7.580* 7 2.66 0.00 2.482 5.284 0.4698 0.4698
8 2.66 0.00 5.03 4.19 0.85 8.450* 8 2.66 0.00 3.116 5.150 0.6050 0.6050*
9 2.66 0.39 5.01 4.15 0.87 8.785* 9 2.66 0.39 2.977 5.053 0.5891 0.5891*
10 2.66 0.03 4.91 4.09 0.81 8.381* 10 2.66 0.03 2.932 4.828 0.6072 0.6072*
11 2.66 0.00 4.98 4.20 0.78 7.931* 11 2.66 0.00 2.803 5.149 0.5443 0.5443
12 2.66 0.03 4.98 4.05 0.93 9.447* 12 2.66 0.03 3.055 4.881 0.6258 0.6258*
13 2.66 0.03 5.08 4.14 0.94 9.402* 13 2.66 0.03 3.267 5.004 0.6529 0.6529*
14 2.66 0.00 5.02 4.14 0.87 8.906* 14 2.66 0.00 2.969 4.990 0.5950 0.5950*
15 2.66 0.03 4.96 4.11 0.85 8.994* 15 2.66 0.03 2.743 4.601 0.5962 0.5962*
16 2.66 0.00 4.98 4.18 0.80 8.430* 16 2.66 0.00 2.897 4.541 0.6380 0.6380*
17 2.66 0.00 5.05 4.06 0.99 9.730* 17 2.66 0.00 3.223 5.323 0.6055 0.6055*
18 2.66 0.21 5.09 4.10 0.99 9.946* 18 2.66 0.21 3.214 4.936 0.6511 0.6511*
19 2.66 0.00 5.02 4.14 0.88 8.927* 19 2.66 0.00 3.049 4.935 0.6178 0.6178*
20 2.66 0.00 4.98 4.24 0.74 7.620* 20 2.66 0.00 2.759 5.036 0.5478 0.5478*
21 2.66 0.03 5.07 4.32 0.76 7.390* 21 2.66 0.03 3.003 5.662 0.5303 0.5303
22 2.66 0.00 4.89 4.17 0.72 7.603* 22 2.66 0.00 2.581 4.919 0.5246 0.5246
23 2.66 0.00 4.97 4.17 0.80 8.248* 23 2.66 0.00 2.913 4.891 0.5955 0.5955*
24 2.90 0.00 4.89 4.31 0.58 5.943* 24 2.90 0.00 2.704 5.152 0.5248 0.5248
25 2.66 0.03 5.02 4.21 0.81 8.089* 25 2.66 0.03 3.006 5.176 0.5807 0.5807*
24 / 25 18 / 25

μ the average σ2 the average


Int J Adv Manuf Technol (2014) 73:3–21 17

Table 6 Comparison of results for each algorithm build the first probabilistic graph model introduced by
GA SEDA GA SEDA GA SEDA Larrañaga et al. [23]. It is an adaptation of the MIMIC algo-
Trial Best Best Worst Worst Reliability Reliability rithm presented by De Bonet et al. [24] to continuous do-
mains. Once the individuals have been generated from the
1 2.66 3.50 11.05 11.28 1 3 algorithm MIMICG C , they must be decoded to be represented
2 3.21 2.56 11.19 11.18 1 1 as a valid operation sequence. Thus, we need a method to
3 2.93 0.91 11.28 11.04 1 1 decode these real vectors into discrete vectors. A fixed integer
4 3.31 0.00 10.85 11.19 1 2 number is assigned for each operation. Each fixed integer
5 2.66 0.03 11.05 10.91 1 4 number is associated with a job. A sort on the continuous
6 2.66 0.00 11.05 11.19 1 4 values of each individual is done. Assigning each continuous
7 2.66 0.00 11.05 11.19 1 3 value to the corresponding fixed integer number that belongs
8 2.66 0.00 11.05 11.19 1 2 to each operation and setting each fixed integer number to a
9 2.66 0.39 10.96 11.19 3 5 job to finish. Figure 12 details an example of a real vector and
10 2.66 0.03 11.05 11.19 3 2 its decoding.
11 2.66 0.00 11.05 11.19 1 2 The second probabilistic graph model aims to determine
12 2.66 0.03 11.05 11.05 1 7 an estimation of distribution model to generate new off-
13 2.66 0.03 11.05 11.19 1 6 spring (machine assignment) using a subset of 'm' selected
14 2.66 0.00 11.05 11.19 1 3 assignments (individuals). To obtain the estimation, we
15 2.66 0.03 10.89 10.91 1 2 used the COMIT algorithm introduced by Baluja and
16 2.66 0.00 10.96 11.19 2 2 Davies [25].
17 2.66 0.00 11.05 11.05 2 2 The third probabilistic graph model aims to determine an
18 2.66 0.21 11.05 11.19 2 3 estimation of distribution model to generate new offspring
19 2.66 0.00 11.05 10.43 1 2 (off-duty hours work shift) using a subset of 'm' selected off-
20 2.66 0.00 10.96 11.19 1 2 duty hours work shift (individuals). Although the number of
21 2.66 0.03 11.05 11.19 2 1 hours is defined for any shift based on current legal guidelines,
22 2.66 0.00 10.89 11.19 1 2 the start time of the shift is not, so we aim to generate
23 2.66 0.00 11.05 11.19 1 3 individuals representing the off-duty hours that would be the
24 2.90 0.00 10.96 11.05 1 4 operators before starting their activities. Again, we used the
25 2.66 0.03 11.05 11.05 2 4 COMIT algorithm to obtain the estimation.
34 / 25 72 / 25

Reliability: number of times that the best value is obtained


5.4 Diversity

and Bean and Norman [22] can be consulted about continuous SEDA uses a Tabu search method in order to avoid losing
optimization procedures. We used the MIMICG diversity on the evolutionary progress. The Tabu search meth-
C algorithm to
od is based on Pinedo’s [26] research.

Fig. 15 Percentiles chart, trials-


GA
18 Int J Adv Manuf Technol (2014) 73:3–21

Fig. 16 Percentiles chart, trials-


SEDA

5.5 SEDA–simulation model “edge recombination operator” is used as a cross operator


based on Whitley et al. [27], and a mutation operator changes
The output of the simulation model, the work in process level of jobs among different positions.
the steel doors manufacturing process, is used by SEDA to We used a Dell® Vostro® 3500 computer, Intel® CoreTM i3
provide feedback on the progress of the search for the best processor, 2.6 GHZ, 4 GB of RAM, Windows® 7 for 64 bits
solution. This in turn guides further input to the simulation model. to run each algorithm.
In order to get communication between SEDA—written in To account for the stochastic nature of the shop, we ran 25
DevC++®—and the simulation model—built on Delmia trials for both algorithms. Each trial contains 11 generations;
Quest® R20—and to get feedback on progress, some com- 75 individuals belong to each generation.
mands from the Batch Control Language (BCL) provided We established a workload to evaluate and find the best
from Delmia Quest® were used for the objective. Figure 13 schedule. Our experiments were based on production of 1,000
details the overall process. doors. The workload mentioned contains different orders, due
Figure 14 shows the simulation optimization approach dates, and kinds of doors produced in a workweek, replicating
proposed. the actual manufacturing process. Each production order cor-
responding includes different numbers of jobs. The arrival
times of the production orders are indeterminable.
6 Results and comparison As a response variable for the experiment, we measure the
relative percentage increase (RPI)
SEDA was built to be functional on the specific manufacturing
process mentioned; therefore, we consider evaluating the RPI ðci Þ ¼ ðci − c Þ=c  100 ð10Þ
SEDA in the same industrial environment.
A GA is proposed as a benchmark for comparison with the where ci is the work in process value obtained in the ith
SEDA scheme. GA works with tournament selection. The replication by a given algorithm configuration, and c* is the

Fig. 17 Performance GA
Int J Adv Manuf Technol (2014) 73:3–21 19

Fig. 18 Performance SEDA

best objective value found by any of the algorithm configura- Figure 15 shows the individuals generated by GA in the
tions. Note that for this problem, there are no known effective trails 5, 10, 15, and 20 through a percentiles chart.
exact techniques and comparing against an optimum solution For all trials, GA would converge and got its best value for
is not possible. the response variable, RPI at around 3.02
Table 4 details the average obtained for each trial. We Figure 16 shows the individuals generated by SEDA in the
analyze whether there is a statistically significant difference same trials through a percentiles chart.
between averages of both algorithms. SEDA’s trials were different; these converged and got its
As we can see in Table 4, there is a statistically significant best value below 3.00 for the response variable, RPI.
difference between the averages of both algorithms. The per- Figure 17 shows the performance by GA on each trial.
formance of SEDA was superior in 24 of the 25 trials with α= In all, GA's trials had close median values, around 5 RPI,
0.10 of significance level. and the search was concentrated between 2.5 and 6 RPI. The
Table 5 shows the variance obtained for each trial. We plus symbol (+) indicates where the median is located.
analyze whether there is a statistically significant difference Figure 18 shows the performance by SEDA in each trial.
between variances of both algorithms. SEDA’s performance was different. It got median
As we can see in Table 5, there is no statistically significant values around 4 RPI, but it could achieve better values
difference between variances of both algorithms. The perfor- against GA in almost all trials. SEDA could search in a
mance was the same in 18 of the 25 trials with α=0.01 of more promising area. The plus symbol (+) indicates where
significance level. We consider that the stability of both algo- the median is located.
rithms is practically the same (72 % of the time). The experimental results were analyzed using the analysis
Table 6 details the reliability obtained for each trial. We of variance (ANOVA) method. In the experiment, the main
analyze the amount of times that both algorithms got the best assumptions were checked and accepted. Table 7 details that
value in each trial. there is a statistically significant difference between the
As we can see in Table 6, there is difference between the algorithms.
reliability of both algorithms. The performance of SEDA Figure 19 shows the overall behavior between both
was better in 111 %. It found 38 more times better value algorithms, and Fig. 20 plots the performance metric on
than GA. each trial.

Table 7 Analysis of variance


ANOVA

Source of variation SS df MS F pvalue F crit

Sample 50.3280 1 50.328 19.0555 1.28934E-05 3.84288


Generations 4,846.39 43 112.706 42.6738 0 1.38108
Interaction 2,660.61 43 61.874 23.4273 5.274E-169 1.38108
Within group 17,199.0074 6,512 2.641
Total 24,756.344 6,599
20 Int J Adv Manuf Technol (2014) 73:3–21

Fig. 19 Global performance for


both algorithms

7 Conclusions improved if different machines are assigned to different sched-


ules. Although some assumptions of the FJSP could not be
Although the traditional scheduling problem has been solved met in the manufacturing process studied, because a number
from an academic perspective, its implementation in industrial of the assumptions are not consistent, the simulation model
environments has been a difficult task because there are many was able to tackle this situation by incorporating the real
assumptions to satisfy. Based on the experimental results operation conditions of the manufacturing process. The reason
shown, we confirmed that an appropriate modeling of the is that these are more sensitive than classical configurations.
most important variables that affect the performance of the The validation method allowed for identification of the key
process should be considered in the proposed solution. We opportunity to improve the manufacturing process, that is,
reach the conclusion that the shop performance can be work sequences and off-duty time for each machine.

Fig. 20 Performance metric for each trial


Int J Adv Manuf Technol (2014) 73:3–21 21

Using a continuous EDA was not necessary to make any 9. Zhang Y, Li X (2011) Estimation of distribution algorithm for per-
mutation flow shops with total flowtime minimization. Comput Ind
modifications in the sampling process in the processing se-
Eng 60:706–718
quence of operations on the machines, as is generally required 10. Chan FTS, Wong TC, Chan LY (2006) Flexible job-shop scheduling
by other algorithms. It allowed for better trust in the data problem under resource constraints. Int J Prod Res 44(11):2071–
against the GA. We consider using three graphical models, 2089
11. Wadhwa S, Rao KS, Chan FTS (2005) Flexibility-enabled
while most EDAs do not apply more than one model. It
lead-time reduction in flexible systems. Int J Prod Res 43(15):
permitted handling the most important variables of the 3131–3162
manufacturing process studied in the sampling mechanism, 12. Chan FTS, Chung SH (2004) A multi-criterion genetic algorithm for
which was refined by the Tabu search method. This strategy order distribution in a demand driven supply chain. Int J Comput
Integr Manuf 17(4):339–351
was created to avoid losing diversity in the evolutionary
13. Chan FTS (2001) The effects of routing flexibility on a
progress of the algorithm. We conclude that the simulation flexible manufacturing system. Int J Comput Integr Manuf
optimization can be an efficient mechanism to handle different 14(5):431–445
manufacturing conditions where there are diverse variable 14. Peña J, Robles V, Larrañaga P, Herves V, Rosales F, Pérez M (2004)
Ga-eda: hybrid evolutionary algorithm using genetic and estimation
interactions such as the FJSP.
of distribution algorithms. Innovations in Applied Artificial
Finally, this research contributes using an EDA as an Intelligence. Berlin/Heidelberg
optimization method for any simulation language. 15. Shim VA, Chen Tan K, Yong Chia J, Kiat Chong J (2011)
Evolutionary algorithms for solving multi-objective travelling sales-
Acknowledgments We would like to express our gratitude to Jon man problem. Flex Serv Manuf J 23:207–241
Fournier and Martin Barnes for their technical assistance on the Quest® 16. Yan Y, Wang G (2007) A job shop scheduling approach based on
platform. simulation optimization. Proceedings of the 2007 I.E. IEEM
17. Sargent R (2007) Verification & validation of simulation models.
Proceedings of the 2007 Winter Simulation Conference
18. Whitner R, Balci O (1989) Guidelines for selecting and using simu-
References lation model verification techniques. Proceedings of the 1989 Winter
Simulation Conference. Washington
19. Pita J, Wang Q (2010) A simulation approach to facilitate
1. Mühlenbein H, Paaß G (1996) From recombination of genes to the manufacturing system design. Int J Simul Model 9–3:152–164
estimation of distributions: I. Binary parameters. Parallel problem 20. Greenwood A, Vanguri S, Eksioglu B, Jain P, Hill T, Miller J, Walden
solving from nature PPSN IV, 178–187 C (2005) Simulation optimization decision support system for ship
2. Chen SH, Chen MC, Chang PC, Zhang Q, Chen YM (2010) panel shop operations. Proceedings of the 2005 Winter Simulation
Guidelines for developing effective estimation of distribution algo- Conference
rithms in solving single machine scheduling problems. Expert Syst 21. Rudolph G (1991) Global optimization by means of distributed
Appl 37:6441–6451 evolution strategies. Parallel problem solving from nature PPSN I.
3. Liu H, Gao L, Pan Q (2011) A hybrid particle swarm optimization Lectures notes in computer science
with estimation of distribution algorithm for solving permutation 22. Bean J, Norman B (1993) Random keys for job shop scheduling
flowshop scheduling problem. Expert Syst Appl 38:4348–4360 problem. The University of Michigan
4. Pan QK, Ruiz R (2012) An estimation of distribution algorithm for 23. Larrañaga P, Exteberria R, Lozano J, Peña J (2000) Optimization in
lot-streaming flow shop problems with setup times. Omega 40:166– continuous domains by learning and simulation of Gaussian net-
180 works. Proceedings of the 2000 Genetic and Evolutionary
5. Chen SH, Chang PC, Cheng T, Zhang Q (2012) A self-guided genetic Computation Conference Workshop Program
algorithm for permutation flowshop scheduling problems. Comput 24. De Bonet J, Isbell C, Viola P (1997) MIMIC: finding optima
Oper Res 39:1450–1457 by estimation probability densities. Adv Neural Inf Process
6. Wang L, Wang S, Xu Y, Zhou G, Liu M (2012) A bi-population Syst 9
based estimation of distribution algorithm for the flexible job-shop 25. Baluja S, Davies S (1997) Combining multiple optimization runs
scheduling problem. Comput Ind Eng 62:917–926 with optimal dependency trees. Carnegie Mellon University
7. Chen YM, Chen MC, Chang PC, Chen SH (2012) Extended artificial 26. Pinedo M (2001) Scheduling. Springer Science + Business Media,
chromosomes genetic algorithm for permutation flowshop schedul- New York
ing problems. Comput Ind Eng 62:536–545 27. Whitley D, Starweather T, Shaner D (1990) The traveling salesman
8. Jarboui V, Eddaly M, Siarry P (2009) An estimation of distribution and sequence scheduling: quality solutions using genetic edge re-
algorithm for minimizing the total flow time in permutation flowshop combination. In: L. Davis (Ed.), Handbook of genetic algorithms,
scheduling problems. Comput Oper Res 36:2638–2646 (pp. 350–372). New York
Copyright of International Journal of Advanced Manufacturing Technology is the property of
Springer Science & Business Media B.V. and its content may not be copied or emailed to
multiple sites or posted to a listserv without the copyright holder's express written permission.
However, users may print, download, or email articles for individual use.

You might also like