Hybrid Grey Wolf Optimizer with discrete prism dispersion strategy for solving flexible job-shop scheduling problem
Ying Duan, Luyi Shi, Mingyang Li, Kangmin Hua, Ting Liu, Lijun He

TL;DR
This paper introduces a new hybrid algorithm for solving complex scheduling problems in manufacturing, improving efficiency and avoiding common optimization pitfalls.
Contribution
A novel hybrid grey wolf optimization algorithm with a discrete prism dispersion strategy to enhance global exploration and avoid local optima.
Findings
HGWO-DPDS achieves near-optimal makespan values on most benchmark instances.
The algorithm excels at escaping local optima compared to existing methods.
It maintains stable and reliable performance across different datasets.
Abstract
The Flexible job-shop scheduling problem (FJSP) is a quintessential NP-hard problem in the field of production scheduling. With the development of intelligent manufacturing industry, minimizing the total completion time in workshops has become a crucial research focus. Swarm intelligence algorithms have been widely used to solve the FJSP. However, they still suffer from issues such as premature convergence and a tendency of trapping in local optimum. In addition, as iterations increase, the basic parameters of the algorithm still need to be flexibly adjusted. To address these challenges, we propose a hybrid grey wolf optimization algorithm incorporating a discrete prism dispersion strategy (HGWO-DPDS). Inspired by the optical dispersion of light through a prism, this strategy simulates a multi-directional refraction process to diversify the population and improve global exploration.…
Genes, proteins, chemicals, diseases, species, mutations and cell lines named across the full text — each resolved to its canonical identifier and authoritative record.
Click any figure to enlarge with its caption.
Figure 10
Figure 11
Figure 12
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 13
Figure 14
Figure 15- —https://doi.org/10.13039/501100001809National Natural Science Foundation of China
- —Youth Backbone Teachers of Undergraduate Universities in Henan Province, China
- —The Open Fund of the Engineering Research Center of Intelligent Swarm Systems, Ministry of Education, China
- —Graduate Education Innovation Program Fund of Zhengzhou University of Aeronautics
- —Henan Provincial Philosophy and Social Sciences Planning Project: Research on the Mechanism of Scientific and Technological Archives Driving the Emergence of New Productivity
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScheduling and Optimization Algorithms · Metaheuristic Optimization Algorithms Research · Optimization and Packing Problems
Introduction
The development of Industry 5.0 has brought about a profound transformation in the paradigm of intelligent manufacturing. In contrast to Industry 4.0, which emphasizes large-scale automation and equipment interconnectivity, Industry 5.0 places greater focus on human-centric design and intelligent empowerment. Humans and machines collaborate synergistically to foster the development of more efficient, flexible, and resilient production systems^1^.
In the context of intelligent manufacturing, the FJSP has emerged as a critical bottleneck hindering the improvement of production efficiency, due to its inherent flexibility in both operation routing and machine selection. The primary objective of FJSP is typically to minimize the makespan, which is the maximum completion time of all jobs on their assigned machines. It belongs to the category of NP-hard scheduling problems and is difficult to solve efficiently through traditional precise algorithms^2^.
Swarm intelligence optimization algorithms have become a mainstream method for solving FJSP, owing to their advantages such as strong global exploration capabilities, few control parameters, and good adaptability to complex environments. Among these algorithms, the Grey Wolf Optimizer (GWO) algorithm simulates the leadership hierarchy and hunting behavior of grey wolf groups and performs effectively in continuous space. It has been widely applied to various fields, such as building energy optimization^3^, Internet of Things data transmission^4^ and robotic path planning^5^. However, when dealing with complex and discrete flexible job-shop scheduling environments, the traditional GWO exhibits several limitations, including incompatibility with the discrete search space, premature convergence, and insufficient local escape capability, making it difficult to apply directly.
To address these challenges, this study proposes a hybrid grey wolf optimization algorithm incorporating a discrete prism dispersion strategy (HGWO-DPDS). Unlike existing GWO variants that mainly enhance exploitation through hybrid operators or adaptive weights, the proposed method is the first to draw inspiration from optical physics, introducing a multi-directional dispersion mechanism analogous to light refraction through a prism. This strategy allows multiple reference centers to guide the population toward different regions of the solution space simultaneously, thereby enhancing global exploration and maintaining population diversity.
The proposed HGWO-DPDS constructs a dual-segment encoding and decoding mechanism to adapt the continuous algorithm to the discrete structure of FJSP. In the position update phase, a critical-path-based local perturbation mechanism is employed to refine bottleneck operations that influence the makespan. The discrete prism dispersion strategy generates diverse solutions through a multi-directional refraction process, improving exploration capability. Finally, an adaptive mutation operator dynamically balances exploration and exploitation during the iterative process, enhancing algorithm stability and solution precision. This study not only provides an effective solution for flexible scheduling optimization, but also offers new insights into the application and expansion of swarm intelligence optimization algorithms in Industry 5.0.
The remainder of the paper is organized as follows: Section 2 reviews the related work on the FJSP and the GWO. Section 3 states the research problem of FJSP. Section 4 introduces the basic GWO. Section 5 presents the proposed algorithm HGWO-DPDS, including its structural design and enhancement strategies. Section 6 conducts experiments and analysis on several standard benchmark instances. Section 7 concludes the study and discusses future research directions.
Related work
FJSP
Flexible job-shop scheduling is a classical topic in the field of production scheduling. In recent years, metaheuristic algorithms have exhibited a diversified trend of innovation in addressing complex job-shop scheduling problems^6^. Among these, bio-inspired heuristic methods have demonstrated unique advantages in solving FJSP problems by simulating the behavioral search mechanisms of biological populations. By refining the algorithm processes, adjusting key parameters, and introducing novel strategies, the performance of such algorithms can be significantly enhanced, thereby providing effective methodological support for dynamic and adaptive scheduling.
For example, Karaboga proposed the artificial bee colony algorithm (ABC), which outperformed the traditional genetic algorithm and particle swarm optimization (PSO) in numerical optimization tasks^7^. Lin developed a learning-based cuckoo search (LCS) algorithm to address FJSP in semiconductor manufacturing environments^8^. Bharti proposed two hybrid frameworks (Hybrid-I and Hybrid-II) combining PSO, GSA, and GA to solve multi-objective FJSPs, achieving superior performance on benchmark and industrial cases^9^. Park proposed a new unified genetic algorithm, which simplifies the algorithm design and improves the quality of the solution through a sequential coding structure to solve the single-objective flexible job-shop scheduling optimization problem^10^. Kelvin developed a hyper-heuristic algorithm (SA-HH) based on simulated annealing to optimize makespan in high-mix manufacturing scenarios^11^. Fuladi presented a hybrid optimization method that uses genetic algorithm (GA) and simulated annealing (SA) as global optimization techniques, combined with variable neighborhood search, showing promising performance in static and dynamic scheduling contexts^12^. Li studied the flexible job-shop scheduling problem with batch processing (batch flow) and proposed a hybrid algorithm (RL-ABC) that combines reinforcement learning and artificial bee colony to reduce makespan^13^. Zhang proposed a PPO-based deep reinforcement learning framework with graph neural network embedding for the variable processing time FJSP (VPT-FJSP), which outperformed the traditional genetic algorithm and ant colony optimization in static and dynamic scheduling scenarios^14^. Wang developed a dual-attention network (DAN) combined with deep reinforcement learning to capture complex operation-machine relationships in FJSP, achieving results comparable to exact methods and demonstrating strong generalization ability on large-scale and unseen problems^15^.
GWO
The GWO is a relatively recent meta-heuristic algorithm with a simple structure, easy implementation, and strong adaptability, making it widely applicable in engineering optimization problems.
Mirjalili’s team extended GWO into discrete domains by designing crossover operators and neighborhood search strategies, successfully solving job-shop scheduling problems^16^. Jiang and Zhang proposed a discrete GWO hybridized with Variable Neighborhood Search (VNS) for job-shop and flexible job-shop scheduling problems, and incorporated classical genetic operators while targeting makespan minimization^17,18^. Zhang introduced a crossover mechanism into GWO to address multi-objective FJSP, balancing makespan and machine energy consumption^19^. Lin proposed a learning-based grey wolf optimization algorithm for random flexible job-shop scheduling problems and enhanced resource allocation balance^20^. Kong optimized the makespan and critical machine load of FJSP, achieving better in terms of solution accuracy and convergence performance^21^. Zhang integrated Q-learning into GWO to develop low-carbon and efficient scheduling strategies for complex manufacturing systems^22^. Zhu addressed FJSP with job priority constraints and proposed the self-adaptive cell evolution-based grey wolf optimizer (SCEGWO) to minimize completion time^23^. Chen focused on the distributed hybrid flow shop scheduling problem and proposed a Q-learning-based grey wolf optimization algorithm considering practical constraints^24^. Li incorporated the demands of green intelligent manufacturing and constructed a dynamic flexible job-shop multi-objective scheduling model, considering criteria such as energy consumption, makespan, machine load, and product quality stability. He also proposed an Improved Multi-objective GWO (IMOGWO) to solve the model^25^. Zhou proposed an adaptive fast GWO (SS-GWO) to solve FJSP, achieving better optimization results and lower makespan compared to existing algorithms^26^.
Main contributions of this paper
The aforementioned research on GWO has achieved notable progress in the field of flexible workshop job scheduling. However, the algorithm still suffers from limited global search capability and is prone to premature convergence, making it susceptible to being trapped in a local optimum. Therefore, further systematic research is needed to optimize and extend the algorithm and to develop more efficient strategies for practical scheduling. This paper proposes a hybrid grey wolf optimization algorithm HGWO-DPDS, designed to enhance the population diversity and reduce the makespan.
The main contributions of this study are summarized as follows:
- The nonlinear convergence factor a is introduced to improve the convergence characteristics of the algorithm.
- A discrete prism dispersion strategy (DPDS), inspired by the optical dispersion phenomenon, is proposed for the first time in contrast to existing algorithms. By generating multiple reference centers and dispersing individuals toward them, this mechanism enables multi-directional exploration and enhances population diversity.
- In the position update phase, two local perturbation strategies are designed for the bottleneck operations on the critical path machine to improve the local refinement accuracy. In addition, for the machine selection segment, a “three-wolf voting” with roulette-based probability selection is adopted to move toward one of the three leading wolves with a certain probability.
- A mutation operator with a dynamic adaptive attenuation mechanism is integrated to adjust the mutation rate over time. This enhances the fine-tuning ability of the solution in the middle and late stages of the iteration, and improves algorithm stability and solution accuracy.
Problem description
In a flexible workshop environment, there are n jobs and m machines. Each job consists of a sequence of operations that must be processed in a predefined order. Each operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{ij}$$\end{document} can be executed on one of several available machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M \subseteq M_{ij}$$\end{document} and the processing time may vary depending on the machine selected. Each machine can process only one operation at any given time, and once the processing begins, it cannot be interrupted. The scheduling must strictly follow the technological precedence constraints, meaning that operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{ij}$$\end{document} cannot begin until its immediate predecessor \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{i(j-1)}$$\end{document} has completed. Based on the above analysis, FJSP can be decomposed into two interrelated sub-problems:
- Machine allocation problem: Select the appropriate machine from the eligible set for each operation.
- Operation sequencing problem: Determine the processing order of the operations on each machine. The symbols, abbreviations, and algorithm parameters employed in this study are listed in Tables 1 and 2.Table 1. Symbols and abbreviations used in this study.SymbolsDescriptionnTotal number of jobs \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{op}$$\end{document} Total number of operationsmTotal number of machineshMachine indexiJob index \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j_{i}$$\end{document} Total number of operations in the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i^{th}$$\end{document} jobLA sufficiently large positive numberJThe set of jobs, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$J = \{J_1, J_2,..., J_n\}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{ij}$$\end{document} The \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} operation of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i^{th}$$\end{document} job \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_{ij}$$\end{document} Machine set that can process \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{ij}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$P_{hij}$$\end{document} Processing time of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{ij}$$\end{document} on machine h \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s_{ij}$$\end{document} Start time of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} operation of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i^{th}$$\end{document} job \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c_{ij}$$\end{document} End time of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} operation of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i^{th}$$\end{document} job \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C_{\max }$$\end{document} Makespan \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C_i$$\end{document} Completion time of job i \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X_i$$\end{document} Solution individual \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_{hij}$$\end{document} Binary decision variable, equals 1 if operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{ij}$$\end{document} of job i is processed on machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_{h}$$\end{document} , 0 otherwise \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$y_{hijkl}$$\end{document} Binary decision variable, equals 1 if operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{hij}$$\end{document} precedes operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{hkl}$$\end{document} ,0 otherwiseiis processed before operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{hkl}$$\end{document} on machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_{h}$$\end{document} , 0 otherwiseMSMachine selection encodingOSOperation sequence encodingTable 2Algorithm parameters used in this study.ParameterDescriptionaThe convergence factorNPopulation sizeTMaximum number of iterationstCurrent iterationkRefraction parameterrDispersion probability \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _0$$\end{document} Initial mutation intensity \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _{\min }$$\end{document} Minimum mutation intensityiterThe current number of iterationsSThe machine schedule matrix
The optimization objective is to minimize the makespan ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C_{\max }$$\end{document} ). The mathematical formulation is given as:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \min C_{\max } = \min \left( \max _{1 \le i \le n} C_i\right) \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C_{i}$$\end{document} is the completion time of the last operation in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$J_{i}$$\end{document} . The model is subject to the following constraints^2^:
- Operation timing and precedence constraint:
These constraints ensure that each operation is completed after its processing time elapses, and that the subsequent operation in the same job starts only after its predecessor is completed. 2. Makespan constraint :
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} c_{ij} \le C_{\max }, \quad \forall i, j \end{aligned}$$\end{document}This constraint ensures that the completion time of each job does not exceed the makespan. 3. Operation completion time definition:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} c_{ij} = s_{ij} + \sum _{h \in M_{ij}} x_{hij} \cdot P_{hij}, \quad i = 1,2,\dots ,n;\ j = 1,2,\dots ,j_i;\ h = 1,2,\dots ,m \end{aligned}$$\end{document}The completion time of an operation is determined by its start time and the processing time on the selected machine. 4. Disjunctive and Precedence Constraints:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} s_{ij} + P_{hij}&\le s_{kl} + L(1 - y_{hijkl}), \nonumber \\&\quad \begin{aligned}&i = 1,2,\dots ,n; \quad j = 1,2,\dots ,j_i; \quad h = 1,2,\dots ,m; \\&k = 1,2,\dots ,n; \quad l = 1,2,\dots ,j_i \end{aligned} \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} c_{ij}&\le s_{i(j+1)} + L(1 - y_{hklj(i+1)}), \nonumber \\&\quad \begin{aligned}&i = 1,2,\dots ,n; \quad j = 1,2,\dots ,j_i - 1; \quad h = 1,2,\dots ,m; \\&k = 1,2,\dots ,n; \quad l = 1,2,\dots ,j_i \end{aligned} \end{aligned}$$\end{document}Specifically, the first constraint ensures that two operations assigned to the same machine are scheduled without time overlap. The second constraint enforces the precedence relationship within each job, requiring that each operation must be completed before its subsequent operation starts. 5. Machine assignment constraint:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \sum _{h=1}^{m_{ij}} x_{hij} = 1, \quad i = 1,2,\dots ,n;\ j = 1,2,\dots ,j_i;\ h = 1,2,\dots ,m \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_{hij} = 1$$\end{document} if operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{ij}$$\end{document} is assigned to machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M \subseteq M_{ij}$$\end{document} , otherwise \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_{hij} = 0$$\end{document} . The machine assignment variable \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_{hij}$$\end{document} is binary: it equals 1 if operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{ij}$$\end{document} is assigned to machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_{k}$$\end{document} and 0 otherwise. This enforces exclusivity in the assignment decision. 6. Positive timing constraint:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} s_{ij} \ge 0, \quad c_{ij} \ge 0, \quad i = 1,2,\dots ,n;\ j = 1,2,\dots ,j_i \end{aligned}$$\end{document}Each operation must have non-negative start and completion times, ensuring physical feasibility of the schedule.
Basic GWO
The GWO algorithm is used to simulate the social hierarchy and hunting behavior of grey wolf groups in nature^16^, such as tracking and attacking prey. It achieves a balance between global and local exploration in the solution space and has been widely applied in complex optimization problems, such as job-shop scheduling, path planning, machine learning, and image processing.
In GWO, each individual in the group represents a grey wolf, divided into four hierarchical roles: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} (optimal solution), \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\beta$$\end{document} (suboptimal solution), \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\delta$$\end{document} (the third best solution) and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega$$\end{document} (the remaining individuals). During each iteration, the position update of individuals is guided primarily by the first three, enabling the population to gradually converge toward the optimal solution.
Mathematical model description of grey wolf hunting behavior
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {D} = \left| \vec {C} \cdot \vec {X}_p(t) - \vec {X}(t) \right| \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {X}(t+1) = \vec {X}_p(t) - \vec {A} \cdot \vec {D} \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {X}_p(t)$$\end{document} denotes the position vector of the prey, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {X}(t)$$\end{document} is the current position vector of the grey wolf, and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {A}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {C}$$\end{document} are the coefficient vectors. The distance vector \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {D}$$\end{document} represents the distance between an individual and the prey.
The position update of each individual is influenced by coefficient vectors that balance exploration and exploitation. The two main coefficient vectors \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {A}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {C}$$\end{document} are defined as:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {A}=2\cdot \vec {a}\cdot \vec {r}_1-\vec {a} \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {C}=2\cdot \vec {r}_{2} \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {a}$$\end{document} is a control vector that decreases from 2 to 0 with the number of iterations and is used to adjust the search range, while \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {r}_1$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {r}_{2}$$\end{document} are random vectors in the interval [0, 1].
Leader-based position update
To improve the quality of the solution, GWO utilizes the positions of the top three leaders: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\beta$$\end{document} , and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\delta$$\end{document} to guide each individual in the population:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {D}_\alpha =\left| \vec {C}_1\cdot \vec {X}_\alpha -\vec {X}\right| \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {D}_\beta =\left| \vec {C}_2\cdot \vec {X}_\beta -\vec {X}\right| \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {D}_\delta =\left| \vec {C}_3\cdot \vec {X}_\delta -\vec {X}\right| \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {D}_\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {D}_\beta$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {D}_\delta$$\end{document} can be interpreted as the distance vectors between the current individual and the position of three leading wolves, which represent the relative position of the leader wolf and the current individual, thus generating a search or update direction. \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {X}_\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {X}_\beta$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {X}_\delta$$\end{document} represent the positions of the leadership individuals \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\beta$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\delta$$\end{document} in the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$t^{th}$$\end{document} iteration respectively. Each leading wolf is associated with an independent coefficient vector \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {C}_i$$\end{document} to ensure diversity in the update directions.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {X}_1=\vec {X}_\alpha -\vec {A}_1\cdot \vec {D}_\alpha \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {X}_2=\vec {X}_\beta -\vec {A}_2\cdot \vec {D}_\beta \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {X}_3=\vec {X}_\delta -\vec {A}_3\cdot \vec {D}_\delta \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \vec {X}(t+1)=\frac{1}{3}\left( \vec {X}_1+\vec {X}_2+\vec {X}_3\right) \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {X}(t+1)$$\end{document} is used to update the positions of ordinary individuals, which is equivalent to taking the average of the three candidate solutions \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {X}_1$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {X}_2$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {X}_3$$\end{document} based on the guidance of the three leaders relative to the current individual. This process reflects a weighted consensus approach that enables the population to generate the next generation of individuals under the guidance of the top three wolves.
The parameter \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {A}_i$$\end{document} is a control parameter that adjusts the tendency toward local exploitation or global exploration. Usually, when \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {A}_i$$\end{document} has a larger value, the step size increases accordingly, allowing the algorithm to explore new regions of the solution space. Conversely, when \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\vec {A}_i$$\end{document} is smaller, the update becomes more fine-grained, favoring local convergence.
This mechanism reflects the guiding role of social hierarchy in the search process, prompting the population to converge to the optimal solution while retaining sufficient diversity to avoid premature convergence.
The Hybrid Grey Wolf Algorithm HGWO-DPDS
Overview of the Hybrid Grey Wolf Algorithm
The improved algorithm proposed in this study, referred to as HGWO-DPDS, mainly consists of five stages: initialization, encoding, fitness evaluation, position updating, and mutation operation. The algorithm aims to minimize the makespan of FJSP. The detailed procedure is outlined in Algorithm 1:
Algorithm 1HGWO-DPDS
It integrates several enhancement strategies into the standard Grey Wolf Optimizer to improve its efficiency in solving the FJSP. Specifically, the initialization phase generates a set of candidate solutions to enhance global exploration, while the encoding stage ensures that each individual can be accurately mapped to a feasible schedule. During the fitness evaluation, the makespan of each individual is computed through a decoding mechanism under the FJSP constraints. The position update incorporates a critical-path-based mechanism that perturbs bottleneck operations to enhance exploration, while a leader-machine-guided strategy directs convergence toward high-quality solutions. In addition, the discrete prism dispersion strategy diversifies the population by guiding solutions toward multiple reference centers, and the adaptive mutation further refines promising solutions to prevent premature convergence.
Discrete dual-segment encoding and decoding strategy
This study uses three effective bio-inspired heuristic strategies to initialize the population and construct approximate solutions, with an initialization ratio of 1:1:2.
- High-fitness clustering: Based on the principle of minimizing the overall machine load, the most suitable machines are assigned to all operations;
- Local cross sampling: Within the optional machine set of a single job, the local greedy rule is applied to generate fused solutions;
- Random population embedding: Random sampling within the legal machine set of each operation. The three strategies generate a set of individuals with different scheduling codes. This hybrid initialization method balances the diversity and quality of the solutions at an early stage, providing a solid foundation for subsequent search.
Encoding is the expression of individual solutions. An efficient encoding scheme must ensure the validity and feasibility of individuals. Traditional GWO mainly targets continuous optimization problems, while FJSP belongs to the category of discrete resource allocation problems. Therefore, it is essential to develop a proper encoding and decoding strategy.
We use a discrete dual-segment encoding to represent each solution. The chromosome is composed of the machine selection segment (MS) and the operation sequencing segment (OS).
Each element of the MS is an integer-coded representing the relative index of the current operation in its optional machine set, and the OS is the sequence of the job numbers during scheduling, with each job number appears as many times as its operations. Repeated occurrences of a job index are mapped to its operations in order: the first appearance of job i corresponds to its first operation, the second appearance to its second operation, until all operations of the job are assigned.
Moreover, invalid encodings generated during solution updates are repaired through a two-stage procedure. The OS part is corrected by adjusting the number of occurrences of each job to match its required operations. The MS part is repaired by replacing any out-of-range machine index with a feasible one according to each candidate machine set.. This ensures that all individuals remain feasible.
The complete representation of a scheduling solution is as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \text {Individual} = \underbrace{[ms_1, ms_2, \ldots , ms_{n_{op}}]}_{\text {Machine selection segment}} \Vert \underbrace{[os_1, os_2, \ldots , os_{n_{op}}]}_{\text {Operation sequencing segment}} \end{aligned}$$\end{document}The detailed decoding framework is outlined in Algorithm 2:
Algorithm 2Decoding
To clearly illustrate this decoding method obviously, a problem with four jobs, three machines, and ten operations is provided as an example. This instance of FJSP is shown in Table 3.Table 3. An example of FJSP.JobsOperationsMachines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_1$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_2$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$J_1$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{11}$$\end{document} 6 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\infty$$\end{document} 5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{12}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\infty$$\end{document} 74 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$J_2$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{21}$$\end{document} 967 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{22}$$\end{document} 5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\infty$$\end{document} 6 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{23}$$\end{document} 56 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\infty$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$J_3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{31}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\infty$$\end{document} 56 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{32}$$\end{document} 74 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\infty$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$J_4$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{41}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\infty$$\end{document} 86 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{42}$$\end{document} 453 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{43}$$\end{document} 67 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\infty$$\end{document}
A feasible encoding can be randomly generated as follows, where the index starting from 0. The encoding and decoding process is illustrated in Fig. 1, and the best solution obtained by executing the algorithm is shown in Fig. 2.Fig. 1. The encoding and decoding of an individual solution.Fig. 2. Scheduling Gantt chart.
As shown in Fig. 2, for the MS, the first gene 1 indicates that the first operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{31}$$\end{document} of the job 3 is processed at index 2 of its optional machine set, which is machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_{2}$$\end{document} ; similarly, the second 1 indicates that the second operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{21}$$\end{document} of the job 2 is assigned to machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_{2}$$\end{document} .
In the OS, each job number indicates the next operation of that job to be scheduled. The first gene 2 represents the first operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{31}$$\end{document} of job 3, and the second gene 1 represents the operation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{21}$$\end{document} of job 2, and so on. The complete scheduling scheme can be decoded, and the corresponding Gantt chart obtained accordingly.
Specifically, the operation sequence on machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_{1}$$\end{document} is \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{11} \rightarrow O_{43} \rightarrow O_{23}$$\end{document} , the operation sequence on machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_{2}$$\end{document} is \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{21} \rightarrow O_{31} \rightarrow O_{32}$$\end{document} , and the operation sequence on machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_{3}$$\end{document} is \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O_{41} \rightarrow O_{42} \rightarrow O_{22} \rightarrow O_{12}$$\end{document} .
Discrete prism dispersion strategy
The physical essence of light dispersion comes from the law that the refractive index of a material varies with wavelength of incident light. According to Snell’s law^27^, also known as the law of refraction:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} n_{1}\sin \theta _{1}=n_{2}(\lambda )\sin \theta _{2} \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{1}$$\end{document} represents the refractive index of the incident medium, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{2}(\lambda )$$\end{document} represents the refractive index of the refractive medium at the wavelength \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\lambda$$\end{document} , and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{1}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{2}$$\end{document} are the angles between the incident light, the refracted light and the interface normal respectively.
Figure 3 illustrates the physical process of light dispersion through a prism, in which incident white light is decomposed into multiple colored rays due to wavelength-dependent refraction. When light enters the prism from air, the violet component will be deflected more due to its higher refractive index, while the red light will be deflected less. As a result, the mixed white light is decomposed into a series of orderly arranged colored light bands, forming a typical spectral dispersion phenomenon.Fig. 3. Prism dispersion of light.
In the later stage of the traditional grey wolf optimization algorithm, most individuals tend to cluster around the best solution \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , leading to rapid convergence, which also results in a sharp decline in population diversity, thereby weakening the global exploration ability. Although there is a certain guiding relationship between individuals and superior wolves, its essence remains a one-directional, nearest-neighbor convergence process, lacking an effective mechanism for escaping local optimum.
From the perspective of heuristic optimization, the prismatic dispersion of light illustrates that a simple system produces a wide range of diverse outcomes after interacting with a complex medium, which can be likened to a multi-directional perturbation strategy. This study simulates the dispersion behavior of light, drives population diversification in multiple directions, enhances the exploration capability in the middle and late stages of algorithm, and avoids falling into the local optimum. The detailed process of DPDS is outlined in Algorithm 3, and the execution process is illustrated in Fig. 4.
Algorithm 3DPDS
Fig. 4. Execution process of the DPDS.
The current individual is represented as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_{i}$$\end{document} , corresponding to a feasible scheduling solution. We introduce several reference centers \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_k^*$$\end{document} , each constructed by taking the majority vote on the MS and OS segments among three selected reference individuals, where for each gene position, the value that appears most frequently among the three individuals is retained. If all three values differ, one of them is randomly selected. The individuals are selected using three strategies: (1) the three best solutions ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\beta$$\end{document} , and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\delta$$\end{document} ), (2) three randomly chosen individuals from the population, and (3) the last three individuals in the population.
Equation (25) indicates that the center is obtained through majority voting of three reference individuals, and the construction process of the reference centers based on the MS and OS segments is illustrated in Fig. 5.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} x_k^*=\operatorname {Mode}\left( x_{a}, x_{b}, x_{c}\right) \end{aligned}$$\end{document}Fig. 5. The construction process of a reference center.
This process is analogous to the formation of a multi-color dispersion center. For each gene of a candidate solution, it moves toward the corresponding reference center with probability \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x \in [0,1]$$\end{document} . The mathematical model is defined as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} x_{i, j}^{\text {new}}=\left\{ \begin{array}{cl} x_{k,j}^*,\text { if}& x_{i, j}\ne x_k^*\text { and}\text { x}<w\\ & x_{i, j},\text { otherwise} \end{array}\text { for} j=1,\ldots , 2 n\right. \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_{k,j}^*$$\end{document} denotes the value of the reference center individual at the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} gene position. Assume that both the MS and OS segments have a length of n. If \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j < n$$\end{document} , the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_{i,j}$$\end{document} represents the machine selection index of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} gene position of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i^{th}$$\end{document} individual; otherwise, it represents the operation sequencing index to be scheduled at the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(j-n)^{th}$$\end{document} gene position. The probability x is determined by the perturbation strength w, which is generated based on refractive intensity factor k and a random number drawn from a uniform distribution. A larger value of k increases the likelihood of perturbation. The expression is as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} w=\min (k\cdot \operatorname {rand}(), 1) \end{aligned}$$\end{document}Although DPDS is inspired by optical dispersion, it is conceptually related to center-guided recombination mechanisms such as multi-parent crossover^28^ and EDA-based model learning^29^. Unlike these methods, which depend on stochastic gene mixing or probabilistic sampling, DPDS generates multiple projections around solutions, providing structured and diversity-enhancing perturbations while avoiding randomness-induced drift common in other approaches. These make DPDS a stable mechanism.
Position update
Position update is the core mechanism of GWO. In the standard GWO, the position of each individual approach the high-quality solution area through a weighted average. This mechanism ensures strong local exploration capability and fast convergence.
However, directly applying this update rule to FJSP may be ineffective: first, it is based on real number operations and cannot manipulate the discrete coding structure; second, its rapid convergence often causes premature stagnation. Therefore, we develop a customized position update strategy that is adapted to the FJSP and introduces a local search strategy to enhance search diversity. The position update procedure is denoted as follows:
Step 1: Given the current individual chromosome, decode it to identify the critical machine that contributes most to the makespan, then extract the scheduling block of this machine.
Step 2: If the sub-block contains at least two operations, apply a local search strategy (selected from two available strategies) to update the critical block’s operation sequence. Sub-blocks shorter than 2 contain only a single operation and moving it would have negligible impact on the makespan, whereas longer sub-blocks allow meaningful local perturbations.
Step 3: Obtain the machine selection segments from the three leading individuals, and update the machine selection of the current individual based on one of the leading wolves.
Step 4: Return the updated individual chromosome as the new solution.
The local search strategy used in this study consists of two components: operation sequencing and machine selection.
For the operation sequence, a search mechanism guided by the fusion of local critical paths is employed. In scheduling problem, the critical path refers to a series of sequential operations that determine the makespan. It can be considered as a set of serially dependent operations with the following characteristics: (1) It starts from the first operation of the longest time-consuming route and ends at the last operation, which is a complete path; (2) Each operation on this path must wait either for its predecessor to complete or for the assigned machine to become available; (3) The total duration of all operations in the critical path equals the makespan of the schedule; (4) Any delay in an operation on the critical path will directly lead to an increase in the overall makespan. The processing order and resource conflict along the critical path affect the scheduling efficiency and overall performance (Fig. 6).Fig. 6. Critical path in the disjunctive graph model.
Based on this observation, applying local perturbations to the critical path can effectively optimize the overall makespan.
For each individual entering the position update phase, the processing status on each machine is decoded, and the completion time of the last operation on each machine is recorded. The machine with the longest completion time is identified as the critical machine. The corresponding sequence of operations on this machine is defined as the sub-block of the critical path, representing a potential bottleneck affecting the overall makespan.
If the sub-block length is at least 2, a critical-path-guided local search can be applied, the critical-path-guided local search for OS is illustrated in Figure 7.
- Fragment moving insertion: In the identified sub-block, a continuous operation sequence fragment is intercepted. The length of the fragment is chosen randomly but is constrained to be at least 2 and at most the total number of operations in the block. The fragment is removed from its original position and inserted into another position inside the sub-block without affecting other unrelated operations. Before insertion, a section of the original content of the same length as the segment will be cleared at the target position to make room for the new fragment and avoid abnormalities in the updated solution.
- Random shuffle of critical segments: This strategy performs random shuffling operations on all operations of the critical path block, generating a new local operation sequence. Such randomness enables the algorithm to escape a local optimum by introducing stronger perturbations. Compared with “fragment insertion”, random shuffling introduces greater disturbance, expands the search radius, increases population diversity, and enhances the algorithm’s global exploration ability. Fig. 7. Flowchart of the critical-path-guided local search for OS.
For the machine selection, the information from the three leader wolves is utilized to guide the ordinary individuals to update the machine assignments for each operation. First, the machine selection segments of three leader wolves are extracted, and roulette wheel selection is used to select one from the three candidate machine values, which then serves as the new machine assignment for the corresponding operation. Specifically, the roulette wheel assigns fixed probabilities of 0.4, 0.3, and 0.3 to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\beta$$\end{document} , and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\delta$$\end{document} , respectively, giving higher guidance weight to the best wolf while preserving diversity in machine assignment.
This method retains the guidance strategy under the traditional GWO framework, provides multi-source information as reference, and achieves more stable convergence.
Adaptive mutation strategy
To enhance the adaptability of the algorithm in later search stages, an adaptive mutation operator from the genetic algorithm is incorporated into the proposed hybrid GWO framework. The mutation mechanism is well-structured and introduces only mild perturbations, it can be applied after the position update. To control the degree of disturbance over time, an adaptive exponential decay scheme is designed for the mutation intensity. The current mutation strength \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} is as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \mu =\max \left( \mu _{0}\cdot 0.8^{\frac{\text {iter}}{\text {max\_iter}/5}},\mu _{\text {min}}\right) \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _{0}$$\end{document} denotes the initial mutation intensity, which is set to 0.2 in this study; \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _\text {min}$$\end{document} is the minimum mutation intensity, used to prevent premature stagnation, iter and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$max\_iter$$\end{document} are the current number of iterations and the maximum number of iterations, respectively. Following commonly used settings in adaptive metaheuristic frameworks^30^, we select 0.8 and 5 to maintain a moderate and steady decrease in mutation intensity over the course of the iterations , as shown in Figure 8.Fig. 8. Variation curve of mutation strength \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} .
Operation sequence mutation: For the operation sequence segment, a random swap mutation strategy is employed. Randomly select two positions from the current operation sequence and exchange them. This is a micro-perturbation operation, which can strengthen neighborhood exploration and facilitate local improvement.
Machine selection mutation: With a certain probability (mutation intensity), each gene in the machine selection sequence is independently perturbed. Specifically, for the operation at the selected mutation position, a new machine is randomly chosen from its corresponding set of available machines, replacing the original value, so as to result in a new machine assignment scheme.
The distinct feature of HGWO-DPDS lies in the synergy of three complementary strategies. The Discrete Prism Dispersion Strategy enhances population diversity and avoids premature convergence; the Position Update intensifies local search around the bottleneck operations that determine the makespan; and the Adaptive Mutation dynamically fine-tunes promising solutions in the later iterations. Working together, these three mechanisms balance global exploration and local exploitation, which makes HGWO-DPDS more robust and effective than variants using only one or two of them.
Convergence and complexity assessment
From a theoretical perspective, although the proposed algorithm is essentially heuristic and does not guarantee strict mathematical convergence, its iterative process can be interpreted as a gradual contraction of the search toward high-quality regions. This provides a heuristic form of convergence in probability, consistent with the behavior observed in other swarm-based algorithms.
In terms of computational complexity, assuming the population size is N, the number of operations per iteration mainly depends on the decoding and fitness evaluation processes, resulting in an overall time complexity of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(N \times n_{op} \times m)$$\end{document} , where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{op}$$\end{document} and m indicate the number of operations and machines.
Table 4 summarizes the time complexity of each key component of HGWO-DPDS. Overall, the complexity of the proposed algorithm is comparable to that of other population-based metaheuristics such as GA and PSO, indicating that the proposed HGWO-DPDS does not incur significant additional computational overhead.Table 4. Time complexity of each component.Algorithm componentTime complexityInitialization \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(N \times n_{op})$$\end{document} Decoding \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(N \times n_{op} \times m)$$\end{document} DPDS \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(N \times n_{op})$$\end{document} Position Update \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(N \times n_{op} \times m)$$\end{document} Adaptive Mutation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(N \times n_{op})$$\end{document}
Experiments and discussion
To verify the effectiveness of the proposed hybrid grey wolf optimization algorithm based on a discrete prism dispersion strategy for solving the FJSP, comparative experiments are conducted on several benchmark datasets, including three widely used benchmark datasets: MK instances, Kacem instances, and Lawrence instances.
The MK instances were proposed by Brandimarte in 1993 as benchmarks for FJSP. They include 10 instances, with 10, 15, or 20 jobs, and 6, 8, 10, or 15 machines. Each job contains between 4 and 8 operations. Owing to their moderate size and structural diversity, MK instances have been widely adopted in the literature^31^. The Kacem instances were introduced by Kacem in 2002 for FJSP. There are four instances in total^32^, with scales of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$4 \times 5$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$10 \times 7$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$10 \times 10$$\end{document} , and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$15 \times 10$$\end{document} . Each instance contains approximately 1.5 to 2 times the number of jobs in operations. These instances are characterized by small alternative machine sets and clear processing time distributions, making them suitable for testing the capability of handling flexible processes. The Lawrence (LA) instances were initially proposed by Lawrence in 1984 for the classical job-shop scheduling problem (JSP)^33^, and have since been widely extended into flexible variants for testing FJSP algorithms. A total of 40 instances are included, with scales ranging from \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$10 \times 5$$\end{document} to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$30 \times 15$$\end{document} . In most cases, the number of operations is 2–3 times the number of jobs. These instances have higher complexity and larger solution spaces, making them well-suited for evaluating the performance of algorithms in large-scale scheduling scenarios involving multiple operations. They are also recognized as one of the most important benchmarks in FJSP research.
All experiments were conducted using Python, on a computer with Windows 11, a \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$12^{th}$$\end{document} Gen Intel(R) Core(TM) i7-12700 2.10 GHz processor, and 8 GB of RAM. Each instance was run independently 20 times, and the results were evaluated based on the best makespan obtained and the relative deviation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(GAP\%)$$\end{document} .
Experimental design
To ensure that the proposed algorithm maintains stable optimization performance across different instance scales, a systematic parameter sensitivity analysis was conducted. Considering the number of parameters and their complex interactions, the Taguchi orthogonal experimental design was adopted to improve experimental efficiency. By constructing an orthogonal array, the influence of each parameter on algorithm performance can be obtained with a limited number of experimental combinations, thereby determining a reasonable parameter configuration.
In the prismatic dispersion stage, the perturbation strength is defined as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$w = \min (k \cdot \text {rand}(), 1)$$\end{document} . To improve reproducibility, the refraction array k was fixed at 0.5, 1.0, 1.5. Preliminary tests showed that this setting provides sufficient scaling diversity. Consequently, k was excluded from the subsequent parameter sensitivity analysis.Table 5. Parameter settings for small-scales.ParameterLevel 1Level 2Level 3N50100200T400450500r0.30.40.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _0$$\end{document} 0.20.30.4Table 6Parameter settings for large-scales.ParameterLevel 1Level 2Level 3N50100200T80010001200r0.30.40.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _0$$\end{document} 0.20.30.4
Four primary control parameters were considered for the algorithm. N: initial population size; T: maximum number of iterations; r: perturbation ratio of the critical path; \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _0$$\end{document} : initial value of the adaptive mutation strength.
Each parameter was assigned three levels, as shown in Tables 5 and 6, corresponding to the experimental settings for small-scale and large-scale instances, respectively. The small-scale experiments used MK01 and MK03 as representative instances, while MK07 and MK08 were selected for the large-scale experiments. An \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$L_9$$\end{document} orthogonal array was employed to generate nine parameter combinations. Each experiment was repeated 20 times independently, and the average makespan (Mean), variance (Var), and runtime (Time) were recorded as performance indicators.
The experimental results are presented in Tables 7 and 8. For these instances, the performance variations due to different parameter levels are relatively small. Among the four parameters, the population size N and the perturbation ratio r have a slightly stronger influence on the optimization results, while T and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _0$$\end{document} exhibit minimal impact. For Table 7, the baseline times of the first combination are all below 1min, while for Table 8 they are below 3min. Although the computational time is influenced by population size, iteration number, and software environment, the differences among parameter combinations remain moderate, and the total running time is acceptable.
Overall, the average makespan differences remain moderate, indicating that the proposed algorithm maintains relatively stable performance across different parameter settings and problem scales.Table 7. Orthogonal experiment for MK01 and MK03.NumberNTr \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _0$$\end{document} MK01MK03MeanVarTimeMeanVarTime1504000.30.243.20.981.00218.45.441.002504500.40.343.451.121.25215.44.761.163505000.50.443.61.161.02216.34.921.6441004000.40.443.31.141.29216.95.392.1451004500.50.242.90.891.69215.75.682.8161005000.30.343.60.921.59214.04.822.3672004000.50.342.81.152.67213.22.044.3782004500.30.443.60.924.06214.55.684.1392005000.40.243.21.084.53215.004.004.41Table 8Orthogonal experiment for MK07 and MK08.NumberNTr \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _0$$\end{document} MK07MK08MeanVarTimeMeanVarTime1508000.30.2159.53.671.00528.251.0025010000.40.3161.85.231.04525.73.441.2035012000.50.4159.33.740.97523.71.271.4541008000.40.4157.23.191.23524.51.631.56510010000.50.21573.262.20524.92.172.35610012000.30.3155.83.311.71524.31.552.1972008000.50.3157.94.322.705241.103.84820010000.30.4157.12.074.23523.40.923.66920012000.40.2155.72.224.78523.90.404.60The times are reported as relative values with respect to the first parameter combination of each instance (first row = 1.00) to better illustrate the trend.
For small-scale instances, configuration 7 ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N = 200$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$T = 400$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$r = 0.5$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _0 = 0.3$$\end{document} ) not only achieves the lowest mean and relatively small variance, but also demonstrates good stability across instances; for large-scale instances, combinations with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N = 200$$\end{document} generally show stable performance and low mean values. Further analysis indicates that the population size and maximum number of iterations have the most significant impact on performance, whereas adjustments to r and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu _0$$\end{document} have minor effect. Therefore, configuration 7 is selected as the default parameter setting for small-scale problems, while configurations 8 or 9 are recommended for large-scale problems.
Effectiveness analysis of HGWO-DPDS
To evaluate the effectiveness of the key improvement strategies proposed in this study, an ablation study was conducted by sequentially removing three core components from the full HGWO-DPDS framework and evaluating the performance, as shown in Table 9.
The ablated components include:
- The discrete prism dispersion strategy,
- The critical-path-based position update strategy,
- The adaptive mutation operator.
Several algorithm variants were constructed for comparison:
- GWO: the original grey wolf optimizer without enhancements, retaining only the standard leader-guided position update and integer encoding
- PDGWO: removing the adaptive mutation operator while retaining the position update and dispersion strategy
- PGWO: removing both the mutation and dispersion components, retaining only the improved position update mechanism
Table 9. Ablation study on MK instances.InstanceScaleMakespan RangeOptimal makespanOurGWOPGWOPDGWOMK0110 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 636–4241534543MK0210 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 624–3228454031MK0315 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 8204–211204270231214MK0415 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 848–8167948478MK0515 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 4168–186178186204182MK0610 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1533–86741119879MK0720 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5133–157149182180155MK0820 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10523523566562523MK0920 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10299–369359431412368MK1020 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15165–296269348339336
Removing the dispersion strategy reduces population diversity and causes premature convergence, while removing mutation weakens the late-stage refinement ability, explaining its smaller but non-significant performance drop. The large gap between PGWO and the GWO further confirms that our position-update mechanism is essential for solving the FJSP.
Table 10 presents the results of Wilcoxon signed-rank^34^ tests among the four compared algorithms. The proposed algorithm (Our) achieves p-values below the 0.05 significance threshold when compared with all three benchmark methods (GWO, PGWO, and PDGWO). In particular, the differences between Our and GWO as well as PGWO are notable ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$p<0.01$$\end{document} ), indicating that the proposed method outperforms the conventional GWO and its basic variant in terms of makespan minimization. The comparison with PDGWO also yields a significant result ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$p<0.05$$\end{document} ), further demonstrating the robustness and superiority of the proposed approach in solving the FJSP.Table 10. Wilcoxon signed-rank test results and significance levels ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^*p<0.05$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{**}p<0.01$$\end{document} ).Comparisonp-valueSignificanceOur vs GWO0.0020Our vs PGWO0.0020Our vs PDGWO0.0077GWO vs PGWO0.0471*PGWO vs PDGWO0.0020
Moreover, the comparisons between GWO and PGWO, and between PGWO and PDGWO, also indicate that the choice of improvement strategies can influence algorithm performance. Overall, the Wilcoxon test results confirm that the proposed algorithm achieves a consistent advantage over the compared methods in the considered benchmark instances.
To further highlight the performance differences among algorithms, we apply the Friedman test. The test results, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$Chi-square statistic = 28.63$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$p = 3 \times 10^{-6}$$\end{document} , indicating a statistically significant difference among the four algorithms. Also, as shown in Table 11, the Nemenyi test further shows the algorithm significantly outperforms both GWO and PGWO, with rank differences exceeding the critical difference (CD), which is 1.48. The CD is the minimum rank gap required for two algorithms to be considered significantly different. The difference between Our and PDGWO does not exceed the CD, suggesting that the performance improvement over PDGWO is not statistically significant. The small rank differences between Our vs PDGWO, GWO vs PGWO and PGWO vs PDGWO indicate that the incremental effects of proposed strategies.Table 11. Nemenyi pairwise differences.ComparisonRank differenceOur vs GWO2.85Our vs PGWO2.05Our vs PDGWO0.90GWO vs PGWO0.80PGWO vs PDGWO1.15
Overall, these results confirm the stability and effectiveness of the proposed algorithm.
Figure 9 provides a comparison of the makespan results obtained by the four algorithms across the ten MK instances. Overall, the proposed HGWO-DPDS algorithm (Our) achieves the best performance on most instances, as reflected by the lowest bar heights, with the advantage becoming more apparent for larger-scale problems. Compared with the original GWO, the PGWO and PDGWO algorithms, which progressively incorporate improvement strategies, exhibit a gradual enhancement in performance.Fig. 9. Comparison of makespan across instances.
Figure 10 illustrates the pairwise differences in makespan among the algorithms, offering another perspective to confirm the above observations. The negative values of “Our vs GWO” across all instances indicate that HGWO-DPDS consistently outperforms the original GWO. The negative values of “PGWO vs PDGWO” suggest that the introduction of the discrete prism dispersion strategy effectively improves algorithmic performance. Furthermore, the negative “PDGWO vs Our” values imply that the complete HGWO-DPDS framework still maintains certain performance advantages over the PDGWO variant without the adaptive mutation operator. Together, these two figures provide clear supporting the effectiveness of the proposed strategies.Fig. 10. Pairwise comparison of makespan differences.
Comparison with other algorithms
To further assess the effectiveness and competitiveness of the proposed algorithm, several representative algorithms from existing literature were selected for comparison. The comparison was first carried out on the MK and Kacem benchmark instances. The compared methods include traditional metaheuristic algorithms such as the Artificial Bee Colony (ABC), Genetic Algorithm (GA), and Particle Swarm Optimization (PSO)^35^, which have been widely applied and proven effective in early scheduling research. Additionally, several improved or hybrid algorithms were included, including the Improved Particle Swarm Optimization (IPSO)^36^, Hybrid Grey Wolf Optimizer (HGWO)^18^, Hybrid Whale Optimization Algorithm (HWOA)^37^, PSO with Tabu Search (PSO+TS)^38^, Improved Shuffled Frog Leaping Algorithm with Unified Gravitational Search (SFLA-uGSA)^39^, Deep Reinforcement Learning framework with a lightweight Multi-Layer Perceptron (DRL)^40^, the Deep Reinforcement Learning-based Dueling DQN (D5QN)^41^, and Heterogeneity-Enhanced Graph Neural Network Algorithm combined with Deep Reinforcement Learning (HGNN)^42^.
Tables 12 and 13 summarize the performance of HGWO-DPDS on the MK and Kacem instances.Table 12. Scheduling results on MK instances.InstanceScaleOptimal rangeABCGAIPSOPSOHGWOHWOADRLD5QNHGNNOurMK0110 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 636–4242424142414144425241MK0210 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 624–3232343028263031313428MK0315 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 8204–211213213204204207204211204212204MK0415 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 848–8174696975656778697367MK0515 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 4168–186185183178179171171183180182178MK0610 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1533–8682838269617274689074MK0720 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5133–157165168147149173149156153199149MK0820 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10523532523523555523523524523528523MK0920 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10299–369386344339342307321326315340359MK1020 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15165–296293268258242312253241182263269Table 13Scheduling results on Kacem instances.InstanceScaleLBGAPSO+TSABCGWOSFLA-uGSAOurKacem014 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 511121111121111Kacem0210 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 71111–11111111Kacem0310 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10710891079Kacem0415 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1011171116151214
For ABC, GA and GWO, we re-implemented the algorithms according to the parameter settings reported in their original papers and executed them under exactly the same experimental conditions as the proposed method. For the remaining algorithms, we used the best results reported in the original literature for comparison.
Overall, the algorithm achieved the best-known solution in 4 instances and solutions within the known optimal bounds in 6 instances, demonstrating overall stable performance. Specifically, the algorithm attained the lower bound (LB) in MK03 and MK08. In medium-sized problems such as MK04, MK05, MK07, and MK10, the proposed method outperformed most existing approaches. However, in more challenging and highly discrete instances like MK09 and MK10, the performance was slightly less competitive. In the Kacem instances, the algorithm matched the optimal value in Kacem01 and Kacem02, and produced slightly higher makespan in Kacem03 and Kacem04. Overall, the algorithm maintained relatively small deviations across most instances.
Table 14 reports the scheduling results of the proposed HGWO-DPDS algorithm on a total of 40 standard LA instances \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(LA01\text {--}LA40)$$\end{document} , and compares them with several representative algorithms from the literature, including the Hybrid Differential Evolution and Estimation of Distribution Algorithm based on Neighbourhood Search (NS-HDE/EDA)^43^, Improved Grey Wolf Optimizer (IGWO)^17^, Bacterial Foraging Optimization Algorithm (BFO)^44^, a deep reinforcement learning approach (DQN)^45^, a hybrid Genetic Simulated Annealing and Variable Neighborhood Search (GASAVNS)^12^, and a heuristic method based on the MWKR+SPT dispatching rule^46^.Table 14. Scheduling results on LA instances.InstanceScaleLBNS-HDE/EDAIGWOBFOMWKR+SPTDQNGASAVNSOurLA0110 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5570666666772835666666587LA0210 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5529655655661853655655553LA0310 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5477597597621656597606502LA0410 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5502590590594681609609531LA0510 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5457593593593689593593478LA0615 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 57999269269871196926926830LA0715 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5749890890902893890890756LA0815 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 57658638638631055863863775LA0915 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 58539519519981077951951861LA1015 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 58049589589901101958958815LA1120 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 510711222122213201429122212221078LA1220 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5936103910391051123510471039940LA1320 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 510381150115012271249115111501040LA1420 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 510701292129212921258129212921078LA1520 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 510891207120712311387122112191101LA1610 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1071795695696511399801000795LA1710 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10646784790801970799794694LA1810 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 106638558599771132859859764LA1910 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10617852845871978872860803LA2010 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 107569079379511029924924824LA2115 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1080410581090–1403116211321032LA2215 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10736952970–120010211000925LA2315 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1081510381032–1287105310341023LA2415 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10775973982–132610291000987LA2515 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1075610001008–137010671061984LA2620 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10105412291239–1611132712771255LA2720 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10108412871290–1754139713451317LA2820 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10107012751263–1596138613051267LA2920 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1099412201244–1643132312901201LA3020 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10106913711355–1759141713701315LA3130 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10152017841784–2081185417841736LA3230 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10165818501850–2277190018501897LA3330 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10149717191719–2305178217191696LA3430 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10153717211721–2248188017481768LA3530 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10154918881888–2098194118881766LA3615 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1594813151311–1600135513951295LA3715 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15986–––1700154015041392LA3815 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15943–––1466134813921255LA3915 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15922–––1679135712811286LA4015 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15955–––1584133613001271
From the experimental results, it can be observed that HGWO-DPDS achieved competitive scheduling performance in 35 out of the 40 instances. In the remaining cases, its results were only slightly worse than the best-performing comparative methods, while outperforming others, thereby demonstrating strong optimization capability. The algorithm performed well on small and medium-scale problems (such as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(LA01\text {--}LA05)$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(LA17\text {--}LA20)$$\end{document} ), highlighting its effectiveness in local exploitation. For larger and more complex instances (such as LA28 and LA34), although the proposed approach did not always attain the best-known results, the performance gap remained narrow. This indicates that the critical-path-based perturbation mechanism and the prism dispersion strategy introduced in this work maintain robust adaptability and convergence performance in large-scale, high-complexity scheduling environments.
To investigate the convergence behavior of the proposed algorithm on this set of instances, several representative convergence curves are illustrated in Figure 11, intuitively demonstrating the convergence effectiveness of the proposed algorithm within a reasonable number of iteration. As shown, for MK03, MK09, LA01, and LA25 instances, the algorithm exhibits a sharp decline in makespan during the initial iterations, reflecting its strong global exploration capability and the effectiveness in escaping from poor initial solutions. The convergence curves gradually flatten, indicating that the population approaches the optimal region and transitions to local exploitation.Fig. 11. Representative convergence curves of HGWO-DPDS on selected instances.
However, it is also worth noting that the convergence speed decreases in the later stages, especially when approaching near-optimal solutions, where the improvement becomes marginal. This implies that there is still room for further enhancement in fine-grained local search strategies. Moreover, for some large-scale instances, the final solutions still exhibit a certain gap from the theoretical lower bounds, indicating that the exploitation capbility in complex solution spaces can be further improved.
This phenomenon can be mainly attributed to the expansion of the search space and intensified interaction complexity between operations and machines, which make it difficult to maintain convergence stability. Moreover, the discrete mapping and decoding process require significantly higher computational costs in large-scale problems, which may limit the algorithm’s exploration depth within a fixed iteration budget.
To quantitatively evaluate the optimization performance of the algorithm on the FJSP, GAP is adopted as one of the key performance metrics. It measures the deviation between the solution obtained by the algorithm and the optimal value or the theoretical lower bound of the given instance^46^. The (GAP) is defined as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \text {GAP}(\%) = \frac{C_{\text {0}} - C_{\text {ref}}}{C_{\text {ref}}} \times 100\% \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C_{0}$$\end{document} denotes the makespan obtained by the algorithm on a specific instance, and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C_{ref}$$\end{document} refers to the corresponding reference value, which is either the theoretical lower bound (LB) or the best-known solution reported in the literature. A smaller GAP value indicates better scheduling performance on the instance, implying that the solution is closer to the optimum. As presented in Tables 15, 16, and 17, the GAP values for the three benchmark datasets are presented. It can be observed that HGWO-DPDS outperforms other methods on most instances in terms of GAP. These findings demonstrate the efficacy of the proposed multi-strategy cooperative framework in improving solution quality and reducing deviation.Table 15GAP (%) results of different algorithms on MK instances.InstanceScaleLBABCGAIPSOPSOHGWOHWOADRLD5QNHGNNOurMK0110 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 63616.6716.6713.8916.6713.8913.8922.2216.6744.4413.89MK0210 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 62433.3341.6725.0016.678.3325.0029.1729.1741.6716.67MK0315 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 82044.414.410.000.001.470.003.430.003.920.00MK0415 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 84854.1743.7543.7556.2535.4239.5862.5043.7552.0839.58MK0515 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 416810.128.935.956.551.791.798.937.148.335.95MK0610 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1533148.48151.52148.48109.0985.45118.18124.24106.06172.73124.24MK0720 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 513324.0626.3210.5312.0330.0812.0317.2915.0449.6212.03MK0820 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 105231.720.000.006.120.000.000.190.000.960.00MK0920 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1029929.1015.0513.3814.382.687.369.035.3513.7120.07MK1020 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1516577.5862.4256.3646.6789.0953.3346.0610.3059.3963.03Table 16GAP(%) results on Kacem instances.InstanceScaleLBGAPSO+TSABCGWOSFLA-uGSAOurKacem014 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5119.090.000.009.090.000.00Kacem0210 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 7110.00–0.000.000.000.00Kacem0310 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10714.2914.2928.5742.860.0028.57Kacem0415 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 101145.450.0045.4536.369.0927.27
As shown in Tables 15 and 16, the proposed HGWO-DPDS demonstrates strong competitiveness on the MK and Kacem benchmark sets. On the MK instances, it achieves the smallest GAP values in more than half of the cases and reaches the theoretical lower bound in MK03 and MK08. The algorithm maintains moderate deviations on instances such as MK04 and MK05, outperforming most comparison methods. However, for larger and more complex cases such as MK09 and MK10, the deviation slightly increases, which can be attributed to the reduced effectiveness of the critical-path perturbation in high-dimensional search spaces. On the Kacem benchmarks, HGWO-DPDS attains optimal or near-optimal results in all four instances, reflecting its strong adaptability to problems with a limited number of machines.Table 17GAP(%) results on LA instances.InstanceScaleLBNS-HDE/EDAIGWOBFOMWKR+SPTDQNGASAVNSOurLA0110 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 557016.8416.8435.4446.4916.8416.842.98LA0210 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 552923.8223.8224.9561.2523.8223.824.54LA0310 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 547725.1625.1630.1937.5325.1627.045.24LA0410 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 550217.5317.5318.3335.6621.3121.315.78LA0510 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 545729.7629.7629.7650.7729.7629.764.60LA0615 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 579915.8915.8923.5349.6915.8915.893.88LA0715 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 574918.8318.8320.4319.2318.8318.830.93LA0815 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 576512.8112.8112.8137.9112.8112.811.31LA0915 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 585311.4911.4917.0026.2611.4911.490.94LA1015 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 580419.1519.1523.1336.9419.1519.151.37LA1120 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5107114.1014.1023.2533.4314.1014.100.65LA1220 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 593611.0011.0012.2931.9411.8611.000.43LA1320 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5103810.7910.7918.2120.3310.8910.790.19LA1420 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5107020.7520.7520.7517.5720.7520.750.75LA1520 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 5108910.8410.8413.0427.3612.1211.941.10LA1610 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1071733.3333.3334.5958.8636.6839.4710.88LA1710 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1064621.3622.2923.9950.1523.6822.917.43LA1810 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1066328.9629.5647.3670.7429.5629.5615.23LA1910 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1061738.0936.9541.1758.5141.3339.3830.15LA2010 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1075619.9723.9425.7936.1122.2222.228.99LA2115 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1080431.5935.57–74.5044.5340.8028.36LA2215 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1073629.3531.79–63.0438.7235.8725.68LA2315 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1081527.3626.63–57.9129.2026.8725.52LA2415 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1077525.5526.71–71.1032.7729.0327.35LA2515 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1075632.2833.33–81.2241.1440.3430.16LA2620 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10105416.6017.55–52.8525.9021.1619.07LA2720 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10108418.7319.00–61.8128.8724.0821.49LA2820 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10107019.1618.04–49.1629.5321.9618.41LA2920 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1099422.7425.15–65.2933.1029.7820.82LA3020 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10106928.2526.75–64.5532.5528.1623.01LA3130 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10152017.3717.37–36.9121.9717.3714.21LA3230 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10165811.5811.58–37.3314.6011.5814.41LA3330 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10149714.8314.83–53.9719.0414.8313.29LA3430 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10153711.9711.97–46.2622.3213.7315.03LA3530 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 10154921.8921.89–35.4425.3121.8914.01LA3615 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 1594838.7138.29–68.7842.9347.1536.60LA3715 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15986–––72.4156.1952.5441.18LA3815 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15943–––55.4642.9547.6133.09LA3915 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15922–––82.1047.1838.9439.48LA4015 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 15955–––36.1365.8639.9033.09
In Table 17, HGWO-DPDS also demonstrates good scalability on the LA benchmark set. It achieves the lowest GAP values in most instances, with deviations generally below 10 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\%$$\end{document} for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$LA01\text {--}LA15$$\end{document} and remaining competitive in more complex cases such as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$LA28\text {--}LA34$$\end{document} . In a few very complex instances \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(LA37\text {--}LA40)$$\end{document} , the improvement margin slightly narrows.
To provide a more intuitive comparison of algorithmic performance on the LA dataset, Figure 12 illustrates the boxplots of Relative Percentage Deviation (RPD) values for all the methods across the 40 standard LA benchmark instances. In the figure, red dots indicate the average RPD for each algorithm, while the blue boxes represent the distribution and stability of the results.Fig. 12. Boxplot of RPD values on LA instances.
As can be seen from the figure, the proposed HGWO-DPDS algorithm outperforms other methods in terms of both overall performance and stability. Specifically, it achieves the lowest average RPD, significantly lower than those of the six comparison algorithms, indicating that it consistently produces solutions closer to the lower bounds across most instances. In addition, the smallest box height indicates that the proposed algorithm achieves the narrowest interquartile range, reflecting highly consistent results with strong robustness and minimal performance fluctuation. In contrast, other methods such as MWKR+SPT and BFO exhibit several extreme outliers, reflecting unstable behavior. The MWKR+SPT rule, in particular, shows high dispersion with a maximum RPD approaching \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$70\%$$\end{document} , while HGWO-DPDS maintains its maximum RPD below \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$10\%$$\end{document} , further highlighting the applicability and superiority of the proposed hybrid optimization approach in solving complex scheduling problems.
Based on the experimental results, it can be concluded that the proposed HGWO-DPDS algorithm achieves optimal or near-optimal solutions in the majority of benchmark instances. It also exhibits stable average performance, with most GAP values lower than those of the comparison algorithms. In summary, these results further confirm that HGWO-DPDS provides high-quality solutions with strong consistency and adaptability across diverse flexible scheduling scenarios, making it a more reliable and robust optimization strategy for solving FJSP.
Conclusion
This study proposes a hybrid Grey Wolf Optimization algorithm based on a Discrete Prism Dispersion Strategy (HGWO-DPDS), aiming to minimize the makespan in the FJSP. First, a feasible encoding and decoding scheme is designed. Second, a position update mechanism based on critical path perturbation is implemented, and multiple reference centers are introduced through the discrete prism dispersion strategy to expand the search space. In addition, an adaptive mutation operator is incorporated to enhance the adaptability and fine-tuning ability. Experimental results on public benchmark datasets show that HGWO-DPDS achieves high-quality scheduling performance on most instances. However, for some large-scale problems, the algorithm may require additional refinement in exploration or structural design to improve search efficiency and scalability.
Future research directions include:
- Extending the algorithm to dynamic and uncertain manufacturing environments, such as machine breakdowns and varying job arrivals, to improve real-time adaptability and robustness.
- Incorporating multi-objective optimization such as energy efficiency, machine load balance to enhance the practical applicability of the proposed algorithm.
- Incorporating intelligent learning mechanisms such as deep reinforcement learning or self-adaptive parameter control to improve exploitation ability, decision-making accuracy, and performance on large-scale FJSP cases.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Zhang, H., Chen, Y., Zhang, Y. & Xu, G. Energy-saving distributed flexible job shop scheduling optimization with dual resource constraints based on integrated q-learning multi-objective greywolf optimizer. CMES-Computer Modeling in Engineering & Sciences 140, 10.32604/CMES.2024.049756 (2024).
- 2Ni, A. & Spector, L. Effective adaptive mutation rates for program synthesis. ar Xiv preprint ar Xiv 2406.15976, https://arxiv.org/abs/2406.15976 (2024).
