Top Banner
A fast estimation of distribution algorithm for dynamic fuzzy flexible job-shop scheduling problem q Bojun Liu, Yushun Fan , Yi Liu Department of Automation, Tsinghua University, Beijing 100084, China article info Article history: Received 1 March 2014 Received in revised form 21 March 2015 Accepted 27 April 2015 Available online 19 May 2015 Keywords: Dynamic scheduling Flexible job-shop scheduling Fuzzy processing time Fast estimation of distribution algorithm Non-zero state abstract Due to the complicated circumstances in workshop, most of the conventional scheduling algorithms fail to 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 requirements in real situations. Considering that both flexibility and fuzzy processing time are common in reality, this paper 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 static fuzzy 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-transforming problem. An improved EDA is developed through making use of several elements omitted in original EDA, 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 convergence speed 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 flexible fuzzy 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 performed by only one machine. This problem has been proved to be an NP-hard problem (Garey, Johnson, & Sethi, 1976). Differently from the JSP, the flexible job-shop scheduling problem (FJSP) model allows 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 two sub-problems respectively: to allocate operations to the machines (routing sub-problem) and to sequence the operations on each machine (scheduling sub-problem). Once the solutions of both the two sub-problems are acquired and combined, the original FJSP is solved. Owing to the complexity of the problem, some heuristic algo- rithms are proposed. All the heuristic algorithms applied in FJSP can be classified into two types: one is the hierarchical approach which focuses on the routing sub-problem and the scheduling sub-problem separately, and the other is considered to be an integrated approach which investigates the two sub-problems simultaneously. 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), simulated annealing (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 there are only two jobs. Brandimarte (1993) decomposed the FJSP for the first time and solved the routing sub-problem and scheduling sub-problem with dispatching rules and a tabu search (TS) algo- rithm respectively. Hurink, Jurisch, and Thole (1994) developed TS algorithm to solve the FJSP by using the integrated approach. With the approach by localization, Kacem et al. solved the routing sub-problem (Kacem, Hammadi, & Borne, 2002a) and solved the FJSP by an evolutionary approach (Kacem, Hammadi, & Borne, 2002b). Pezzella, Morganti, and Ciaschetti (2008) presented a genetic algorithm which integrated different strategies for generat- ing the initial population, selecting the superior individuals for reproduction and reproducing the next generation. Xia and Wu (2005) combined particle swarm optimization (PSO) and simulated annealing (SA) to handle the two sub-problems of FJSP respec- tively, based on the hierarchical approach. http://dx.doi.org/10.1016/j.cie.2015.04.029 0360-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). Computers & Industrial Engineering 87 (2015) 193–201 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie
9

A fast estimation of distribution algorithm for dynamic ...able, thus dynamic job-shop scheduling algorithm is proposed to meet the new requirements. Hildebrandt, Heger, and Scholz-Reiter

Feb 03, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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