Next Article in Journal
Removal of COD from Secondary Effluent Using Fenton Iron Sludge-Based Biochar/Fe(VI)/H2O2 Process
Previous Article in Journal
ML-Empowered Microservice Workload Prediction by Dual-Regularized Matrix Factorization
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Research on Multi-Objective Flexible Job Shop Scheduling Optimization Based on Improved Salp Swarm Algorithm in Rolling Production Mode

1
School of Mechanical Engineering, Shandong University, Jinan 250061, China
2
Key Laboratory of High-Efficiency and Clean Mechanical Manufacture, Ministry of Education, Shandong University, Jinan 250061, China
3
Shelfoil Petroleum Equipment & Services Co., Ltd., Dezhou 253034, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2025, 15(11), 5947; https://doi.org/10.3390/app15115947
Submission received: 27 March 2025 / Revised: 20 May 2025 / Accepted: 22 May 2025 / Published: 25 May 2025

Abstract

:
To address the multi-objective flexible job shop scheduling problem in rolling production mode (FJSP-RPM), this study proposes a Multi Objective Improved of Salp Swarm Algorithm (MISSA) that simultaneously optimizes equipment utilization and total tardiness. The MISSA generates initial population through various heuristic strategies to improve the initial population quality. The exploitation capability of the algorithm is enhanced through the global crossover strategy and variety of local search strategies. In terms of improvement strategies, the MISSA (using all three strategies) outperforms other incomplete variant algorithms (using only two strategies) in three metrics: Generational Distance (GD), Inverted Generational Distance (IGD), and diversity metric, achieving superior results in 9 test cases, 8 test cases, and 4 test cases respectively. When compared with NSGA2, NSGA3, and SPEA2 algorithms, the MISSA demonstrates advantages in 8 test cases for GD, 8 test cases for IGD, and 7 test cases for the diversity metric. Additionally, the distribution of the obtained solution sets is significantly better than that of the comparative algorithms, which validats the effectiveness of the MISSA in solving FJSP-RPM.

1. Introduction

As a core challenge in manufacturing production planning, scheduling optimization for complex workshops significantly enhances enterprise productivity and reduces operational costs [1]. The flexible job shop scheduling problem (FJSP), an extension of the classical job shop scheduling problem (JSP), involves both process sequencing and machine allocation, rendering it NP-hard.
The approximate algorithm represented by metaheuristic optimization algorithm is a promising solution for FJSP. It can effectively mitigate the disadvantages of traditional exact algorithms such as high computational cost and difficulty in solving large-scale problems. Many studies have investigated this topic. Fei et al. [2] considered two objective functions, maximum completion time and carbon emissions. They used an improved chimpanzee optimization algorithm to solve the multi-objective green flexible workshop scheduling problem. By introducing improved mechanisms, such as dynamic convergence factor and variable neighborhood search, the exploitation capabilities of the algorithm were enhanced. In addition, the effectiveness of the algorithm in reducing carbon emissions in flexible workshops was verified through experiments. Han et al. [3] studied the integrated scheduling problem of FJSP and Automated Guided Vehicle (AGV) with the objective function of minimizing the maximum completion time. A new mixed integer linear programming model and dual population collaborative genetic algorithm was proposed. Xu et al. [4] proposed a hybrid algorithm combining quantum particle swarm optimization and variable neighborhood search to efficiently solve FJSP with the goal of maximum completion time. The stability and applicability of the algorithm were verified through testing on standard test cases and an industrial case. Huang et al. [5] used memetic algorithm to solve the problem of green type-2 fuzzy flexible workshop. Ensieh et al. [6] proposed a simulation optimization framework for solving stochastic flexible job shop scheduling problems in the semiconductor manufacturing industry. Philipp et al. [7] proposed a new solution algorithm based on quantum annealing, which combines the power of quantum annealing with classical techniques for calculating FJSP. Gong et al. [8] proposed an FJSP model with flexible discrete operation order, considering that some job operations in the real job process do not have any order constraints. They verified the effectiveness of the model through CPLEX (a mathematical programming solver developed by IBM). In summary, most current FJSP models aim to minimize the maximum completion time as their core objective. Metaheuristic optimization algorithms have demonstrated significant advantages in solving the FJSP.
However, traditional FJSP has two limitations. First, it is too idealistic. Current research is mostly based on the assumption of static scheduling, generating the global optimal solution at once. This deviates from the actual production of the enterprises. In actual machining operations, the scheduling workload is generally greater than the equipment capacity. New parts will be rolled into production at regular production cycles. The scheduling plan should be a periodic rolling adjustment. Therefore, this article describes a rolling production mode (defined in Section 3). The second limitation of traditional FJSP is that although FJSP has multiple scheduling objectives, current research mostly focuses on minimizing the maximum completion time as the core objective (without considering the delivery time of each workpiece). In the process of actual machining operations, each workpiece has an expected delivery date. On the one hand, enterprises need to avoid delays, and on the other hand, they hope to reduce equipment idle rates.
On this basis, this article proposes a flexible job shop scheduling model under the rolling production mode. The aim is to simultaneously maximize equipment utilization during the rolling production cycle and minimize total delay time to better meet the actual needs of enterprises. The Multi Objective Improved of Salp Swarm Algorithm (MISSA) is used to address this challenge. In order to extend the application of the SSA to workshop scheduling problems, a conversion strategy between real-coded vectors and integer-coded vectors is designed. In order to improve the quality of the initial population and accelerate the convergence speed of the algorithm, various heuristic strategies such as the maximum residual load rule and the shortest processing time rule are introduced. During the algorithm iteration process, corresponding global and local search strategies were designed for process sorting encoding and machine selection encoding to further enhance the exploitation capabilities of the improved algorithm. Finally, the feasibility of the improved strategy and the effectiveness of the improved algorithm were verified through comparative experiments.

2. Related Work

2.1. Rolling Production Mode

The emergence of the rolling production mode stems from enterprises’ dual needs to maximize equipment utilization and dynamically adapt to continuous orders. Firstly, manufacturers need to avoid idle equipment through continuous production task allocation. Secondly, in real-time order-receiving scenarios, new orders and corresponding workpieces continuously enter the production system. Unlike traditional FJSP, the rolling production mode does not create a scheduling plan for the entire production cycle at once. Instead, it divides the production plan into multiple cycles. At the end of each cycle, rescheduling is carried out based on the current production status, order demand, and resource availability. By continuously rolling adjustments and optimizing scheduling, the dynamic adaptability of the plan is maintained, and equipment utilization is fully maximized. Although some literature [9] mentions the rolling production mode, there is currently no authoritative study that formally defines this concept.
In order to improve equipment utilization, some studies have adopted a workpiece batching strategy to reduce the risk of equipment vacancy. For example, Pinar et al. [10] constructed a batch scheduling model under dual constraints of set time and transportation resources. Hajibabaei et al. [11] studied the scheduling problem of batch flow shop. A competitive and cooperative bird optimization algorithm was proposed in [12] for solving the batch scheduling problem in flexible job shops. Yu et al. [13] conducted research on batch processing and scheduling problems in mixed flow workshops. They minimize total job delays and improve machine utilization by determining the number and composition of batches. Ozturk et al. [14] proposed a branch and bound parallel batch scheduling algorithm that performs batch scheduling for jobs with different date attributes to improve device utilization. There are also methods that use rolling production planning to improve equipment utilization. For example, Huang et al. [9] proposed an improved genetic algorithm to solve the flexible job shop scheduling problem in rolling production mode. In summary, there is currently relatively little research on scenarios based on the rolling production mode.

2.2. Salp Swarm Algorithm

2.2.1. Basic Process of Salp Swarm Algorithm

In nature, salps form a chain like structure by connecting their heads and tails for foraging activities. As shown in Figure 1, the salp chain can be divided into two parts: leader and follower. Leader determines the direction of movement based on the location of the food source (in SSA, the food source represents the global optimal solution position found by the current population search) by guiding followers. Mirjalili [15] proposed an optimization algorithm for salps based on their predatory behavior. In SSA, the first salp on the chain serves as the leader, while the rest are followers. Unlike other swarm intelligence optimization algorithms, the behavior of the leader does not directly affect the movement of the entire group. Followers do not always completely follow the leader, but adjust their position based on the previous individual’s position, gradually forming a salp chain. Therefore, the influence of leaders on followers gradually weakens with distance, thus maintaining the diversity of the group. SSA ensures that the current optimal solution is not lost even if the population state deteriorates by saving it and assigning it to the food source variable. SSA only updates the leader’s position relative to the food source, as it represents the current optimal solution, and the leader continues to explore the surrounding area; followers improve local search performance by following behavior, reducing the risk of getting stuck in local optima.
The SSA is based on population evolution. During initialization, each individual of salps represents a candidate solution in the population. Each solution is randomly generated between the set upper bound u b and lower bound l b . The initialization position of the salp population is:
X = X 1 X 2 X N = x 1 1 x 2 1 x D 1 x 1 2 x 2 2 x D 2 x 1 N x 2 N x D N
Among them, N is the population size, D is the number of decision variables, and the algorithm initializes the position X j i (i = 1, 2, …, N; j = 1, 2, …, D) of each individual salp by generating random numbers.
X j i l = r a n d N , D u b j l b j + l b j
Among them, l is the current iteration number, and X j i ( l ) is the position of the ith salp individual in the jth dimensional space. After obtaining the population of salps, calculate the fitness function value of each individual salp and sort them. Based on the sorting results, determine the food source, leader, and follower position. The positions of the leader and followers are represented by matrix X j i , and the formula for updating the position of the leader is:
X j i l = F j + c 1 u b j l b j c 2 + l b j ,   c 3 0.5 F j c 1 u b j l b j c 2 + l b j ,   c 3 0.5
Among them, F j represents the position of contemporary food sources in the jth dimensional space, and u b j ,   l b j are the upper and lower limits of the jth dimensional search space. c 2 ,   c 3 are random numbers evenly distributed between (0, 1), which play a role in adjusting the position in the leader update formula. c 1 is the correlation coefficient used to balance the exploitation of SSA, which decreases with the increase of iteration times to improve the development intensity in the later stage of algorithm iteration. The calculation formula for c 1 is:
c 1 = 2 e 4 t t m a x 2
Among them, t is the current iteration number of the algorithm, and t m a x is the maximum iteration number of the algorithm.
Followers follow the former in sequence to update their positions, and the position update formula is:
X j i l = 1 2 X j i l 1 + X j i 1 l 1 i > 1 ,   l > 1
Among them, X j i ( l ) is the position of the contemporary salp follower, X j i ( l 1 ) and X j i 1 ( l 1 ) are the positions of the previous generation salp followers i and i − 1 in the jth dimension space, respectively.
Due to the unclear location of the target food during the iteration process, it is necessary to calculate the fitness values of all individual salps for comparison, and set the position of the salp with the optimal fitness value as the current food source position. Finally, perform boundary processing on the updated individuals of salps to avoid crossing boundaries.
The basic workflow of the Salp Swarm Algorithm (SSA) can be summarized as follows:
  • Step 1: Population Initialization
Randomly generate initial salp positions within the search space boundaries.
  • Step 2: Fitness Evaluation
Calculate fitness values for all salps using the objective function.
  • Step 3: Leader-Follower Division
Rank salps by fitness and split the population into two groups: Leaders for global exploration and followersfor local exploitation.
  • Step 4: Leader Positions Updates (Global Search)
Update leader positions using Formula (3).
  • Step 5: Follower Positions Updates (Local Search)
Adjust follower positions through chain-like movement using Formula (5).
  • Step 6: Termination Check
Repeat steps 2–5 until reaching maximum iterations or convergence criteria.

2.2.2. Characteristics and Application Fields of SSA

SSA has the following advantages:
1.
Few parameters and easy to implement:
SSA only needs to adjust a few parameters such as population size and iteration times. The algorithm structure is simple and the implementation difficulty is low.
2.
Strong global search capability:
Through the leader follower chain structure, SSA can effectively explore the global optimal solution in the solution space.
3.
Highly self-organizing:
The group dynamic update mechanism does not require manual intervention and is suitable for complex optimization problems.
4.
Good compatibility with other algorithms:
Flexible integration with genetic algorithms [16], simulated annealing [17] and other algorithms to improve performance.
Due to the advantages of SSA, it has been applied to solve problems such as target classification [18], photovoltaic system optimization [19], feature extraction [20], image processing [21], and biomedical signal processing [22]. Some scholars have also applied SSA in the field of production scheduling, but it is not very common and is still in its infancy. Ewees et al. [23] proposed an improved SSA based on firefly algorithm to solve parallel machine scheduling problems. Zhao et al. [17] proposed an improved SSA based on Lévy flight integrated simulated annealing strategy to solve FJSP. Wei et al. [24] developed collaborative group search strategies and population diversity maintenance mechanisms to enhance the SSA optimization capabilities in addressing hybrid flow shop scheduling problems with setup operators.
The FJSP involves multiple coupled constraints such as process sequence and machine selection., Solving algorithms for FJSP must balance global and local optimization. Traditional Particle Swarm Optimization (PSO) tends to become trapped in local optima due to its single information-sharing mechanism, leading to degraded solution quality. Similarly, traditional Genetic Algorithms (GA) face challenges where crossover and mutation operations often compromise solution feasibility. When the fitting function in GA is poorly designed, the algorithm tends to favor locally superior individuals, causing rapid decline in population diversity and premature convergence to local optima. In contrast, the SSA inherently establishes a dynamic equilibrium mechanism through leader-guided global exploration and follower-driven local refinement, naturally balancing global and local search capabilities. In Reference [15], the SSA outperformed seven algorithms, including PSO and GA.
Existing research demonstrates the potential of SSA in solving workshop scheduling problems. However, SSA has the following limitations:
1.
The multi-objective FJSP is a discrete optimization problem. The position update formula for leaders and followers in SSA are designed for continuous optimization problems and cannot be directly applied to discrete problems. Among the studies mentioned above, only reference [24] mentioned a method to solve this problem, while others did not specifically address how to discretize the position formula in SSA. Reference [24] implemented discretization through threshold segmentation and probabilistic distribution sampling, which presets fixed threshold intervals to partition continuous spaces into non-overlapping discrete regions. Their method establishes probability distribution models for each interval, utilizing 8 parameters (with two assumed to follow normal distributions). However, this approach exhibits high dependency on manually configured thresholds and parameter sensitivity.
2.
When SSA approaches the potential optimal solution region, it requires excessive time to thoroughly search these areas. Weak exploitation capability leads to slow convergence speed. Regarding the solution of FJSP, current improvements in SSA have primarily focused on either modifying the position update formula [23], unilaterally strengthening local search capabilities [25], or singularly enhancing population diversity [24]. Existing approaches still lack systematic enhancements to holistically strengthen comprehensive exploitation capabilities.
This study aims to propose an improved SSA by adopting new mechanisms to address the aforementioned limitations of traditional SSA.

3. Problem Description and Model

The flexible job shop scheduling problem in rolling production mode (FJSP-RPM) can be defined as: a batch of workpieces need to be processed in the current scheduling cycle of the workshop, including n workpieces (J1, J2, ..., Jn), which need to be processed on a total of m machines (M1, M2, ..., Mm). The quantity of workpieces exceeds the equipment’s production capacity. O i j represents the jth process of workpiece i, Ω i j represents the optional equipment set of the jth process of workpiece i, each process can be processed on any one of m devices with processing capacity, and equipment k can process more different workpieces process. Due to different performance characteristics of the equipment, the processing time for the same process varies among different devices. Each workpiece has a delivery deadline, where d i represents the delivery deadline for workpiece i. If the delivery time exceeds the delivery deadline, the manufacturer will face the risk of reputation loss and fines. The goal of job shop scheduling is to determine the processing sequence of the workpiece and the processing machine of the process, so that in the current scheduling cycle T, the equipment utilization rate is the highest, and the total tardiness of the workpiece is the lowest. The workshop executes processing according to the scheduling plan. When the scheduling cycle T is reached, the unfinished workpieces and new workpieces that need to be processed are re scheduled according to the goal of maximizing equipment utilization and minimizing total delay to obtain a new scheduling plan.
The assumptions that need to be met during the workpiece processing include:
  • All workpieces and machines can be put into use at time zero, and all workpieces are released at time zero.
  • Each machine can only complete one process at a time, and each process can only be executed by one machine at any given time.
  • The processing of workpieces must be strictly carried out in the order of the process, and no steps are allowed to be skipped.
  • Once processing begins, it must not be interrupted and must continue until the process is completed. It is not allowed to split working hours or be occupied by other workpieces.
  • Stop running the machine after completing the last process.
  • The transfer time of the workpiece during the processing is ignored.
  • The workpieces are independent of each other and there is no priority relationship.
  • Not considering dynamic factors such as machine malfunctions, order changes, and urgent order insertion.
The symbols and their meanings used in the model are shown in Table 1.
The objective of the job shop scheduling is to minimize total delay time and maximize equipment utilization through optimal allocation of manufacturing equipment and sequencing of operations for pending workpieces. Based on the problem description above, we formulate a multi-objective scheduling model structured as:
Objective 1. Maximize equipment utilization. Indicates that the idle time of the equipment is the shortest in the current scheduling cycle. The calculation formula is:
f 1 = m a x i = 1 n j = 1 h i m i n c i j   , T T 0 m i n s i j   , T T 0 m T
Objective 2. Minimize the total delay time. If the delivery time exceeds the delivery deadline, the enterprise will face the risk of reputation loss and breach of contract fines. The calculation formula is:
f 2 = m i n i = 1 n m a x C i D i   , 0
s.t.
c i j = s i j + t i j     i = 1,2 n ;   j = 1,2 , h i
i = 1 n j = 1 p i k = 1 m x i j k = 1 , i = 1,2 , n ; j = 1,2 , h i ; k = 1,2 , m
s i j c i j 1   i = 1,2 , n ; j = 2 , h i
c i j t i j + L 1 y i i k t i j i , i = 1,2 , n ; k = 1,2 , m
s i j 0 i = 1,2 , n ; j = 1,2 , h i
x i j k 0,1 , i , j , k
y i i k 0,1 , i , i , k
Equation (8) indicates that interruption is not allowed during the same machining process, while Equation (9) indicates that only one machine can be responsible for machining the process. Equation (10) represents the constraint on the processing sequence of the workpiece. Equation (11) indicates that the machine can only process one workpiece at a time. Equation (12) indicates that the start time must be after zero time. Equations (13) and (14) are 0–1 variable constraints.

4. Improvement of Salp Swarm Algorithm

The SSA simulates the predation and movement behavior of salps, searching the solution space. During the iterative search process, the algorithm can explore broad regions, significantly improving the probability of finding the optimal solution. However, when SSA approaches potential optimal solution regions, its weak exploitation capability leads to excessive time required to thoroughly search these areas, resulting in slower convergence. Additionally, the multi-objective flexible job shop scheduling problem is a discrete optimization problem, whereas the original SSA is primarily designed for continuous scenarios and cannot be directly applied to discrete domains.
In order to apply SSA to the discrete domain, this paper first designs a double layer encoding mechanism. Then improve the SSA algorithm in terms of initialization strategy, global search strategy, and local search strategy to enhance its exploitation capabilities.
To address the application field limitation, this study first designs a conversion strategy between real-coded vectors and integer-coded vectors, expanding the algorithm’s applicability. It then integrates heuristic strategies such as the shortest processing time rule and the maximum remaining load rule to initialize the algorithm’s population. During iterations, tailored global and local search strategies are developed for process-sorting encoding and machine-selection encoding, aiming to enhance exploitation capabilities. The specific design of the improved algorithm is detailed below.

4.1. Double Layer Encoding Mechanism

FJSP-RPM requires addressing two subproblems: determining the processing sequence of workpieces on different machines and assigning each process to appropriate equipment. To solve this problem, a double-layer encoding mechanism is proposed. Each solution comprises two components: a workpiece-sorting encoding vector and a machine-selection encoding vector. Both vectors have lengths equal to the total number of workpieces to be processed in the workshop.
  • Real-to-integer vector conversion:
The Ranked Order Value (ROV) is a data encoding method that converts continuous values into discrete sequences through ascending-order sorting and ordinal mapping. It is primarily used for scheduling optimization and continuous value discretization in algorithms. The standard procedure includes three steps: data sorting, ordinal assignment, and encoding conversion.
When decoding the real valued encoding vector to generate feasible scheduling schemes, the workpiece-sorting encoding vector is first transformed from the real-valued domain to the integer domain via ROV. For the machine-selection encoding vector, each value is multiplied by the number of available machines and then rounded to the nearest integer to determine the selected machine for the corresponding process.
As shown in Table 2, a flexible workshop case involves three workpieces, each with a fixed process route. Multiple machines are available for each process, and processing times may vary across machines.
As shown in Figure 2, for the workpiece sorting encoding vector, we first assign a position index to workpiece process and then perform ROV sorting on the real-valued vector. Subsequently, process numbers sharing identical ROV values are selected sequentially from left to right and placed into the index positions corresponding to the integer-process encoding vector, thereby converting the real-number vector into an integer vector.
For example, when ROV is 7, the corresponding position of the workpiece process is the first process of workpiece 1. Similarly, the final integer form of the process code is [3 2 1 2 1 3 1 2 3]. Each number represents a workpiece, and the number of times it appears in the code represents the corresponding number of processes for that workpiece. For example, the first digit “3” in the encoding represents the first process of workpiece 3.
The machine selects encoding vectors and allocates them using the following formula:
m i = r o u n d 1 2 n p i + n N i 1 + 1
Among them, p ( i ) is the vector value at the ith position of the machine selection encoding vector, n is the total number of workpieces, m ( i ) is the integer value at the ith position obtained by conversion, representing the machine number selected for the current process among the available processing machines, and N ( i ) is the number of available processing machines for the current process.
As shown in Figure 3, the machine selects the encoded real vector to correspond one-to-one with the process. Using Formula (15), the real vector is calculated and converted into an integer, representing the processing machine number selected for the corresponding process. For example, the first element 0.2 in the real number vector corresponds to the first process of workpiece 1. After calculation, the integer value “1” is generated, indicating that the first process of workpiece 1 is assigned to be processed by the first machine in the set of available processing machines. The available machines for the first process of workpiece 1 are M 1 ,   M 3 , M 5 , so the machine M 1 is selected to perform this process.
  • Integer-to-real vector conversion:
When converting the scheduling scheme into a position vector, for the machine selection encoding vector, the integer form of the machine selection encoding vector is converted into an individual position vector of the salp. The conversion formula is as follows:
x i = 2 M N i 1 m i 1 M   ,   N i 1   r a n d (   )   ,                                                                   N i = 1
Among them, x ( i ) is the real value at the ith position of the machine selected encoding real vector, and N ( i ) is the number of available processing machines for the current process. M is the total number of machines in the workshop, and m ( i ) is the integer value at the ith position of the integer vector.
For the process sorting integer encoding vector, first generate a random number sequence with the same length as the vector, sort the random number sequence to obtain ROV1. For the process sorting integer encoding vector, assign the corresponding ROV value of the process code to ROV2 in order of the process number. And then find the random value in ROV1 that corresponds to the ROV2 value to obtain the real number encoding vector.
As shown in Figure 4, it is a schematic diagram of converting the process sorting encoding vector from an integer vector to a real vector. The initial process encoding integer vector is [3 2 1 2 1 3 2 1 3 3 3 3]. Based on the correspondence between the process encoding and position index shown in Figure 2, ROV2 is obtained. Afterwards, a set of random number vectors between 0–1 is generated [0.13 0.24 0.63 0.38 0.72 0.76 0.21 0.98 0.56], sorted to obtain ROV1. The first process of workpiece 3 corresponds to a value of 7 in ROV2 and a real number of 0.72 in ROV1. Therefore, the value at the corresponding position in the real number vector is set to 0.72. Following this method, the complete real number vector is calculated as [0.72 0.38 0.13 0.56 0.21 0.76 0.63 0.24 0.98].

4.2. Decoding and Individual Evaluation

After determining the processing sequence of orders across production lines, the active scheduling decoding method [26] is applied to decode the encoding scheme and derive the scheduling scheme. The quality relationships between solutions are evaluated using non-dominated sorting and crowding distance ranking methods.

4.3. Population Initialization

Population initialization constitutes a critical step in solving workshop scheduling problems, as the quality of generated solutions directly impacts the algorithm’s convergence efficiency and solution diversity. To ensure high-quality and diverse initial solutions, this study implements multiple initialization strategies for both machine selection and process sorting.
  • Process code initialization strategy
    (1)
    Maximum residual load rule [27]: Workpieces are sorted in descending order based on the total residual processing time, prioritizing those with longer residual processing durations.
    (2)
    The shortest processing time rule [28]: Arrange the processes in ascending order of processing time, prioritizing the completion of processes with shorter processing times.
    (3)
    Random Selection Rule: Processes are randomly selected for machining without predefined criteria.
  • Machine coding initialization strategy
    (1)
    The global selection rule [29] first creates an all zero array with a length equal to the number of machines, corresponding to the processing machines in the workshop. Then, a workpiece is randomly selected, and starting from the first process, the processing time of the available processing machines for that process is added to the array. The machine with the shortest processing time corresponding to the array position of the available processing machines for that process is selected as the current process processing machine, and the value of the corresponding position in the array is updated. The value of the array position corresponding to the machine not selected by the process remains unchanged. Repeat the above steps until the machine selection code is obtained.
    (2)
    The local selection rule [30] is basically the same as the global selection method, except that after determining the machining machines for all processes of a workpiece through the local selection method, the array will be reset to zero.
    (3)
    Randomly select rules. Randomly select machines from the set of optional processing machines for the process.

4.4. Global Search Strategy

The SSA does not rely on genetic operator evolution, but instead searches for the optimal individual of the problem through individual position movement. The advantage of this approach is that it can search for more space where potential optimal solutions may exist, but it will reduce search efficiency in workshop scheduling problems. Considering that genetic algorithms have strong global search capabilities, this paper combines crossover and mutation operators to improve the standard SSA and accelerate convergence speed.
For the process sorting vector, choose the POX crossover method, as shown in Figure 5:
(1)
Divide the part set into two non empty subsets S1 and S2.
(2)
Copy the genes belonging to set S1 from the selected parent individual P1.
(3)
Fill the remaining positions in the offspring C1 with the genes from that belong to S2, preserving their order.
For the equipment selection part, a two-point crossover method is adopted:
(1)
Randomly select two crossover points for two parent individuals.
(2)
Exchange the equipment numbers corresponding to processes between the two crossover points in the parents to generate offspring.

4.5. Local Search Strategy

The SSA method employs a random search mechanism to explore the solution space by simulating the predation and mobility behaviors of salp populations, demonstrating strong global search capabilities. However, its drawback lies in prolonged search times when approaching regions containing potential optimal solutions due to the absence of effective local search strategies, resulting in poor convergence performance. To address this limitation, this paper proposes a variable neighborhood search strategy incorporating multiple neighborhood structures to enhance the algorithm’s optimization efficiency.
The specific neighborhood structure includes:
(1)
Swap Neighborhood: Randomly select two different positive integers, then swap the values at these two positions on the process sorting encoding vector to generate neighborhood solutions.
(2)
Insert Neighborhood: generate two different positive integers, insert the gene at the position of the first integer into the position of the second integer, and then adjust the order of process sorting encoding vectors.
(3)
Reverse Order Neighborhood: Within the interval between two generated unequal positive integers, reverse the order of all gene values within that interval.
(4)
Replace Neighborhood: Randomly select a parent machine to choose a process in the encoding, and replace the currently selected machine with other machines available for that process.
An example of neighborhood structure is shown in Figure 6. Since the problem considered in this article is a multi-objective optimization problem, in the process of variable neighborhood search, the decision to accept new neighborhood solutions will be based on the dominance relationship. The specific steps are as follows:
  • Step 1: Define the neighborhood structure mentioned above.
  • Step 2: Select a solution from the population in sequence for neighborhood search.
  • Step 3: Use the above neighborhood structure to sequentially perform neighborhood search on the selected solutions and generate new neighborhood solutions.
  • Step 4: Compare the dominance relationship between neighboring solutions and the current solution. If the neighboring solution dominates the current solution, then accept the neighboring solution and perform a new neighborhood search on the newly generated neighboring solution.
  • Step 5: After all neighborhood searches are completed, stop the search for the current solution and repeat the process for the next solution in the population until all solutions have passed the neighborhood search.
By using a variable neighborhood search mechanism, the improved algorithm can thoroughly search for the neighborhood solutions of the current solution, greatly enhancing the algorithm’s local search capability.
The calculation process of the MISSA is shown in Algorithm 1:
Algorithm 1 MISSA Pseudo Code for Calculation Process
1 Begin
2 Initialize algorithm related parameters, including population size N, iteration times T, etc
3 Generate an initial population using an improved initialization strategy, calculate the fitness value of each individual, and rank non dominated relationships and crowding levels
4 Determine the optimal individual, namely the leader
5 Set the optimal individual as the food source
6 for t = 1:T
7   for i = 1:N
8     Convert integer encoding to real encoding,
9        if i == 1  %Update leader
10          Update the leader’s position using Equation (3)
11        else  %Update Followers
12        Update the following position using Equation (5)
13         end if
14     end for
15     Calculate the non dominated relationship and crowding degree between solutions, and update the population
16     Convert real number encoding to integer encoding
17     Using a global search strategy to update the population
18     Local search strategy updates population
19     Update optimal individuals and food sources
20 end for
21 Output the optimal frontier solution obtained from the solution

4.6. Comparison with Basic Salp Swarm Algorithm

This study introduces three enhancement strategies to the basic SSA: population initialization strategy, global search strategy, and local search strategy. The population initialization improvement strategy integrates residual load, shortest processing time, and global/local machine allocation rules to improve the quality of initial solutions; The basic algorithm is only randomly generated and of poor quality. The global search improvement strategy introduces POX crossover and two-point crossover to enhance search efficiency; The basic algorithm relies on random movement and converges slowly. The local search improvement strategy adopts variable neighborhood search (swapping/inserting/reversing/replacing) to improve local accuracy; The basic algorithm only randomly searches and is prone to getting stuck in local optima.
The improvement strategy enhances the quality of population initialization and strengthens the exploration capability of the algorithm. It can solve the shortcomings of slow convergence, susceptibility to local optima, and unstable solution quality of basic SSA in FJSP.
It is worth noting that, the mutual conversion between real vector and integer vector increases the computational cost of encoding/decoding. Integrating mechanisms such as POX crossover and variable neighborhood search also leads to an increase in runtime. However, for the test cases mentioned below, this increase in running time can be ignored considering the benefits it produces.

5. Simulation Experiment

In order to verify the performance of the algorithm, 10 test cases were designed. The data for each test case in the scheduling problem, such as processing time, delivery time, and rolling production cycle, are shown in Table 3. Program with MATLAB R2021b and run on an i7 processor with 3.3 GHz and 16 GB of memory. Select common NSGA2, NSGA3, and SPEA2 multi-objective optimization algorithms and compare them with MISSA. The algorithm performance indicators are calculated using convergence indicator GD (Generative Distance), diversity indicator Δ, and comprehensive indicator IGD (Inverted Generative Distance).

5.1. Parameter Design

The main experimental parameters that affect the performance of the MISSA include population size, number of iterations, and crossover probability. In order to determine the optimal parameter combination, this paper adopted the Taguchi orthogonal experimental method. A 3-factor 4-level experiment was designed:
  • Population size: [40, 60, 80, 100]
  • Number of iterations: [40, 60, 80, 100]
  • Crossover probability: [0.6, 0.7, 0.8, 0.9]
For the IGD index (the smaller the better), key parameter effects were screened through 16 sets of experiments. Signal-to-noise ratio (SNR) is the core indicator used in Taguchi method to measure the performance of parameter combinations. Calculate the SNR for each set of parameters using the following formula. Each experiment was repeated 10 times (i.e., n = 10 in the formula) to eliminate random errors:
S N R = 10 log 10 1 n i = 1 n I G D i 2
The results are shown in the Table 4:
The parameter levels with the highest average SNR are: population size of 100 (80.2 dB); 100 iterations (79.6 dB); The crossover probability is 0.8 (78.9 dB).
To verify the above conclusion, the IGD index of the solution results was analyzed on the MK03 case. According to the experimental results shown in Figure 7, the optimal parameters for the MISSA algorithm were ultimately determined to be: population size: 100, number of iterations: 100, crossover probability: 0.8. Table 5 lists the initial parameter values for different algorithms for comparison of their performance.

5.2. Effectiveness Verification of Improvement Strategies

In order to verify the effectiveness of the proposed improvement strategy for the MISSA algorithm, three incomplete variants of the MISSA algorithm were designed, namely: ① MISSA_1, which introduces global and local search strategies on the basis of the original SSA, without including population initialization strategy. ② MISSA_2 introduces population initialization strategy and local search strategy, without including global crossover strategy ③ MISSA_3 includes population initialization strategy and global crossover strategy, but does not include local search strategy. For all cases, the algorithm is repeated ten times to eliminate the influence of policy randomness. To calculate the index values of the set solved by the algorithm, the solution sets obtained by the MISS A algorithm and its variants on the case are merged, and then sorted by non-dominated relationships to obtain the solution of the first dominated frontier. This first dominated frontier solution is then used as the optimal Pareto frontier solution set for the case. The performance of the algorithm was compared using three evaluation indicators, GD, IGD, and Δ. The comparison results are shown in Table 6 and Figure 8. Table 7 lists the average values of ten solution results for MISS A and its variants on this test case, while Figure 8 shows the indicator value box plot of the ten solution results obtained by the algorithm. From Table 6 and Figure 8, it can be seen that compared with the algorithm variant, the GD index values obtained by the MISSA algorithm are superior to those of the algorithm variant in 9 cases, and have significant advantages in some cases such as MK01, MK02, MK03, and MK09. In terms of IGD indicators, MISSA also outperforms the comparison algorithm in 8 cases. In terms of diversity index Δ value, the performance of MISSA and MISSA2 algorithms is superior to the other two algorithms. The GD and IGD indicators obtained by the three algorithms MISSA_1, MISSA_2, and MISSA_3 have their own advantages in different cases, proving that each improvement strategy proposed in this paper can improve the overall performance of the improved algorithm. In terms of algorithm stability, the MISSA algorithm outperforms the three variant algorithms in terms of GD and IGD indicators of the solution results.
Based on the above analysis, each improvement item effectively improves the performance of MISSA in solving FJSP-RPM problems, and the effect is significant.

5.3. Comparison Between MISSA and Other Optimization Algorithms

To verify the performance comparison between the MISSA and common multi-objective optimization algorithms such as NSGA2, NSGA3, and SPEA2, ten repeated comparison experiments were conducted on ten cases, and the performance indicators of the solution results were statistically analyzed. The comparison results are shown in Table 7 and Table 8 and Figure 9 and Figure 10. Table 7 and Table 8 show the GD, IGD, and Δ index results obtained by the four algorithms. It can be seen from the table that compared with the other three algorithms, MISSA achieved smaller GD and IGD mean values in eight cases and smaller Δ mean values in seven cases in terms of solution quality, proving that the diversity and convergence of the solution set solved by MISSA are better. The quality of the obtained solution is higher. In terms of the stability of the solution results, it can be seen from the standard deviation data of different evaluation indicators in the table that the MISSA can achieve an absolute advantage, but still outperforms the comparison algorithm in a considerable number of cases.
To more clearly demonstrate the distribution of mean and standard deviation of indicators obtained through different algorithms for each test case, Figure 9 shows the distribution curves of mean and standard deviation of indicators obtained by four comparative algorithms. It can be clearly seen from the graph that the differences between different algorithms are small, but the performance of the MISSA in solving the set is superior to the comparison algorithm in the vast majority of cases.
To observe the distribution of the solution sets obtained by different algorithms more intuitively, Figure 10 shows the frontier solutions obtained by different algorithms, with points of different shapes representing the solution sets obtained by different algorithms. It can be clearly seen from the figure that the solution set solved by the MISSA basically dominates the frontier solutions obtained by the comparison algorithms, while the sets solved by the three comparison algorithms dominate each other, indicating that the solution set solved by the MISSA is closer to the Pareto frontier solutions of the case and has better solution set quality.
In summary, compared to NSGA2, NSGA3, and SPEA2 algorithms, MISSA has better global search and local optimization capabilities, and can more effectively solve the problems proposed in this paper.

6. Conclusions

This paper has made the following key progress through theoretical modeling and algorithm optimization:
1.
A flexible workshop scheduling model under rolling production mode was constructed with the goal of maximizing equipment utilization and minimizing total lead time. Effectively solved the coupling problem of equipment idle and order delay.
2.
Propose a conversion method between integer vector and real vector that is easy to operate, and apply the basic SSA to solve the discrete workshop scheduling problem.
3.
MISSA is proposed to solve FJSP-RPM more effectively than other algorithms. During population initialization, multiple heuristic strategies are designed to enhance the initial population quality, and the algorithm’s convergence speed is accelerated. By integrating the global crossover strategy with multiple local search strategies during the algorithm’s evolution, we enhanced the algorithm’s exploitation capabilities. Experimental results on the designed test cases demonstrate that MISSA reduced the mean values of GD, IGD, and Applsci 15 05947 i001 by 52.0%/65.7%/58.4%, 49.5%/61.8%/58.0%, and 11.8%/6.8%/4.8% compared to NSGA2, NSGA3, and SPEA2, respectively.
This paper focuses on scheduling optimization in deterministic environments, assuming that production parameters (such as processing time, equipment status, etc.) are statically known quantities. In practical industrial scenarios, dynamic disturbances or random events may significantly affect the robustness of scheduling schemes. Although MISS A demonstrates strong global search capabilities in static problems, its adaptability in dynamic or real-time scheduling still needs further validation.

Author Contributions

Conceptualization, Q.G.; Methodology, L.Y. and Q.G.; Validation, L.Y.; Formal analysis, L.Y.; Resources, Q.G.; Writing—original draft, L.Y.; Visualization, L.Y.; Project administration, Q.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Key R&D Program of Shandong Province, China. NO.2023CXPT003, through Shandong University.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Acknowledgments

The authors would like to express their gratitude for the financial support provided.

Conflicts of Interest

Author Lei Yin was employed by the company Shelfoil Petroleum Equipment & Services Co., Ltd. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

Abbreviation

AGVAutomated Guided Vehicle.
CPLEXA mathematical programming solver developed by IBM.
FJSPFlexible Job Shop Scheduling Problem.
FJSP-RPMFlexible Job Shop Scheduling Problem in Rolling Production Mode.
GAGenetic Algorithm.
GDGenerational Distance.
IGDInverted Generational Distance.
JSPJob Shop Scheduling Problem.
MISSAMulti Objective Improved of Salp Swarm Algorithm.
NP-hardNon-deterministic Polynomial Difficult Problem.
NSGA2Non-dominated Sorting Genetic Algorithm2.
NSGA3Non-dominated Sorting Genetic Algorithm3.
POXPrecedence Operation Crossover.
PSOParticle Swarm Optimization.
ROVRanked Order Value.
SNRSignal-to-Noise Ratio.
SPEA2Strength Pareto Evolutionary Algorithm2.
SSASalp Swarm Algorithm.

References

  1. Qin, H.; Han, Y.; Wang, Y.; Liu, Y.; Li, J.; Pan, Q. Intelligent optimization under blocking constraints: A novel iterated greedy algorithm for the hybrid flow shop group scheduling problem. Knowl.-Based Syst. 2022, 258, 1–24. [Google Scholar] [CrossRef]
  2. Fei, L.; Tang, B.; Li, Y.; Liu, S.Q.; Yang, X.; Masoud, M.; Feng, B. Solving multi-objective green flexible job shop scheduling problem by an improved chimp optimization algorithm. J. Intell. Fuzzy Syst. 2024, 46, 7697–7710. [Google Scholar]
  3. Han, X.; Cheng, W.; Meng, L.; Zhang, B.; Gao, K.; Zhang, C.; Duan, P. A dual population collaborative genetic algorithm for solving flexible job shop scheduling problem with AGV. Swarm Evol. Comput. 2024, 86, 101538. [Google Scholar] [CrossRef]
  4. Xu, Y.; Zhang, M.; Yang, M.; Wang, D. Hybrid quantum particle swarm optimization and variable neighborhood search for flexible job-shop scheduling problem. J. Manuf. Syst. 2024, 73, 334–348. [Google Scholar] [CrossRef]
  5. Huang, K.; Gong, W.; Lu, C. An enhanced memetic algorithm with hierarchical heuristic neighborhood search for type-2 green fuzzy flexible job shop scheduling. Eng. Appl. Artif. Intell. 2024, 130, 107762–107777. [Google Scholar] [CrossRef]
  6. Ghaedy-Heidary, E.; Nejati, E.; Ghasemi, A.; Torabi, S.A. A simulation optimization framework to solve Stochastic Flexible Job-Shop Scheduling Problems—Case: Semiconductor manufacturing. Comput. Oper. Res. 2024, 163, 106508–106530. [Google Scholar] [CrossRef]
  7. Schworm, P.; Wu, X.; Klar, M.; Glatt, M.; Aurich, J.C. Multi-objective Quantum Annealing approach for solving flexible job shop scheduling in manufacturing. J. Manuf. Syst. 2024, 72, 142–153. [Google Scholar] [CrossRef]
  8. Gong, G.; Tang, J.; Huang, D.; Luo, Q.; Zhu, K.; Peng, N. Energy-efficient flexible job shop scheduling problem considering discrete operation sequence flexibility. Swarm Evol. Comput. 2024, 84, 101421. [Google Scholar] [CrossRef]
  9. Huang, P.; Zheng, Z.; Li, X.; Yu, M.; Lu, F.; Zheng, F. Flexible job-shop scheduling problem in rolling production mode. Comput. Integr. Manuf. Syst. 2024, 5, 1287. [Google Scholar]
  10. Yunusoglu, P.; Topaloglu Yildiz, S. Solving the flexible job shop scheduling and lot streaming problem with setup and transport resource constraints. Int. J. Syst. Sci. Oper. Logist. 2023, 10, 2221072. [Google Scholar] [CrossRef]
  11. Hajibabaei, M.; Behnamian, J. Fuzzy cleaner production in assembly flexible job-shop scheduling with machine breakdown and batch transportation: Lagrangian relaxation. J. Comb. Optim. 2023, 45, 112. [Google Scholar] [CrossRef]
  12. Zhang, M.; Tan, Y.; Zhu, J.; Chen, Y.; Chen, Z. Simulation Modelling; New Findings in Simulation Modelling Described from South China University of Technology (A Competitive and Cooperative Migrating Birds Optimization Algorithm for Vary-sized Batch Splitting Scheduling Problem of Flexible Job-shop with Setup Time). J. Math. 2020, 100, 102065. [Google Scholar]
  13. Yu, J.M.; Huang, R.; Lee, D.H. Iterative algorithms for batching and scheduling to minimise the total job tardiness in two-stage hybrid flow shops. Int. J. Prod. Res. 2017, 55, 3266–3282. [Google Scholar] [CrossRef]
  14. Ozturk, O.; Begen, A.M.; Zaric, S.G. A branch and bound algorithm for scheduling unit size jobs on parallel batching machines to minimize makespan. Int. J. Prod. Res. 2016, 55, 1815–1831. [Google Scholar] [CrossRef]
  15. Mirjalili, S.; Gandomi, A.H.; Mirjalili, S.Z.; Saremi, S.; Faris, H.; Mirjalili, S.M. Salp Swarm Algorithm: A bio-inspired optimizer for engineering design problems. Adv. Eng. Softw. 2017, 114, 163–191. [Google Scholar] [CrossRef]
  16. Wang, Y. Salp Swarm Algorithm and Its Application Research. Master’s Thesis, Shanxi Normal University, Xi’an, China, 2021; pp. 30–36. [Google Scholar]
  17. Ewees, A.A.; Al-qaness, M.A.; Abd Elaziz, M. Enhanced salp swarm algorithm based on firefly algorithm for unrelated parallel machine scheduling with setup times. Appl. Math. Model. 2021, 94, 285–305. [Google Scholar] [CrossRef]
  18. Khishe, M.; Mohammadi, H. Passive sonar target classification using multi-layer perceptron trained by salp swarm algorithm. Ocean Eng. 2019, 181, 98–108. [Google Scholar] [CrossRef]
  19. Bo, Y.; Zhong, L.; Zhu, D. Modified salp swarm algorithm based maximum power point tracking of power-voltage system under partial shading condition. Control Theory Appl. 2019, 36, 339–352. [Google Scholar]
  20. Ibrahim, R.A.; Ewees, A.A.; Oliva, D.; Abd Elaziz, M.; Lu, S. Improved salp swarm algorithm based on particle swarm optimization for feature selection. J. Ambient Intell. Humaniz. Comput. 2019, 10, 3155–3169. [Google Scholar] [CrossRef]
  21. Bhandari, A.K.; Kandhway, P.; Maurya, S. Salp swarm algorithm-based optimally weighted histogram framework for image enhancement. IEEE Trans. Instrum. Meas. 2020, 69, 6807–6815. [Google Scholar] [CrossRef]
  22. Rachapudi, V.; Devi, G.L. Optimal bag-of-features using random salp swarm algorithm for histopathological image analysis. Int. J. Intell. Inf. Database Syst. 2020, 13, 339–355. [Google Scholar] [CrossRef]
  23. Zhao, W.; Guo, P.; Wang, H.; Lei, K. Improved slap swarm algorithm for scheduling of flexible job shop. CAAI Trans. Intell. Syst. 2022, 17, 376–386. [Google Scholar]
  24. Wei, C.; Hu, X.; Zhang, Z.; Li, J. Improved salp swarm algorithm for solving hybrid flow shop scheduling problem with setup operators. Comput. Integr. Manuf. Syst. 2024, 0560. [Google Scholar] [CrossRef]
  25. Zhang, H.; Cao, H. Research on Multi-objective Flexible Job Shop Scheduling Problem Based on Improved Salp Swarm Algorithm. J. Anhui Univ. Technol. (Soc. Sci.) 2024, 41, 17–23. [Google Scholar]
  26. Yuan, X.; Yang, Y.; Tan, W.; Yin, B. Two-stage collaborative scheduling of casting production line based on hybrid parallel chaos optimization algorithm. J. Hunan Univ. (Nat. Sci. Ed.) 2021, 48, 161–169. [Google Scholar]
  27. Pezzella, F.; Morganti, G.; Ciaschetti, G. A genetic algorithm for the flexible job-shop scheduling problem. Comput. Oper. Res. 2008, 35, 3202–3212. [Google Scholar] [CrossRef]
  28. Gao, K.Z.; Suganthan, P.N.; Pan, Q.K.; Chua, T.J.; Cai, T.X.; Chong, C.S. Pareto-based grouping discrete harmony search algorithm for multi-objective flexible job shop scheduling. Inf. Sci. 2014, 289, 76–90. [Google Scholar] [CrossRef]
  29. Zhao, S.; Fang, S.; Gu, X. Machine selection and FJSP solution based on limit scheduling minimtime. Comput. Integr. Manuf. Syst. 2014, 20, 854–865. [Google Scholar]
  30. Wang, Q.; Duan, X. Flexible operation workshop scheduling based on a high-dimensional multi-target migratory bird optimization algorithm. China Mech. Eng. 2022, 33, 2601–2612. [Google Scholar]
Figure 1. Swarm of Salps (salp chain) [15].
Figure 1. Swarm of Salps (salp chain) [15].
Applsci 15 05947 g001
Figure 2. Flowchart of converting real vector into integer vector for process sequencing.
Figure 2. Flowchart of converting real vector into integer vector for process sequencing.
Applsci 15 05947 g002
Figure 3. Flowchart of converting real vector into integer vector for machine selection.
Figure 3. Flowchart of converting real vector into integer vector for machine selection.
Applsci 15 05947 g003
Figure 4. Flowchart of converting integer vector into real vector for process sequencing.
Figure 4. Flowchart of converting integer vector into real vector for process sequencing.
Applsci 15 05947 g004
Figure 5. POX crossover diagram. Blue indicates the subset inherited from Parent 1, while orange denotes the remaining elements filled from Parent 2.
Figure 5. POX crossover diagram. Blue indicates the subset inherited from Parent 1, while orange denotes the remaining elements filled from Parent 2.
Applsci 15 05947 g005
Figure 6. Flowchart of the variable neighborhood search process. First Row (No Color). Represents the baseline process sequence vector encoding the default order of operations. Second Row (Colored Gene). The colored gene indicates an insertion operation, where a selected gene is relocated to a new position within the sequence. Third Row (Two Colored Genes). The two colored genes signify a swap operation, where two genes exchange positions in the sequence. Fourth Row (Colored Gene Sequence). The colored segment denotes a reverse operation, where a subsequence of genes is inverted in order. Fifth Row (No Color). Represents the baseline machine selection vector, encoding the default machine assignments for operations. Sixth Row (Colored Gene). The colored gene indicates a replacement operation, where a machine assignment is altered to a different machine option.
Figure 6. Flowchart of the variable neighborhood search process. First Row (No Color). Represents the baseline process sequence vector encoding the default order of operations. Second Row (Colored Gene). The colored gene indicates an insertion operation, where a selected gene is relocated to a new position within the sequence. Third Row (Two Colored Genes). The two colored genes signify a swap operation, where two genes exchange positions in the sequence. Fourth Row (Colored Gene Sequence). The colored segment denotes a reverse operation, where a subsequence of genes is inverted in order. Fifth Row (No Color). Represents the baseline machine selection vector, encoding the default machine assignments for operations. Sixth Row (Colored Gene). The colored gene indicates a replacement operation, where a machine assignment is altered to a different machine option.
Applsci 15 05947 g006
Figure 7. IGD Value Main Effect Plot.
Figure 7. IGD Value Main Effect Plot.
Applsci 15 05947 g007
Figure 8. Algorithm Improvement Strategies for Solving Result Boxplot.
Figure 8. Algorithm Improvement Strategies for Solving Result Boxplot.
Applsci 15 05947 g008
Figure 9. Algorithm performance comparison curve.
Figure 9. Algorithm performance comparison curve.
Applsci 15 05947 g009
Figure 10. Algorithm solution set distribution.
Figure 10. Algorithm solution set distribution.
Applsci 15 05947 g010
Table 1. Symbols and their meanings in the model.
Table 1. Symbols and their meanings in the model.
SymbolMeaning
nNumber of workpieces
mNumber of machines
iWorkpiece index
jProcess index
kMachine index
hiThe total number of processes for the ith workpiece
OijThe jth machining process of workpiece i
tijThe machining time of the jth process of the ith workpiece
sijThe start time of the jth process for the ith workpiece
cijThe end time of the jth process of the ith workpiece
CiThe completion time of the ith workpiece
DiThe delivery date of the ith workpiece
TRolling production scheduling cycle
T0Scheduling start time
xijkIf the jth process of workpiece i is processed on machine Mk, xijk = 1; otherwise, it is 0
yii′kIf workpiece i is adjacent to and processed on machine Mk before workpiece i′, yii′k = 1; otherwise, it is 0
LA sufficiently large positive integer
Table 2. An example of 3 jobs and 6 machines.
Table 2. An example of 3 jobs and 6 machines.
WorkpieceProduction ProcessProcessing Information
M1M2M3M4M5M6
J1O115 3 2
O12 4 3 3
O13 42
J2O21 2 4
O224 1 6
O23 2 23
J3O311 33
O3223
O33 3 25
Table 3. Data of test cases.
Table 3. Data of test cases.
CaseQuantity of WorkpiecesQuantity of MachinesDelivery Date (min)Scheduling Cycle
MK0110635, 30, 30, 30, 35, 35, 30, 30, 35, 3534
MK0210620, 20, 20, 20, 20, 20, 15, 20, 15, 2028
MK03158200, 180, 170, 180, 180, 175, 175, 180, 180, 175, 180, 180, 195, 190, 180180
MK0415860, 50, 40, 30, 50, 70, 30, 40, 70, 30, 20, 40, 20, 15, 4050
MK05154130, 120, 150, 140, 130, 160, 120, 150, 160, 160, 140, 130, 140, 140, 140160
MK06101090, 75, 105, 80, 80, 85, 90, 75, 100, 105100
MK0720590, 95, 100, 95, 105, 120, 110, 115, 105, 95, 115, 120, 115, 105, 90, 100, 105, 105, 100, 100130
MK082010360, 400, 440, 370, 405, 365, 415, 395, 445, 390, 400, 385, 405, 400, 390, 395, 425, 385, 380, 380400
MK092010290, 310, 290, 285, 340, 295, 345, 330, 290, 305, 280, 295, 295, 285, 310, 350, 320, 305, 330, 335300
MK102015250, 270, 255, 245, 290, 240, 295, 285, 255, 265, 240, 250, 255, 235, 270, 305, 285, 245, 290, 295300
Table 4. Average SNR values at various parameter levels.
Table 4. Average SNR values at various parameter levels.
ParameterLevelAverage SNR (dB)The Best
Population size4069.7
6071.3
8075.4
10080.2
Number of iterations4070.1
6073.3
8076.3
10079.6
Crossover probability0.674.9
0.776.4
0.878.9
0.978.8
Table 5. Parameter variable setting.
Table 5. Parameter variable setting.
AlgorithmMISSANSGA2NSGA3SPEA2
Population size100100100100
Number of iterations100100100100
Crossover probability0.80.80.80.8
Table 6. Analysis of the Effectiveness of Algorithm Improvement Strategies.
Table 6. Analysis of the Effectiveness of Algorithm Improvement Strategies.
CaseIndex
GD × 10−4IGD × 10−4Applsci 15 05947 i001
MISSAMISSA_1MISSA_2MISSA_3MISSAMISSA_1MISSA_2MISSA_3MISSAMISSA_1MISSA_2MISSA_3
MK010.13090.47460.97230.46240.32180.68501.31720.68530.53070.67270.63330.6723
MK020.00440.02080.02330.02490.15260.12800.11090.20170.81810.69150.77060.7582
MK030.03100.29370.21260.28020.01670.26790.12070.34190.74600.84081.03420.8383
MK040.01510.01000.03700.01290.02560.03000.05480.03320.65010.73050.78310.6971
MK050.01040.01890.01550.01440.00270.00790.00880.00560.38630.58130.25930.5175
MK060.09360.16690.21380.10020.03980.09500.08900.05720.83830.85790.87330.8509
MK070.00260.00940.00520.00610.02330.01500.01780.01240.78230.82040.63200.8465
MK080.00080.00290.02030.00140.01600.02290.05520.01820.94010.83870.93670.9363
MK090.01040.05860.06750.07300.11290.19430.24070.18820.70490.70980.60600.7461
MK100.01020.01970.05920.02450.00900.06120.07160.05000.93770.94340.61290.9651
Among MISSA, MISSA_1, MISSA_2, and MISSA_3, the smallest value is bolded, indicating the optimal algorithm in this case.
Table 7. Comparison results of GD and IGD of MISSA, NSGA2, NSGA3 and SPEA2 algorithms.
Table 7. Comparison results of GD and IGD of MISSA, NSGA2, NSGA3 and SPEA2 algorithms.
CaseIndex
GDIGD
Mean Value × 10−4Standard Deviation × 10−4Mean Value × 10−4Standard Deviation × 10−4
MISSANSGA2NSGA3SPEA2MISSANSGA2NSGA3SPEA2MISSANSGA2NSGA3SPEA2MISSANSGA2NSGA3SPEA2
MK010.25080.67810.99860.85670.17360.34460.33440.44100.25560.65550.96280.90530.19960.23890.43070.3992
MK020.01060.01690.01290.01570.00760.01560.01130.01700.06570.11220.08780.08580.03250.04700.03920.0279
MK030.04640.04830.04110.02900.05080.02760.02450.01640.02870.06070.05400.04800.02030.02960.02750.0212
MK040.00950.02040.01870.01450.00410.01200.01130.01270.03790.07510.09940.06440.01680.02800.03330.0228
MK050.00700.01820.04590.01600.00990.01880.00970.01560.01960.01340.02350.01250.00330.01040.00930.0155
MK060.01720.03720.06030.02200.01410.03360.07790.01940.04320.05480.06920.04920.02590.02530.03960.0279
MK070.01100.00670.00580.00370.01380.00700.00420.00320.00060.00110.00110.00070.00060.00130.00070.0005
MK080.00190.00250.00230.00280.00160.00120.00120.00260.01090.01070.01100.01390.00610.00300.00350.0057
MK090.08440.09670.12310.12180.08990.02120.02320.02070.06600.09270.11960.12200.05880.01750.02410.0189
MK100.02050.03280.03080.02290.01960.01340.01110.01340.03450.03910.04580.03750.02280.01270.01040.0136
Average value0.04590.09580.13400.11050.03850.05000.05090.05620.05630.11150.14740.13390.03870.04140.06180.0553
Comparison/−52.0%−65.7%−58.4%/−22.2%−24.3%−31.5%/−49.5%−61.8%−58.0%/−6.5%−37.5%−30.1%
The GD mean value is 52.0%, 65.7%, and 58.4% lower than other algorithmsThe GD standard deviation is 22.2%, 24.3%, and 31.5% lower than other algorithmsThe IGD mean value is 49.5%, 61.8%, and 58.0% lower than other algorithmsThe IGD standard deviation is 6.5%, 37.5%, and 30.1% lower than other algorithms
Among MISSA, NSGA2, NSGA3, and SPEA2, the smallest value is bolded, indicating the optimal algorithm in this case.
Table 8. Comparison results of Applsci 15 05947 i001 of MISSA, NSGA2, NSGA3 and SPEA2 algorithms.
Table 8. Comparison results of Applsci 15 05947 i001 of MISSA, NSGA2, NSGA3 and SPEA2 algorithms.
CaseApplsci 15 05947 i001
Mean ValueStandard Deviation
MISSANSGA2NSGA3SPEA2MISSANSGA2NSGA3SPEA2
MK010.45150.49550.62260.80360.31250.35330.34510.2879
MK020.52440.78030.55770.59940.11410.15570.30430.3309
MK030.69760.88880.74410.81550.10000.13920.35500.2992
MK040.72120.75300.81070.85400.16860.11780.11160.0807
MK050.87930.71950.66280.66490.21310.15900.19670.2543
MK060.78850.86330.70120.53990.08130.19780.25040.3981
MK070.51590.64120.68640.53530.21950.18000.16270.2540
MK080.86910.92900.91640.92800.04700.04400.06550.0605
MK090.73330.96520.87780.78860.23910.01850.30930.4163
MK100.83940.91980.95310.84630.09320.04740.04620.3000
Average value0.70200.79560.75330.73760.152840.16200.21470.2682
Comparison/−11.8%−6.8%−4.8% −5.7%−28.8%−43.0%
The Applsci 15 05947 i001 mean value is 11.8%, 6.8%, and 4.8% lower than other algorithmThe Applsci 15 05947 i001 standard deviation is 5.7%, 28.8%, and 43.0% lower than other algorithms
Among MISSA, NSGA2, NSGA3, and SPEA2, the smallest value is bolded, indicating the optimal algorithm in this case.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Yin, L.; Gao, Q. Research on Multi-Objective Flexible Job Shop Scheduling Optimization Based on Improved Salp Swarm Algorithm in Rolling Production Mode. Appl. Sci. 2025, 15, 5947. https://doi.org/10.3390/app15115947

AMA Style

Yin L, Gao Q. Research on Multi-Objective Flexible Job Shop Scheduling Optimization Based on Improved Salp Swarm Algorithm in Rolling Production Mode. Applied Sciences. 2025; 15(11):5947. https://doi.org/10.3390/app15115947

Chicago/Turabian Style

Yin, Lei, and Qi Gao. 2025. "Research on Multi-Objective Flexible Job Shop Scheduling Optimization Based on Improved Salp Swarm Algorithm in Rolling Production Mode" Applied Sciences 15, no. 11: 5947. https://doi.org/10.3390/app15115947

APA Style

Yin, L., & Gao, Q. (2025). Research on Multi-Objective Flexible Job Shop Scheduling Optimization Based on Improved Salp Swarm Algorithm in Rolling Production Mode. Applied Sciences, 15(11), 5947. https://doi.org/10.3390/app15115947

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