-
Computers & Industrial Engineering 87 (2015) 193–201
Contents lists available at ScienceDirect
Computers & Industrial Engineering
journal homepage: www.elsevier .com/ locate/caie
A fast estimation of distribution algorithm for dynamic fuzzy
flexiblejob-shop scheduling problem q
http://dx.doi.org/10.1016/j.cie.2015.04.0290360-8352/� 2015
Elsevier Ltd. All rights reserved.
q This manuscript was processed by Area Editor Subhash C.
Sarin.⇑ Corresponding author. Tel.: +86 1062789650.
E-mail address: [email protected] (Y. Fan).
Bojun Liu, Yushun Fan ⇑, Yi LiuDepartment of Automation,
Tsinghua University, Beijing 100084, China
a r t i c l e i n f o
Article history:Received 1 March 2014Received in revised form 21
March 2015Accepted 27 April 2015Available online 19 May 2015
Keywords:Dynamic schedulingFlexible job-shop schedulingFuzzy
processing timeFast estimation of distribution algorithmNon-zero
state
a b s t r a c t
Due to the complicated circumstances in workshop, most of the
conventional scheduling algorithms failto meet the requirements of
instantaneity, complexity, and dynamicity in job-shop scheduling
problems.Compared with the static algorithms, dynamic scheduling
algorithms can better fulfill the requirementsin real situations.
Considering that both flexibility and fuzzy processing time are
common in reality, thispaper focuses on the dynamic flexible
job-shop scheduling problem with fuzzy processing time (DfFJSP).By
adopting a series of transforming procedures, the original DfFJSP
is simplified as a traditional staticfuzzy flexible job-shop
problem, which is more suitable to take advantage of the existing
algorithms.In this paper, estimation of distribution algorithm
(EDA) is brought into address the post-transformingproblem. An
improved EDA is developed through making use of several elements
omitted in originalEDA, including the historical-optimal solution
and the standardized solution vectors. The improved algo-rithm is
named as fast estimation of distribution algorithm (fEDA) since it
performs better in convergencespeed and computation precision,
compared with the original EDA. To sum up, the ingenious
transforma-tion and the effective fEDA algorithm provide an
efficient and practical way to tackle the dynamic flexiblefuzzy
job-shop scheduling problem.
� 2015 Elsevier Ltd. All rights reserved.
1. Introduction
In a job-shop scheduling problem (JSP) jobs are operated by
sev-eral machines, and each operation of these jobs can be
performedby only one machine. This problem has been proved to be
anNP-hard problem (Garey, Johnson, & Sethi, 1976). Differently
fromthe JSP, the flexible job-shop scheduling problem (FJSP)
modelallows one operation to be performed by one or more
machines,so that the problem becomes more complex and difficult to
solve.Generally speaking, the FJSP can be solved by solving
twosub-problems respectively: to allocate operations to the
machines(routing sub-problem) and to sequence the operations on
eachmachine (scheduling sub-problem). Once the solutions of boththe
two sub-problems are acquired and combined, the originalFJSP is
solved.
Owing to the complexity of the problem, some heuristic
algo-rithms are proposed. All the heuristic algorithms applied in
FJSPcan be classified into two types: one is the hierarchical
approachwhich focuses on the routing sub-problem and the
schedulingsub-problem separately, and the other is considered to be
an
integrated approach which investigates the two
sub-problemssimultaneously. Throughout the history of trying to
address FJSP,heuristic methods and meta-heuristic methods are
prevalent.Dispatching rules, local search (LS), variable
neighborhood search(VNS), artificial neural network (ANN), tabu
search (TS), simulatedannealing (SA), genetic algorithm (GA),
particle swarm optimiza-tion (PSO) have all been utilized in
solving the problem.
Brucker and Schlie (1990) started the work on FJSP. A
polyno-mial algorithm was proposed by them for situations where
thereare only two jobs. Brandimarte (1993) decomposed the FJSP
forthe first time and solved the routing sub-problem and
schedulingsub-problem with dispatching rules and a tabu search (TS)
algo-rithm respectively. Hurink, Jurisch, and Thole (1994)
developedTS algorithm to solve the FJSP by using the integrated
approach.With the approach by localization, Kacem et al. solved the
routingsub-problem (Kacem, Hammadi, & Borne, 2002a) and solved
theFJSP by an evolutionary approach (Kacem, Hammadi, &
Borne,2002b). Pezzella, Morganti, and Ciaschetti (2008) presented
agenetic algorithm which integrated different strategies for
generat-ing the initial population, selecting the superior
individuals forreproduction and reproducing the next generation.
Xia and Wu(2005) combined particle swarm optimization (PSO) and
simulatedannealing (SA) to handle the two sub-problems of FJSP
respec-tively, based on the hierarchical approach.
http://crossmark.crossref.org/dialog/?doi=10.1016/j.cie.2015.04.029&domain=pdfhttp://dx.doi.org/10.1016/j.cie.2015.04.029mailto:[email protected]://dx.doi.org/10.1016/j.cie.2015.04.029http://www.sciencedirect.com/science/journal/03608352http://www.elsevier.com/locate/caie
-
Notationm the number of total machinesn the number of total
jobsM ¼ fM1;M2; . . . ;Mmg the set of m machinesJ ¼ fJ1; J2; . . .
; Jng the set of n jobsni the number of the operations in JiTO the
gross operations of these n jobsOi;j the jth operation of the ith
jobti;j;k ¼ ðt1i;j;k; t2i;j;k; t3i;j;kÞ the fuzzy processing time
of Oi;j on MkCi;j ¼ ðC1i;j;C
2i;j;C
3i;jÞ the fuzzy completing time of Oi;j
Cmax the fuzzy latest completing time of a scheduling schemePnum
the population size
SPnum the size of the superior populationInum the iteration
number of this algorithmP the operation sequence probability
matrixQ the machine assignment probability matrixpli;j the
component of P at generation lqli;j;k the component of Q at
generation la the learning rate of Pb the learning rate of QF ¼ fð
Ji1 ;Mj1 Þ; ð Ji2 ;Mj2 Þ; . . . ; ð Jil ;Mjl Þg jobs and
correspondingly
designated machines at the beginning of the schedulingscheme
Osv the operation sequence sub-vector of a solution vectorMav
the machine assignment sub-vector of a solution vector
194 B. Liu et al. / Computers & Industrial Engineering 87
(2015) 193–201
The flexible job-shop scheduling problem with fuzzy
processingtime (fFJSP) is the extension of FJSP, describing the
real world sit-uation more precisely. Owing to the fuzzy processing
time, mostof the algorithms proposed previously become no longer
suitableand some adjustments need to be made. Although some
noveland reformed algorithms have been developed, further and
deeperresearches on the fFJSP are still sought. Before the fFJSP
was pro-posed, fuzzy job-shop scheduling problem (fJSP) had
greatlyattracted researchers’ attentions. Sakawa and Mori (1999)
pre-sented a genetic algorithm for job-shop scheduling problem
withfuzzy processing time and fuzzy due date. Considering the
fJSPwith multiple objectives, Lei (2008) proposed a Pareto archive
par-ticle swarm optimization method to get a set of Pareto
optimalsolutions. On the basis of researching FJSP and fJSP, some
heuristicmethods have been applied in the fFJSP researches. Lei
presentedan efficient decomposition-integration genetic algorithm
(DIGA)(Lei, 2010a) and a co-evolutionary GA (Lei, 2012) to solve
thefFJSP with minimum maximum fuzzy completion time objective.Wang,
Wang, Xu, and Liu (2013) used an estimation of
distributionalgorithm (Larrañaga & Lozano, 2002) to establish
the probabilitymodel for fFJSP.
Aforementioned algorithms are all proposed to address
theso-called ‘‘static job-shop scheduling problem’’, which means
thatthe number of jobs and machines are constant and all the jobs
canbe processed once the scheme starts. However, in fact, some
unex-pected events always occur. For example, new orders may be
deliv-ered sporadically and machines may break down during
theproducing process, leading the previous scheduling to be
unsuit-able, thus dynamic job-shop scheduling algorithm is proposed
tomeet the new requirements. Hildebrandt, Heger, andScholz-Reiter
(2010) presented an approach using genetic pro-gramming in which
the priority rules were used for dynamicjob-shop scenario. With
genetic programming, Jakobović andBudin (2006) and Miyashita et
al. (2000) identified the bottleneckresources and promoted the
quality of the rules. To solvemulti-objective DJSP, Tay and Ho
(2008) employed suitable param-eters and operator spaces for the
evolution of the composite dis-patching rules which outperforms the
evolution of the singledispatching rule.
Dynamic flexible job-shop scheduling problem with fuzzy
time(DfFJSP), the combination of DJSP and fFJSP, is just in its
infancy.Because of flexibility, complexity and variability of
DfFJSP, andthe short research history by researchers, the existing
algorithmsstill cannot tackle the problem very well. In this paper,
the‘‘non-zero state fuzzy flexible job-shop scheduling
problem(non-zero state fFJSP)’’ is proposed as a problem after
transformingthe DfFJSP in order to make DfFJSP simpler to analyze
and solve.Then, the estimation of distribution algorithm (EDA) for
the fFJSP
proposed by Wang et al. (2013) is reformed and improved
bystandardizing the solution vectors and bringing in
thehistorical-optimal solution’s impacts. The reformed algorithm
isfound to achieve better performance in convergence speed
andcomputation precision.
The rest of this paper is organized as follows: In Section 2,
thefuzzy flexible job-shop scheduling problem is formally
described.In Section 3, the dynamic fuzzy flexible job-shop
scheduling prob-lem is described. In Section 4, the fEDA which is
developed for thenon-zero state fFJSP is proposed and some
reforming leverages areintroduced for a fast convergence speed. In
Section 5, the parame-ters setting is discussed, and the
computational results are shownand compared with the results
obtained by the original EDA.Finally, conclusions are summarized
and some future work isdiscussed in Section 6.
2. Description and analysis for fFJSP
The fFJSP is described as follows: there are n jobsJ ¼ fJ1; J2;
. . . ; Jng allocated to m machines M ¼ fM1;M2; . . . ;Mmg.Every
job Ji consists of a fixed sequence of operationsfOi;j; j ¼ 1;2; .
. . ;nig which represent the craft sequence of the rel-evant job.
Each operation Oi;j can be processed on mi;j machinesout of the
total m machines (obviously, mi;j 6 m). If all operationscan be
performed by all the m machines, i.e. 8i; jmi;j ¼ m holds,the
problem is of total flexibility. Otherwise the problem is of
par-tial flexibility. The processing time of the same operation on
differ-ent machines can be different. The processing time ti;j;k of
operationOi;j on machine Mk is a triangular fuzzy number
(TFN)ðt1i;j;k; t2i;j;k; t3i;j;kÞ, where t1i;j;k is the best
processing time, t2i;j;k is themost probable processing time and
t3i;j;k is the worst processingtime. Due to the fuzzy processing
time, the completing time ofeach operation Ci;j ¼ ðC1i;j;C
2i;j;C
3i;jÞ is fuzzy as well. C
1i;j; C
2i;j and C
3i;j
are the best, the most probable and the worst completing time
ofOi;j. The typical assumptions of this problem are given as
follows:
(a) All the jobs and machines are independent from each
other.(b) All the jobs can be started and all the machines are
available
at the initial time.(c) The setup time and transferring time are
negligible and the
buffer size is infinite.(d) An operation can only be executed on
one machine at a time.(e) Once an operation starts, it cannot be
interrupted before it is
completed.
Our goal is to solve the routing sub-problem and the
schedulingsub-problem of this problem, i.e. to allocate all the
operations to
-
B. Liu et al. / Computers & Industrial Engineering 87 (2015)
193–201 195
the available and appropriate machines and to get the most
effi-cient operation sequence scheme on each machine to minimizethe
makespan which is defined by the objective functionCmax
¼maxi¼1;2;...;nCi;ni .
A scheduling example can be described as follows: An order
isplaced to factory XYZ, according to which ten products are to
bedelivered, i.e. ten jobs represented by J1; J2; . . . ; J10.
Every job Jihas its own operational path Oi;1;Oi;2; . . . ;Oi;ni
and each operationcan be processed on several machines out of all
available onesðM1;M2; . . . ;MmÞ. The processing time for the same
operation var-ies from one machine to another. On observations of
the manufac-turing process of factory XYZ, the processing time can
berepresented as a triangular fuzzy number. For example, O2;1 canbe
processed by M2 and M4 while t2;1;2 ¼ ð3;5;7Þ and t2;1;4 ¼ð3;4;8Þ.
Assumptions (a)–(e) aforementioned are met or approxi-mately met in
the actual producing situation, and the clientdemands the shortest
delivery time. To minimize the makespan,a scheduling scheme can be
generated on the basis of the order,the operational path and the
processing time. The scenariodescribed for factory XYZ is a typical
instance of the fFJSP.
In general, Assumptions (a), (b) and (d) are usually met
orapproximately met in practice. Some instances may violate
theassumptions (c) and (e), but they can still be analyzed as
instancesof this problem just through some adjustments. For
instance, themachines do not work during off-hours so assumption
(e) is notmet. But we can still solve the problem by ignoring
off-hours andsimply adding these hours to the scheduling scheme
that wefinally get. Another case is that the setup time of some
operationsexists so that assumption (c) is not met. But we can add
the setuptime to the processing time of these operations so that it
is still aninstance of this problem. So the problem under these
assumptionsis general, common and of practical interest.
In the fuzzy context, we have to define the addition
operation,the max operation of two TFNs as well as the ranking
methods ofTFNs to make the fuzzy processing time operable. For two
TFNsX ¼ ðx1; x2; x3Þ and Y ¼ ðy1; y2; y3Þ, the details of the
operating def-initions are given as follows:
� Addition operation: X þ Y ¼ ðx1 þ y1; x2 þ y2; x3 þ y3Þ� Max
operation:
if (y1 P x3), return Y;if (x1 P y3), return X;if (y1 6 x3 and x3
6 y3 and x1 6 y1), return Y;if (x1 6 y3 and y3 6 x3 and y1 6 x1),
return X;if (x3 6 y3 and x1 P y1), return ðx1; x2; y3Þ;if (y3 6 x3
and y1 P x1), return ðy1; y2; x3Þ;� Ranking methods:
If C1ðXÞ ¼ x1þ2x2þx34 > ð ð ð ð ð ð
-
A new job is coming an hour after the beginning, then we make a
new scheduling scheme.
M1
M2
M3
has been assigned on this machine
(0,0,0)
(0,0,0)
(1,4,5)
(3,4,7)
(1,4,5)
(5,10,12)
(3,4,7)
(8,10,15)
(5,10,12)
(10,16,22)
(8,10,15)
(13,17,23)
Job 1
Job 2
Fig. 1. The example of transforming DfFJSP into non-zero state
fFJSP.
196 B. Liu et al. / Computers & Industrial Engineering 87
(2015) 193–201
between two dynamic events. As long as the in-between periods
ofdynamic events are much longer than the time spent in generatinga
static scheduling scheme, we can solve the DfFJSP just by
solvingthe non-zero state fFJSPs through some fast algorithms.
Thedescription of non-zero state fFJSP is inherited from the
fFJSP’sdescription shown in Section 2 with a modification that
‘‘All thejobs can be started and all the machines are available at
the initialtime’’ is replaced by ‘‘A set of jobs assigned to given
machines
F ¼ ðJi1 ;Mj1 Þ; ðJi2 ;Mj2 Þ; . . . ; ðJil ;Mjl Þn o
has to be observed in the
beginning’’.
Table 2The procedures to solve the non-zero state fFJSP based on
EDA.
Algorithm EDA focused on the non-zero state fFJSP
4. The fEDA for non-zero state fFJSP
4.1. Estimation of distribution algorithm
Estimation of distributing algorithm (EDA) is also named as
prob-abilistic model-building genetic algorithm which is a
stochastic opti-mization method. EDA is a kind of evolutionary
algorithms,building explicit probabilistic models to generate
optimal offspringin the solution space. The algorithm makes an
effort to estimatethe underlying probability distribution of the
population in eachiteration and updates the probability matrix
through the superiorindividuals based on the estimating result. The
general procedureof EDA is shown in Table 1.
As Table 1 shows, Ma is the probability matrix which is
definedto generate new population. In the loop body, new population
Po isgot by sampling the probability matrix Ma. Then according to
theobjective function, all the individuals are estimated and
the
Table 1The general procedure of EDA.
Algorithm EDA(general)Input Constraints, conditions and
objective function for the primal
problemOutput An optimal solution
1 Define and initialize the probability matrix Ma;2 While
(termination conditions are not met)3 Get a batch of new population
Po by the probability matrix Ma;4 Evaluate the population obtained
above and get the superior
individuals SPo according to the objective function;5 Update Ma
by the old Ma and SPo;6 EndWhile7 Select the best individual of the
last iteration as the optimal
solution of the problem
information of the superior individuals SPo is used to update
Mai.e. Ma ¼ f ðMa; SPoÞ. Steps 3–5 are conducted repeatedly until
thetermination conditions are met. A fixed number of the loop
isalways adopted as the termination condition. Finally the best
indi-vidual of the last iteration is selected to be the solution of
thisproblem. To sum up, EDA provides an evolutionary
probabilisticmodel revealing the information that we got from the
conditions.EDA is prevalent in solving well-known optimization
problemswith great difficulties for some other algorithms. Whereas,
EDAis sensitive for the population size, the elite rate of total
populationand its parameters in the updating procedure.
In consideration of the advantages of EDA, efforts are made
totry to solve the non-zero state fFJSP with this algorithm. The
gen-eral procedures are shown in Table 2. Among the input
conditions,the non-zero state set F represents jobs and
correspondingly desig-nated machines at the beginning of the
scheduling period. Thesolution vector of this problem includes Osv
(the operationsequence sub-vector) and Mav (the machine
assignmentsub-vector). The probability matrixes Ma mentioned in
Table 1here include the operation sequence probability matrix P and
themachine assignment probability matrix Q . Then the solution
vec-tors (i.e. a batch of new population aforementioned) can
beobtained by sampling the two matrixes. After evaluating on
thebatch of new population according to the value of Cmax, the
Input The number of jobs n, the number of machines m, the number
ofoperations of each job ni , the processing time of each
operationti;j;k ¼ ðt1i;j;k; t2i;j;k; t3i;j;kÞ, the non-zero state
set F and the objectivefunction Cmax
Output Optimal Osv and Mav
1 Define and initialize the operation sequence probability
matrixP and the machine assignment probability matrix Q;
2 While (the iteration times is not reached)3 Get a batch of
solution vectors i.e. Osvs and Mavs by sampling P
and Q;4 Evaluate the population obtained above according to
the
makespan of each solution vector i.e. Cmax and get the
superiorindividuals;
5 Update P and Q by the old matrixes and the
superiorindividuals;
6 EndWhile7 Select the best solution of the last iteration as
the optimal
solution of the problem
-
M1
M2
(3,4,5)
(2,3,4)
(3,4,5)
(3,4,5)
(5,10,12)
(8,10,15)
(0,0,0)
(0,0,0)
Job 1
Job 2
Fig. 3. The decoding example.
Table 3fEDA for non-zero state fFJSP based on EDA.
Algorithm fEDAInput The number of jobs n, the number of machines
m, the number of
operations of each job ni , the processing time of each
operationti;j;k ¼ ðt1i;j;k; t2i;j;k; t3i;j;kÞ, the non-zero state
set F and the objectivefunction Cmax
Output Optimal Osv and Mav
1 Define and initialize the operation sequence probability
matrixP and the machine assignment probability matrix Q . Set
thehistorical-optimal solution as null;
2 While (the iteration time is not reached)3 Generate Pnum
individuals including both Osv and Mav . For
every individual:(a) Set the first l components of the Osv just
being the jobs
in the set F ¼ fðJi1 ;Mj1 Þ; ðJi2 ;Mj2 Þ; . . . ; ðJil ;Mjl Þg
and setthe corresponding components of Mav being the rele-vant
machine number;
(b) Generate the rest components of the Osv and Mav bysampling
the probability matrixes P and Q;
4 Conduct the decoding procedure and select the best
SPnumindividuals from all the Pnum individuals in this generation
andthe historical-optimal solution according to the value of
Cmax,
B. Liu et al. / Computers & Industrial Engineering 87 (2015)
193–201 197
superior individuals can be selected. Then the matrixes P and Q
canbe updated by the superior individuals. Finally after several
gener-ation of iterations, the optimal solution of the problem is
devel-oped. The meanings of P;Q ;Osv and Mav , the
initializingprocedure, the sampling procedure, the updating
procedure arethe same as fEDA to solve non-zero state fFJSP which
will be dis-cussed in Section 4.2 detailedly. Although the non-zero
statefFJSP can be solved by EDA, some improvements shown inSection
4.2 are made for faster convergence speed and more pre-cise
computational results.
4.2. A fast EDA for non-zero state fFJSP
Wang et al. (2013) put EDA into use for static fFJSP and
gotexcellent results and convergence speed. If we plan to take
EDAinto solving the non-zero state fFJSP, some adjustments
andimprovements have to be made.
4.2.1. Encoding procedureThe encoding procedure is aimed at
denoting the routing
sub-problem and the scheduling sub-problem of this problem bya
vector according to a Gantt chart (i.e. a scheduling scheme).The
vector consists of two sub-vectors: the operation
sequencesub-vector and the machine assignment sub-vector.
For the operation sequence sub-vector Osv , the number of
itscomponents is TO. The sequence of every component in vectorOsv
is strictly based on the chronological order of all
operations’beginning time as shown in the Gantt chart, which means
thatthe operations arranged to execute earlier appear in the vector
for-mer. For the machine assignment sub-vector Mav , the number
ofits components is TO as well. Each component denotes the
machinewhich is assigned to operate the corresponding operation.
For thescheduling scheme shown in Fig. 1, the encoding result is
shownin Fig. 2. In the Osv , it is clear that the beginning time
sequenceof all the operations is O1;1 6 O2;1 < O1;2 < O2;2
< O1;3 < O2;3, forwhich we set the job number in the
corresponding position. Iftwo operations are started at the same
time, the operationassigned to the precedent machine will be
considered first. Indetail, the first number ‘‘1’’ denotes the
operation O1;1. And the sec-ond number ‘‘2’’ denotes the operation
O2;1 while the third number‘‘1’’ denotes the operation O1;2 because
‘‘1’’ has appeared once andso forth. In the Mav , we set the
machine number in the corre-sponding position of job sequence. For
example, the second ‘‘2’’in the Mav denotes that O1;3 is operated
by machine M2.
4.2.2. Decoding procedureThe decoding procedure is aimed at
translating the solution
vector into a scheduling scheme, in which the maximum
fuzzycompleting time is computable and comparable. The
detaileddecoding procedures are as follows:
1. Draw a Gantt chart for all the machines.2. Get numbers from
the Osv in turn then query their operating
machines in the Mav .3. Set the sequenced operations from step 2
as left as possible in
the Gantt chart. In the setting process, note that the
beginningtime of Oi;j must be later than the completing time of
Oi;j�1.
1 2 1 2 1 2 2 1 2 3 3 1Time sequence:
Fig. 2. The encoding result of the instance shown in Fig. 1.
For the solution vector ð1;1;2;2Þð1;2;2;1Þ, the decoding
resultsare shown in Fig. 3.
As shown in Fig. 3, although the operation O1;2 precedes
overO2;1 in the Osv , the O2;1 is still set before O1;2 in the
Gantt chartbecause of the procedure 3 aforementioned.
4.2.3. Detailed procedures for non-zero state fFJSPFurthermore,
as mentioned in the previous sections, the original
EDA is improved by means of the standardized solution vectorsand
the historical-optimal solution’s impacts. The detailed schemeof
the improved EDA applied to fEDA is described in Table 3.
pi;j (the component of the ith row and the jth column of P)
rep-resents the probability that job Jj appears before or just in
the posi-tion i of the Osv . qi;j;k (the component of Q) represents
theprobability that operation Oi;j is operated on the machine Mk.
Instep 1, because the first l positions are fixed in the
sub-vectorOsv , the first l rows of matrix P can be ignored and
from theðlþ 1Þth row, we set p0i;j ¼ 1=n for i ¼ lþ 1; lþ 2; . . .
; To and
that is to say, Pnumþ 1 individuals composes the candidates;5
Conduct the encoding procedure of the best SPnum individuals
as the standardizing of the solution vectors;6 Update the
probability matrixes P and Q by the SPnum
individuals. Then update the historical-optimal solution;7
EndWhile8 Select the best solution of the last iteration as the
optimal
solution of the problem;
-
Table 4Combinations of different values of four parameters.
Parameters Factor level
1 2 3 4
Pnum 50 100 150 200SPnum=Pnum 2/15 3/15 4/15 5/15a 0.1 0.2 0.3
0.4b 0.02 0.06 0.10 0.14
198 B. Liu et al. / Computers & Industrial Engineering 87
(2015) 193–201
j ¼ 1;2; . . . ;n. For the jobs Ji� in the set F, its first
operation OJi� ;1 isdesignated to be operated on the machine Mj�
due to set F, thus we
set qJi� ;1;M0j� ¼ 1 and q0Ji� ;1;k ¼ 0 for k–Mj� . For the
other
components q0i;j;k, we calculate the number of machines that
canprocess the operation Oi;j, noting it as mi;j and set
q0i;j;k ¼1=mi;j; if Oi;j can be processed on Mk0; otherwise
�. For the Instance 1
of Section 5, the initial matrixes are:
Table 5Orthogonal array and the response results.
No. Factor level Results
Pnum SPnum=Pnum a b
1 1 1 1 1 35.052 1 2 2 2 36.053 1 3 3 3 36.0754 1 4 4 4 37.0755
2 1 2 3 34.96 2 2 1 4 34.77 2 3 4 1 33.3258 2 4 3 2 33.3259 3 1 3 4
32.6510 3 2 4 3 32.911 3 3 1 2 32.07512 3 4 2 1 32.37513 4 1 4 2
32.32514 4 2 3 1 32.8515 4 3 2 4 33.516 4 4 1 3 32.8m1 36.0625
33.73125 33.65625 33.4m2 34.0625 34.125 34.20625 33.44375m3 32.5
33.74375 33.725 34.16875m4 32.86875 33.89375 33.90625 34.48125
In step 3, we get Pnum individuals considering the prior set
Fand the probability matrixes P and Q . Here we describe the
gener-ating criterion by the probability matrixes in detail. The
value of pi; jreflects the significance of a job in a scheduling
scheme and thevalue of qi; j;k reflects the performance of an
operation processedon a specific machine. We get the values of the
solution vectorcomponents one by one by sampling the probability
matrixes Pand Q . When we generate the Osv , once job Jj has
already appearednj times after we have got the mth component of Osv
which meansjob Jj is completed and wo not appear in the rest of Osv
, hence weset the rest column pmþ1; j; pmþ2; j; . . . ; pTo ;j as
zero and normalize therest components of P to maintain that the sum
of each row remainto be 1.
Then we implement the decoding procedure to make
differentvectors comparable. After decoding procedure, we select
the bestSPnum individuals from all the Pnum individuals as well as
thehistorical-optimal solution (This method ensures the best
solutiongenerated on the basis of succeeding iteration is superior
to thebest solution generated on the basis of previous iteration)
accord-ing to the ranking methods introduced in Section 2. As one
vectormatches with one scheduling scheme while one schedulingscheme
may match with many different vectors (for the exampleshown in Fig.
3, solutions vectors ð1;2;1;2Þð1;2;2;1Þ,ð1;1;2;2Þð1;2;2;1Þ and
ð1;2;2;1Þð1;2;2;1Þ match with the samescheduling scheme shown in
Fig. 3 while the encoding result of thisscheduling scheme is
uniquely ð1;2;2;1Þð1;2;2;1Þ), we implementthe encoding procedure to
make the solution vectors standardizedfor the updating procedure
described in step 6 which results in afast convergence for this
algorithm (the algorithm with standard-ized solution vectors and
that without standardized solution vec-tors will be compared in
Section 5). Then the updatingprocedure, the pivotal of this
algorithm, is employed after theencoding procedure. We utilize the
SPnum individuals to updatethe probability matrixes to make the
latter generation closer tothe optimal solution. The probability
matrixes P and Q are updatedby the following equations:
plþ1i;j ¼ ð1� aÞpli;j þa
ði� FÞ � SPnumXSPnumm¼1
Imi;j;
i ¼ F þ 1; F þ 2; . . . ; To; j ¼ 1;2; . . . ;n
qlþ1i;j;k ¼ ð1� bÞqli;j;k þb
SPnum
XSPnumm¼1
eImi;j;k; 8i; j; kwhere F indicates the number of components in
the set F and Imi;j , eImi;j;kare defined by means of the following
equations of the mth individ-ual among the SPnum superior
individuals:
Imi;j ¼ times that job Jj apears before or in positioniand after
position F in the Osv
eImi;j;k ¼1; if operation Oi;j processed on machine Mk
according to the Mav0; otherwise
8><>:
As shown in the equations, Plþ1 and Qlþ1 consists of two
partsrespectively, of which the first term is the information
brought
by Pl and Ql and the second term is the learning information
fromthe superior individuals.
4.2.4. Computational complexity analysisWe can roughly compute
the complexity of the algorithm
described above.
-
Fig. 4. Factor level trend.
Table 6Analysis of variance.
Source ofvariance
Quadraticsum
DOF Meansquare
F p Value
Pnum 20.33407 3 6.778025 27.64924 0.010954SPnum=Pnum 1.577688 3
0.525896 2.145261 0.273422a 8.049597 3 2.683199 10.94543 0.040071b
5.521296 3 1.840432 7.507578 0.065948Error 0.73543 3 0.245143Sum
36.21809 15
B. Liu et al. / Computers & Industrial Engineering 87 (2015)
193–201 199
For the vector generating procedure, every solution vector
isdeveloped by the prior set F and the probability matrixes Pand Q
. The complexity to generate the Osv and the Mav isOðF þ To � nÞ
and OðF þ To �mÞ, respectively. Hence we have thecomplexityOð2PnumF
þ PnumTo � ðnþmÞÞ ¼ OðPnumTo � ðnþmÞÞ to gener-ate all the Pnum
individuals. For the fFJSP, F ¼ ; and the complexityto generate all
the Pnum individuals is OðPnumTo � ðnþmÞÞ. So theprior set, i.e.
the non-zero state condition dose not bring additionalcomplexity
for this algorithm.
For the decoding procedure, we get the Cmax of every
solutionvector by translating a vector into a scheduling scheme.
The com-plexity to get the scheduling schemes of all the Pnum
individuals isOðPnumToÞ and The complexity to get the SPnum
superior individ-uals is OðPnumSPnumÞ.
For the encoding procedure, the complexity to standardize allthe
superior individuals is OðSPnumToÞ.
For the updating procedure, the computational complexity
toupdate the matrixes P and Q is Oð2ToSPnumþ ToðnþmÞÞ.
5. Computational results and comparison with other
algorithms
We have introduced fEDA for the non-zero state fFJSP andanalyzed
the computational complexity of this algorithm. In thissection, the
Taguchi method of design of experiments(Montgomery, 2008) is
introduced to investigate the charactersof the parameters. Then
with suitable parameters, the evolutionprocess and the simulation
results are compared among differentalgorithms.
5.1. Parameters setting
In the process of implementing the fEDA, there are four
keyparameters: Pnum (population size), SPnum=Pnum (percentage ofthe
superior individuals), a (learning rate of matrix P), b
(learningrate of matrix Q). The Taguchi method of design of
experiments(Montgomery, 2008) is implemented to investigate the
influenceof these parameters by using Instance 1 (Lei, 2010a) with
the priorset F ¼ fðJ1;M1Þ; ðJ5;M5Þg. Combinations of different
values of thefour parameters are shown in Table 4.
For each combination, the fEDA for Instance 1 is run 30
timesindependently. Cmax, which represents the fuzzy latest
completingtime of a scheduling scheme is obtained as Cmax ¼ ðx1;
x2; x3Þ in theexperiments and x1þ2x2þx34 is recorded. The average
of the responsevariable values obtained in these 30 times is
regarded as the resultof one experiment. Considering the four
factor levels ofthe four parameters, an orthogonal array L16ð44Þ is
gotten andshown in Table 5. In this table, row
‘‘mi’’-column‘‘PnumðSPnum=Pnum;a; bÞ’’ represents the average of
the fourresults when PnumðSPnum=Pnum;a; bÞ is set as the ith-level
value.
According to the miði ¼ 1;2;3;4 . . .Þ obtained in the
orthogonalarray, the trend of each factor level is shown in Fig. 4.
Accordingto this figure, Pnum ¼ 150, SPnum ¼ 20, a ¼ 0:2; b ¼ 0:02
are sug-gested and used for the following tests. The result of the
varianceanalysis is shown in Table 6. From this table, we can
figure out thatthe population size is most significant among the
four parameters.In other words, the solution is the most sensitive
to this parameter.A large population size can ensure the sample
number of solutionspace to be sufficient. However, with a fixed
percentage of thesuperior individuals, the larger the population
size is, the morethe superior individuals are included to update
the matrixes Pand Q . Some individuals which are not superior
enough deceleratethe convergence instead. The learning rate of
matrix P is the secondmost significant parameter. A small a leads
to slow convergence ofthe Osv ’s evolution while a large a may lead
to premature conver-gence, i.e. locally optimal solution. The
learning rate of matrix Qwhich has the same effect on Mav ’s
evolution as a ranks the third.The percentage of the superior
individuals, i.e. SPnum=Pnum is theleast significant parameter.
-
Fig. 5. Evolution results of the 5 instances.
Table 7The comparative results of EDA and fEDA.
Instance Algorithm Average value Best value Worst value
Case 1 EDA (23.5,34.1,47.6) (21,32,43) (23,36,50)fEDA
(21.8,32.5,43.8) (20,32,41) (23,34,43)
Case 2 EDA (36.9,49.8,64.4) (36,49,61) (40,53,74)fEDA
(35.7,48.4,59.8) (35,46,57) (36,50,61)
Case 3 EDA (38.5,52.3,69.2) (37,50,67) (39,54,72)fEDA
(36.8,50,66.2) (34,46,63) (41,51,70)
Case 4 EDA (27.6,40.8,59.6) (27,40,55) (29,41,60)fEDA
(26.8,40,55.4) (25,39,54) (28,40,59)
Case 5 EDA (48.6,64.8,94.2) (48,65,88) (48,66,98)fEDA
(46.2,64.4,90.6) (46,61,91) (48,66,93)
200 B. Liu et al. / Computers & Industrial Engineering 87
(2015) 193–201
5.2. Test results and comparison
To test the performance of the fEDA on non-zero state fFJSP,
wecarried out numerical simulations based on the five instances
fromLei (2010a), Lei (2012). The instances are all of total
flexibility. TFN
is used to describe the processing time of each operation. With
thenon-zero state condition that some jobs are fixed on
specificmachines in the beginning, they are all instances of the
non-zerostate fFJSP. The algorithm for these five instances was
coded inthe C# language and run on Thinkpad S3 with a 2.49
GHzprocessor/8 GB RAM. We compared original EDA, EDA with
stan-dardized solution vectors, EDA with standardized solution
vectorsand impacts from historical-optimal solution i.e. fEDA based
on thefive instances with F1st ¼ fðJ1;M1Þ; ðJ5;M5Þg to be the prior
set forInstance 1, F2nd ¼ fðJ2;M3Þ; ðJ4;M5Þ; ðJ5;M7Þg to be the
prior set forInstance 2, F3rd ¼ fðJ1;M4Þ; ðJ4;M2Þ; ðJ5;M7Þ;
ðJ8;M10Þg to be theprior set for Instance 3, F4th ¼ fðJ1;M1Þ;
ðJ2;M3Þ; ðJ9;M10Þg to bethe prior set for Instance 4, F5th ¼
fðJ1;M1Þ; ðJ2;M3Þ;ðJ5;M6Þ; ðJ8;M9Þg to be the prior set for
Instance 5.
The comparison results of convergence speeds are shown inFig. 5
where the horizontal axis is the generation number andthe vertical
axis is the best objective function value of each gener-ation (we
set it as x1þ2x2þx34 of the minimal Cmax ¼ ðx1; x2; x3Þ of
eachgeneration). As we can observe from the figures, EDA with
stan-dardized vectors keeps a higher convergence speed than EDA
-
B. Liu et al. / Computers & Industrial Engineering 87 (2015)
193–201 201
without those. Meanwhile, bringing in the impacts of
thehistorical-optimal solution ensures the latter generations to
obtainbetter optimal solutions than the former generations, so that
theburs disappear after this manipulation, as presented in the
figure.Thus, the final solution is absolutely the best solution of
all gener-ations which cannot be achieved without bringing in
thehistorical-optimal solution’s impacts. As PSO algorithm,
impactsof the historical global optimal solution and superior
solutions ofcurrent generation are both in consideration according
to fEDAduring the evolving process.
In order to demonstrate that these manipulations do not
changethe availability of EDA for this problem, the results based
on thefEDA are compared with the results based on the original EDA
after20 times of running and 10,000 evaluations respectively on the
fiveinstances. The results are listed in Table 7.
As shown in the Table 7, for the five instances, better
optimalsolutions can be obtained by the fEDA than those obtained
bythe EDA. No matter considering the average value, the best
valueor the worst value, fEDA outperforms EDA in shortening
themakespan.
6. Conclusions
Dynamic conditions have to be dealt with in the real-world
sit-uations. As long as the minimal interval between two
consecutivedynamic events is long enough, DfFJSP can be transformed
for sim-plification. In this paper, through the rules in Section 3,
DfFJSP istransformed into a series of non-zero state fFJSPs. Thus
the diffi-culty and flexibility of DfFJSP can be eschewed. After
this transfor-mation, the original EDA for the zero state fFJSP is
applied to thenon-zero state fFJSP by bringing in the prior set F
as thenon-zero condition. Through the encoding procedure, the
superiorsolutions are standardized for the updating procedure. With
theimpacts from the historical-optimal solution, the burs
disappearin the evolution process. These two manipulations make
this algo-rithm more efficient, so we name it as fEDA (fast EDA).
Numericaltests have demonstrated that the fEDA outperforms the
originalEDA on the convergence speed and the precision of the
results.
This paper focuses only on single-objective DfFJSP.
However,there are many multi-objective situations in reality.
Therefore,the multi-objective DfFJSP will be investigated in the
future.
Acknowledgments
This work is partially supported by the National Natural
ScienceFoundation of China (No. 61174169) and the National Key
Technology Support Program (2012BAF15G01) and theSpecialized
Research Fund for the Doctor Program of HigherEducation (No.
20120002110034).
References
Brandimarte, P. (1993). Routing and scheduling in a flexible job
shop by tabu search.Annals of Operations Research, 41, 157–183.
Brucker, P., & Schlie, R. (1990). Job-shop scheduling with
multi-purpose machines.Computing, 45, 369–375.
Garey, M. R., Johnson, D. S., & Sethi, R. (1976). The
complexity of flowshop andjobshop scheduling. Mathematics of
Operations Research, 1, 117–129.
Hildebrandt, T., Heger, J., & Scholz-Reiter, B. (2010).
Towards improved dispatchingrules for complex shop floor scenarios:
a genetic programming approach. InPaper presented at the
proceedings of the 12th annual conference on genetic
andevolutionary computation, 2010.
Hurink, J., Jurisch, B., & Thole, M. (1994). Tabu search for
the job-shop schedulingproblem with multi-purpose machines.
Operations-Research-Spektrum, 15,205–215.
Jakobović, D., & Budin, L. (2006). Dynamic scheduling with
genetic programming. InGenetic programming (pp. 73–84).
Springer.
Kacem, I., Hammadi, S., & Borne, P. (2002a). Approach by
localization andmultiobjective evolutionary optimization for
flexible job-shop schedulingproblems. IEEE Transactions on Systems,
Man, and Cybernetics, Part C:Applications and Reviews, 32,
1–13.
Kacem, I., Hammadi, S., & Borne, P. (2002b).
Pareto-optimality approach for flexiblejob-shop scheduling
problems: Hybridization of evolutionary algorithms andfuzzy logic.
Mathematics and Computers in Simulation, 60, 245–276.
Larrañaga, P., & Lozano, J. A. (2002). Estimation of
distribution algorithms: A new toolfor evolutionary computation.
Springer.
Lei, D. (2008). A Pareto archive particle swarm optimization for
multi-objective jobshop scheduling. Computers & Industrial
Engineering, 54, 960–971.
Lei, D. (2010a). A genetic algorithm for flexible job shop
scheduling with fuzzyprocessing time. International Journal of
Production Research, 48, 2995–3013.
Lei, D. (2010b). Fuzzy job shop scheduling problem with
availability constraints.Computers & Industrial Engineering,
58, 610–617.
Lei, D. (2012). Co-evolutionary genetic algorithm for fuzzy
flexible job shopscheduling. Applied Soft Computing, 12,
2237–2245.
Miyashita, K., Whitley, D., Goldberg, D., Cantu-Paz, E.,
Spector, L., Parmee, I., et al.(2000). Job-shop scheduling with gp.
In Paper presented at the proceedings of thegenetic and
evolutionary computation conference (GECCO-2000), 2000.
Montgomery, D. C. (2008). Design and analysis of experiments.
John Wiley & Sons.Pezzella, F., Morganti, G., & Ciaschetti,
G. (2008). A genetic algorithm for the flexible
job-shop scheduling problem. Computers & Operations
Research, 35, 3202–3212.Sakawa, M., & Mori, T. (1999). An
efficient genetic algorithm for job-shop
scheduling problems with fuzzy processing time and fuzzy
duedate.Computers & Industrial Engineering, 36, 325–341.
Tay, J. C., & Ho, N. B. (2008). Evolving dispatching rules
using genetic programmingfor solving multi-objective flexible
job-shop problems. Computers & IndustrialEngineering, 54,
453–473.
Wang, S., Wang, L., Xu, Y., & Liu, M. (2013). An effective
estimation of distributionalgorithm for the flexible job-shop
scheduling problem with fuzzy processingtime. International Journal
of Production Research, 1–16.
Xia, W., & Wu, Z. (2005). An effective hybrid optimization
approach for multi-objective flexible job-shop scheduling problems.
Computers & IndustrialEngineering, 48, 409–425.
http://refhub.elsevier.com/S0360-8352(15)00207-7/h0005http://refhub.elsevier.com/S0360-8352(15)00207-7/h0005http://refhub.elsevier.com/S0360-8352(15)00207-7/h0010http://refhub.elsevier.com/S0360-8352(15)00207-7/h0010http://refhub.elsevier.com/S0360-8352(15)00207-7/h0015http://refhub.elsevier.com/S0360-8352(15)00207-7/h0015http://refhub.elsevier.com/S0360-8352(15)00207-7/h0025http://refhub.elsevier.com/S0360-8352(15)00207-7/h0025http://refhub.elsevier.com/S0360-8352(15)00207-7/h0025http://refhub.elsevier.com/S0360-8352(15)00207-7/h0030http://refhub.elsevier.com/S0360-8352(15)00207-7/h0030http://refhub.elsevier.com/S0360-8352(15)00207-7/h0035http://refhub.elsevier.com/S0360-8352(15)00207-7/h0035http://refhub.elsevier.com/S0360-8352(15)00207-7/h0035http://refhub.elsevier.com/S0360-8352(15)00207-7/h0035http://refhub.elsevier.com/S0360-8352(15)00207-7/h0040http://refhub.elsevier.com/S0360-8352(15)00207-7/h0040http://refhub.elsevier.com/S0360-8352(15)00207-7/h0040http://refhub.elsevier.com/S0360-8352(15)00207-7/h0045http://refhub.elsevier.com/S0360-8352(15)00207-7/h0045http://refhub.elsevier.com/S0360-8352(15)00207-7/h0050http://refhub.elsevier.com/S0360-8352(15)00207-7/h0050http://refhub.elsevier.com/S0360-8352(15)00207-7/h0055http://refhub.elsevier.com/S0360-8352(15)00207-7/h0055http://refhub.elsevier.com/S0360-8352(15)00207-7/h0060http://refhub.elsevier.com/S0360-8352(15)00207-7/h0060http://refhub.elsevier.com/S0360-8352(15)00207-7/h0065http://refhub.elsevier.com/S0360-8352(15)00207-7/h0065http://refhub.elsevier.com/S0360-8352(15)00207-7/h0075http://refhub.elsevier.com/S0360-8352(15)00207-7/h0080http://refhub.elsevier.com/S0360-8352(15)00207-7/h0080http://refhub.elsevier.com/S0360-8352(15)00207-7/h0085http://refhub.elsevier.com/S0360-8352(15)00207-7/h0085http://refhub.elsevier.com/S0360-8352(15)00207-7/h0085http://refhub.elsevier.com/S0360-8352(15)00207-7/h0090http://refhub.elsevier.com/S0360-8352(15)00207-7/h0090http://refhub.elsevier.com/S0360-8352(15)00207-7/h0090http://refhub.elsevier.com/S0360-8352(15)00207-7/h0095http://refhub.elsevier.com/S0360-8352(15)00207-7/h0095http://refhub.elsevier.com/S0360-8352(15)00207-7/h0095http://refhub.elsevier.com/S0360-8352(15)00207-7/h0100http://refhub.elsevier.com/S0360-8352(15)00207-7/h0100http://refhub.elsevier.com/S0360-8352(15)00207-7/h0100
A fast estimation of distribution algorithm for dynamic fuzzy
flexible job-shop scheduling problem1 Introduction2 Description and
analysis for fFJSP3 Description for DfFJSP and the transforming
procedures4 The fEDA for non-zero state fFJSP4.1 Estimation of
distribution algorithm4.2 A fast EDA for non-zero state fFJSP4.2.1
Encoding procedure4.2.2 Decoding procedure4.2.3 Detailed procedures
for non-zero state fFJSP4.2.4 Computational complexity analysis
5 Computational results and comparison with other algorithms5.1
Parameters setting5.2 Test results and comparison
6 ConclusionsAcknowledgmentsReferences