Next Article in Journal
Consumer Preference for End-of-Life Scenarios and Recycled Products in Circular Economy
Next Article in Special Issue
A Strategy for Determining the Decommissioning Life of Energy Equipment Based on Economic Factors and Operational Stability
Previous Article in Journal
Testing Psychometric Properties and Measurement Invariance of Basic Psychological Needs in the Digital Version of the Sport Scale
Previous Article in Special Issue
A Novel Production Scheduling Approach Based on Improved Hybrid Genetic Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improved Mayfly Method to Solve Distributed Flexible Job Shop Scheduling Problem under Dual Resource Constraints

1
Department of Industrial Engineering, Xi’an Key Laboratory of Modern Intelligent Textile Equipment, Xi’an Polytechnic University, Xi’an 710600, China
2
Department of Automatic, Control and Robotics, AGH University of Science and Technology, 30-059 Kraków, Poland
3
Department of Information Systems, College of Computer Science and Information Systems, Najran University, Najran 61441, Saudi Arabia
4
Electrical Engineering Department, College of Engineering, Najran University Saudi Arabia, Najran 61441, Saudi Arabia
5
Faculty of Mechanical Engineering, Opole University of Technology, 45-758 Opole, Poland
6
Yonsei Frontier Lab, Yonsei University, Seoul 03722, Korea
*
Author to whom correspondence should be addressed.
Sustainability 2022, 14(19), 12120; https://doi.org/10.3390/su141912120
Submission received: 17 July 2022 / Revised: 14 September 2022 / Accepted: 19 September 2022 / Published: 25 September 2022
(This article belongs to the Special Issue Recent Advances in Sustainability Development for Autonomous Systems)

Abstract

:
Aiming at the distributed flexible job shop scheduling problem under dual resource constraints considering the influence of workpiece transportation time between factories and machines, a distributed flexible job shop scheduling problem (DFJSP) model with the optimization goal of minimizing completion time is established, and an improved mayfly algorithm (IMA) is proposed to solve it. Firstly, the mayfly position vector is discrete mapped to make it applicable to the scheduling problem. Secondly, three-layer coding rules of process, worker, and machine is adopted, in which the factory selection is reflected by machine number according to the characteristics of the model, and a hybrid initialization strategy is designed to improve the population quality and diversity. Thirdly, an active time window decoding strategy considering transportation time is designed for the worker–machine idle time window to improve the local optimization performance of the algorithm. In addition, the improved crossover and mutation operators is designed to expand the global search range of the algorithm. Finally, through simulation experiments, the results of various algorithms are compared to verify the effectiveness of the proposed algorithm for isomorphism and isomerism factories instances.

1. Introduction

Economic globalization and the rapid development of new technologies such as cloud computing, big data, and the Internet of Things are leading the manufacturing industry to the modes of production globalization, cloud manufacturing, and intelligent manufacturing [1,2,3,4]. The traditional centralized manufacturing mode can no longer meet the fierce market competition and diversified customer needs. A large number of enterprises expand their production to the distributed production environment. Through the rational allocation, optimal combination, and sharing of resources of enterprises or factories in different regions, they can quickly improve production efficiency and quality and reduce costs and risks [5,6]. Providing reasonable and efficient resource allocation and scheduling services for collaborative production of distributed factories is a research hotspot in the field of scheduling.
The distributed flexible job shop scheduling problem (DFJSP) has many constraints and is challenging to solve. It is a more complex NP-Hard problem which has attracted the attention of many scholars at home and abroad in recent years. De Giovanni et al. [7] proposed an improved genetic algorithm to solve DFJSP with multiple flexible manufacturing units, which extended the decoding of FJSP to include the information of FMU allocation and used a new local search operator to improve the population quality. Ziaee [8] assume that the job shop of each factory/unit is configured as a flexible job shop; in order to obtain a high-quality scheduling plan quickly, a fast heuristic algorithm based on the constructive process was proposed for DFJSP. Sang et al. [9] built a DFJSP model for collaborative manufacturing of smart factories, proposed a high-dimensional multi-objective memory algorithm combing with improved NSGA-III and local search methods, and optimized economic indicators and green indicators. Xu et al. [10] proposed a three-layer coding of hybrid genetic tabu search algorithm to optimize the completion time, cost, quality, and carbon emissions of DFJSP considering outsourcing some workpieces. Meng et al. [11] proposed four MILP models and a constraint programming (CP) model for DFJSP and verified the effectiveness and superiority of the model through small and large instances. The above studies usually assume that a workpiece can be processed in only one factory. In recent years, some scholars have studied the open shop scheduling environment considering that a workpiece can be processed in different factories. Luo et al. [12] established a DFJSP mathematical model considering the workpiece transfer with the optimization objectives of the completion time, factory load, and energy consumption, and designed the GLS initialization method and a variety of neighborhood structures to improve the memetic algorithm for solving it. Gong et al. [13] considered that workpieces can be transferred between machines, job shops, and factories; studied the distributed production scheduling of different factories and job shops; and proposed a new memetic algorithm to optimize the problem’s completion time and total energy consumption. Du et al. [14] established a MILP model of dual-objective DFJSP considering the constraints of crane transportation and energy consumption and proposed an EDA-VNS hybrid algorithm to solve it. However, there is still lack of relevant literature on the transportation time required for workpiece transfer.
In addition, most studies on DFJSP consider only the constraints of machinery and equipment but ignore the constraint of worker resources that is inseparable from production scheduling. There are some related studies on FJSP in the integrated manufacturing environment. Meng et al. [15] studied the dual resource-constrained flexible job shop scheduling problem (DRCFJSP) with energy consumption awareness, proposed two MILP models, and designed a neighborhood search algorithm with eight neighborhood structures for the solution. Obimuyiwa [16] considered a limited number of cross-trained skilled installation operators, established a detailed MILP model of DRCFJSP, and solved it with a genetic algorithm. Gong et al. [17] proposed a DRCFJSP model considering workers’ flexibility and proposed a hybrid artificial bee colony algorithm to solve it.
Previously, our research group studied DRCFJSP of integrated manufacturing mode which better solved the differences of the operation levels of workers but ignored the influence of transportation time in the model established [18]. Therefore, to further study the distributed manufacturing mode scheduling problem, this paper considers the influence of worker–machine dual resource constraints and workpiece transportation time and constructs a distributed flexible job shop scheduling problem under dual resource constraints (DFJSPD) model with the completion time as the optimization objective. In addition, an improved mayfly algorithm (IMA) is proposed according to the characteristic of the model, where discrete mapping of mayfly position variables, a new three-layer coding method for multiple resource constraints, a mixed initialization strategy, an active time window decoding algorithm for idle time window, and the improved crossover and mutation modes are designed to improve solving performance of the algorithm. Finally, the experimental results show that the proposed DFJSPD model is more in line with the actual scheduling situation and the effectiveness and superiority of the improved algorithm.
The remainder of this work is organized as follows. Section 2 establishes the DFJSP model and Section 3 gives the improved mayfly solution. Experimental analysis and results are presented in Section 4. Section 5 concludes the main findings.

2. DFJSPD Modeling

2.1. DFJSPD Problem Description

DFJSPD is described as: n workpieces J i ( i = 1 , 2 , , n ) needs to be processed in F flexible job shop type factories F f ( f = 1 , 2 , , F ) . The workpiece i has n i processes with priority constraints among them. In the factory F f , there are m f machines M f k ( k = 1 , 2 , , m f ) and w f workers W f s ( s = 1 , 2 , , w f ) operating the machines, generally m f > w f . The machines in the factory include CNC machines and non-CNC machines. The workers are responsible for the preparation including the loading and unloading, the replacement of tool fixtures and cleaning of CNC machines, and the preparation and machining of non-CNC machines. Individual differences among workers lead to the differences of operation efficiency. The basic times of preparation and machining on different machines are known. Workpieces are transported between machines in a factory or different factories with known transportation time. DFJSPD can be divided into four sub-problems: factory selection, machine selection, worker selection, and process sequencing.
Considering the data in Table 1 as an example, the distribution of workers is W F 1 = { W 1 , W 2 } and W F 2 = { W 3 , W 4 } . The scheduling diagram of DFJSPD is shown in Figure 1, where each color represents a job in which order by time course is the process number.
The relevant assumptions for scheduling are as follows:
All workpieces, machines, and workers are available at time 0;
At any time, a machine or worker processes one process at most;
At any time, each workpiece is processed by one worker operating one machine at most;
Workers can flow only in the factory, the transfer time is considered within the preparation time, and the loading and unloading time of the workpiece is considered within the transportation time;
When the front process on the machine (where a process is located) is the front process of the same workpiece, the preparation time is negligible.
The transportation time of workpieces transferred between factories is longer than that of those transferred within factories;
The transportation time of each workpiece before and after the first process is negligible;
There are enough transport tools to complete the transfer of the workpiece;
No interruption is considered in the processing.

2.2. Mathematical Modeling

Based on the relevant descriptions and assumptions in Section 2.1, the DFJSPD scheduling optimization model is constructed to minimize the maximum completion time (makespan). The notations of the DFJSPD model are listed in Table 2.
f = min ( m a k e s p a n ) = min ( max C f ) = min ( max C i )
P i j k s = T 1 i j k ( 1 X i j i j k ) + T i j k ( 1 H k ) e k s
C i j k s = { S i j k s + T 1 i j k ( 1 X i j i j k ) e k s + T i j k , H k = 1 S i j k s + T 1 i j k ( 1 X i j i j k ) + T i j k e k s , H k = 0
S i j k s max ( C i ( j 1 ) l r + T Y k l Y i k l , C i j k r , C i j l s )
i = 1 n j = 1 n i X i j k s = 1
i = 1 n k = 1 m f l = 1 m p Y i k l = 1
[ S i j k s , C i j k s ] [ S h g k r , F h g k r ] =
[ S i j k s , C i j k s ] [ S h g l s , F h g l s ] =
Equation (1) indicates that the objective function is the maximum completion time of all factories, that is, the maximum completion time of all workpieces; Equation (2) indicates that the actual operation time of workers is equal to the ratio of the standard time to the efficiency of workers operating the machine; Equation (3) indicates that the whole processing process is continuous without interruption, and the completion time of the process is the sum of the starting time, transportation time, actual preparation time, and actual machining time; Equation (4) indicates that the actual start time of the process is restricted by process, transportation time, selected worker, and machine factors; Equation (5) indicates that each process can be processed only on one machine by one worker at the same time; Equation (6) indicates that each workpiece can be transported only between two machines at the same time; Equation (7) indicates that the time of two processes processed on the same machine cannot be crossed; and Equation (8) indicates that the time of two processes processed by the same worker cannot be crossed.

3. Improved Mayfly Algorithm for DFJSPD Model

3.1. Design of Improved Mayfly Algorithm

Mayfly algorithm (MA) is a swarm intelligence algorithm which is inspired by the flight and mating behaviors of mayflies [19]. The mayfly population is divided into female and male populations. In mating behavior, male mayflies tend to congregate in groups, and the position and velocity of each male mayfly is adjusted based on its own and the population experience. The difference between female and male mayflies is that male mayflies tend to gather and female mayflies do not gather in groups, but female mayflies fly to mate with male mayflies. The offspring mayfly populations produced by mating have new positions and velocities. Each mayfly is randomly placed in the problem space as a candidate solution i represented by a d-dimensional vector x i = { x i 1 , , x i d } , and its performance is evaluated on the predefined objective function f ( x i ) . The velocity v i = { v i 1 , , v i d } of each mayfly is defined as the change of its position and updates according to different experience.
MA that combines the advantages of particle swarm optimization (PSO) [20], genetic algorithm (GA) [21], and firefly algorithm (FA) [22] is often used to solve continuous problems [23,24]. But DFJSPD is a discrete problem, so this paper improves MA to make it more suitable for the field of job shop scheduling. The improved strategies are as follows:
A discrete mapping method for transforming the positions of mayflies into discrete codes of the feasible solutions, which make MA suitable for the job shop scheduling problem;
The mixed population initialization strategy, which designs a variety of initialization methods based on the heuristic rules of time to improve the population quality and diversity;
Design active window decoding algorithm for the three-layer codes to obtain a better scheduling scheme;
Improve the crossover and mutation operators, which increase the population diversity and improve the global exploitation and local exploration of the algorithm.
The pseudo code of the improved mayfly algorithm is shown in Algorithm 1.
Algorithm 1. The pseudo code of the improved mayfly algorithm
Generate randomly the positions and velocities of male mayflies x i and m v i ( i = 1 , 2 , , n )
Generate randomly the positions and velocities of female mayflies y i and f v i ( i = 1 , 2 , , n )
Objective function f ( x i ) ,   x i = ( x i 1 , , x i d ) T ; makespan C i at x i is determined by f ( x i )
Discretize the positions of mayflies to process code OC
Mixed initialization of machine code MC and worker code WC based on OC
Decode and evaluate objective values of all mayflies
While t < max iteration
    For i = 1 : n //all n male mayflies
    If > g b e s t // g b e s t is the optimal position in the population
  Update the position and velocity of male mayflies based on g b e s t and p b e s t //
         p b e s t is its own historical optimal position
  Else
      Random wedding dance mode
End if
  Discretize the positions of male mayflies to three-layer codes
  Decode and evaluate male mayflies objective values
  End for i
  Update p b e s t
  For i = 1: n //all n female mayflies
  If f ( y i ) > f ( x i )
  female mayfly y i flies towards male mayfly x i
  Else
  female mayfly y i flies randomly
  End if
  Discretize the positions of male mayflies to three-layer codes
  Decode and evaluate male mayflies objective values
  End for i
For i = 1: n
Generate offspring mayfly by male mayfly i and female mayfly i crossing
offspring mayfly mutation
End for i
Merge offspring and parent mayflies
Decode and evaluate all mayflies objective values
Select male and female populations for next generation
t = t + 1
End while

3.2. Discrete Mapping of Mayfly

In the MA algorithm, the initialization formula of velocity and position of mayfly is as follows:
P = ( u b l b ) r a n d ( ) + l b
In Equation (9), u b and l b represent the upper and lower boundaries of velocity or position, respectively. P is a set of random number vectors of n × max ( n i ) which represents the initial velocity or position vector of the mayfly.
The workpiece information cannot be read directly from the position vector, so it needs to be discrete mapped and converted into the process code of integer sequence. Considering the example in Table 1, n = 4 , max ( n i ) = 3 , and the mapping process is shown in Table 3. In Table 3, p m n a denotes p m n arranged in ascending order; χ 1 is the original index of p m n a corresponding to p m n ; χ 2 is χ 1 / max ( n i ) rounded up, that is converted to workpiece number; ζ 1 is the occurrence order in turn of the corresponding workpiece in χ 2 , namely, the process number; ζ 2 is that all invalid processes in ζ 1 are set to zeros; and a set of workpiece numbers in χ 2 corresponding to nonzero numbers in ζ 2 is the process code OC.

3.3. Coding and Decoding

According to the problem characteristics of DFJSPD, each mayfly individual represents a solution that contains multiple information of process, factory, machine, and worker. This paper adopts a three-layer coding method: process coding (OC), machine coding (MC), and worker coding (WC). The three vector elements are in one-to-one correspondence, and the factory selection is reflected by machine coding. Considering the data in Table 1 as an example, the coding is shown in Figure 2. The three-layer codes are read from left to right at the same time. Each number in OC represents the workpiece number of the j th occurrence in turn, and j is the process number of the workpiece. The corresponding positions of MC and WC represent the machine that processes the process and the worker who operates the machine.
A feasible solution code can show only the resources allocation information, and the complete scheduling scheme needs to be obtained by decoding. The most commonly used decoding method is the insertion decoding, as shown in Figure 3. Each process is arranged in the earliest processing time of the available idle time window. This method can effectively reduce the waste of idle time, but the utilization of idle time window may not be high.
Therefore, this paper designs an active time window decoding algorithm considering transportation time for DFJSPD. The key is that when a process can be properly adjusted within the available idle time window, the start time is determined at the latest end time, and the larger idle time window is left as far as possible for subsequent processes, as shown in Figure 4. According to the process, transportation time, machine type, and flexible constraints of machine and worker in DFJSPD, as well as whether the preparation time and machining time of each process are affected, are judged and arranged in an appropriate idle time window. The steps of decoding are summarized by the pseudo code shown in Algorithm 2. The main steps are as follows:
Traverse three-layer codes to obtain a process, the selected machine and worker, and the start and stop time of the idle time window of machine and worker;
According to Equations (2)–(8), the actual processing time and the earliest start time of the process are calculated;
Traverse the available idle time window, compare the remaining idle time window after insertion and a v e T k to determine the actual start time of the process. a v e T k is the average processing time of all processes on the machine, as shown in (10):
a v e T k = h = 1 n g = 1 n i ( X h g k T l h g k + X h g k T h g k ) h = 1 n g = 1 n i X h g k
Determine the actual end time of the process, update the idle time window, and decode the next process until all the processes are completed.
Algorithm 2. Pseudo code of the active time window decoding algorithm.
TO←Total processes
for o = 1: TO
O i j = OC(o), M k = MC(o), W s == WC(o)
   M s p a n { k } ←the idle time windows of M k
   W s p a n { s } ←the idle time windows of W s
  // S T X s p a n and E T X s p a n indicates the start and end time of the idle time window X
  If j == 1
   A i j = C i ( j 1 ) + T Y l k ; Y T = T Y l k
  Else
   A i j = 0 ; Y T = 0
  End if
  If H k == 1
    im←total available idle time windows of M k
     M s p a n { k } ( z ) ←the z th available idle time window of M k
     W s p a n { s } ( x ) ←the x th available idle time window of W s
    For z = 1:im
    If S T M s p a n { k } ( z ) == C i ( j 1 )
     W T = P T = 0 ; M T = T i j k ; S i j k s = max { A i j , S T M s p a n { k } ( z ) }
    Else
       M W s p a n = W s p a n { s } [ S T M s p a n { k } ( z ) , E T M s p a n { k } ( z ) M T ]
       x = find ( W s p a n { s } M W s p a n )
      If E T M W s p a n S T M W s p a n > W T
       L p = min ( E T W s p a n { s } ( x ) , E T M s p a n { k } ( z ) M T )
      Else
      End if
Else if
End for z
If L p P T S T M s p a n { k } ( z ) > = a v e T k
S i j k s = L p P T
Else
S i j k s = max { A i j , S T W M s p a n }
End if
Else
     M W s p a n = M s p a n { k } W s p a n { s }
    it←total M W s p a n
    for i = 1:it
       m = find ( M s p a n { k } M W s p a n ( i ) )
    If S T M s p a n { k } ( m ) == C i ( j 1 )
     P T = 0 ; M T = T i j k / e k s ; W T = M T ;
    Else
     P T = T l i j k / e k s ; M T = T i j k / e k s ; W T = P T + M T
    End if
      If A i j > S T M W s p a n ( i ) &&
( E T M W s p a n ( i ) S T M W s p a n ( i ) P T M T ) > = a v e T k
       S i j k s = E T M W s p a n ( i ) P T M T
      break
      Else
       S i j k s = max { A i j , S T W M s p a n ( i ) }
      break
      End if
End for i
End if
C i j k s = S i j k s + P T + M T
Update M s p a n { k } and W s p a n { s }
End for o

3.4. Mixed Initialization

Initializing the population is the premise of intelligent algorithm optimization; the initial population quality has an important influence on the convergence speed and optimization ability of the algorithm. When setting the initial solution, it is necessary to improve the quality of the solution according to the optimization objective. In addition, the diversity of the initial solution should be ensured to avoid the population falling into local optimum. In this paper, that initial position vector of mayfly is discrete mapped for OC, and a variety of initialization rules considering time (population ratio is 4:2:2:1:1) are designed for the corresponding MC and OC.
Heuristic rule based on completion time: Each process in OC is traversed successively to select the worker–machine combination that can minimize the completion time.
Global initialization rule: Each process of each workpiece is traversed successively, and the worker–machine combination for the shortest total cumulative processing time is selected for it.
Local initialization rule: Each process of each workpiece is traversed in turn to select the worker–machine combination for the shortest cumulative processing time of the workpiece.
Single initialization rule: Each process in OC is traversed successively to select the worker–machine combination that can minimize the processing time.
Random initialization rule: Each process in OC is traversed successively to select any worker–machine combination that can process the process.

3.5. Updating of Mayfly

The male mayfly in MA constantly adjusts its velocity and direction according to its historical optimal position ( p b e s t ) and the optimal position in the population ( g b e s t ) to move towards the optimal position. When the male mayfly is in the best position, the wedding dance mode is executed, and its velocity varies according to inertia weight and dance coefficient. The update formulas of the velocity and position of male mayfly are as follows:
m v i j t + 1 = { g m v i j t + a 1 e β r p 2 ( p b e s t i j x i j t ) + a 2 e β r g 2 ( g b e s t j x i j t ) , if   f ( x i ) > f ( g b e s t ) g m v i j t + d r , if   f ( x i ) f ( g b e s t )
x i j t + 1 = x i j t + m v i j t + 1
where m v i j t is the velocity of the male mayfly i in dimension j at time step t . g is the inertia weight. a 1 and a 2 are positive attraction constants used to scale the contribution of the cognitive and social component respectively. β is a fixed visibility coefficient. d is the nuptial dance coefficient. r is a random value in the range [–1,1]. r p is the Cartesian distance between x i t and p b e s t i j , and r g is the Cartesian distance between x i t and g b e s t j . In Equation (12), x i j t is the position of the male mayfly i in dimension j at time step t .
In order to reproduce offspring, female mayflies are attracted by male mayflies. They adjust their velocity and direction to fly towards male mayflies and keep approaching. When a female mayfly is not attracted by a male mayfly, it flies randomly. The update formulas of the velocity and position of female mayfly are as follows:
f v i j t + 1 = { g f v i j t + a 2 e β r m f 2 ( x i j t y i j t ) , if   f ( y i ) > f ( x i ) g f v i j t + f l r , if   f ( y i ) f ( x i )
y i j t + 1 = y i j t + f v i j t + 1
where f v i j t is the velocity of the female mayfly i in dimension j at time step t . f l is a randomly walk coefficient, and r m f is the Cartesian distance between male and female mayflies. In Equation (12), y i j t is the position of the female mayfly i in dimension j at time step t .
In order to balance the global exploitation and local exploration in the early and late stages of the algorithm, the dynamic inertia weight is adopted [19], which linearly decreases with the number of iterations. After the mayfly position is updated, it is mapped to process code according to the discrete method in Section 3.2. The original worker–machine combination of each process is unchanged, and their positions are changed accordingly. After updating the position of mayfly corresponding to the process code in Figure 2, the three-layer codes after discrete mapping are as shown in Figure 5.

3.6. Crossover and Mutation Operators

The crossover operation of the original MA algorithm is based on the quality of the solution. A male mayfly breeds with the female mayfly at the same fitness level with it; however, the original crossover formula is applicable to the continuous optimization problem [25]. Therefore, in this paper, crossover and mutation operators are designed respectively for the characteristics of the three-layer codes.
(1) Crossover operator
(a) The IPOX crossover operator is adopted on OC. (b) An improved IMPX crossover operator [26] is adopted on MC. If the machine is unavailable after exchanging, a machine with the shortest processing time is selected from the set of alternative machines for the corresponding process. (c) Since it is assumed that workers cannot transfer across factories, a two-point crossover operator considering factory constraint is designed for WC. For the parent P1, two crossover points are selected and exchanged respectively with any two workers in the same factory in the parent P2. If the worker after the exchange is unavailable, a worker with the highest efficiency is selected in the optional workers set for the corresponding machine. Three crossover operators are shown in Figure 6, where P represents the parent and C represents the offspring.
(2) Mutation operator
(a) Reverse sequence mutation is adopted on OC. The genes reverse sequence exchange between two different mutation sites randomly selected, and MC and WC are adjusted accordingly to keep the original worker–machine combination of each process unchanged. (b) The mutation rules on MC are the same as OC, and if the machine after mutating is unavailable, the worker–machine combination is reselected in the optional machines and workers set. (c) Two points of mutation are adopted on WC, that is, randomly selecting two different workers in a factory to exchange positions. If the worker after the exchange is unavailable, a worker with the highest efficiency is selected in the optional workers set for the corresponding machine. The three mutation operators are shown in Figure 7.

4. Experiment and Analysis

4.1. Testing Instances and Parameter Setting

Since there are few previous studies on DFJSPD, there are no relevant benchmark instances for reference and test. This paper designed 20 DFJSPD instances of isomorphism and isomerism factories by extending 10 FJSP benchmarks of Brandimarte [27] that are widely applicable in the field of FJSP and used by a large number of researchers [9,28,29].
(1) Isomorphism factories instances (SMk01-SMk10)
The quantity and functional flexibility of machines and workers in isomorphism factories are the same. Set the workpieces processing time and the worker–machine information and copy these to construct factories F1 and F2 with the same processing environment.
(2) Isomerism factories instances (DMk01-DMk10)
There are differences in the number and function flexibility of machines and workers in isomerism factories. Split the machine information and the number of workers of factory F1 in isomorphism factories instances to construct factories F1 and F2, respectively; workers’ skills in each factory are completely flexible.
For any instance, the process preparation time is generated in U [ 2 , 8 ] , the worker efficiency is generated randomly in U [ 0.8 , 1.2 ] , the transportation time between machines in the same factory is generated in U [ 1 , 5 ] , and the transportation time between machines in different factories is generated in U [ 6 , 10 ] [9]. A total of 30% of the machines are selected as CNC machines. The scale and machines information of each instance are shown in Table 4. n × ( m × w ) × F represents n workpieces processed in F factories, and m machines and w workers are in each factory.
To verify the superior performance of IMA, it was compared with the results of traditional MA, GA, PSO, and FA algorithms. Traditional algorithms adopt three-layer encoding, random initialization, and insertion decoding methods. The parameter settings of the algorithms are shown in Table 5. All experiments are run on MATLAB R2020a.

4.2. Results Analysis

In order to avoid random differences, each instance is solved 20 times by each algorithm, and the results of isomorphism and isomerism factories instances are shown in Table 6 and Table 7. C max min and C max a v e are the optimal and mean value, respectively, of 20 results of an algorithm.
Table 6 and Table 7 show that due to the randomness of population initialization and evolution process, there are differences among the results of each example. Overall, the optimal value and mean value of IMA are less than other algorithms. The larger the scale of the example, the more obvious the difference. This shows that the active time window decoding can better coordinate resources and reduce idle time, especially when solving large-scale problems.
To significantly compare algorithms differences, two evaluation indicators are designed according to the literature [29]: the minimum value of relative percentage deviation (MRPD) and the average value of relative percentage deviation (ARPD). The calculation formulas are as follows:
M R P D = C max min C max l o w C max l o w × 100
A R P D = 1 s i = 1 s ( C max i C max l o w C max l o w × 100 )
In Equations (15)–(16), for any instance, C max i is the i th result of an algorithm solving it, C max l o w is the optimal value of all the results of all the algorithms, s is the number of iterations of solving. The smaller the MRPD, the better the accuracy of the algorithm convergence; the smaller the MRPD, the better the stability of the algorithm. The values of MRPD and ARPD are shown in Table 8 and Table 9.
From Table 8 and Table 9, it can be seen that all the MRPD values of IMA for 20 DFJSPD instances are 0, that is, the optimal results of IMA are the best in all algorithms which indicates that IMA converges more accurately than others. In most instances, the differences of MRPD values between MA and GA are small, and the probability of obtaining the suboptimal solution is greater than PSO and FA; this indicates that the crossover and mutation operations of MA and GA can expand the search range and improve the probability of obtaining the better solution, while the operation of updating the position according to the better solution of PSO and FA has low solution accuracy and can easily fall into local optimum. Comparing the values of ARPD, the average performance of IMA is better than MA, GA, PSO, and FA, which shows that IMA hybrid initialization strategy and improved crossover and mutation operators generally improve the solution quality and stability of the algorithm.
Average CPU time of all instances are listed in Table 10.
It can be seen from isomorphism instances in Table 10 that the IMA costs 6.83% more CPU time than MA, 2.96% more than GA, 5.65% more than PSO, and 0.65% more than FA, on average. It can be seen from isomerism instances in Table 10 that the IMA costs 4.62% more CPU time than MA, 2.53% more than GA, 4.09% more than PSO, and 0.83% more than FA, on average. In addition, as the scale of the problem increases, IMA costs more CPU time than other algorithms. This indicates that the discrete mapping, crossover, and mutation strategies of IMA can slightly reduce the computational efficiency, especially for large-scale problems.
The convergence performance of the algorithm is analyzed by considering example DMk01. It can be seen from Figure 8 that the hybrid initialization strategy of IMA improves the quality of the initial population. The five algorithms can converge to their respective optimal solutions, but the convergence speed of GA and FA is slow and the solution accuracy is low, converging to 74.28 and 75.79, respectively. PSO has the fast convergence speed, but it is subject to premature converging to 74.33. The convergence speeds of IMA and MA are fast in the early stage, and the completion time converges to approximately 70 in the 30th generation. The wedding dance and random flight operations in the late iteration make the algorithm jump out of local optimum, but the accuracy of the crossover and mutation methods of MA is not high, converging to 70.03. The multiple crossover and mutation operators of IMA can expand the search range, and found the optimal solution at 68.03. Overall, the optimization ability and speed of IMA are better than other four algorithms.
From the Gantt charts of the optimal solutions of SMk01 and DMk01 in Figure 9, Figure 10, Figure 11 and Figure 12, it can be seen that the scheduling schemes of the same number of workpieces in distributed factories with different structures are different, and the final completion time is also different. Workpieces are circulated among multiple open structure factories, and the processing resources of each factory can be fully utilized in time. The workpieces are transferred among multiple open structure factories, which can make full use of the processing resources of each factory timely. The more comprehensive the resources, the higher the processing efficiency. This paper can provide a more clear and accurate scheduling scheme for distributed factories collaborative intelligent manufacturing with different structures.

5. Conclusions

In the actual distributed flexible job shop production process, the worker–machine dual resource constraints and the transportation time of workpiece flowing among machines seriously affect the scheduling plan. In order to construct a scheduling model that is more in line with the actual processing situation, this paper establishes the DFJSPD model with the optimization objective of the minimum of maximum completion time. For the multiple constraints of the discrete DFJSPD problem, the mayfly algorithm is improved by using the discrete mapping method of continuous variables, three-layer coding, decoding algorithm of an active time window, hybrid initialization strategy, and the crossover and mutation operator of three-layer codes to improve the global exploitation and local exploration performance of MA. Finally, the basic instances are expanded to design the instances of isomorphism and isomerism factories. The simulation experiments are carried out and compared with various algorithms. The results show that IMA is superior to other algorithms in terms of solution quality and stability without a sharp decrease in the solution efficiency. The model and algorithm in this paper can help enterprises realize distributed collaborative intelligent manufacturing.
However, the above research is still insufficient and needs to be further optimized. In the practical production environment, transport resources are not at one’s unlimited disposal, and this paper had a lack of consideration of transport resources constraints. In addition, the IMA has the defect of low computational efficiency while solving large-scale DFJSPD problems, which will affect production efficiency. Therefore, in the future, this paper will study DFJSP scheduling methods under more resource constraints and explore intelligent scheduling algorithms with better performance and efficiency.

Author Contributions

Conceptualization, S.Z. and Z.L.; methodology, S.Z., T.H., Q.Q. and S.M.A.; software, A.G. and M.I.; validation, S.Z., G.K. and Z.L.; formal analysis, T.H. and Q.Q.; investigation, S.Z., A.G., S.M.A. and M.I.; resources, Z.L., G.K. and M.I.; data curation, S.Z., T.H. and Q.Q.; writing—original draft preparation, S.Z., M.I. and Z.L.; writing—review and editing, A.G., S.M.A. and G.K.; visualization, A.G.; supervision, Z.L.; project administration, S.Z.; funding acquisition, M.I. and Z.L. All authors have read and agreed to the published version of the manuscript.

Funding

The research leading to these results has received funding from the Norway Grants 2014-2021 operated by National Science Centre under Project Contract No 2020/37/K/ST8/02748.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

All data that can reproduce the results in this study can be requested from the corresponding author.

Acknowledgments

The authors acknowledge the support from the Deanship of Scientific Research, Najran University, Kingdom of Saudi Arabia, for funding this work under the Research Collaboration funding program grant code number (NU/RC/SERC/11/7).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Viana, M.S.; Contreras, R.C.; Morandin Junior, O. A New Frequency Analysis Operator for Population Improvement in Genetic Algorithms to Solve the Job Shop Scheduling Problem. Sensors 2022, 22, 4561. [Google Scholar] [CrossRef] [PubMed]
  2. Wang, K. Migration strategy of cloud collaborative computing for delay-sensitive industrial IoT applications in the context of intelligent manufacturing. Comput. Commun. 2020, 150, 413–420. [Google Scholar] [CrossRef]
  3. Zhou, L.; Jiang, Z.; Geng, N.; Niu, Y.; Cui, F.; Liu, K.; Qi, N. Production and operations management for intelligent manufacturing: A systematic literature review. Int. J. Prod. Res. 2022, 60, 808–846. [Google Scholar] [CrossRef]
  4. Jiang, Z.; Yuan, S.; Ma, J.; Wang, Q. The evolution of production scheduling from Industry 3.0 through Industry 4.0. Int. J. Prod. Res. 2021, 60, 3534–3554. [Google Scholar] [CrossRef]
  5. Huang, J.; Chang, Q.; Arinez, J. Distributed Production Scheduling for Multi-Product Flexible Production Lines. In Proceedings of the 16th International Conference on Automation Science and Engineering (CASE), Hong Kong, 20–21 August 2020; pp. 1473–1478. [Google Scholar]
  6. Shao, W.; Shao, Z.; Pi, D. Modeling and multi-neighborhood iterated greedy algorithm for distributed hybrid flow shop scheduling problem. Knowl.-Based Syst. 2020, 194, 105527. [Google Scholar] [CrossRef]
  7. De Giovanni, L.; Pezzella, F. An improved genetic algorithm for the distributed and flexible job-shop scheduling problem. Eur. J. Oper. Res. 2010, 200, 395–408. [Google Scholar] [CrossRef]
  8. Ziaee, M. A heuristic algorithm for the distributed and flexible job-shop scheduling problem. J. Supercomput. 2014, 67, 69–83. [Google Scholar] [CrossRef]
  9. Sang, Y.; Tan, J. Intelligent factory many-objective distributed flexible job shop collaborative scheduling method. Comput. Ind. Eng. 2022, 164, 107884. [Google Scholar] [CrossRef]
  10. 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]
  11. Meng, L.; Zhang, C.; Ren, Y.; Zhang, B.; Lv, C. Mixed-integer linear programming and constraint programming formulations for solving distributed flexible job shop scheduling problem. Comput. Ind. Eng. 2020, 142, 106347. [Google Scholar] [CrossRef]
  12. 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]
  13. Gong, G.; Chiong, R.; Deng, Q.; Luo, Q. A memetic algorithm for multi-objective distributed production scheduling: Minimizing the makespan and total energy consumption. J. Intell. Manuf. 2020, 31, 1443–1466. [Google Scholar] [CrossRef]
  14. Du, Y.; Li, J.-Q.; Luo, C.; Meng, L.-L. A hybrid estimation of distribution algorithm for distributed flexible job shop scheduling with crane transportations. Swarm Evol. Comput. 2021, 62, 100861. [Google Scholar] [CrossRef]
  15. Meng, L.; Zhang, C.; Zhang, B.; Ren, Y. Mathematical Modeling and Optimization of Energy-conscious Flexible Job Shop Scheduling Problem with Worker Flexibility. IEEE Access 2019, 7, 68043–68059. [Google Scholar] [CrossRef]
  16. Obimuyiwa, D. Solving Flexible Job Shop Scheduling Problem in the Presence of Limited Number of Skilled Cross-Trained Setup Operators. Ph.D. Thesis, University of Guelph, Guelph, Canada, 2020. [Google Scholar]
  17. Gong, G.; Chiong, R.; Deng, Q.; Gong, X. A hybrid artificial bee colony algorithm for flexible job shop scheduling with worker flexibility. Int. J. Prod. Res. 2020, 58, 4406–4420. [Google Scholar] [CrossRef]
  18. Zhang, S.; Du, H.; Borucki, S.; Jin, S.; Hou, T.; Li, Z. Dual resource constrained flexible job shop scheduling based on improved quantum genetic algorithm. Machines 2021, 9, 108. [Google Scholar] [CrossRef]
  19. Zervoudakis, K.; Tsafarak, S. A mayfly optimization algorithm. Comput. Ind. Eng. 2020, 145, 106559. [Google Scholar] [CrossRef]
  20. Zarrouk, R.; Bennour, I.E.; Jemai, A. A two-level particle swarm optimization algorithm for the flexible job shop scheduling problem. Swarm Intell. 2019, 13, 145–168. [Google Scholar] [CrossRef]
  21. Nayak, S.; Sood, A.K.; Pandey, A. Integrated Approach for Flexible Job Shop Scheduling Using Multi-objective Genetic Algorithm. In Advances in Mechanical and Materials Technology; Springer: Singapore, 2022; pp. 387–395. [Google Scholar]
  22. Miller-Todd, J.; Steinhöfel, K.; Veenstra, P. Firefly-inspired algorithm for job shop scheduling. In Adventures between Lower Bounds and Higher Altitudes; Springer: Cham, Switzerland, 2018; pp. 423–433. [Google Scholar]
  23. Gupta, J.; Nijhawan, P.; Ganguli, S. Parameter estimation of fuel cell using chaotic Mayflies optimization algorithm. Adv. Theory Simul. 2021, 4, 2100183. [Google Scholar] [CrossRef]
  24. Mo, S.; Ye, Q.; Jiang, K.; Mo, X.; Shen, G. An improved MPPT method for photovoltaic systems based on mayfly optimization algorithm. Energy Rep. 2022, 8, 141–150. [Google Scholar] [CrossRef]
  25. Xie, X.; Zheng, J.; Feng, M.; He, S.; Lin, Z. Multi-Objective Mayfly Optimization Algorithm Based on Dimensional Swap Variation for RFID Network Planning. IEEE Sens. J. 2022, 22, 7311–7323. [Google Scholar] [CrossRef]
  26. Wu, R.; Li, Y.; Guo, S.; Xu, W. Solving the dual-resource constrained flexible job shop scheduling problem with learning effect by a hybrid genetic algorithm. Adv. Mech. Eng. 2018, 10, 1687814018804096. [Google Scholar] [CrossRef]
  27. Brandimarte, P. Routing and scheduling in a flexible job shop by tabu search. Ann. Oper. Res. 1993, 41, 157–183. [Google Scholar] [CrossRef]
  28. Lei, D.; Guo, X. Variable neighbourhood search for dual-resource constrained flexible job shop scheduling. Int. J. Prod. Res. 2014, 52, 2519–2529. [Google Scholar] [CrossRef]
  29. Zheng, X.L.; Wang, L. A knowledge-guided fruit fly optimization algorithm for dual resource constrained flexible job-shop scheduling problem. Int. J. Prod. Res. 2016, 54, 5554–5566. [Google Scholar] [CrossRef]
Figure 1. Schematic diagram of DFJSPD scheduling.
Figure 1. Schematic diagram of DFJSPD scheduling.
Sustainability 14 12120 g001
Figure 2. Schematic diagram of coding.
Figure 2. Schematic diagram of coding.
Sustainability 14 12120 g002
Figure 3. Insertion decoding.
Figure 3. Insertion decoding.
Sustainability 14 12120 g003
Figure 4. Active time window decoding.
Figure 4. Active time window decoding.
Sustainability 14 12120 g004
Figure 5. The codes after updating of mayfly.
Figure 5. The codes after updating of mayfly.
Sustainability 14 12120 g005
Figure 6. Crossover operators.
Figure 6. Crossover operators.
Sustainability 14 12120 g006
Figure 7. Mutation operators.
Figure 7. Mutation operators.
Sustainability 14 12120 g007
Figure 8. Algorithms iteration process diagram of DMk01.
Figure 8. Algorithms iteration process diagram of DMk01.
Sustainability 14 12120 g008
Figure 9. The Machine Gantt chart of SMk01 with Optimal solution.
Figure 9. The Machine Gantt chart of SMk01 with Optimal solution.
Sustainability 14 12120 g009
Figure 10. The Worker Gantt chart of SMk01 with Optimal solution.
Figure 10. The Worker Gantt chart of SMk01 with Optimal solution.
Sustainability 14 12120 g010
Figure 11. The Machine Gantt chart of DMk01 with Optimal solution.
Figure 11. The Machine Gantt chart of DMk01 with Optimal solution.
Sustainability 14 12120 g011
Figure 12. The Worker Gantt chart of DMk01 with Optimal solution.
Figure 12. The Worker Gantt chart of DMk01 with Optimal solution.
Sustainability 14 12120 g012
Table 1. An example of DFJSPD.
Table 1. An example of DFJSPD.
WorkpieceProcess F 1 F 2 WorkpieceProcess F 1 F 2
M 1 M 2 M 3 M 4 M 5 M 6 M 1 M 2 M 3 M 4 M 5 M 6
J 1 O 11 1/32/5-2/4-1/3 J 3 O 31 -2/41/32/5-3/7
O 12 1/2-2/42/41/3- O 32 3/6-2/4-1/32/4
J 2 O 21 -2/53/7-2/4- O 33 1/32/52/42/5-3/7
O 22 1/3-1/32/42/5- J 4 O 41 -3/72/42/53/63/7
O 23 3/72/5-2/4-3/6 O 42 3/62/4-2/53/7-
Notes: M : CNC machine; M : ordinary machine; a/b: preparation time/machining time.
Table 2. The notations of the DFJSPD model.
Table 2. The notations of the DFJSPD model.
NotationDescriptionNotationDescription
i , h index of workpieces k , l index of machines
j , g index of processes s , r index of workers
O i j k the front process of process O i j on the machine k
T i j k basic machining time of process O i j on machine k
T 1 i j k basic preparation time of process O i j on machine k
e k s efficiency of worker s operating machine k
P i j k s actual processing time of process O i j by worker s operating machine k
S i j k s starting time of process O i j processed by worker s operating machine k
C i j k s completion time of process O i j processed by worker s operating machine k
C f and   C i completion times of factory f and workpiece i
T Y k l transportation time between machines k and l
X i j k s 1, if process O i j is processed by worker s operating the machine k ; 0, otherwise
X i j i j k 1, if i = i and j = j 1 , that is the front process the machine k where process O i j is located, is the front process of the same workpiece; 0, otherwise
Y i k l 1, workpiece i is transported between machines k and l ; 0, otherwise
H k 1, machine k is CNC-machine; 0, otherwise
Table 3. Discrete mapping of the position vector of mayfly.
Table 3. Discrete mapping of the position vector of mayfly.
Index p m n p m n a χ 1 χ 2 ζ 1 ζ 2 OC
10.25800.040273113
20.69340.0613114114
30.09770.097731111
40.69200.258011221
50.59830.598352112
60.71390.630183223
70.04020.6919104224
80.63010.692042222
90.70030.69342130
100.69190.700393333
110.06130.713962332
120.91850.918512430
Table 4. Descriptions of the DFJSPD instances.
Table 4. Descriptions of the DFJSPD instances.
Isomorphism Factories Instance Scale CNC MachinesIsomerism Factories InstanceScale CNC Machines
n × ( m × w ) × f n × ( m × w ) × f
SMk0110 × (6 × 4) × 22,4,8,10DMk0110 × (3 × 2) × 22,4
SMk0210 × (6 × 4) × 22,4,8,10DMk0210 × (3 × 2) × 22,4
SMk0315 × (8 × 6) × 21,8,9,16DMk0315 × (4 × 3) × 21,8
SMk0415 × (8 × 6) × 21,3,9,11DMk0415 × (4 × 3) × 21,3
SMk0515 × (4 × 3) × 23,7DMk0515 × (2 × 2) × 23
SMk0610 × (15 × 8) × 22,3,4,7,17,18,19,22DMk0610 × ((8 × 4) + (7 × 4))2,3,4,7
SMk0720 × (5 × 4) × 22,7DMk0720 × ((3 × 2) + (2 × 2))2
SMk0820 × (10 × 6) × 21,3,10,11,13,20DMk0820 × (5 × 3) × 21,3,10
SMk0920 × (10 × 6) × 22,4,8,12,14,18DMk0920 × (5 × 3) × 22,4,8
SMk1020 × (15 × 8) × 22,3,7,10,17,18,22,25DMk1020 × ((8 × 4) + (7 × 4))2,3,7,10
Table 5. Parameters setting of algorithms.
Table 5. Parameters setting of algorithms.
Algorithm Population ScaleNumber of IterationsOther Parameters
IMAfemale: 50, male: 50200 a 1 = 1 , a 2 = a 3 = 1.5 , β = 2 , d = f l = 1 , g max = 1.5 , g min = 0.4
MAfemale: 50, male: 50200 a 1 = 1 , a 2 = a 3 = 1.5 , β = 2 , d = f l = 1 , g = 0.8
GA100200crossover rate 0.8, mutation rate 0.05
PSO100200inertia weight ω = 0.8 , learning factor c 1 = c 2 = 2
FA100200attractiveness of firefly β 0 = 1 , light absorption
coefficient γ = 1 , random parameter α = 0.3
Table 6. The results of isomorphism factories instances.
Table 6. The results of isomorphism factories instances.
IMAMAGAPSOFA
C max min C max a v e C max min C max a v e C max min C max a v e C max min C max a v e C max min C max a v e
SMk0142.8243.8645.2146.2646.8347.6646.4947.3847.2248.04
SMk0231.7832.3932.9333.3833.1033.4333.7034.6634.5335.11
SMk03154.28156.06155.38157.77155.86156.89164.85165.28163.59165.03
SMk0463.8365.6367.6068.3966.5167.8968.5369.9967.7069.51
SMk05142.02145.27147.78149.69149.21156.52148.93154.08150.30158.20
SMk0691.6693.0293.9494.7794.1295.0996.1897.5795.6996.47
SMk07122.00124.35126.06128.36126.30128.19128.67131.26127.30130.64
SMk08430.00435.96445.59447.21441.00447.72446.53453.16447.31451.48
SMk09319.41321.98329.40332.58330.24334.33349.96351.68342.18346.66
SMk10237.13240.55245.76256.69248.64259.62252.78256.63260.37262.41
Table 7. The results of isomerism factories instances.
Table 7. The results of isomerism factories instances.
IMAMAGAPSOFA
C max min C max a v e C max min C max a v e C max min C max a v e C max min C max a v e C max min C max a v e
DMk0168.0369.9770.0373.2774.2876.6374.3376.0875.7977.00
DMk0245.5647.3846.0347.9946.5448.6348.7450.6048.3950.70
DMk03235.26257.21268.34284.60263.26279.46266.92287.95276.92286.13
DMk04104.51111.52114.19117.74112.84118.54118.45122.00116.93122.60
DMk05234.53243.02256.25270.02256.93268.72258.51271.35260.77272.13
DMk06133.89142.71153.49158.90150.54159.85153.72161.22157.08160.73
DMk07213.13225.70228.69238.58232.32239.04249.30253.57249.30252.71
DMk08735.70765.51788.57811.98770.23805.96801.65836.58781.34844.57
DMk09529.02547.75569.38585.13550.38572.43556.30585.96571.10591.50
DMk10428.64447.54458.24463.94446.04469.25468.68480.76466.86479.06
Table 8. Evaluation results of isomorphism factories instances.
Table 8. Evaluation results of isomorphism factories instances.
Instance C max l o w IMAMAGAPSOFA
MRPDARPDMRPDARPDMRPDARPDMRPDARPDMRPDARPD
SMk0142.8202.445.588.049.3611.318.5710.6510.2812.19
SMk0231.7801.913.625.044.155.206.049.068.6510.47
SMk03154.2801.160.712.261.021.696.857.136.036.97
SMk0463.8302.775.867.104.156.317.319.596.018.84
SMk05142.0202.294.065.405.0610.214.878.495.8311.39
SMk0691.6601.492.493.392.683.744.936.454.395.24
SMk07122.0001.933.335.213.525.075.477.594.347.09
SMk08430.0001.393.634.002.564.123.845.394.035.00
SMk09319.4100.803.134.123.394.679.5610.107.138.53
SMk10237.1301.443.648.254.859.486.608.229.8010.66
Table 9. Evaluation results of isomerism factories instances.
Table 9. Evaluation results of isomerism factories instances.
Instance C max l o w IMAMAGAPSOFA
MRPDARPDMRPDARPDMRPDARPDMRPDARPDMRPDARPD
DMk0168.0302.852.947.709.1912.649.2611.8411.4113.18
DMk0245.5604.001.035.342.156.736.9811.076.2111.28
DMk03235.2609.3314.0620.9711.9018.7913.4622.3917.7121.62
DMk04104.5106.719.2612.667.9713.4313.3416.7311.8817.31
DMk05234.5303.629.2615.1311.1916.0310.2215..709.5514.58
DMk06133.8906.5915.3918.8312.4419.3914.8120.4117.3220.04
DMk07213.1305.907.3011.949.0012.1616.9718.9816.9718.57
DMk08735.7004.057.1910.374.699.558.9613.716.2014.80
DMk09529.0203.547.6310.614.048.205.1610.767.9511.81
DMk10428.6404.416.918.244.069.479.3812.168.9211.76
Table 10. Average CPU time.
Table 10. Average CPU time.
InstanceAverage CPU Time/sInstanceAverage CPU Time/s
IMAMAGAPSOFAIMAMAGAPSOFA
SMk0110.219.7210.2110.0610.38DMk0113.2012.9313.0513.1613.38
SMk0211.6710.6411.3010.8111.94DMk0213.4013.0213.2713.0413.48
SMk0339.3138.5139.4638.6739.84DMk0344.0243.4843.8743.6744.05
SMk0412.1411.6012.6711.9712.25DMk0417.1516.6417.1416.9017.19
SMk0541.5239.5741.5440.4941.81DMk0546.2345.3246.1245.6346.30
SMk0635.3731.6034.0832.1934.81DMk0640.8037.6738.1437.8740.42
SMk0731.7227.5429.6127.9330.64DMk0738.4834.1436.8034.6737.39
SMk0880.8076.4377.6476.8580.30DMk08106.91102.45103.61102.64106.67
SMk0979.3174.1575.3474.3678.48DMk0999.8796.3297.6096.9398.18
SMk1068.1064.1666.4964.8967.07DMk1087.7583.4085.6983.3686.55
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhang, S.; Hou, T.; Qu, Q.; Glowacz, A.; Alqhtani, S.M.; Irfan, M.; Królczyk, G.; Li, Z. An Improved Mayfly Method to Solve Distributed Flexible Job Shop Scheduling Problem under Dual Resource Constraints. Sustainability 2022, 14, 12120. https://doi.org/10.3390/su141912120

AMA Style

Zhang S, Hou T, Qu Q, Glowacz A, Alqhtani SM, Irfan M, Królczyk G, Li Z. An Improved Mayfly Method to Solve Distributed Flexible Job Shop Scheduling Problem under Dual Resource Constraints. Sustainability. 2022; 14(19):12120. https://doi.org/10.3390/su141912120

Chicago/Turabian Style

Zhang, Shoujing, Tiantian Hou, Qing Qu, Adam Glowacz, Samar M. Alqhtani, Muhammad Irfan, Grzegorz Królczyk, and Zhixiong Li. 2022. "An Improved Mayfly Method to Solve Distributed Flexible Job Shop Scheduling Problem under Dual Resource Constraints" Sustainability 14, no. 19: 12120. https://doi.org/10.3390/su141912120

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