Next Article in Journal
Thermal Degradation Process of Ethinylestradiol—Kinetic Study
Next Article in Special Issue
Policy Evaluation and Policy Style Analysis of Ride-Hailing in China from the Perspective of Policy Instruments: The Introduction of a TOE Three-Dimensional Framework
Previous Article in Journal
CFD Modelling of Calcination in a Rotary Lime Kiln
Previous Article in Special Issue
Applications of Multi-Objective Optimization to Industrial Processes: A Literature Review
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Hybrid Memetic Algorithm to Solve Multiobjective Distributed Fuzzy Flexible Job Shop Scheduling Problem with Transfer

School of Artificial Intelligence and Computer Science, Jiangnan University, Wuxi 214122, China
*
Author to whom correspondence should be addressed.
Processes 2022, 10(8), 1517; https://doi.org/10.3390/pr10081517
Submission received: 13 July 2022 / Revised: 27 July 2022 / Accepted: 29 July 2022 / Published: 1 August 2022
(This article belongs to the Special Issue Multi-Objective Optimization of Industrial Processes)

Abstract

:
Most studies on distributed flexible job shop scheduling problem (DFJSP) assume that both processing time and transmission time are crisp values. However, due to the complexity of the factory processing environment, the processing information is uncertain. Therefore, we consider the uncertainty of processing environment, and for the first time propose a multiobjective distributed fuzzy flexible job shop scheduling problem with transfer (MO-DFFJSPT). To solve the MO-DFFJSPT, a hybrid decomposition variable neighborhood memetic algorithm (HDVMA) is proposed with the objectives of minimizing the makespan, maximum factory load, and total workload. In the proposed HDVMA, the well-designed encoding/decoding method and four initialization rules are used to generate the initial population, and several effective evolutionary operators are designed to update populations. Additionally, a weight vector is introduced to design high quality individual selection rules and acceptance criteria. Then, three excellent local search operators are designed for variable neighborhood search (VNS) to enhance its exploitation capability. Finally, a Taguchi experiment is designed to adjust the important parameters. Fifteen benchmarks are constructed, and the HDVMA is compared with four other famous algorithms on three metrics. The experimental results show that HDVMA is superior to the other four algorithms in terms of convergence and uniformity of non-dominated solution set distribution.

1. Introduction

In recent years, flexible job shop scheduling problem (FJSP) has been widely studied [1,2,3]. The classic FJSP is to assign different workpiece processes to different machines for processing and to generate scheduling schemes based on process constraints after sorting the processes. All processes are completed in the same factory. However, to meet the needs of manufacturing globalization and industry 4.0, distributed manufacturing has attracted increasing attention. In distributed manufacturing, workpieces are assigned to different factories for processing. This manufacturing method can make better use of the production advantages of different factories, reduce production costs, and save production time. Compared with the single-factory scheduling problem, the distributed workshop scheduling problem is more complex, its environment is more changeable, and it is a more difficult problem to solve. However, as it fits the trend of industrial development, and is of great significance for collaborative production.
In the production process, the complex environment leads to great information uncertainty, such as uncertainty in workpiece processing times caused by the variable proficiency of workers and uncertainty in the workpiece transmission time caused by the wear degree of transportation tools. Therefore, we fuzzify the transmission time and processing time, replace the crisp time with triangular fuzzy numbers (TFNs), and for the first time propose a multiobjective distributed fuzzy flexible job shop scheduling model, referred to as the MO-DFFJSPT, with the objectives of minimizing the makespan, maximum factory load, and total workload. As this model is more in line with actual production, it is conducive to the sustainable development of factories while ensuring production benefits.
To solve the MO-DFFJSPT, we propose the HDVMA based on the framework of the non-dominated sorting genetic algorithm II (NSGA-II) [4]; furthermore, we design encoding and decoding methods and crossover and mutation operators for fuzzy numbers. The HDVMA combines an initialization strategy and a decomposition variable neighborhood search (DVNS) operator to achieve a balance between exploration and exploitation. Then, we adjust the important parameters in the algorithm through a Taguchi experiment. Finally, our results when running the algorithm on fifteen benchmarks prove its excellent performance.
The rest of the paper is organized as follows: Section 2 reviews the relevant research; Section 3 introduces the basic knowledge of fuzzy numbers and fuzzy operations; Section 4 describes the proposed MO-DFFJSPT model; Section 5 sketches the proposed algorithm; and Section 6 describes the results of running the algorithm on the benchmarks. Finally, Section 7 provides a summary and proposes future research directions.

2. Literature Review

This section consists of two subsections. Section 2.1 reviews the distributed flexible job shop scheduling problem, and Section 2.2 reviews the fuzzy flexible job shop scheduling problem.

2.1. Distributed Flexible Job Shop Scheduling Problem

DFJSP is becoming increasingly suitable for intelligent factory production. Naderi et al. [5] proposed a mixed integer model with low computational complexity; a new simulated annealing algorithm was used to solve the distributed problem, and good results were obtained. Chang et al. [6] proposed a genetic algorithm with multiple crossover and mutation operators to solve DFJSP. Wu et al. [7] proposed a DFJSP with assembly, and an improved differential evolution simulated annealing algorithm was proposed to solve the problem with the objectives of balancing earliness and tardiness and achieving a lower total cost. The results showed this method to have good performance and robustness. Tang et al. [8] proposed a hybrid teaching and learning algorithm with Tabu Search to solve DFJSP, and a production example proved its effectiveness. Ziaee et al. [9] developed a fast heuristic algorithm to solve DFJSP very quickly.
Although there are an increasing number of studies on DFJSP, most studies on DFJSP assume that a job can only be processed in one factory. However, in the real world, many workpieces must be processed in different factories. Luo et al. [10] proposed an efficient memetic algorithm to solve the DFJSP with transfer (DFJSPT). Sang et al. [11] proposed a high-dimensional multiobjective memetic algorithm to solve the DFJSPT. This method combines the improved NSGA-III and local search method and adds a dual-mode environment selection method, achieving a balance between diversity and convergence.

2.2. Fuzzy Flexible Job Shop Scheduling Problem

In recent years, there have been an increasing number of studies on fuzzy flexible job shop scheduling problem (FFJSP) [12]. Zheng et al. [13] proposed a multiobjective swarm-based neighborhood search method to solve FFJSP, with the objective of reducing the makespan and total workload. Lin et al. [14] integrated the path relinking technique into multiverse optimization and obtained a satisfactory makespan. Sun et al. [12] proposed an effective algorithm that combines particle swarm optimization with a genetic algorithm for improved convergence ability. Li et al. [15] proposed a hybrid self-adaptive multiobjective evolutionary algorithm based on decomposition with the objectives of fuzzy makespan and fuzzy total workload, using an effective solution selection method based on the Tchebycheff decomposition strategy to improve the convergence and diversity of the population. Gao et al. [16] proposed a discrete harmony search algorithm and proved its effectiveness. Lin et al. [17] proposed a biogeography-based optimization method combined with certain heuristics that balance exploration and exploitation. Gao et al. [18] proposed an improved artificial bee colony algorithm to solve the multiobjective FFJSP, and an effective heuristic rule was developed to initialize the population. The experimental results yielded a good Pareto solution.
From Section 2.1 and Section 2.2, we can see that the DFJSP and FFJSP have become popular topics in the scheduling field. However, time uncertainty is not taken into account in the study of the DFJSP. In the FFJSP, the realistic scenario of collaboration among multiple factories is not considered. Therefore, we consider the constraints of both models at the same time and propose a new model (MO-DFFJSPT) to better solve scheduling problems in the real world. Additionally, due to the complexity of the MO-DFFJSPT, there is no optimization method as yet to solve the MO-DFFJSPT. The methods mentioned in the above literature cannot be directly applied to solve the MO-DFFJSPT, and most of the existing multiobjective evolutionary algorithms cannot achieve a good balance between exploration and exploitation. Thus, we propose a new algorithm, HDVMA, to generate diverse and improved Pareto-optimal solutions of the MO-DFFJSPT.

3. Fuzzy Set

3.1. Fuzzy Number

In real-life production, there is often no crisp time at which a machine processes workpieces, considering that production activities may be performed by more or less highly skilled workers and that the work environment changes frequently. The crudest representation of uncertain time frames is as a confidence interval; if certain values seem more plausible than others, then those values are expanded into fuzzy numbers.
TFNs are widely used in scheduling activities [19]. As shown in Figure 1, each triangular fuzzy number consists of three values, ( a 1 , a 2 , a 3 ) , with a 1 being the earliest processing time, a 2 the most likely processing time, and a 3 the latest processing time. The membership function formula for x is as follows:
μ ( x ) = 0 , x a 1 x a 1 a 2 a 1 , a 1 < x a 2 a 3 x a 3 a 2 , a 2 < x < a 3 0 , x a 3

3.2. Fuzzy Operation

When generating a feasible job shop schedule, several different mathematical operations are needed. Therefore, the operations of fuzzy numbers need to be redefined. Sakawa et al. [20] first defined these operations in the 1990s.
Addition Operation: Given two fuzzy numbers, X = ( x 1 , x 2 , x 3 ) and Y = ( y 1 , y 2 , y 3 ) , for any pair of TFNs X and Y it follows that
X + Y = ( x 1 + y 1 , x 2 + y 2 , x 3 + y 3 )
Ranking Operation: To ensure that scheduling conforms to constraints, three comparison criteria are defined to sort two TFNs.
Criterion 1: F 1 ( X ) = ( x 1 + 2 x 2 + x 3 ) / 4
Criterion 2: F 2 ( X ) = x 2
Criterion 3: F 3 ( X ) = x 3 x 1
For any two TFNs, we calculate the Criterion 1 value F 1 ( X ) first, and the larger TFN has a larger criterion value. If the two TFNs values F 1 ( X ) are equal, we use Criterion 2. If the two TFNs values F 2 ( X ) are equal, we use Criterion 3.
Max Operation: We assume that with two TFNs X = ( x 1 , x 2 , x 3 ) and Y = ( y 1 , y 2 , y 3 ) , Sakawa’s criterion to obtain the maximum value is as follows:
M a x ( X , Y ) = ( max ( x 1 , y 1 ) , max ( x 2 , y 2 ) , max ( x 3 , y 3 ) )
However, Lei [21] proposed a new max criterion in 2010 which has been proven to have better results. In this paper, Lei’s criterion is adopted to determine the workpiece fuzzy processing start time, which is as follows:
I f X > Y , M a x ( X , Y ) = X ; o t h e r w i s e , M a x ( X , Y ) = Y

4. Problem Description and Mathematical Modeling

4.1. MO-DFFJSPT Description

The MO-DFFJSPT consists of n jobs, f factories, and m machines belonging to different factories. The factories are located in several regions. There are N J i ( i 1 , 2 , , n ) operations for each job, and each operation needs to be processed on a candidate machine of a factory. All the processing times for operations O i , j on a machine and the times for transporting operations between machines are TFNs, and all the TFNs are ascertained in advance. The assumptions of MO-DFFJSPT are as follows:
  • All the processing times and transfer times are TFNs;
  • All the machines and jobs are available at time zero;
  • The processing time and transfer time of each operation are known in advance;
  • All jobs can be transported within a factory or between different factories;
  • The time for transferring any job between machines in a factory is the same;
  • The time for transferring any job between machines in different factories is the same;
  • The processing time includes the transfer time of the job.

4.2. MILP Model for the MO-DFFJSPT

In this section, a mixed-integer linear program (MILP) is constructed; the parameters and indices used in the model are as follows:
n: The total number of jobs
m: The total number of machines
f: The total number of factories
N J i : The total number of operations for job i
M k : The k-th machine
F l : The l-th factory
O i , j : The j-th operation of the i-th job
P i , j k : The processing time for the j-th operation of the i-th job on machine k
T M : The transfer time between machines
T F : The transfer time between factories
W l : The workload of factory l
C i : The completion time of job i
C i , j ( u , v ) : The completion time of O i , j ( O u , v )
L: A large positive number
Variables:
X i , j k : If O i , j is processed on machine M k , this value is set to 1; otherwise, it is set to 0
V i , j l : If O i , j is processed in factory F l , this value is set to 1; otherwise, it is set to 0
Y i , j , u , v , k l : If O i , j is processed directly after O u , v on M k in F l , this value is set to 1; otherwise, it is set to 0
Z i , j M : If there is a transfer between machines in a factory for O i , j , this value is set to 1; otherwise, it is set to 0
Z i , j F : If there is a transfer between factories for O i , j , this value is set to 1; otherwise, it is set to 0
Objectives:
(1) O F 1 : Makespan
O F 1 = max C i i = 1 , 2 , , n
(2) O F 2 : Max factory load
O F 2 = max W l l = 1 , 2 , , f
where W l can be calculated by Equation (7):
W l = i = 1 n j = 1 N J i k = 1 m V i , j l X i , j k P i , j k , l = 1 , 2 , , f
(3) O F 3 : Total workload
O F 3 = i = 1 n j = 1 N J i l = 1 f k = 1 m V i , j l X i , j k P i , j k
Subject to:
l = 1 f k = 1 m V i , j l X i , j k = 1
where i = 1 , 2 , , n , j = 1 , 2 , , N j i .
C i , j C i , j 1 V i , j l X i , j k P i , j k , i , j , l , k
C i , j C u , v Y i , j , u , v , k l P i , j k + L ( Y i , j , u , v , k l 1 )
for all i , j , u , v , k , l .
Z i , j M + Z i , j F 0 , 1 , i , j
Equations (5), (6), and (8) are the three objective functions which include the makespan, max factory load, and total workload objectives; O F 1 determines the productivity of a factory, O F 2 determines the load balance between factories, and O F 3 determines the wear and tear on machines. Equation (9) guarantees that each job can only be processed by one machine at a time. Equation (10) guarantees the processing sequence constraints between previous and subsequent operations for the same job. Equation (11) guarantees that one machine can only process one job at a time. Equation (12) guarantees that an operation can only be transferred once between factories or machines.

5. The Proposed HDVMA

A memetic algorithm is a hybrid algorithm that combines a global search algorithm with a local search algorithm to improve the convergence performance. In our proposed HDVMA, we used the NSGA-II as the global optimization method and adopted VNS as the local optimization method. However, due to the high convergence of VNS, the population will converge to a few points too quickly. To maintain the diversity of the population, we introduce a set of weight vectors. The HDVMA can efficiently solve the MO-DFFJSPT.

5.1. Framework of the HDVMA

In this section, we introduce the framework of the whole algorithm in detail, including the initialization method, crossover strategy, mutation strategy, weight allocation strategy, and DVNS strategy. The framework of the HDVMA is described in Algorithm 1.
Algorithm 1 The framework of the HDVMA
Input: Setting the key parameters.
Output: Pareto solution set P O P .
 1: Encode and initialize the population P O P according to the four rules.
 2: Decode P O P and calculate the three objective fitness values and
 crowding distances of  P O P .
 3: while the stopping criterion is not met do
 4:  Perform non-dominated sorting on P O P and execute 2 tournament
  selections on P O P to form the mating pool.
 5:  Population evolution (Section 5.4 and Section 5.5).
 6:  Execute DVNS to generate N E W _ P O P .
 7:  Merge N E W _ P O P and P O P to generate A L L _ P O P .
 8:  Eliminate repeated individuals in A L L _ P O P .
 9:  Calculate the crowding distance of A L L _ P O P , perform
  non-dominated sorting for A L L _ P O P , and select the best N p
  individuals to generate the next generation P O P .
 10: end while

5.2. Encoding and Decoding Method

The first step of the metaheuristic algorithm is to encode and decode the required problem. The encoding can transform the solution space to the search space, and the decoding can transform the search space into a scheduling scheme. In DFJSP, many researchers choose a three-layer encoding method [10,22] including factory encoding, machine encoding, and operation sequence encoding. However, the three-layer encoding method increases the complexity of the evolution operators. Therefore, we propose a new encoding method. Two vectors are used to represent the solution, and all the operation sequences, factory numbers, and machine numbers can be obtained from the two vectors.
The two vectors are the equipment allocation vector and operation sequence vector. The equipment allocation vector represents the allocation of machines and factories, and the operation sequence vector represents the operation process order. The feasibility of the machine allocation in flexible scheduling can be guaranteed by the index value of the available machine set for an operation. The operation sequence vector is constructed from the job number, and the procedures of a job are represented by the number of occurrences of the job. This encoding approach can ensure the feasibility of the solution, and there will be no infeasible solution.
A simple example of MO-DFFJSPT is constructed to illustrate the encoding method. The example consists of two factories ( F 1 , F 2 ); three machines ( M 1 , M 2 , M 3 ) are assigned to F 1 and two machines ( M 4 , M 5 ) are assigned to F 2 . The ten operations of three jobs are assigned to their respective candidate machines for processing; the detailed processing information of the example is shown in Table 1. Figure 2 shows an example of the encoding method; the total number of each vector is the total number of operations and the operation sequence is ( O 3 , 1 , O 1 , 1 , , O 3 , 3 ), as shown in Figure 2. The value of the equipment allocation vector represents the index of the available machine set. For instance, as the index of operation O 1 , 3 is 2, it is assigned the second index value among the available machines, i.e., machine number 3, while operation O 3 , 1 is assigned to machine number 5. It is notable that when the machine number is determined, the factory number is determined as well, because machine number 3 belongs to factory number 1, and the factory number of O 1 , 3 is set to 1. For the same reason, the factory number of O 3 , 1 is set to 2.
Decoding yields a feasible scheduling scheme. In this section, we use a insert decoding method [23] that can process the operations as early as possible. The decoding steps are shown in Algorithm 2.
T a = m a x C i , j 1 + T T , T s
T a + P i , j k T e
Algorithm 2 Insert decoding method
Input: An operation sequence vector O S .
Output: A scheduling scheme.
 1: while O S is not empty do
 2:  The fuzzy transfer time T T is set to [0,0,0].
 3:  Extract the first gene from O S as C V .
 4:  Obtain O i , j , F l , M k and P i , j k on M k of the C V .
 5:  if  O i , j is transferred from another factory then
 6:    T T T F
 7:  end if
 8:  if  O i , j is transferred from another machine in the same factory then
 9:    T T T M
 10: end if
 11:  Obtain all idle time periods of the machine.
 12:  If the insertion criteria are met, O i , j is inserted and the idle time periods
   are updated.
 13:  Remove C V from O S .
 14: end while
Equations (13) and (14) represent the insertion criteria. When Equation (14) is met, O i , j can be inserted into the current idle time period, where T s and T e denote the start time and end time, respectively, for each idle time period. T a represents the start time of the current workpiece processing, and T T represents the time taken for the workpiece to be transferred from other machines or factories to the current machine. A simple decoding example with fuzzy processing and transportation time is shown in Figure 3. The inverted triangle and upright triangle represent the start time and end time, respectively, the dotted triangle represents the transfer time, and the filled triangle represents the processing time.

5.3. Population Initialization

In this section, four initialization rules are proposed to generate a high-quality population.
To maintain the high quality and diversity of the initial population, we use different rules to design initialization strategies. The four rules are as follows.
Global rule: The global rule aims to balance the machine load and reduce the scheduling completion time ( O F 1 ).
  • Generate a machine load array to store the total processing time of each machine. The length of the array is the total number of machines. The initial value of the array is set to 0.
  • Select a job randomly, and obtain the candidate machine number and fuzzy processing time of each operation of the job.
  • According to the operation sequence of the selected job, add the candidate processing time of each operation to the corresponding machine load array, find the lowest value in the array, and store the corresponding machine.
  • Update the machine load array, and repeat step 3 until all operations of the selected job are assigned to a machine.
  • Select other jobs in the same way until all jobs have been selected.
Factory load rule: The factory load rule aims to reduce the maximum factory load ( O F 2 ). While it is similar to the global rule, the difference is that it generates a factory load array rather than a machine load array to balance the workload between factories.
Workload rule: The workload rule aims to reduce the total workload ( O F 3 ). Each operation is allocated to the machine with the shortest processing time.
Random rule: The random rule randomly assigns each operation to a machine to ensure the diversity of the initial population.
The combination of the first three initialization rules improves the quality of the initial population. The random rule ensures the quality of the population and maintains the diversity of the population, preventing it from easily falling into a local optimum in the search process. Finally, the probabilities of these four initialization rules are determined to be 0.5, 0.1, 0.1, and 0.3, respectively.

5.4. Crossover

Crossover is an important part of the algorithm, as it determines the global search ability of the algorithm. Due to the different encoding methods of the two vectors, we adopt two different crossover methods: precedence operation crossover(POX) and multi-point crossover(MPX) [24].
Operation sequence crossover: POX can preserve the good characteristics of the two parent chromosomes to produce better operation sequence vectors for the offspring.
  • Randomly divide the job set into two nonempty sets (Job1,Job2).
  • Find the genes belonging to Job1 from Parent1 and copy them to New1 at the same position; find the genes belonging to Job2 from Parent2 and copy them to New2 at the same position.
  • Find the genes belonging to Job1 from Parent1 and copy them from left to right to the unassigned positions in New2; find the genes belonging to Job2 from Parent2 and copy them from left to right to the unassigned positions in New1. An example of this procedure is shown in Figure 4.
Equipment allocation crossover: MPX is adopted to generate feasible equipment allocation vectors.
  • Randomly generate several positions as crossover positions.
  • Exchange the gene values of Parent1 and Parent2 based on the generated crossover positions. An example of this procedure is shown in Figure 5.

5.5. Mutation

The mutation operation maintains the diversity of the population during evolution and prevents a reduction in diversity from leading to convergence to a local optimum. In the process of mutation, we always expect the mutation to lead in a good direction; thus, we propose two mutation strategies to reduce the three objective values of the MO-DFFJSPT.
Operation sequence mutation:
  • Randomly select two positions, P 1 and P 2 , in the operation sequence vector.
  • Exchange the values of P 1 and P 2 .
Equipment allocation mutation:
  • Randomly select two positions, P 1 and P 2 , in the equipment allocation vector.
  • Obtain O i , j , the candidate machine number, and the corresponding fuzzy processing times of P 1 and P 2 .
  • Change the current machine of P 1 and P 2 to the machine with the minimum fuzzy processing time other than the current machine.
For each individual among the offspring, we only perform one mutation operation on it. If the mutation conditions are met, a random number from 0 to 1 is generated. When the random number is less than 0.5, the operation sequence mutation is executed; otherwise, the equipment allocation mutation is executed.

5.6. DVNS

In this section, a VNS method combining three local search strategies is proposed, and a weight vector is introduced to evaluate the solution quality and design an acceptance criterion after performing VNS.

5.6.1. Individual Selection Criteria

There are two problems that need to be solved before conducting the local search of the population:
  • What is the probability of performing local search?
  • Which individuals are selected for local search?
The answer to the first question is determined in Section 6.3. For the purpose of selecting high-quality individuals, we introduce a set of weight functions to evaluate the quality of individuals. The corresponding equation is shown as Equation (15):
F ( x , λ ) = λ 1 O F 1 ( x ) + λ 2 O F 2 ( x ) + λ 3 O F 3 ( x )
where O F 1 ( x ) , O F 2 ( x ) , O F 3 ( x ) denotes the three objective function values after decoding vector x and λ 1 , λ 2 , λ 3 denotes uniformly distributed vectors. A set of weight vectors satisfies the following constraints:
λ 1 + λ 2 + λ 3 = I , λ 1 , λ 2 , λ 3 1 , 2 , , I
In Equation (16), I is set to 23 to generate 300 sets of weight vectors [25]. When a local search is performed, a set of weight vectors is selected randomly from among the 300 sets of uniformly distributed vectors as individual quality criteria. The value of F ( x , λ ) is used to perform tournament selection for the current population in order to obtain high-quality individuals for the VNS. Algorithm 3 provides the detailed steps of individual selection.
Algorithm 3 High-quality individual selection
Input: Current population P O P , local search probability P l , population size
N p , 300 sets of weight vectors λ = ( λ 1 , λ 2 , λ 3 ) .
Output: High-quality individuals P O P h , selected weight vector sets λ s .
 1: for i = 1 to N p P l  do
 2:  Randomly select a group of vectors from the set of weight vectors λ .
   Calculate F ( x , λ ) according to Equation (15) for each individual, and
   perform tournament selection to select a high-quality individual.
 3:  Store the selected individual in P O P h and store the selected weight vector
   set in λ s .
 4: end for

5.6.2. VNS Method

In this section, three neighborhood structures of VNS are introduced in detail. The combination of the three neighborhoods expands the search space of the neighborhood and improves the convergence performance of the algorithm. The three local search strategies are shown in Algorithms 4–6.
Algorithm 4 Strategy L S 1
Input: An individual vector X.
Output: Vector X L S 1 after performing local search L S 1 .
 1: Decode X and obtain the number F m of the factory with the maximum load.
 2: Obtain the operations processed in factory F m and store them in set S m .
 3: Randomly select an operation O r from S m and obtain its candidate fuzzy
  processing time array A c , current gene value G c and candidate machine
  index array I a in F m .
 4:  A c ( G c , 1 : 3 ) [ i n f , i n f , i n f ] .
 5: for i=1 to size ( I a )  do
 6:    A c ( I a ( i ) , 1 : 3 ) [ i n f , i n f , i n f ] .
 7: end for
 8: Obtain the minimum value V m in fuzzy array A c and its index I m in A c .
 9: if V m = = [ i n f , i n f , i n f ] then
 10:   Execute Algorithm 5.
 11: else
 12:   Change G c to I m .
 13: end if
Algorithm 5 Strategy L S 2
Input: An individual vector X.
Output: Vector X L S 2 after local search L S 2 .
 1: Randomly select an operation O r from among all operations.
 2: Obtain the candidate fuzzy processing time array A c and current gene value
   G c of O r .
 3:  A c ( G c , 1 : 3 ) [ i n f , i n f , i n f ] .
 4: Obtain the minimum value V m in fuzzy array A c and its index I m in A c .
 5: Change G c to I m .
Algorithm 6 Strategy L S 3
Input: An individual vector X.
Output: Vector X L S 3 after local search L S 3 .
 1: Obtain the critical path of individual X.
 2: Randomly select two positions P 1 and P 2 from the critical path.
 3: Exchange the gene values of P 1 and P 2 .
The first two local search strategies are designed for equipment allocation vectors. Algorithm 4 reduces the maximum factory load ( O F 2 ) by changing the processing machine in the maximum-load factory to the machine with the minimum processing time among the other factories. The purpose of Algorithm 5 is to reduce the total workload ( O F 3 ) by changing the current machine to a machine with the minimum processing time.
The third local search strategy is designed for the operation sequence vectors. As many previous studies [25,26] have proven that it is possible to reduce the makespan ( O F 1 ) only by moving an operation on the critical path, we process the operations on the critical path to produce better scheduling results. Algorithm 6 exchanges the positions of two operations on the critical path to reduce the makespan of the MO-DFFJSPT. An example of Algorithm 4 is shown in Figure 6, and Algorithm 7 shows the steps of the entire VNS process.
Algorithm 7 VNS
Input: Neighborhood number T, high-quality individual set P O P h , selected
  weight vector sets λ s .
Output: Individual sets P O P v after the VNS.
 1: for i = 1 to size ( P O P h )  do
 2:   ( λ c 1 , λ c 2 , λ c 3 ) λ s ( i , 1 : 3 ) .
 3:   P O P c P O P h ( i , : ) .
 4:  Decode P O P c and calculate F ( x , λ ) ( F c ) according to Equation (15).
 5:   k 1 .
 6:  while  k 3  do
 7:   for  j = 1 to T do
 8:    if  k = = 1  then
 9:     Execute Algorithm 4 for P O P c to generate P O P L S .
10:   end if
11:   if  k = = 2  then
12:    Execute Algorithm 5 for P O P c to generate P O P L S .
13:   end if
14:   if  k = = 3  then
15:    Execute Algorithm 6 for P O P c to generate P O P L S .
16:   end if
17:   Decode P O P L S and calculate F ( x , λ ) .
18:    F a l l ( j ) F ( x , λ ) .
19:  end for
20:  Find the minimum value F m i n in F a l l and its corresponding vector
    P O P m i n .
21:  if  F m i n F c  then
22:    k 1 , P O P c P O P m i n , F c F m i n .
23:  else
24:    k k + 1 .
25:  end if
26:  end while
27:   P O P v ( i , : ) = P O P c .
28: end for

5.6.3. Acceptance Criteria

After performing VNS on the high-quality individuals, we need to judge whether the solution after the VNS is better than the original solution. In this section, in order to maintain the diversity of the population and prevent it from becoming trapped in local optima, we use Equation (15) to judge the quality of the solution. For each locally searched solution, the corresponding weight vector is extracted from the weight vector set λ s , then the value F ( x , λ ) is calculated. If the value is less than that of the original solution, the new solution is accepted. All the flows of DVNS are shown in Algorithm 8.
Algorithm 8 DVNS
Input: Population P O P .
Output: Population P O P D after DVNS.
 1: Execute Algorithm 3 to select high-quality individuals P O P h .
 2: Execute Algorithm 7 for P O P h to generate individuals P O P v after local
  search.
 3: Replace P O P h in P O P with P O P v to generate P O P D .

6. Experimental Results and Discussion

The HDVMA was executed in MATLAB R2017a and computed on an Intel(R) Core i7 2.60 GHz processor with 16.0 GB RAM. To avoid the influence of randomness as much as possible, each experiment was carried out ten times and the average value was taken as the experimental result.

6.1. Benchmark Construction

Because there are no benchmarks for the MO-DFFJSPT, we extend fifteen benchmarks to test the effectiveness of the proposed algorithm. The first set of benchmarks is obtained from Lei [21,27]. We assign the machines to different factories to generate DFInstance01–DFInstance05. However, as Lei’s benchmarks are all completely flexible, we expand another partially flexible benchmarks, which are obtained from the famous MK benchmarks [28]; we transform MK to fuzzy Mk (DFMK01-DFMK10) according to Lei’s fuzzification method [29]. The distributed workshop is generated as follows:
  • The maximum number of factories is set to [2,3,4] according to the benchmark scale.
  • The difference in the number of machines between factories does not exceed 1.
The scheduling benchmark details are shown in Table 2. In addition, the fuzzy transfer time T M between machines is set to (1,2,3) units, and the fuzzy transfer time T F between factories is set to (8,10,12) units.

6.2. Performance Metrics

To test the performance of different algorithms, the following three metrics are used to evaluate the algorithms.
  • HV metric:
    H V ( P , r ) = x P P v ( x , r )
    where P denotes the non-dominated solution set generated by the algorithm and v ( x , r ) denotes the hypercube formed between a solution in the obtained Pareto front and the reference point r. r usually takes the maximum value after the normalization of the objective, i.e., (1, 1, 1), to obtain HV.
  • IGD metric:
    I G D ( P , P ) = 1 P x P min y P d i s ( x , y )
    where P denotes the non-dominated solution set generated by the algorithm, P* denotes the Pareto front, and d i s ( x , y ) denotes the minimum Euclidean distance between points x and y.
  • Spread metric:
    S p r e a d = d l + d f + i = 1 N 1 d i d ¯ d l + d f + ( N 1 ) d ¯
    where the parameters d f and d l are the Euclidean distances between the extreme solutions and the boundary solutions of the obtained non-dominated set, d i denotes the Euclidean distance between consecutive solutions in the obtained non-dominated set of solutions, d ¯ denotes the average value of d i , and N denotes the number of non-dominated solution sets.
In the above three metrics, HV can measure the comprehensive performance of the algorithm, IGD can measure the convergence and diversity of the algorithm, and Spread can measure the uniformity of the solution distribution in the algorithm. At the end of each algorithm run, we calculate three metrics values based on the Pareto frontier and the non-dominated set of solutions generated by the algorithm. The Pareto frontier for each benchmark is generated by the sets of non-dominated solutions for all algorithms. The lower the IGD value and Spread are, the better the algorithm performance, and the higher the HV value is, the better the algorithm’s performance. Additionally, as all of the objective function values are TFNs, we need to calculate the expected value of each TFN and then standardize them to calculate the three metrics. The expected value calculation method [19] and the standardization method are shown in Equations (20) and (21), respectively:
E ( a ξ ) = 1 4 ( a 1 + 2 a 2 + a 3 )
O F i = O F i o O F i min O F i max O F i min , i 1 , 2 , 3
where O F i o denotes the original expected objective function value. O F i max and O F i min denote the maximum and minimum expected values, respectively, of the i-th objective for all solutions.

6.3. Parameter Settings

Different parameters affect the overall performance of the algorithm, and thus we need to adjust the key parameters of the algorithm. The invariant parameters include the population number N p , number of iterations M a x I t , and neighborhood number T; N p and M a x I t are set to 100. Considering the high time complexity of the DVNS, T is set to 3.
In addition, there are three important variable parameters in the proposed algorithm: the mutation probability, P m , local search probability, P l , and number of tournament selections, N t , in DVNS. The Taguchi design-of-experiment (DOE) approach is adopted here to determine the best parameter values. In this paper, the four levels for each parameter are as follows:
  • N t : 5 , 10 , 15 , 20
  • P l : 0.05 , 0.10 , 0.15 , 0.20
  • P m : 0.1 , 0.2 , 0.3 , 0.4
An orthogonal array L 16 ( 4 3 ) is adopted to measure the impact of each parameter level on a medium scale benchmark (DFInstance03), and we use a normalization value called the objective deviation sum (ODS) [10] as the metric, which is shown in Equation (22):
O D S ( O F c ) = i = 1 3 ( O F i c min O F a l l i min O F a l l i 100 )
where O F i c denotes the i-th average expected objective value of O F c and O F a l l i denotes the i-th average expected objective value set of all combinations; the smaller the ODS value is, the better the performance of the algorithm.
Table 3 shows the DOE results, and Figure 7 shows the influence of different levels of the three factors on the performance of the algorithm. From Figure 7, we find that the local search probability has the greatest impact on the ODS value, and the higher the local search probability is, the lower the ODS value, which shows the effectiveness of DVNS. However, the decrease in ODS from three to four levels is not a large difference. Considering the time complexity and algorithm performance, we choose 0.15 as the local search probability, and N t and P m are determined to be 10 and 0.1, respectively, according to Figure 7. To determine P l change from level 3 to level 4 does not significantly affect the efficiency of HDVMA, we designed two comparative experiments (DFInstance02, DFMK05). The value of P l is taken as 0.15 and 0.2 respectively, and the influence of P l on the algorithm at level 3 and level 4 is observed by calculating three metrics.
In Table 4, HDVMA-0.15 denotes the HDVMA with the P l of 0.15, while HDVMA-0.20 denotes the HDVMA with the P l of 0.20. It can be seen that the gap between HDVMA-0.20 and HDVMA-0.15 in the three metrics is very small, which proves the effectiveness of a P l value of 0.15.

6.4. Effectiveness of the Initialization Strategy

In this section, we discuss the effectiveness of the initialization strategy. We use HDVMA-NIS to denote the HDVMA without an initialization strategy, meaning that the initial population is generated randomly. We tested the performance of the HDVMA-NIS and HDVMA on fifteen instances (DFMK01–DFMK10 and DFInstance01–DFInstance05) and calculated each HV, IGD, and Spread value on each benchmark. All the algorithms were run ten times, and the average values were taken as the final results shown in Table 5.
In Table 5, the bold values in each metric represent better results. We observe that the three metrics of the HDVMA are better than those of the HDVMA-NIS on most DFMK benchmarks; however, the HV metrics of the HDVMA are slightly worse than those of the HDVMA-NIS on four DFInstance benchmarks. This is because on the completely flexible benchmarks there are too many candidate machines for each operation, and the initialization strategy may not obtain enough high-quality genes, thus losing points on the Pareto frontiers and resulting in a slight decrease in the HV value. However, this is acceptable, and the initialization strategy performs well on IGD and Spread, which proves that the initialization strategy can improve the convergence of the algorithm and the universality of the solution set distribution. In general, the results in Table 5 demonstrate that whether the HV, IGD, or Spread is used, the HDVMA achieves better results than the HDVMA-NIS on most benchmarks. Based on this, we can conclude that the proposed initialization strategy initializing the population with the four rules improves the quality of the initial population, effectively producing a high-quality initial population for the MO-DFFJSPT.

6.5. Effectiveness of the DVNS Strategy

In this section, we use HDVMA-NLS to denote the HDVMA algorithm without the DVNS strategy. The HDVMA-NLS and HDVMA were run ten times on each benchmark to demonstrate the superiority of the DVNS strategy. Better metric values are shown in bold.
As shown in Table 6, in terms of HV, the HDVMA outperforms the HDVMA-NLS on all fifteen benchmarks except for DFMK05. In terms of IGD, the performance of the HDVMA is slightly worse only on DFMK04 and is higher than that of the HDVMA-NLS on the other benchmarks. In the comparison of Spread, we find that the HDVMA performs worse than the HDVMA-NLS on only two benchmarks. This fully demonstrates the effectiveness of the proposed DVNS. The three well-designed local search strategies expand the solution space during the search, improve the convergence speed of the algorithm, and help it to avoid local optima. The individual selection strategy based on weight preference and acceptance criteria ensures the convergence of the algorithm and the diversity of solutions, and the solutions are more evenly distributed on the Pareto front.
Therefore, we can conclude that DVNS can enable the algorithm to obtain a better solution set and further improve the performance of the algorithm.

6.6. Comparison with Other Algorithms

In this section, to further evaluate the performance of the HDVMA, we choose four algorithms for comparison: NSGA-II, NSGA-III, MOEA/D, and DJAYA. Among them, NSGA-II, NSGA-III, and MOEA/D are all classical multiobjective optimization algorithms that are widely used in many fields. DJAYA [30] is a recently proposed algorithm for solving the multiobjective flexible job shop scheduling problem.
All algorithms use the same encoding and decoding methods and the same mutation operator. In order to ensure the fairness of the experiment, the population number, maximum number of iterations, and mutation probability of all algorithms are set to the same values, (100,100,0.1), except MOEA/D and NSGA-III. Due to the existence of weight vectors and reference points, the population numbers of MOEA/D and NSGA-III are set to the number closest to 100, i.e., 105. The number of neighborhoods in MOEA/D is set to 10. All the algorithms were run ten times independently in each benchmark, and the average value was taken as the final result.
Table 7, Table 8 and Table 9 show the HV, IGD and Spread values of the five algorithms, respectively. The HDVMA achieves better performance than all other algorithms in terms of every metric on almost all benchmarks. Regarding Spread, the HDVMA is inferior to NSGA-III and MOEA/D on only three benchmarks, performing well on the other benchmarks.
The HDVMA is superior to the other algorithms in convergence and more uniform in the distribution of solutions along the Pareto front. This excellent convergence performance is due to the fact that the initialization strategy produces a high-quality initialization population, which makes it easier for the algorithm to converge, while the three local search methods of DVNS further enhance the convergence performance of the algorithm. The more uniform distribution of the algorithm is due to the introduction of weight vectors. Because the individual selection strategies and acceptance criteria are affected by different weights, the algorithm can accept new solutions with different weighting preferences and obtain solution sets with higher diversity and wider distributions.
To observe the performance of different algorithms, we plot the non-dominated solution set graph generated by all algorithms on the six representative benchmarks from DFMK and DFInstance(DFInstance01, DFInstance03, DFInstance05, DFMK02, DFMK05, and DFMK08), which are shown in Figure 8. From these six benchmarks, we find that the HDVMA is closer to the bottom of the three-dimensional graph and more evenly distributed than the other algorithms, which indicates that the comprehensive performance of the HDVMA is better than that of the other algorithms. This is consistent with our analysis in Table 7, Table 8 and Table 9, and further validates the effectiveness of the HDVMA.
Figure 9 shows a two-workshop Gantt diagram example for DFMK02.The processing time and transfer time of different processes of the same workpiece have the same color. The workpiece is transferred from workshop 2 to workshop 1 and from workshop 1 to workshop 2 eight times to generate the final scheduling scheme. It can be seen that the distributed workshop considering workpiece transfer can make the scheduling more flexible, and the fuzziness of the processing time and transfer time is more in line with actual production situations.

7. Conclusions

In this paper, we construct a mathematical model of distributed flexible job shop scheduling problem with fuzzy transfer time and fuzzy processing time to better fit real-world production scheduling. The objectives are to minimize the fuzzy maximum completion time, fuzzy maximum factory load, and fuzzy total workload. Workpieces can be transferred between factories, and the factories work together to produce the final scheduling scheme. The fuzzy treatment of the transfer time and processing time makes it easier to express uncertainty in the real world.
To solve the MO-DFFJSPT, we meticulously design the encoding and decoding methods of this model. An efficient initialization heuristic that combines four different rules is designed to generate an initial population to produce high-quality initial individuals. Then, based on the algorithm framework of NSGA-II, crossover and mutation operators are designed to search the solution space and maintain the diversity of the population. We introduce a weight decomposition strategy and design a VNS method to further accelerate the convergence performance and ensure the uniform distribution of the solution set. Finally, we compare the HDVMA with four other excellent multiobjective algorithms, and the results show that the HDVMA is superior to the other algorithms in terms of convergence performance and the uniformity of the solution set distribution.
This work proposes a new scheduling problem model which is meaningful for real-world distributed production applications. At the same time, the proposed HDVMA takes into account the convergence and diversity, and can be used by other researchers to test the performance of the algorithm. In future work, we will further study complex situations of distributed production workshops, such as considering machine breakdown and new workpiece insertion. Additionally, one drawback of our proposed algorithm is too high a number of parameters, meaning that improper parameter settings that have a bad impact on the algorithm are too likely. Future research could use adaptive strategies or feedback mechanisms to dynamically adjust parameters, solving the problem of excessive parameters in the algorithm.

Author Contributions

J.Y. designed and performed the experiments; J.Y. provided analysis software; J.Y. analyzed the data; J.Y. organized the data and wrote the paper. H.X. perfected the details of the paper. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Informed Consent Statement

Informed consent was obtained from all subjects involved in the study.

Data Availability Statement

The code in this article cannot be published due to privacy, and can be obtained from the corresponding author upon reasonable request.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Xu, Y.; Sahnoun, M.; Abdelaziz, F.B.; Baudry, D. A simulated multi-objective model for flexible job shop transportation scheduling. Ann. Oper. Res. 2022, 311, 899–920. [Google Scholar] [CrossRef]
  2. Zhang, Y.; Zhu, H.; Tang, D. An improved hybrid particle swarm optimization for multi-objective flexible job-shop scheduling problem. Kybernetes 2020, 49, 2873–2892. [Google Scholar] [CrossRef]
  3. Ziaee, M.; Mortazavi, J.; Amra, M. Flexible job shop scheduling problem considering machine and order acceptance, transportation costs, and setup times. Soft Comput. 2022, 26, 3527–3543. [Google Scholar] [CrossRef]
  4. Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 2002, 6, 182–197. [Google Scholar] [CrossRef] [Green Version]
  5. Naderi, B.; Azab, A. An improved model and novel simulated annealing for distributed job shop problems. Int. J. Adv. Manuf. Technol. 2015, 81, 693–703. [Google Scholar] [CrossRef]
  6. Chang, H.C.; Liu, T.K. Optimisation of distributed manufacturing flexible job shop scheduling by using hybrid genetic algorithms. J. Intell. Manuf. 2017, 28, 1973–1986. [Google Scholar] [CrossRef]
  7. Wu, X.; Liu, X.; Zhao, N. An improved differential evolution algorithm for solving a distributed assembly flexible job shop scheduling problem. Memetic Comput. 2019, 11, 335–355. [Google Scholar] [CrossRef]
  8. Tang, H.; Fang, B.; Liu, R.; Li, Y.; Guo, S. A hybrid teaching and learning-based optimization algorithm for distributed sand casting job-shop scheduling problem. Appl. Soft Comput. 2022, 120, 108694. [Google Scholar] [CrossRef]
  9. Ziaee, M. A heuristic algorithm for the distributed and flexible job-shop scheduling problem. J. Supercomput. 2014, 67, 69–83. [Google Scholar] [CrossRef]
  10. Luo, Q.; Deng, Q.; Gong, G.; Zhang, L.; Han, W.; Li, K. An efficient memetic algorithm for distributed flexible job shop scheduling problem with transfers. Expert Syst. Appl. 2020, 160, 113721. [Google Scholar] [CrossRef]
  11. Sang, Y.; Tan, J. Intelligent factory many-objective distributed flexible job shop collaborative scheduling method. Comput. Ind. Eng. 2022, 164, 107884. [Google Scholar] [CrossRef]
  12. Sun, L.; Lin, L.; Gen, M.; Li, H. A hybrid cooperative coevolution algorithm for fuzzy flexible job shop scheduling. IEEE Trans. Fuzzy Syst. 2019, 27, 1008–1022. [Google Scholar] [CrossRef]
  13. Zheng, Y.l.; Li, Y.x.; Lei, D.m. Multi-objective swarm-based neighborhood search for fuzzy flexible job shop scheduling. Int. J. Adv. Manuf. Technol. 2012, 60, 1063–1069. [Google Scholar] [CrossRef]
  14. Lin, J.; Zhu, L.; Wang, Z.J. A hybrid multi-verse optimization for the fuzzy flexible job-shop scheduling problem. Comput. Ind. Eng. 2019, 127, 1089–1100. [Google Scholar] [CrossRef]
  15. Li, R.; Gong, W.; Lu, C. Self-adaptive multi-objective evolutionary algorithm for flexible job shop scheduling with fuzzy processing time. Comput. Ind. Eng. 2022, 168, 108099. [Google Scholar] [CrossRef]
  16. Gao, K.Z.; Suganthan, P.N.; Pan, Q.K.; Tasgetiren, M.F. An effective discrete harmony search algorithm for flexible job shop scheduling problem with fuzzy processing time. Int. J. Prod. Res. 2015, 53, 5896–5911. [Google Scholar] [CrossRef]
  17. Lin, J. A hybrid biogeography-based optimization for the fuzzy flexible job-shop scheduling problem. Knowl.-Based Syst. 2015, 78, 59–74. [Google Scholar] [CrossRef]
  18. Gao, K.Z.; Suganthan, P.N.; Pan, Q.K.; Chua, T.J.; Chong, C.S.; Cai, T.X. An improved artificial bee colony algorithm for flexible job-shop scheduling problem with fuzzy processing time. Expert Syst. Appl. 2016, 65, 52–67. [Google Scholar] [CrossRef] [Green Version]
  19. Vela, C.R.; Afsar, S.; Palacios, J.J.; Gonzalez-Rodriguez, I.; Puente, J. Evolutionary tabu search for flexible due-date satisfaction in fuzzy job shop scheduling. Comput. Oper. Res. 2020, 119, 104931. [Google Scholar] [CrossRef]
  20. Sakawa, M.; Mori, T. An efficient genetic algorithm for job-shop scheduling problems with fuzzy processing time and fuzzy duedate. Comput. Ind. Eng. 1999, 36, 325–341. [Google Scholar] [CrossRef]
  21. Lei, D. A genetic algorithm for flexible job shop scheduling with fuzzy processing time. Int. J. Prod. Res. 2010, 48, 2995–3013. [Google Scholar] [CrossRef]
  22. Xu, W.; Hu, Y.; Luo, W.; Wang, L.; Wu, R. A multi-objective scheduling method for distributed and flexible job shop based on hybrid genetic algorithm and tabu search considering operation outsourcing and carbon emission. Comput. Ind. Eng. 2021, 157, 107318. [Google Scholar] [CrossRef]
  23. Wang, C.; Tian, N.; Ji, Z.; Wang, Y. Multi-objective fuzzy flexible job shop scheduling using memetic algorithm. J. Stat. Comput. Simul. 2017, 87, 2828–2846. [Google Scholar] [CrossRef]
  24. Gao, K.Z.; Suganthan, P.N.; Chua, T.J.; Chong, C.S.; Cai, T.X.; Pan, Q.K. A two-stage artificial bee colony algorithm scheduling flexible job-shop scheduling problem with new job insertion. Expert Syst. Appl. 2015, 42, 7652–7663. [Google Scholar] [CrossRef]
  25. Yuan, Y.; Xu, H. Multiobjective flexible job shop scheduling using memetic algorithms. IEEE Trans. Autom. Sci. Eng. 2013, 12, 336–353. [Google Scholar] [CrossRef]
  26. Wang, L.; Zhou, G.; Xu, Y.; Wang, S.; Liu, M. An effective artificial bee colony algorithm for the flexible job-shop scheduling problem. Int. J. Adv. Manuf. Technol. 2012, 60, 303–315. [Google Scholar] [CrossRef]
  27. Lei, D. Co-evolutionary genetic algorithm for fuzzy flexible job shop scheduling. Appl. Soft Comput. 2012, 12, 2237–2245. [Google Scholar] [CrossRef]
  28. Brandimarte, P. Routing and scheduling in a flexible job shop by tabu search. Ann. Oper. Res. 1993, 41, 157–183. [Google Scholar] [CrossRef]
  29. Lei, D.; Guo, X. Swarm-based neighbourhood search algorithm for fuzzy flexible job shop scheduling. Int. J. Prod. Res. 2012, 50, 1639–1649. [Google Scholar] [CrossRef]
  30. Caldeira, R.H.; Gnanavelbabu, A. A Pareto based discrete Jaya algorithm for multi-objective flexible job shop scheduling problem. Expert Syst. Appl. 2021, 170, 114567. [Google Scholar] [CrossRef]
Figure 1. Fuzzy Number.
Figure 1. Fuzzy Number.
Processes 10 01517 g001
Figure 2. Solution representation.
Figure 2. Solution representation.
Processes 10 01517 g002
Figure 3. An example of the insert decoding method.
Figure 3. An example of the insert decoding method.
Processes 10 01517 g003
Figure 4. POX crossover.
Figure 4. POX crossover.
Processes 10 01517 g004
Figure 5. MPX crossover.
Figure 5. MPX crossover.
Processes 10 01517 g005
Figure 6. L S 1 example.
Figure 6. L S 1 example.
Processes 10 01517 g006
Figure 7. Factor levels.
Figure 7. Factor levels.
Processes 10 01517 g007
Figure 8. PF chart of select benchmarks.
Figure 8. PF chart of select benchmarks.
Processes 10 01517 g008
Figure 9. DFMK02 Gantt chart.
Figure 9. DFMK02 Gantt chart.
Processes 10 01517 g009
Table 1. Example of MO-DFFJSPT.
Table 1. Example of MO-DFFJSPT.
JobsOperations F 1 F 2
M 1 M 2 M 3 M 4 M 5
J 1 O 1 , 1 (1,2,3)(2,3,4)(1,3,5)
O 1 , 2 (4,5,6)(2,3,4)(5,8,9)(5,7,8)(7,9,10)
O 1 , 3 (4,5,7)(2,3,4)(1,2,3)(8,10,12)
J 2 O 2 , 1 (4,7,8)(5,7,10)(1,2,3)(1,3,5)
O 2 , 2 (5,6,7)(1,2,4)(8,10,12)(4,5,6)
O 2 , 3 (1,3,4)(4,5,8)(2,3,4)(5,6,7)
O 2 , 4 (1,2,3)(9,10,11)(6,8,10)(2,4,5)
J 3 O 3 , 1 (4,5,6)(2,3,4)(1,3,5)
O 3 , 2 (12,13,17)(10,11,13)(14,15,16)
O 3 , 3 (5,6,7)(7,9,10)(10,11,13)
Table 2. Constructed benchmarks.
Table 2. Constructed benchmarks.
BenchmarkSize (n × f × m)Source
DFMK0110 × 2 × 6MK01
DFMK0210 × 2 × 6MK02
DFMK0315 × 2 × 4MK05
DFMK0420 × 2 × 5MK07
DFMK0515 × 3 × 8MK03
DFMK0615 × 3 × 8MK04
DFMK0720 × 3 × 10MK08
DFMK0820 × 3 × 10MK09
DFMK0910 × 4 × 15MK06
DFMK1020 × 4 × 15MK10
DFInstance0110 × 3 × 10Instance01
DFInstance0210 × 3 × 10Instance02
DFInstance0310 × 3 × 10Instance03
DFInstance0410 × 3 × 10Instance04
DFInstance0515 × 3 × 10Instance05
Table 3. L 16 Taguchi experiment for the ODS.
Table 3. L 16 Taguchi experiment for the ODS.
NumberFactor LevelsODS
N t P l P m
11115.8898
21226.0353
31334.8123
41445.3476
52125.7420
62215.6049
72345.2423
82435.0575
93137.2676
103245.8657
113314.5849
123425.1784
134146.5863
144235.7924
154326.0990
164414.2528
Table 4. Comparison of P l level.
Table 4. Comparison of P l level.
BenchmarksHVIGDSpread
HDVMA-0.15HDVMA-0.20HDVMA-0.15HDVMA-0.20HDVMA-0.15HDVMA-0.20
DFMK050.70110.72130.03640.03500.69740.6874
DFInstance020.65860.65790.05150.05050.49610.5171
Table 5. Comparison of initialization strategy.
Table 5. Comparison of initialization strategy.
BenchmarksHVIGDSpread
HDVMA-NISHDVMAHDVMA-NISHDVMAHDVMA-NISHDVMA
DFMK010.64710.66240.08070.07970.45040.4588
DFMK020.64860.65910.15880.14420.74620.6997
DFMK030.56820.66440.05690.03170.67230.4440
DFMK040.61960.62990.05720.05310.43060.4301
DFMK050.65170.70110.05080.03640.76250.6974
DFMK060.65780.74700.05260.03410.60230.5506
DFMK070.54900.63440.08130.06220.42200.4200
DFMK080.53860.70930.07680.04360.68280.5330
DFMK090.55490.54530.07470.07750.53920.5473
DFMK100.53600.65270.07570.06640.48990.4407
DFInstance010.54130.52840.08440.08670.59200.5656
DFInstance020.63060.65860.06430.05150.50570.4961
DFInstance030.66090.62730.05200.04910.57590.5672
DFInstance040.60120.53560.09090.11430.64160.6853
DFInstance050.65920.62930.09420.09000.60220.5951
Table 6. Comparison of DVNS strategy.
Table 6. Comparison of DVNS strategy.
BenchmarksHVIGDSpread
HDVMA-NLSHDVMAHDVMA-NLSHDVMAHDVMA-NLSHDVMA
DFMK010.59830.66240.09600.07970.45630.4588
DFMK020.56380.65910.20090.14420.83410.6997
DFMK030.62140.66440.04220.03170.49000.4440
DFMK040.59230.62990.05120.05310.46620.4301
DFMK050.71100.70110.03780.03640.71770.6974
DFMK060.68730.74700.04440.03410.60760.5506
DFMK070.62690.63440.06980.06220.38660.4200
DFMK080.69680.70930.05100.04360.56500.5330
DFMK090.42000.54530.13410.07750.63580.5473
DFMK100.58980.65270.10870.06640.46080.4407
DFInstance010.38060.52840.11750.08670.64120.5656
DFInstance020.50100.65860.15720.05150.53680.4961
DFInstance030.51940.62730.08520.04910.60080.5672
DFInstance040.41350.53560.15530.11430.72870.6853
DFInstance050.50870.62930.14550.09000.60370.5951
Table 7. HV value comparison.
Table 7. HV value comparison.
BenchmarksNSGA-IINSGA-IIIMOEA/DDJAYAHDVMA
DFMK010.56900.61060.47750.50370.6624
DFMK020.47930.50120.25220.27570.6847
DFMK030.45770.49810.27990.47880.6644
DFMK040.47480.45090.33780.28150.6447
DFMK050.24830.28010.08600.16200.7011
DFMK060.49460.48530.42390.47780.7401
DFMK070.44400.43700.33380.25640.6273
DFMK080.26540.31730.14390.15870.7145
DFMK090.19580.28900.06950.13370.5883
DFMK100.18620.22750.10090.11570.6613
DFInstance010.46040.41990.37070.48290.5456
DFInstance020.54260.45140.34510.55370.6841
DFInstance030.55160.42680.36910.54370.6369
DFInstance040.52170.46570.36230.49040.6527
DFInstance050.27180.21500.13560.36370.6293
Table 8. IGD value comparison.
Table 8. IGD value comparison.
BenchmarksNSGA-IINSGA-IIIMOEA/DDJAYAHDVMA
DFMK010.07710.07920.13880.17460.0565
DFMK020.15160.14440.24080.27960.0814
DFMK030.06080.07170.17670.18170.0228
DFMK040.06400.07340.09820.35280.0362
DFMK050.17450.16530.21600.47570.0165
DFMK060.08600.10720.12560.16950.0301
DFMK070.08350.08050.11660.25080.0620
DFMK080.18910.20080.28280.56830.0214
DFMK090.17860.19290.23930.59370.0266
DFMK100.22330.23750.31410.59480.0310
DFInstance010.08620.12120.13410.15370.0323
DFInstance020.09620.14050.14210.14630.0311
DFInstance030.07140.13360.13220.13280.0303
DFInstance040.11610.23460.15890.18630.0614
DFInstance050.22420.43160.25890.28640.0241
Table 9. Spread value comparison.
Table 9. Spread value comparison.
BenchmarksNSGA-IINSGA-IIIMOEA/DDJAYAHDVMA
DFMK010.47350.48030.45070.47620.4770
DFMK020.78960.80151.00960.83620.7210
DFMK030.74140.72800.89230.62900.4697
DFMK040.47410.47270.54530.61060.4195
DFMK050.82430.75900.92870.73880.6807
DFMK060.66960.67490.77240.63370.5532
DFMK070.47750.46920.51230.63030.4104
DFMK080.78850.73160.79850.71860.5616
DFMK090.75540.66020.90570.74200.6903
DFMK100.63290.65400.80010.76620.4421
DFInstance010.71620.74810.81700.73090.6127
DFInstance020.68900.75710.79120.70230.6523
DFInstance030.74860.73100.86530.69540.6608
DFInstance040.74070.68800.84150.70380.6959
DFInstance050.77270.80010.91890.77250.6572
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yang, J.; Xu, H. Hybrid Memetic Algorithm to Solve Multiobjective Distributed Fuzzy Flexible Job Shop Scheduling Problem with Transfer. Processes 2022, 10, 1517. https://doi.org/10.3390/pr10081517

AMA Style

Yang J, Xu H. Hybrid Memetic Algorithm to Solve Multiobjective Distributed Fuzzy Flexible Job Shop Scheduling Problem with Transfer. Processes. 2022; 10(8):1517. https://doi.org/10.3390/pr10081517

Chicago/Turabian Style

Yang, Jinfeng, and Hua Xu. 2022. "Hybrid Memetic Algorithm to Solve Multiobjective Distributed Fuzzy Flexible Job Shop Scheduling Problem with Transfer" Processes 10, no. 8: 1517. https://doi.org/10.3390/pr10081517

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop