Next Article in Journal
Statistical Methods for Assessing Diagnostic Agreement
Previous Article in Journal
Dimensionality-Reduction Regulation of C@M-Zn2SnO4(H+) for High-Capacity and Durable Lithium-Ion Battery Anodes
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Heterogeneous Graph Neural Network-Guided Adaptive Large Neighborhood Search for Flexible Job Shop Scheduling in Panel Furniture Production

1
College of Electrical Engineering and Automation, Fuzhou University, Fuzhou 350108, China
2
Key Laboratory of Industrial Automation Control Technology and Information Processing, Fuzhou University, Fuzhou 350108, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2026, 16(17), 8807; https://doi.org/10.3390/app16178807
Submission received: 30 July 2026 / Revised: 27 August 2026 / Accepted: 2 September 2026 / Published: 4 September 2026

Abstract

This study formulates panel furniture production as a flexible job shop scheduling problem (FJSP) with constraints on transport resources under varying production conditions. An adaptive large neighborhood search (ALNS) method guided by a heterogeneous graph neural network (HeteroGNN), termed HeteroGNN-ALNS, is developed to balance completion time, waiting time, and workload during the production process. The current scheduling state in ALNS is represented as a heterogeneous graph, where panel jobs and production resources are modeled as different node types, and assignment, transport, and sequence information is represented by different edge types. A search state vector is also introduced to describe the current search process. The HeteroGNN is trained using an actor–critic method to guide neighborhood operator selection and destroy set construction in ALNS. Experiments are conducted under four production conditions and five job scales. The results show that HeteroGNN-ALNS achieves better overall scheduling performance than dispatching rules and representative search methods. Statistical and ablation analyses further verify the effectiveness of the proposed method.

1. Introduction

Panel furniture production is a representative case of customized manufacturing. A customer order usually comprises a set of panels, which may differ in size, material, and process route [1]. Before assembly or packaging, each panel passes through several production stages, such as cutting, edge banding, drilling, and sorting [2]. In the practical production process, an operation may be processed by more than one available machine at each stage, and a panel may be transferred between stages through several feasible routes. Accordingly, the coordination of panel sequencing and machine assignment is central to improving production efficiency and meeting order delivery requirements.
This problem is commonly formulated as a flexible job shop scheduling problem (FJSP). The central decision is to determine machine assignment and processing sequence for a set of jobs under relevant process and resource constraints, with the aim of optimizing one or more performance criteria [3]. For example, Chen et al. and Moon et al. study FJSPs with transportation resource constraints [4,5]. The minimization of makespan and total energy consumption in an FJSP with uncertain processing times is considered in [6]. Lei et al. achieve real-time scheduling decisions for large-scale dynamic FJSP with random arrivals of new jobs [7].
The FJSP is an NP-hard problem, and metaheuristic algorithms are widely used to obtain solutions of high quality within a reasonable computational time [8]. Neighborhood search is a common idea in metaheuristics and improves a schedule by locally modifying the current solution [9]. However, for large-scale FJSPs with complex constraints, a single neighborhood or small local move is often insufficient to adjust the current solution structure effectively. Adaptive large neighborhood search (ALNS) extends neighborhood search by introducing a destroy-and-repair mechanism. It first removes part of the incumbent solution and then repairs the partial solution to explore a broader neighborhood. In addition, operator selection probabilities are adaptively updated according to search performance [10]. Liu et al. propose a multi-objective ALNS for dynamic FJSP with transportation resources to handle the coupled optimization of production and transportation decisions under new job insertion [11]. Kasapidis et al. propose a unified modeling framework and a constraint programming (CP)-based ALNS for FJSPs with constraints related to buffers, tools, and common resources [12].
However, the performance of ALNS is affected by neighborhood operator selection and destroy set construction. Traditional adaptive mechanisms update operator probabilities mainly from historical rewards [13]. Under a limited computational budget, this may lead to inefficient neighborhood searches and affect convergence speed and final solution quality. In recent studies, graph neural networks (GNNs) have been introduced to extract structural information from complex scenarios and to guide the solution process of the corresponding optimization methods. Teichteil-Königsbuch et al. study the resource-constrained project scheduling problem, where task starting-time information is learned from CP-generated schedules via GNNs and then guides a schedule generation scheme to construct feasible schedules [14]. Sui et al. propose NeuralGLS, which learns to guide local search with a graph convolutional network for the traveling salesman problem, thereby reducing ineffective moves and improving heuristic search performance [15]. The effectiveness of an ALNS operator is closely related to both the current solution structure and the search state. Local structural information from a static graph alone may be insufficient to represent the dynamic state of the ALNS search process. Johnn et al. formulate ALNS operator selection as a Markov decision process and combine deep reinforcement learning (DRL) with GNNs to select operators conditioned on the current solution state, which indicates that graph information can support operator control in ALNS [16]. Nevertheless, the search action in ALNS involves not only neighborhood operator selection but also the construction of the destroy set. Existing GNN-guided ALNS studies mainly focus on neighborhood operator selection, while relatively few studies use both solution structure and search state information to guide operator selection and destroy set construction simultaneously.
This paper proposes a heterogeneous graph neural network (HeteroGNN)-guided ALNS method, termed HeteroGNN-ALNS, for the scheduling problem in panel furniture production. Initially, the production process is formulated as an FJSP with multiple constraints. ALNS is adopted to solve this FJSP, and the current scheduling state is represented as a heterogeneous graph. HeteroGNN is then used to extract structural features from jobs, resources, and transport relations. In addition, graph embeddings are combined with the search state vector to support both operator decision and destroy decision in ALNS. Finally, the proposed method is evaluated on instances of different job scales and under four production conditions, namely normal production, machine breakdown, job cancellation, and topology change.
The main contributions of this paper are summarized as follows.
  • An FJSP model is formulated to represent the practical production process of panel furniture. The model considers multiple scheduling objectives under different processing times, variable transport resources, and specific production constraints.
  • A heterogeneous graph representation is developed to describe the scheduling state in ALNS. Panel jobs and production resources at different stages are represented as different node types, while assignment, transport, and sequence information is represented by different edge types. A search state vector describing the current ALNS search process is further combined with the graph representation as input to the HeteroGNN to capture both the scheduling structure and the current search state.
  • A HeteroGNN-guided ALNS method is developed to guide neighborhood operator selection and destroy set construction according to the current scheduling and search states. The guidance policy is trained using an actor–critic method and is periodically incorporated into the adaptive search process of ALNS.

2. Related Work

2.1. ALNS for FJSP

Conventional heuristic methods for complex FJSP instances tend to rely on limited neighborhood exploration, which makes them prone to premature convergence to local optima [17]. Large neighborhood search (LNS) is a heuristic framework designed for complex combinatorial optimization problems. It explores a broader search space by destroying part of the current solution and repairing it into a feasible solution, which helps the search escape local optima and identify better candidate solutions [18]. ALNS extends this framework by evaluating the effects of different destroy and repair operators during the search and adjusting their selection probabilities accordingly [19]. This mechanism allows the algorithm to favor more effective operators when modifying the current solution, thereby increasing the chance of finding higher-quality solutions [20].
Existing studies focus on joint machine selection and operation sequencing in FJSP with multiple resources and process constraints. For example, Liu et al. embed a feasibility correction strategy and a variable neighborhood search with self-learning into a genetic algorithm for FJSP with machine and auxiliary resource constraints [21]. Yunusoglu et al. combine CP and LNS to solve an FJSP batch flow problem with setup times and transportation resource constraints [22]. Ji et al. study a large-scale FJSP with batch-processing machines, formulate the problem as a multicommodity flow model, and propose an improved ALNS framework with optimization-based repair and tabu components [23]. Wang et al. address FJSP with preventive maintenance under frequent production changeovers by formulating a two-stage joint optimization model and designing a hybrid metaheuristic algorithm to coordinate machine assignment, operation sequencing, and maintenance scheduling [24].
The performance of ALNS is affected by neighborhood structure design and adaptive operator selection, particularly in FJSP with multiple constraints [25]. Learning-based adaptive strategies have been introduced into metaheuristic search in recent studies. Reijnen et al. apply DRL to ALNS so that operator selection, parameter configuration, and acceptance criteria can be adjusted according to the search state [26]. Wang et al. propose proximal policy optimization-guided ALNS for the vehicle routing problem with time windows, where reinforcement learning supports adaptive decision-making in ALNS [27]. Qin et al. develop a reinforcement-learning-enhanced quality-diversity algorithm for FJSP with transportation constraints, in which Q-learning is used to select search regions and maintain solution diversity [28].
Overall, the reviewed studies indicate that neighborhood design and adaptive search decisions have an important effect on the effectiveness of ALNS. Accordingly, the following subsection discusses GNNs for learning structured representations of scheduling states to improve ALNS performance.

2.2. GNNs for Scheduling

GNNs are a class of deep neural networks for learning representations of graph-structured data. In a typical GNN, node representations are updated through neighborhood aggregation, where graph topology and node features determine the information passed among nodes [29]. This graph representation allows operation and machine features to be learned, and candidate operation–machine pairs are evaluated for joint operation selection and machine assignment thereafter [30,31]. With respect to more complex production scenarios, HeteroGNN models are increasingly used to model shop-floor states that contain different types of objects and relations [32]. A heterogeneous graph representation of the current scheduling state is presented in [33], where a HeteroGNN captures complex relationships among operations and machines to support dynamic scheduling decisions. A meta-path-based HeteroGNN is introduced in [34], which models different semantic associations in FJSP graphs and learns scheduling state representations from specific relation paths. For multivariety and variable-batch production environments, a heterogeneity-enhanced incidence graph is developed in [35], which extends heterogeneous graph modeling to more complex flexible job shop scheduling states.
Graph learning and related learning policies have also been incorporated into improvement-based search, where learned signals guide neighborhood construction, move evaluation, or local adjustment around an incumbent solution. For example, Wu et al. introduce a learned destroy operator into LNS, where the policy selects a subset of variables for reoptimization [36]. Hudson et al. combine GNNs with guided local search (GLS), where the model predicts the regret of including each edge of the problem graph in the solution and GLS searches with these predictions in conjunction with the original problem graph [37]. Zhang et al. propose a topology-aware bidirectional graph attention network, which embeds the disjunctive graph of a job shop scheduling problem into a local search framework and learns topological representations of scheduling solutions from both forward and backward views [38]. Wang et al. propose a memory-enhanced improvement search framework for FJSP, where a complete schedule is represented by a heterogeneous disjunctive graph and state features are extracted by a memory-enhanced HeteroGNN to guide local move selection and neighborhood improvement [39].

3. Problem Formulation

3.1. Problem Description

An FJSP in panel furniture production is considered in this paper. In the considered production system, customer orders are decomposed into a set of panel jobs. These panel jobs pass through four production stages in sequence, namely cutting, edge banding, drilling, and sorting, with different available machines at each stage. In addition, panels are transported between adjacent stages through roller conveyors. The production process is illustrated in Figure 1.
Compared with a standard FJSP, several additional constraints are considered in this problem. Firstly, the dimensions of panels may vary across jobs, and the processing time of each job is determined by its dimensions and process requirements. Furthermore, a minimum safety time interval is maintained between two consecutive panels to prevent collisions during the edge banding stage, and this interval is also related to the size of panel jobs. Accordingly, a panel transported from the cutting stage may wait before edge banding until the preceding panel satisfies the required minimum safety time interval. In addition, transport connectivity may change in practical production environments.
Remark 1.
In practical production, panels are generally transported at a constant speed on roller conveyors. Except when congestion occurs at downstream stages, panels generally do not collide during processing or transport. In particular, the edge banding stage comprises four sequential processing units and a turning mechanism located between the second and third units. At this stage, the two long edges of each panel are processed first, after which the panel is rotated by 90° and the two short edges are processed in sequence. The rotation requires a minimum safety distance between consecutive panels. Since the roller conveyors operate at a constant speed, the minimum safety distance is represented in the mathematical model by a minimum safety time interval before the next panel enters the edge banding stage.
The formulation is based on the following assumptions.
  • All panel jobs are available at the beginning of the planning horizon.
  • Each job is processed once at each required stage and follows the stage order of cutting, edge banding, drilling, and sorting.
  • At each stage, each job is assigned to one available resource, and transport between two consecutive stages is permitted only between resources with a feasible transport connection.
  • Each processing resource in cutting, drilling, and sorting handles at most one job at a time. A job may start before the preceding job is completed at the edge banding stage, provided that the minimum safety time interval is satisfied.
  • Processing operations cannot be interrupted once they have started.
  • At least one resource is available at each production stage.
For clarity, Table 1 presents the main notation adopted in the mathematical model.

3.2. Variable Definitions

The completion time at each production stage is written as
C j o = S j o + r R o p j r o x j r o , j J , o L ,
where p j r o denotes the processing time of job j on resource r at stage o.
For downstream stages, the arrival time can be expressed as
A j o = C j o + ( r , r ) E o , o τ r r o , o y j r r o , o , j J , ( o , o ) A .
The waiting time at each downstream stage is given by
W j o = S j o A j o , j J , o { b , d , s } .
The processing workload assigned to each resource is calculated as
B r o = j J p j r o x j r o , o L , r R o .

3.3. Objective Function

Completion time is an important criterion for the FJSP in panel furniture production. Since transport times between adjacent stages depend on the selected resources, minimizing completion time alone may repeatedly favor shorter transport routes and result in increased waiting time and workload imbalance. Therefore, average completion time is considered together with average waiting time and workload imbalance in the objective function.
The average completion time and the average waiting time are defined as
C avg = 1 J j J C j s , W avg = 1 J j J o { b , d , s } W j o .
Let N o = r R o a r o denote the number of available resources at stage o, and let B ¯ o = 1 N o r R o a r o B r o . According to Assumption 6, N o > 0 .
The workload imbalance is measured by the total absolute deviation of the workload assigned to each resource from the average workload at the corresponding production stage, which is given by
I load = o L r R o a r o B r o B ¯ o .
The objective function is formulated as
min F = w C C avg + w W W avg + w L I load .
Here, w C , w W , and w L are non-negative weights.

3.4. Constraints

The resource assignment constraint specifies that exactly one eligible resource is selected for each job at each production stage, which is written as
r R o x j r o = 1 , j J , o L .
The assignment to an unavailable resource is prevented by
x j r o a r o , j J , o L , r R o .
Specifically, a r d = 0 is specified to prohibit job assignment to an unavailable resource under machine breakdown.
Since the transport time depends on the resources selected at adjacent stages, the transport variable is constrained as follows.
y j r r o , o x j r o , j J , ( o , o ) A , ( r , r ) E o , o .
y j r r o , o x j r o , j J , ( o , o ) A , ( r , r ) E o , o .
y j r r o , o x j r o + x j r o 1 , j J , ( o , o ) A , ( r , r ) E o , o .
Exactly one feasible transport connection is selected for each job between two adjacent stages as
( r , r ) E o , o y j r r o , o = 1 , j J , ( o , o ) A .
In addition to assignment and transport constraints, several standard FJSP constraints are imposed in this paper.
The start time restrictions are given by
S j c 0 , S j o A j o , j J , o { b , d , s } .
Particularly, the start times at the edge banding stage are constrained by the minimum safety time interval between jobs as
S j b S i b + h i M ( 1 z i j b ) , S i b S j b + h j M z i j b , i , j J , i < j ,
where M denotes a sufficiently large positive constant.
The resource capacity constraints for any two jobs assigned to the same resource at the cutting, drilling, or sorting stage are formulated as
C i o S j o + M 3 x i r o x j r o z i j o , C j o S i o + M 2 x i r o x j r o + z i j o , i , j J , i < j , o { c , d , s } , r R o .

4. HeteroGNN-Guided ALNS

4.1. Solution Representation in ALNS

At iteration t, the encoded solution maintained by ALNS is represented as a job sequence
s t = π t = ( π t ( 1 ) , π t ( 2 ) , , π t ( J ) ) ,
where π t is a permutation of all panel jobs, and π t ( q ) denotes the job at the q-th position in the sequence.
The encoded solution is decoded according to the job order in π t . For each job, feasible resource assignments are generated, and the resulting feasible alternatives are ranked lexicographically according to the current makespan, cumulative downstream waiting time, C j s , C j d , and transport time. The alternative ranked first is selected for the initial schedule, whereas one alternative from the first K R alternatives is uniformly selected during the search. The decoding procedure is summarized in Algorithm 1.
Algorithm 1 Schedule decoding
  1:
function Decode( s , K )
  2:
    Initialize an empty schedule σ
  3:
    for  q = 1 , 2 , , J  do
  4:
        Set j π ( q )
  5:
        Enumerate feasible resource assignments for job j subject to Equations (8)–(13)
  6:
        for each feasible resource assignment do
  7:
           Determine A j o , S j o , C j o , and W j o according to Equations (1)–(3) and (14)–(16)
  8:
        end for
  9:
        Rank the feasible alternatives according to the lexicographic criterion defined above
10:
        Uniformly select one alternative from the first K alternatives
11:
        Assign the selected alternative to job j and update σ
12:
    end for
13:
    return  σ
14:
end function
To account for differences in scale among the three criteria, min–max normalization is applied before solution evaluation. Let f C ( σ ) = C avg ( σ ) , f W ( σ ) = W avg ( σ ) , and f L ( σ ) = I load ( σ ) . For each criterion k { C , W , L } , the lower and upper bounds are obtained from a set of reference schedules S ref as
f k min = min σ S ref f k ( σ ) , f k max = max σ S ref f k ( σ ) , k { C , W , L } .
The normalization bounds are calculated before the search and remain fixed throughout the search. Accordingly, the normalized value of criterion k is calculated by
f ˜ k ( σ ) = f k ( σ ) f k min f k max f k min , k { C , W , L } .
The normalized scalar objective is then given by
F norm ( σ ) = k { C , W , L } ω k f ˜ k ( σ ) ,
where ω k denotes the weight of criterion k.

4.2. Architecture of the HeteroGNN

The decoded schedule σ t is represented as a heterogeneous graph when the HeteroGNN is invoked. The graph representation is given by
G t = ( V t , E t , X t ) ,
where V t and E t denote the node and edge sets, respectively, and X t contains the node feature matrices.
The set of node types is given by
T V = { j , c , b , d , s } ,
where j denotes the job node type, while c , b , d , and s denote the resource node types corresponding to the four production stages defined in Section 3. The type of a node v V t is denoted by ϕ ( v ) T V .
The corresponding node set is expressed as
V t = V t j V t c V t b V t d V t s ,
where V t j denotes the set of job nodes, and V t o denotes the set of resource nodes at stage o L .
Each node is associated with a feature vector describing the corresponding job or resource state. The static and dynamic features of the different node types are summarized in Table 2, and the input features are normalized before being fed into the network.
Different edge types are introduced to represent the relations in the current scheduling state. For an edge e E t , its type is denoted by τ ( e ) T E , where T E is the set of edge types. The graph contains assignment, transport, and sequence relations. Assignment edges connect each job to the resources assigned to it in the decoded schedule. Transport edges represent feasible connections between resources at adjacent production stages according to E o , o defined in Section 3. Sequence edges connect adjacent jobs in the current job sequence. Reverse edges are included to allow bidirectional message passing.
To provide dynamic search information for learning the operator selection policy, a search state vector z t is provided to the HeteroGNN together with the graph representation G t . Considering four types of signals relevant to adaptive decision-making in ALNS, including the annealing status, search effectiveness, stagnation, and exploration behavior, the search state vector is given by
z t = [ η t , T t , α t , β t , ξ t , 1 η t , ζ t , ν t ] ,
where η t = t / I max and 1 η t denote the elapsed and remaining proportions of the search budget, respectively. I max is the maximum number of iterations. Both proportions characterize the current search progress. The variable T t denotes the current simulated annealing (SA) temperature, which determines the acceptance probability of a worse candidate schedule during the search. The variables α t , β t , and ν t denote the acceptance rate, the improvement rate of the best schedule, and the acceptance rate of worse schedules over the most recent search iterations, respectively. Search stagnation is represented by ξ t = min { u t / I max , 1 } , where u t is the number of iterations since the last improvement of the best schedule. The relative difference between the current schedule and the best schedule is given by
ζ t = F norm ( σ t ) F norm ( σ t * ) | F norm ( σ t * ) | + ϵ ,
where ϵ is a small positive constant.
The architecture of the HeteroGNN is illustrated in Figure 2.
The input dimensions differ among node types. The input feature vector of each node is projected into a common hidden space of dimension d h by a type-specific linear transformation followed by a rectified linear unit (ReLU). The initial representation of node v is obtained as
h v ( 0 ) = ReLU W ϕ ( v ) x v + b ϕ ( v ) ,
where x v denotes the input feature vector of node v. W ϕ ( v ) R d h × d ϕ ( v ) is the learnable projection matrix, where d ϕ ( v ) denotes the input dimension of node type ϕ ( v ) . The hidden dimension is set to d h = 64 in this study. b ϕ ( v ) R d h is the corresponding bias vector.
Information is subsequently propagated according to the different edge types. For an edge type κ T E , the neighbors of node v connected through relation κ are denoted by N κ ( v ) .
At layer , the message associated with relation κ is obtained by mean aggregation as
m v , κ ( l ) = MEAN h u ( l 1 ) u N κ ( v ) .
The messages obtained from the different relations are then combined with the representation of node v. Its representation at layer is updated as
h v ( l ) = LayerNorm ReLU h v ( l 1 ) + κ T E ( v ) W κ ( l ) h v ( l 1 ) m v , κ ( l ) ,
where T E ( v ) denotes the set of edge types incident to node v, W κ ( l ) is the transformation matrix associated with relation κ , and ‖ denotes vector concatenation.
After L message-passing layers, mean pooling is applied separately to each node group. The corresponding pooled representations are computed as
g t j = 1 | V t j | v V t j h v ( L ) , g t o = 1 | V t o | v V t o h v ( L ) , o L .
The pooled representations of the node groups are concatenated to obtain the graph embedding. The resulting graph embedding is expressed as
g t = g t j g t c g t b g t d g t s .
The graph embedding is further combined with the search state vector. The resulting representation is given by
q t = g t z t .
Three outputs are produced by the HeteroGNN based on q t . The probability distribution over the sequence neighborhood operators obtained from the operator head is given by
π θ ( · G t , z t ) = softmax f π ( q t ) .
The score assigned to each job by the destroy head is computed as
l θ , j D = f D h v j ( L ) q t , j J ,
where v j denotes the node corresponding to job j.
The value of the current state estimated by the critic head is given by
V ψ ( G t , z t ) = f V ( q t ) .
Here, f π , f D , and f V denote the operator, destroy, and value heads, respectively.

4.3. Generation of Neighborhood Solutions

Let Ω denote the set of operators used in the search. Four operators acting on the job sequence are included. The block relocation operator removes a consecutive block of jobs and reinserts it at another position. The subset shuffling operator rearranges the jobs in a selected subset. The block reversal operator reverses the order of jobs within a consecutive block. The h j interval operator selects jobs from the lower and upper ranges of the minimum safety time interval h j and rearranges them in the sequence.
The operator a t is sampled from the operator policy in training according to
a t Categorical π θ ( · G t , z t ) .
The operator with the highest probability is selected for inference as
a t = arg max a Ω π θ ( a G t , z t ) .
The number of jobs removed from the current sequence is controlled by the destroy ratio. The destroy size at iteration t is calculated as
n t D = min J , max { n min D , λ D J } ,
where n min D denotes the minimum destroy size and λ D denotes the destroy ratio.
The destroy scores produced by the destroy head are converted into a probability distribution for job selection. The probability associated with job j is given by
μ t , j = exp ( l θ , j D / T D ) i J exp ( l θ , i D / T D ) , j J ,
where T D is the temperature parameter used in the probability distribution over the destroy scores.
Job relatedness is evaluated according to the processing times and minimum safety time interval. The normalized attribute vector of job j is expressed as
u j = [ p ˜ j r j c c , p ˜ j r j b b , p ˜ j r j d d , h ˜ j ] ,
where r j o denotes the resource assigned to job j at stage o in the decoded schedule. The terms p ˜ j r j c c , p ˜ j r j b b , and p ˜ j r j d d denote the normalized processing times on the assigned resources, while h ˜ j denotes the normalized minimum safety time interval.
The destroy score is incorporated into the relatedness measure to guide job selection around a seed job j 0 . The relatedness between jobs j and j 0 is calculated as
Γ t ( j , j 0 ) = u j u j 0 2 λ G l ¯ θ , j D ,
where l ¯ θ , j D denotes the normalized destroy score of job j, and λ G is the weight parameter for the destroy score. A smaller value of Γ t ( j , j 0 ) gives job j a higher priority for selection.
The seed job j 0 is first sampled according to the probability distribution in Equation (38). The remaining n t D 1 jobs are selected sequentially according to the relatedness measure in Equation (40). The job with the smallest relatedness value is selected with probability p G at each selection step. Otherwise, one of the remaining jobs is sampled according to inverse weights derived from the relatedness values. The selected jobs together with the seed job form the destroy set D t .
The auxiliary destroy objective is given by
Λ t D = 1 | D t | j D t log μ t , j .
The auxiliary destroy objective Λ t D provides a learning signal for the destroy head and is subsequently included in the actor–critic loss used to update the model parameters.
The candidate encoded solution is jointly determined by the destroy set D t and the selected action a t . Specifically, the jobs contained in D t form the subsequence s t D , while the remaining jobs form s t D . The action a t determines the sequence neighborhood operator O a t . The candidate encoded solution s ^ t is expressed as
s ^ t = O a t s t D s t D ,
where ⊕ denotes sequence concatenation. The candidate schedule σ ^ t is obtained by decoding the resulting candidate encoded solution s ^ t according to Algorithm 1.

4.4. Search Procedure of HeteroGNN-ALNS

The framework of HeteroGNN-ALNS is illustrated in Figure 3.
The objective difference used in the acceptance decision is calculated from the normalized scalar objective as
Δ F t = F norm ( σ ^ t ) F norm ( σ t ) .
The candidate schedule is accepted according to the SA acceptance criterion. The corresponding acceptance probability is given by
P acc ( σ ^ t σ t ) = 1 , Δ F t 0 , exp ( Δ F t / T t ) , Δ F t > 0 .
The temperature schedule is given by
T t = T 0 T min T 0 t / I max ,
where T 0 and T min denote the initial and final temperatures, respectively.
The adaptive operator weights of ALNS are used to select the operator when the HeteroGNN is not invoked. Let w a , t denote the weight of operator a Ω . The selection probability of operator a is given by
P t ( a ) = w a , t a Ω w a , t .
The operator weights are updated periodically according to
w a , t + 1 = ( 1 ρ ) w a , t + ρ δ ¯ a , t ,
where ρ denotes the reaction factor and δ ¯ a , t denotes the average score of operator a in the current update segment.
To evaluate the contribution of each guided search transition to the search process, a reward is assigned according to
r t = κ F norm ( σ t ) F norm ( σ ^ t ) + b t ,
where κ denotes the reward scaling coefficient. The normalized objective difference measures the improvement of the candidate schedule, and the bonus b t reflects the search outcome relative to the best schedule.
The model parameters are updated using an actor–critic loss that incorporates the auxiliary destroy objective Λ t D defined in Equation (41). The loss consists of the policy objective for operator selection, the auxiliary destroy objective, the value function loss, and an entropy term. It is given by
L ( θ , ψ ) = 1 | B | t B log π θ a t G t , z t A ^ t 1 | B | t B Λ t D A ^ t + c V | B | t B SmoothL1 V ψ ( G t , z t ) R ^ t c H | B | t B H t ,
where B contains the transitions collected at iterations in which the HeteroGNN is invoked. The policy objective and the auxiliary destroy objective are weighted by the estimated advantage A ^ t , while the estimated return R ^ t is used as the target of the critic. The coefficients c V and c H control the contributions of the value function loss and the entropy term, respectively, and H t denotes the entropy of the operator policy.
Only the transitions in B are used for model training. Consecutive transitions in B are treated as consecutive learning steps when generalized advantage estimation (GAE) is applied. One execution of the search procedure constitutes one training episode, and the model parameters are updated at the end of each episode.
Remark 2.
To reduce the dependence of the policy decision on information outside the current state representation, the heterogeneous graph encodes the current schedule, while the search-state vector incorporates recent ALNS search statistics. The state representation and adaptive control adopted in HeteroGNN-ALNS follow related DRL-guided metaheuristic frameworks in which information from the current search process is incorporated into learning-based search decisions [26,40]. The actor–critic training follows the general policy-gradient framework established in previous theoretical studies [41,42]. A formal convergence analysis for the coupled HeteroGNN-ALNS process requires further verification of the Markov property and the associated convergence conditions and is left for future study.
The overall procedure is summarized in Algorithm 2.
Algorithm 2 HeteroGNN-guided ALNS
Require: Instance data, maximum number of iterations I max , HeteroGNN invocation interval K G
Ensure: Best schedule σ *
  1:
Construct the initial encoded solution s 0 and obtain σ 0 Decode ( s 0 , 1 )
  2:
Set σ 0 * σ 0 and initialize w a , 0 for a Ω
  3:
for  t = 0 , 1 , , I max 1  do
  4:
    Compute T t by Equation (45)
  5:
    if  t mod K G = 0  then
  6:
        Construct G t from σ t and obtain z t
  7:
        Select a t by Equation (35) for training or Equation (36) for inference
  8:
        Construct D t according to Equations (37)–(40)
  9:
        Generate s ^ t by Equation (42)
10:
    else
11:
        Select a t according to P t ( a ) in Equation (46)
12:
        Generate s ^ t from s t using the selected operator
13:
    end if
14:
    Obtain σ ^ t Decode ( s ^ t , K R )
15:
    Compute Δ F t by Equation (43)
16:
    Accept or reject ( s ^ t , σ ^ t ) by Equation (44) and obtain ( s t + 1 , σ t + 1 )
17:
    Set σ t + 1 * arg min σ { σ t * , σ t + 1 } F norm ( σ )
18:
    if the current ALNS update segment is completed then
19:
        Update w a , t by Equation (47)
20:
    end if
21:
    if  t mod K G = 0 and model training is performed then
22:
        Compute r t by Equation (48) and Λ t D by Equation (41)
23:
        Store the guided search transition
24:
    end if
25:
end for
26:
if model training is performed then
27:
    Update ( θ , ψ ) by Equation (49)
28:
end if
29:
return  σ I max *

5. Computational Experiments

5.1. Experimental Setup

The experiments are based on historical production records from a panel furniture factory. The records are collected over a continuous production period from multiple workshops. Customer orders are decomposed into panel jobs that pass through cutting, edge banding, drilling, and sorting. The corresponding numbers of production resources are 6, 1, 8, and 3, respectively. The number of panel jobs varies across production batches, and the selected job scales cover the range observed in the collected records. The instances are generated by randomly sampling N panel jobs from the production records, where N { 50 , 100 , 150 , 200 , 300 } . For each instance, the perturbation amplitudes of the processing and transport times are randomly sampled from 0 to 25% and 0 to 15%, respectively.
Four representative production conditions encountered in actual production are considered in the experiments. Normal production (Normal) retains the original production structure. Machine breakdown (MB) randomly sets one to three drilling machines as unavailable, which represents temporary machine unavailability caused by maintenance or faults. Job cancellation (JC) randomly removes 5% to 25% of the jobs at the edge banding and drilling stages to characterize the removal of panels identified as unsuitable during manual inspection. Topology change (TC) randomly disables one to four feasible transport connections between drilling and sorting to represent temporary changes caused by conveyor maintenance or material routing adjustments. The transport times of one to three connections between edge banding and drilling are multiplied by a random factor ranging from 0.5 to 2.0 to represent adjustments of roller conveyor speed.
The instances used for training and evaluation are generated independently with different random seeds. The training set contains 16 instances, with four instances generated for each production condition and N selected from the values given above. Each training episode uses one instance randomly selected from the training set. The evaluation instances are generated separately from the training instances. Unless otherwise stated, each search method is run five times with different random seeds on each evaluation instance, whereas Polling, shortest processing time (SPT), and longest processing time (LPT) are evaluated once.
HeteroGNN-ALNS is compared with Polling, SPT, LPT, Default ALNS [10], iterated greedy (IG) [43], and deep reinforced adaptive large neighborhood search (DR-ALNS) [26]. Polling, SPT, and LPT are used as dispatching rules, while Default ALNS, IG, and DR-ALNS are used as search baselines. Gurobi [44] and OR-Tools CP-SAT [45] are additionally used as exact solvers for the small-instance comparison. All methods are evaluated on the same instances under the same production conditions.
The weighted normalized score defined in Equations (18)–(20) is used as the main performance measure. The reference set S ref consists of the schedules decoded from the original job sequence, R = 5 random sequences, the SPT sequence, and the LPT sequence. The objective weights are set to ω C = 0.7 , ω W = 0.2 , and ω L = 0.1 . Average completion time, average waiting time, normalized workload imbalance, and makespan are also reported.
The reward parameters are set according to preliminary experiments. The reward scaling coefficient κ = 10 scales the typical normalized objective difference of approximately 10 2 to a magnitude comparable with b t . A larger bonus is assigned to improvement of the best schedule to strengthen exploitation, while a positive bonus is retained for an accepted candidate without such improvement to encourage exploration. The bonus is specified as
b t = 5 , if   the   best   schedule   is   improved , 1 , if   the   candidate   schedule   is   accepted   without   such   improvement , 0.5 , otherwise .
All experiments were conducted on a computing server with one 32 GB vGPU, 16 vCPUs, and 62 GB of memory using Python 3.12.7, PyTorch 2.2.2, and PyTorch Geometric 2.7.0. The main parameters of ALNS were selected with reference to previous studies [10,11,26] and adjusted according to preliminary experiments for the considered production setting. The HeteroGNN invocation interval K G was further examined through the sensitivity analysis in Section 5.5. The algorithm and learning settings are summarized in Table 3.

5.2. Main Results

5.2.1. Training Process

Figure 4 presents the training curves of HeteroGNN-ALNS. The policy loss decreases during the early episodes and subsequently fluctuates within a relatively stable range. The training score shows a clearer downward trend and gradually stabilizes as training proceeds. The variation between episodes is mainly associated with the different training instances and the stochastic decisions in the search, while the exponential moving average shows the overall trend more clearly.

5.2.2. Computational Efficiency

To examine the computational cost introduced by HeteroGNN inference and its effect on search performance, the search methods are compared under the equal-time setting and the equal-evaluation setting in Table 4. HeteroGNN-ALNS obtains the lowest weighted normalized score under both settings. Under the equal-time setting, HeteroGNN-ALNS performs fewer evaluations than Default ALNS but still obtains a lower weighted normalized score. This result shows that the improvement is associated with more effective search guidance rather than more candidate evaluations.
Under the equal-time setting, HeteroGNN-ALNS obtains a weighted normalized score 57.4% lower than that of Default ALNS while evaluating 27.1% fewer candidate schedules. The smaller number of evaluations reflects the additional computation required for graph construction and HeteroGNN inference, while the average completion time and average waiting time are reduced by 23.0% and 18.3%, respectively. Default ALNS gives lower normalized workload imbalance and makespan, which have smaller weights in the scalar objective.
Under the equal-evaluation setting, HeteroGNN-ALNS again gives the lowest weighted normalized score and average completion time, with reductions of 69.0% and 27.0% relative to Default ALNS. IG gives a 4.5% lower average waiting time than HeteroGNN-ALNS, while its average completion time is 31.7% higher. The runtime of HeteroGNN-ALNS increases to 9.046 s because each guided iteration additionally requires graph construction and HeteroGNN inference.

5.2.3. Computational Cost

To further examine the computational cost of HeteroGNN-ALNS, the runtime of graph construction, search-state vector construction, HeteroGNN inference, destroy selection, repair, schedule decoding, and objective evaluation is measured at different job scales. With fixed network settings, the computational complexity of graph construction and message passing can be expressed as O ( | V t | + | E t | ) = O ( N ) . According to Equation (23) and the numbers of production resources, the heterogeneous graph contains N + 18 nodes. The edge set contains 8 N assignment edges, 2 ( N 1 ) sequence edges, and at most 68 transport edges after reverse relations are included. Thus, | E t | 8 N + 2 ( N 1 ) + 68 = 10 N + 66 . Both | V t | and | E t | scale linearly with N. Schedule decoding also has a complexity of O ( N ) because the numbers of candidate resources at each production stage are fixed. Accordingly, graph construction and message passing have O ( N ) complexity per HeteroGNN invocation, and schedule decoding has O ( N ) complexity per evaluation. For application to another manufacturing process, the numbers of resource nodes and feasible edges are adjusted according to the production topology, while the HeteroGNN architecture and training procedure remain unchanged.
As shown in Table 5, schedule decoding time increases approximately with the job scale, which is consistent with the sequential decoding procedure in Algorithm 1. In contrast, graph construction and HeteroGNN inference show only small variations over the tested job scales, although | V t | and | E t | increase linearly with N. The limited increase in graph construction time may be attributed to the relatively large proportion of fixed computational overhead within the evaluated range. The small variation in inference time may result from parallel computation in HeteroGNN inference. Since the HeteroGNN is invoked every K G = 3 iterations, the additional computation associated with graph processing and inference is distributed over multiple search iterations.

5.2.4. Performance with Different Numbers of Jobs

Figure 5 compares the weighted normalized scores obtained with different numbers of jobs. HeteroGNN-ALNS gives the lowest score for all values of N, with reductions of 43.4% to 66.4% relative to Default ALNS. Its average completion time is also reduced by 13.3% to 22.9%.
The individual performance indicators are reported in Table 6. For N = 100 to 300, HeteroGNN-ALNS reduces the average waiting time of Default ALNS by 7.1% to 23.6%. At N = 50 , Default ALNS gives a 2.5% lower average waiting time because changes in the positions of a small number of jobs have a greater influence on the average waiting time when fewer sequencing decisions are involved.
SPT gives the lowest average completion time for all values of N because jobs with shorter processing times are given priority. Its average waiting time is 61.3% to 194.0% higher than that of HeteroGNN-ALNS because the rule does not consider waiting at subsequent production stages.
LPT gives priority to jobs with longer processing times and produces lower average waiting times than HeteroGNN-ALNS for N = 100 to 300. Its average completion time is 75.8% to 87.3% higher because scheduling longer jobs first delays a larger number of shorter jobs.
IG obtains slightly lower average waiting times at several values of N, while its average completion time and weighted normalized score remain higher than those of HeteroGNN-ALNS. Compared with DR-ALNS, HeteroGNN-ALNS reduces the weighted normalized score by 52.2% to 70.9% and the average waiting time by 22.4% to 29.9%. The main difference is that HeteroGNN-ALNS uses the heterogeneous graph and search state vector to guide both operator selection and destroy set construction. The differences in normalized workload imbalance among the search methods are comparatively small.

5.2.5. Performance Under Different Production Conditions

The performance under different production conditions is further compared in Figure 6. HeteroGNN-ALNS gives the lowest weighted normalized score under all four conditions. Compared with Default ALNS, the score is reduced by 55.9% to 67.3%, accompanied by reductions of 20.1% to 22.7% in average completion time and 11.1% to 19.1% in average waiting time.
The individual performance indicators under the four production conditions are reported in Table 7. HeteroGNN-ALNS achieves the lowest weighted normalized score among the compared methods under all four production conditions. LPT gives lower average waiting times, whereas its average completion time is 77.9% to 83.8% higher than that of HeteroGNN-ALNS because longer jobs are given priority. SPT shows the opposite tendency, with lower average completion times but considerably higher average waiting times.
The differences between HeteroGNN-ALNS and the other search methods remain consistent across the four production conditions. Compared with DR-ALNS, the weighted normalized score is reduced by 60.8% to 71.2%. IG gives similar or slightly lower average waiting times in several conditions, while HeteroGNN-ALNS gives substantially lower average completion times and better overall performance.
Figure 7 further presents the distribution of weighted normalized scores across the production conditions. HeteroGNN-ALNS has the lowest median and a relatively narrow interquartile range, which indicate better overall performance and greater consistency across the tested production conditions.

5.3. Statistical Analysis

The weighted normalized score is used for the statistical analysis because it combines the three scheduling criteria in the objective function. For each production condition and method, the results from repeated runs are first averaged for each instance. The resulting values form paired samples for comparisons between HeteroGNN-ALNS and Default ALNS, IG, and DR-ALNS.
A Wilcoxon signed-rank test is applied to each paired comparison using the one-sided alternative hypothesis that HeteroGNN-ALNS obtains a lower weighted normalized score than the corresponding baseline. The Holm procedure is used to adjust the p-values from the twelve comparisons and control the familywise error rate. The effect size is measured by the rank-biserial correlation.
All twelve comparisons give p = 0.000977 before correction and p = 0.011719 after the Holm correction. The differences therefore remain statistically significant at the 5% level. The rank-biserial correlation is 1.0 in every comparison, indicating that the weighted normalized score of HeteroGNN-ALNS is lower for every paired instance. Figure 8 presents the mean score reductions together with their 95% bootstrap confidence intervals.

5.4. Ablation Study

The contribution of the main components of HeteroGNN-ALNS is examined through the ablation study reported in Table 8. The full model is compared with variants in which the search state vector, relation-specific message passing, heterogeneous graph representation, operator head, or destroy head is removed.
The weighted normalized score increases when either the search state vector or relation-specific message passing is removed, which supports the necessity of both components in HeteroGNN-ALNS. A larger increase is observed when the heterogeneous graph is replaced by a homogeneous graph, while the average completion time also increases. The distinction between different node types and relations therefore provides useful information for representing the current scheduling state.
Among the ablated components, removal of the two decision heads produces the largest increases in the weighted normalized score, which shows that operator selection and destroy set construction have the largest effects on the overall objective. The weighted normalized score increases most after removal of the operator head, and removal of the destroy head further increases the average waiting time. Although the latter variant gives lower normalized workload imbalance and makespan, its average completion time and average waiting time are higher under the objective weights used in this study.

5.5. Sensitivity Analysis

The sensitivity of the proposed method to the HeteroGNN invocation interval K G is examined in Table 9.
The lowest weighted normalized score is obtained with K G = 3 . The weighted normalized score is higher at K G = 5 and K G = 10 , mainly because less frequent HeteroGNN invocation leads to a larger average completion time. The setting K G = 1 gives a slightly higher weighted normalized score than K G = 3 despite its lower average completion time because its average waiting time, normalized workload imbalance, and makespan are higher. Therefore, K G = 3 is adopted in the main experiments.
The sensitivity to the number R of random sequences in S ref is further examined with R { 0 , 5 , 10 , 20 , 50 , 100 } . The normalization bounds are reconstructed with each value of R. The same evaluated schedules are rescored under the corresponding bounds. The setting R = 5 is adopted in the main experiments. The mean absolute difference in F norm relative to R = 5 is denoted by Mean | Δ F norm | . Table 10 reports its range across the three evaluated methods. No ranking change is observed with R { 10 , 20 , 50 , 100 } . The corresponding Mean | Δ F norm | remains below 0.03. One ranking change is observed at R = 0 after exclusion of the random reference sequences. These results show that the inclusion of random reference sequences improves ranking stability, whereas increasing R beyond 5 has only a limited effect on F norm .

5.6. Comparison with Exact Solvers

Two independent exact formulations of the considered scheduling problem are implemented with Gurobi MIP and OR-Tools CP-SAT. Model correctness is examined on an instance with N = 6 . The optimal makespan and total completion time are compared with those obtained by exhaustive enumeration based on the scheduling decoder. In addition, the weighted objective F norm is formulated as a linear objective in CP-SAT with the weights specified in Section 5.1 for the same instances. Five instances are considered for each of N = 10 and N = 20 . The CP-SAT reference values F * range from 0.0012 to 0.0136 for N = 10 and from 0.057 to 0.047 for N = 20 . The total completion time is compared with the best feasible solution obtained by CP-SAT within 600 s. The gap for the weighted objective is defined as Δ F = F norm F * .
The results of Default ALNS and HeteroGNN-ALNS are reported as the mean and standard deviation over five instances and five random seeds. The results are summarized in Table 11. Gurobi, CP-SAT, and exhaustive enumeration obtain identical optimal values for makespan and total completion time for N = 6 . All five N = 10 instances and three of the five N = 20 instances are proven optimal by the exact solvers for the makespan objective. The best-known solutions for the remaining two N = 20 instances are within 1.32% and 0.16% of the corresponding lower bounds. HeteroGNN-ALNS gives higher gaps than Default ALNS for makespan. HeteroGNN-ALNS gives slightly higher gaps than Default ALNS for total completion time and Δ F at N = 10 , while lower gaps are obtained at N = 20 . This variation is consistent with the multi-objective formulation considered in this paper, as the search accounts for the combined effects of different scheduling objectives.

6. Conclusions

This study investigates the FJSP in panel furniture production under practical production requirements. A mathematical model is formulated to consider different processing times, variable transport resources, and specific production constraints. An ALNS method guided by a HeteroGNN, termed HeteroGNN-ALNS, is developed to solve the scheduling problem. The scheduling state in ALNS is represented as a heterogeneous graph and combined with a search state vector. Based on this representation, the HeteroGNN guides neighborhood operator selection and destroy set construction, and the guidance policy is trained using an actor–critic method.
Computational experiments are conducted under four production conditions and five job scales. Compared with Default ALNS, HeteroGNN-ALNS reduces the weighted normalized score by 43.4–66.4% across the five job scales and by 55.9–67.3% across the four production conditions. HeteroGNN-ALNS also achieves better overall scheduling performance under both equal-evaluation and equal-time settings. The statistical analysis based on the Wilcoxon signed-rank test with Holm correction confirms that HeteroGNN-ALNS significantly outperforms the main search baselines. The ablation study further verifies the contribution of each main component, with the operator head and destroy head having the largest effects on the weighted normalized score.
There are some limitations in this paper. The computational requirements for graph construction and HeteroGNN inference increase with the size of the scheduling graph. The current experiments are based on historical production records and offline scheduling instances. Future work will investigate the real-time performance of the proposed method for online rescheduling and evaluate the practical applicability of the proposed method when new jobs arrive.

Author Contributions

Conceptualization, L.Y. and S.Z.; methodology, L.Y.; data curation, L.Y., S.Z. and R.Z.; investigation, L.Y. and S.Z.; original draft preparation, L.Y.; review and editing, L.Y., S.Z. and R.Z.; supervision, S.Z.; funding acquisition, S.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China Major Research Plan Cultivation Project (92582105).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author due to restrictions on the disclosure of industrial production data.

Acknowledgments

The authors would like to thank Haojie Huang and Xiang Mo from the College of Electrical Engineering and Automation, Fuzhou University, for their helpful discussions and support.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ALNSAdaptive large neighborhood search
CPConstraint programming
CP-SATConstraint programming-satisfiability
DR-ALNSDeep reinforced adaptive large neighborhood search
DRLDeep reinforcement learning
FJSPFlexible job shop scheduling problem
GAEGeneralized advantage estimation
GLSGuided local search
GNNGraph neural network
HeteroGNNHeterogeneous graph neural network
HeteroGNN-ALNSHeteroGNN-guided adaptive large neighborhood search
IGIterated greedy
JCJob cancellation
LNSLarge neighborhood search
LPTLongest processing time
MBMachine breakdown
MIPMixed-integer programming
ReLURectified linear unit
SASimulated annealing
SPTShortest processing time
TCTopology change

References

  1. Ouyang, Z.; Wu, Y.; Shao, H.; Wang, X.; Tao, T.; Chen, X.; Peng, T. Method for drill-bit arrangement in CNC woodworking drilling machine for mass customization. J. Manuf. Syst. 2025, 78, 200–212. [Google Scholar] [CrossRef] [Scilit]
  2. Wang, J.; Wu, Z.; Yang, L.; Hu, W.; Song, C.; Zhu, Z.; Guo, X.; Cao, P. Investigation on distributed rescheduling with cutting tool maintenance based on NSGA-III in large-scale panel furniture intelligent manufacturing. J. Manuf. Process. 2024, 112, 214–224. [Google Scholar] [CrossRef] [Scilit]
  3. Dauzère-Pèrès, S.; Ding, J.; Shen, L.; Tamssaouet, K. The flexible job shop scheduling problem: A review. Eur. J. Oper. Res. 2024, 314, 409–432. [Google Scholar] [CrossRef] [Scilit]
  4. Chen, R.; Wu, B.; Wang, H.; Tong, H.; Yan, F. A Q-Learning based NSGA-II for dynamic flexible job shop scheduling with limited transportation resources. Swarm Evol. Comput. 2024, 90, 101658. [Google Scholar] [CrossRef] [Scilit]
  5. Moon, S.; Lee, S.; Park, K.J. Learning-enabled flexible job-shop scheduling for scalable smart manufacturing. J. Manuf. Syst. 2024, 77, 356–367. [Google Scholar] [CrossRef] [Scilit]
  6. Peng, N.; Zheng, Y.; Xiao, Z.; Gong, G.; Huang, D.; Liu, X.; Zhu, K.; Luo, Q. Multi-objective dynamic distributed flexible job shop scheduling problem considering uncertain processing time. Clust. Comput. 2025, 28, 185. [Google Scholar] [CrossRef] [Scilit]
  7. Lei, K.; Guo, P.; Wang, Y.; Zhang, J.; Meng, X.; Qian, L. Large-scale dynamic scheduling for flexible job-shop with random arrivals of new jobs by hierarchical reinforcement learning. IEEE Trans. Ind. Inform. 2024, 20, 1007–1018. [Google Scholar] [CrossRef] [Scilit]
  8. Li, J.; Li, X.; Gao, L.; Wang, C.; Chen, H. A multitasking workforce-constrained flexible job shop scheduling problem: An application from a real-world workshop. J. Manuf. Syst. 2025, 83, 196–215. [Google Scholar] [CrossRef] [Scilit]
  9. Tamssaouet, K.; Dauzère-Pèrès, S. A general efficient neighborhood structure framework for the job-shop and flexible job-shop scheduling problems. Eur. J. Oper. Res. 2023, 311, 455–471. [Google Scholar] [CrossRef] [Scilit]
  10. Ropke, S.; Pisinger, D. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transp. Sci. 2006, 40, 455–472. [Google Scholar] [CrossRef] [Scilit]
  11. Liu, J.; Sun, B.; Li, G.; Chen, Y. Multi-objective adaptive large neighbourhood search algorithm for dynamic flexible job shop schedule problem with transportation resource. Eng. Appl. Artif. Intell. 2024, 132, 107917. [Google Scholar] [CrossRef] [Scilit]
  12. Kasapidis, G.A.; Paraskevopoulos, D.C.; Mourtos, I.; Repoussis, P.P. A unified solution framework for flexible job shop scheduling problems with multiple resource constraints. Eur. J. Oper. Res. 2025, 320, 479–495. [Google Scholar] [CrossRef] [Scilit]
  13. Johnn, S.N.; Darvariu, V.A.; Handl, J.; Kalcsics, J. Graph Reinforcement Learning for Operator Selection in the ALNS Metaheuristic. In Proceedings of the Optimization and Learning; Communications in Computer and Information Science; Springer: Cham, Switzerland, 2023; Volume 1824, pp. 200–212. [Google Scholar] [CrossRef] [Scilit]
  14. Teichteil-Königsbuch, F.; Povéda, G.; González de Garibay Barba, G.; Luchterhand, T.; Thiébaux, S. Fast and Robust Resource-Constrained Scheduling with Graph Neural Networks. Proc. Int. Conf. Autom. Plan. Sched. 2023, 33, 623–633. [Google Scholar] [CrossRef] [Scilit]
  15. Sui, J.; Ding, S.; Xia, B.; Liu, R.; Bu, D. NeuralGLS: Learning to guide local search with graph convolutional network for the traveling salesman problem. Neural Comput. Appl. 2024, 36, 9687–9706. [Google Scholar] [CrossRef] [Scilit]
  16. Johnn, S.N.; Darvariu, V.A.; Handl, J.; Kalcsics, J. A graph reinforcement learning framework for neural adaptive large neighbourhood search. Comput. Oper. Res. 2024, 172, 106791. [Google Scholar] [CrossRef] [Scilit]
  17. Duan, Y.; Li, M.; Shi, L.; Li, L.; Zhao, X.; He, L. A genetic-operator-integrated whale optimization algorithm for solving the flexible job shop scheduling problem. J. King Saud Univ.—Comput. Inf. Sci. 2025, 37, 259. [Google Scholar] [CrossRef] [Scilit]
  18. Pisinger, D.; Ropke, S. Large Neighborhood Search. In Handbook of Metaheuristics; Gendreau, M., Potvin, J.Y., Eds.; Springer: Boston, MA, USA, 2010; pp. 399–419. [Google Scholar] [CrossRef] [Scilit]
  19. Windras Mara, S.T.; Norcahyo, R.; Jodiawan, P.; Lusiantoro, L.; Rifai, A.P. A survey of adaptive large neighborhood search algorithms and applications. Comput. Oper. Res. 2022, 146, 105903. [Google Scholar] [CrossRef] [Scilit]
  20. Anand Deva Durai, C.; Azath, M.; Jeniffer, J.S.C. Integrated search method for flexible job shop scheduling problem using HHS-ALNS algorithm. SN Comput. Sci. 2020, 1, 83. [Google Scholar] [CrossRef] [Scilit]
  21. Liu, M.; Lv, J.; Du, S.; Deng, Y.; Shen, X.; Zhou, Y. Multi-resource constrained flexible job shop scheduling problem with fixture-pallet combinatorial optimisation. Comput. Ind. Eng. 2024, 188, 109903. [Google Scholar] [CrossRef] [Scilit]
  22. Yunusoglu, P.; Topaloglu Yildiz, S. Solving the flexible job shop scheduling and lot streaming problem with setup and transport resource constraints. Int. J. Syst. Sci. Oper. Logist. 2023, 10, 2221072. [Google Scholar] [CrossRef] [Scilit]
  23. Ji, B.; Zhang, S.; Yu, S.S.; Xiao, X.; Chen, C.; Zheng, G. Novel model and solution method for flexible job shop scheduling problem with batch processing machines. Comput. Oper. Res. 2024, 161, 106442. [Google Scholar] [CrossRef] [Scilit]
  24. Wang, Y.; Xia, T.; Xu, Y.; Ding, Y.; Zheng, M.; Pan, E.; Xi, L. Joint optimization of flexible job shop scheduling and preventive maintenance under high-frequency production switching. Int. J. Prod. Econ. 2024, 269, 109163. [Google Scholar] [CrossRef] [Scilit]
  25. Voigt, S. A review and ranking of operators in adaptive large neighborhood search for vehicle routing problems. Eur. J. Oper. Res. 2025, 322, 357–375. [Google Scholar] [CrossRef] [Scilit]
  26. Reijnen, R.; Zhang, Y.; Lau, H.C.; Bukhsh, Z. Online control of adaptive large neighborhood search using deep reinforcement learning. Proc. Int. Conf. Autom. Plan. Sched. 2024, 34, 475–483. [Google Scholar] [CrossRef] [Scilit]
  27. Wang, Z.; Cui, Q.; Tan, B.; Yang, X.; Zhou, W.; Huang, X. Reinforcement learning-guided adaptive large neighborhood search for vehicle routing problem with time windows. J. Comb. Optim. 2025, 50, 35. [Google Scholar] [CrossRef] [Scilit]
  28. Qin, H.; Xiang, Y.; Liu, F.; Han, Y.; Wang, Y. Enhancing Quality-Diversity Algorithm by Reinforcement Learning for Flexible Job Shop Scheduling with Transportation Constraints. Swarm Evol. Comput. 2025, 93, 101849. [Google Scholar] [CrossRef] [Scilit]
  29. Wu, Z.; Pan, S.; Chen, F.; Long, G.; Zhang, C.; Yu, P.S. A Comprehensive Survey on Graph Neural Networks. IEEE Trans. Neural Netw. Learn. Syst. 2021, 32, 4–24. [Google Scholar] [CrossRef] [Scilit]
  30. Smit, I.G.; Zhou, J.; Reijnen, R.; Wu, Y.; Chen, J.; Zhang, C.; Bukhsh, Z.; Zhang, Y.; Nuijten, W.P.M. Graph neural networks for job shop scheduling problems: A survey. Comput. Oper. Res. 2025, 176, 106914. [Google Scholar] [CrossRef] [Scilit]
  31. Wang, R.; Wang, G.; Sun, J.; Deng, F.; Chen, J. Flexible Job Shop Scheduling via Dual Attention Network-Based Reinforcement Learning. IEEE Trans. Neural Netw. Learn. Syst. 2024, 35, 3091–3102. [Google Scholar] [CrossRef] [Scilit]
  32. Bing, R.; Yuan, G.; Zhu, M.; Meng, F.; Ma, H.; Qiao, S. Heterogeneous Graph Neural Networks Analysis: A Survey of Techniques, Evaluations and Applications. Artif. Intell. Rev. 2023, 56, 8003–8042. [Google Scholar] [CrossRef] [Scilit]
  33. Song, W.; Chen, X.; Li, Q.; Cao, Z. Flexible Job-Shop Scheduling via Graph Neural Network and Deep Reinforcement Learning. IEEE Trans. Ind. Inform. 2023, 19, 1600–1610. [Google Scholar] [CrossRef] [Scilit]
  34. Wan, L.; Fu, L.; Li, C.; Li, K. Flexible job shop scheduling via deep reinforcement learning with meta-path-based heterogeneous graph neural network. Knowl.-Based Syst. 2024, 296, 111940. [Google Scholar] [CrossRef] [Scilit]
  35. Peng, Y.; Lyu, Y.; Zhang, J.; Chu, Y. Heterogeneous graph neural-network-based scheduling optimization for multi-product and variable-batch production in flexible job shops. Appl. Sci. 2025, 15, 5648. [Google Scholar] [CrossRef] [Scilit]
  36. Wu, Y.; Song, W.; Cao, Z.; Zhang, J. Learning Large Neighborhood Search Policy for Integer Programming. In Proceedings of the Advances in Neural Information Processing Systems, Virtual, 6–14 December 2021; Volume 34, pp. 30075–30087. [Google Scholar]
  37. Hudson, B.; Li, Q.; Malencia, M.; Prorok, A. Graph neural network guided local search for the traveling salesperson problem. In Proceedings of the International Conference on Learning Representations, Virtual, 25–29 April 2022. [Google Scholar]
  38. Zhang, C.; Cao, Z.; Wu, Y.; Song, W.; Sun, J. Learning Topological Representations with Bidirectional Graph Attention Network for Solving Job Shop Scheduling Problem. In Proceedings of the Fortieth Conference on Uncertainty in Artificial Intelligence; Proceedings of Machine Learning Research (PMLR): London, UK, 2024; Volume 244, pp. 4192–4208. [Google Scholar]
  39. Wang, J.; Cao, Z.; Zhao, P.; Cao, R.; Xiao, Y.; Jiang, Y.; Zhou, Y. Learning Memory-Enhanced Improvement Heuristics for Flexible Job Shop Scheduling. In Proceedings of the Advances in Neural Information Processing Systems, San Diego, CA, USA, 2–7 December 2025; Volume 38. [Google Scholar]
  40. Kallestad, J.; Hasibi, R.; Hemmati, A.; Sörensen, K. A general deep reinforcement learning hyperheuristic framework for solving combinatorial optimization problems. Eur. J. Oper. Res. 2023, 309, 446–468. [Google Scholar] [CrossRef] [Scilit]
  41. Konda, V.R.; Tsitsiklis, J.N. On Actor-Critic Algorithms. SIAM J. Control Optim. 2003, 42, 1143–1166. [Google Scholar] [CrossRef] [Scilit]
  42. Sutton, R.S.; McAllester, D.A.; Singh, S.P.; Mansour, Y. Policy Gradient Methods for Reinforcement Learning with Function Approximation. In Proceedings of the Advances in Neural Information Processing Systems 12; MIT Press: Cambridge, MA, USA, 2000; pp. 1057–1063. [Google Scholar]
  43. Al Aqel, G.; Li, X.; Gao, L. A modified iterated greedy algorithm for flexible job shop scheduling problem. Chin. J. Mech. Eng. 2019, 32, 21. [Google Scholar] [CrossRef] [Scilit]
  44. Gurobi Optimization, LLC. Gurobi Optimizer Reference Manual; Gurobi Optimization, LLC.: Beaverton, OR, USA, 2026. [Google Scholar]
  45. Perron, L.; Didier, F.; Gay, S. The CP-SAT-LP Solver. In Proceedings of the 29th International Conference on Principles and Practice of Constraint Programming (CP 2023); Leibniz International Proceedings in Informatics; Schloss Dagstuhl—Leibniz-Zentrum für Informatik: Wadern, Germany, 2023; Volume 280, pp. 3:1–3:2. [Google Scholar] [CrossRef]
Figure 1. The process of panel furniture production.
Figure 1. The process of panel furniture production.
Applsci 16 08807 g001
Figure 2. Architecture of the HeteroGNN.
Figure 2. Architecture of the HeteroGNN.
Applsci 16 08807 g002
Figure 3. Framework of HeteroGNN-ALNS.
Figure 3. Framework of HeteroGNN-ALNS.
Applsci 16 08807 g003
Figure 4. Training curves of HeteroGNN-ALNS.
Figure 4. Training curves of HeteroGNN-ALNS.
Applsci 16 08807 g004
Figure 5. Weighted normalized score for different numbers of jobs.
Figure 5. Weighted normalized score for different numbers of jobs.
Applsci 16 08807 g005
Figure 6. Weighted normalized score under different production conditions.
Figure 6. Weighted normalized score under different production conditions.
Applsci 16 08807 g006
Figure 7. Distribution of weighted normalized scores.
Figure 7. Distribution of weighted normalized scores.
Applsci 16 08807 g007
Figure 8. Reductions in weighted normalized score relative to baseline methods.
Figure 8. Reductions in weighted normalized score relative to baseline methods.
Applsci 16 08807 g008
Table 1. Main notation.
Table 1. Main notation.
SymbolDescription
J Set of panel jobs, where J = { 1 , 2 , , J } and j J .
L Set of production stages, where L = { c , b , d , s } denotes cutting, edge banding, drilling, and sorting, respectively.
A Set of ordered pairs of adjacent production stages, where A = { ( c , b ) , ( b , d ) , ( d , s ) } .
( o , o ) o denotes the stage immediately preceding the downstream stage o for ( o , o ) A .
R o Set of resources at stage o.
E o , o Set of feasible transport connections from stage o to stage o, where ( o , o ) A .
τ r r o , o Transport time from resource r R o to resource r R o , where ( o , o ) A .
h j Minimum safety time interval for job j at the edge banding stage.
a r o 1 if resource r at stage o is available and 0 otherwise.
x j r o 1 if job j is assigned to resource r at stage o and 0 otherwise.
y j r r o , o 1 if the transport connection from resource r at stage o to resource r at stage o is selected for job j and 0 otherwise.
z i j o Binary sequencing variable, where z i j o { 0 , 1 } . z i j o = 1 if job i precedes job j at stage o for i , j J and i < j , and z i j o = 0 otherwise.
A j o Arrival time of job j at stage o.
S j o Start time of job j at stage o.
C j o Completion time of job j at stage o.
W j o Waiting time of job j at stage o.
B r o Workload of resource r at stage o.
Table 2. Node features.
Table 2. Node features.
Node TypeStatic FeaturesDynamic FeaturesInput Dimension
JobProcessing times, minimum safety time interval, panel lengthSorting completion time, downstream waiting time, sequence position, residual time, bottleneck ratio, waiting ratio, urgency12
Cutting resourceTransport time to edge banding, resource indexAssigned-job ratio, utilization4
Edge banding resourceResource indexAssigned-job ratio, average waiting time, utilization4
Drilling resourceTransport time from edge banding, reachability ratio, resource indexAssigned-job ratio, queue ratio, average waiting time6
Sorting resourceResource indexAssigned-job ratio, queue ratio, average waiting time4
Table 3. Algorithm and training settings.
Table 3. Algorithm and training settings.
ParameterSetting
Algorithm settings
n min D 10
λ D 0.08
T 0 , T min 0.05, 0.001
ρ 0.2
ALNS weight update interval15 iterations
K R 3
K G 3 iterations
p G 0.7
T D 1.0
λ G 0.5
Training settings
L3
Hidden dimension64
Dropout0.1
Search statistics window50 iterations
κ 10
b t 5, 1, 0.5
Training episodes600
Iterations per episode200
OptimizerAdam
Learning rate 3 × 10 4
γ 0.99
λ GAE 0.95
c V 0.1
c H 0.02
Table 4. Comparison under equal-time and equal-evaluation settings.
Table 4. Comparison under equal-time and equal-evaluation settings.
SettingMethod F norm C avg W avg f ˜ L MakespanRuntime (s)Evaluations
Equal timeDefault ALNS 0.3743 80,399.21344.50.3933139,642.05.013213.1
IG0.324075,873.41161.60.5573141,618.55.011213.7
DR-ALNS0.411280,935.21499.10.5902142,401.85.013200.3
HeteroGNN-ALNS0.159361,921.81098.50.4979140,955.55.018155.3
Equal evaluationDefault ALNS0.365379,801.91296.20.3968139,587.36.824270.0
IG0.324276,683.11056.10.4947140,840.36.798270.0
DR-ALNS0.391280,040.31446.70.5315141,196.17.229270.0
HeteroGNN-ALNS0.113158,228.31105.60.4139139,837.39.046270.0
Table 5. Runtime of the main computational components.
Table 5. Runtime of the main computational components.
ComponentN
50100200300
HeteroGNN invocation (ms/call)
Graph construction1.701.601.802.00
Search-state vector construction0.080.060.050.05
HeteroGNN inference17.3017.8017.3016.30
Destroy selection0.880.831.001.37
Solution evaluation (ms/evaluation)
Repair0.020.030.030.04
Schedule decoding4.529.0618.2426.93
Objective evaluation0.030.040.060.08
Table 6. Performance for different numbers of jobs.
Table 6. Performance for different numbers of jobs.
NMethod F norm C avg W avg f ˜ L Makespan
50Polling0.702354,430.82011.00.782079,437.8
SPT0.188636,904.1949.30.906581,063.4
LPT0.722260,400.31177.80.036267,803.9
Default ALNS0.286243,785.0487.90.482474,066.6
IG0.171939,153.6375.20.604576,042.8
DR-ALNS0.317344,581.9672.30.444273,581.4
HeteroGNN-ALNS0.136337,948.0500.30.457973,885.8
100Polling0.589869,707.92013.00.6125109,069.8
SPT0.195445,006.21447.70.9795115,650.3
LPT0.705785,433.6714.70.1949102,966.5
Default ALNS0.333261,556.7965.60.2455103,802.2
IG0.298558,986.2849.50.3634105,547.5
DR-ALNS0.384863,492.31160.60.2924104,567.5
HeteroGNN-ALNS0.112148,602.8897.30.1942103,024.6
150Polling0.639192,920.42447.70.7968155,358.6
SPT0.248655,327.22255.10.8965156,685.5
LPT0.7233118,859.0636.00.4526148,704.9
Default ALNS0.385484,027.91414.50.2438145,572.9
IG0.351082,415.01135.90.2988146,430.3
DR-ALNS0.430785,857.81528.80.3652147,492.5
HeteroGNN-ALNS0.171864,805.91080.00.3591147,427.1
200Polling0.5623109,645.12555.40.6564189,450.9
SPT0.289764,967.93180.40.9175194,212.1
LPT0.7165147,010.8616.90.4778186,303.5
Default ALNS0.3732101,031.61620.70.2147181,437.9
IG0.3691101,113.31423.20.2931182,673.4
DR-ALNS0.4336104,693.31889.80.3297183,191.0
HeteroGNN-ALNS0.181578,993.01324.10.2972182,745.5
300Polling0.5590151,600.22485.80.7145270,662.1
SPT0.378687,638.85144.10.8161270,662.3
LPT0.7713207,811.1659.30.8149270,644.6
Default ALNS0.3921139,065.72014.00.2034259,161.3
IG0.3868140,767.11736.90.2057259,123.8
DR-ALNS0.4642146,689.42254.90.3060260,808.7
HeteroGNN-ALNS0.2219110,961.91749.60.2099259,119.3
Table 7. Performance under different production conditions.
Table 7. Performance under different production conditions.
ConditionMethod F norm C avg W avg f ˜ L Makespan
NormalPolling0.679580,713.72395.30.8910130,567.0
SPT0.240949,257.92098.70.9397131,142.2
LPT0.707798,333.7673.70.2567120,771.0
Default ALNS0.357270,173.21075.90.2746120,778.6
IG0.312967,213.0894.50.4061122,644.2
DR-ALNS0.415673,056.31222.40.3434121,833.5
HeteroGNN-ALNS0.136554,739.9905.30.2915121,036.1
MBPolling0.576186,151.71911.90.6126140,812.6
SPT0.252253,244.12099.60.9725148,809.2
LPT0.7611111,099.5689.60.3558137,329.2
Default ALNS0.396577,619.41409.90.2907134,366.2
IG0.368976,177.71121.90.3721135,915.9
DR-ALNS0.443880,180.91620.00.3051135,041.2
HeteroGNN-ALNS0.173860,436.61149.10.2733134,118.9
JCPolling0.605180,277.42097.80.6735129,247.3
SPT0.257949,755.22089.00.9879134,080.5
LPT0.7163101,021.9745.40.3330123,622.2
Default ALNS0.328371,027.01040.40.2911123,271.1
IG0.302369,376.6928.20.3928124,864.5
DR-ALNS0.394473,867.61279.60.3765124,530.2
HeteroGNN-ALNS0.144756,777.9924.80.3245123,739.7
TCPolling0.635077,194.12188.90.7740123,960.4
SPT0.226447,973.41992.30.9322126,179.6
LPT0.735495,699.4761.60.4091117,945.4
Default ALNS0.346668,355.11122.10.2763115,752.9
IG0.304766,210.4921.20.3745117,158.7
DR-ALNS0.393069,911.51299.20.3439116,810.9
HeteroGNN-ALNS0.113252,860.6907.90.3006116,085.9
Table 8. Ablation study results.
Table 8. Ablation study results.
Setting F norm C avg W avg f ˜ L Makespan
Full model 0.1332 59,021.7975.50.4155135,362.2
Without search state vector 0.1451 60,033.8943.50.4873136,020.6
Without relation-specific message passing 0.1394 59,930.2993.50.3086134,385.3
Homogeneous graph 0.1618 61,683.3943.30.4118135,219.1
Without operator head 0.1868 63,257.6989.50.4215135,329.5
Without destroy head 0.1638 62,029.51067.30.2842134,117.3
Table 9. Sensitivity analysis of K G .
Table 9. Sensitivity analysis of K G .
K G F norm C avg W avg f ˜ L Makespan
1 0.1518 56,675.51239.90.6887139,801.0
3 0.1507 60,588.5979.30.4617137,156.4
5 0.1834 63,397.1998.10.4323136,708.6
10 0.2135 66,340.0959.80.3894136,383.6
Table 10. Sensitivity analysis of R.
Table 10. Sensitivity analysis of R.
RMean | Δ F norm | Ranking Changes
00.0225–0.06411/30
50.00000/30
100.0127–0.01470/30
200.0144–0.01800/30
500.0192–0.02590/30
1000.0220–0.02940/30
Table 11. Comparison with exact solvers on small instances.
Table 11. Comparison with exact solvers on small instances.
(a) Model validation
MethodMakespanTotal Completion Time F norm
Gurobi MIP42,986162,575
OR-Tools CP-SAT42,986162,5750.0254
Decoder enumeration42,986162,5750.0702
(b) Gaps to solver references
N MethodMakespan (%)Total Completion Time (%)ΔF
10Default ALNS 6.98 ± 2.79 7.93 ± 3.64 0.1711 ± 0.0504
HeteroGNN-ALNS 7.15 ± 3.00 8.64 ± 2.86 0.1773 ± 0.0436
20Default ALNS 13.99 ± 6.66 10.63 ± 4.91 0.2052 ± 0.0576
HeteroGNN-ALNS 18.51 ± 6.28 5.49 ± 2.15 0.1568 ± 0.0325
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Yue, L.; Zheng, S.; Zheng, R. Heterogeneous Graph Neural Network-Guided Adaptive Large Neighborhood Search for Flexible Job Shop Scheduling in Panel Furniture Production. Appl. Sci. 2026, 16, 8807. https://doi.org/10.3390/app16178807

AMA Style

Yue L, Zheng S, Zheng R. Heterogeneous Graph Neural Network-Guided Adaptive Large Neighborhood Search for Flexible Job Shop Scheduling in Panel Furniture Production. Applied Sciences. 2026; 16(17):8807. https://doi.org/10.3390/app16178807

Chicago/Turabian Style

Yue, Liang, Song Zheng, and Rong Zheng. 2026. "Heterogeneous Graph Neural Network-Guided Adaptive Large Neighborhood Search for Flexible Job Shop Scheduling in Panel Furniture Production" Applied Sciences 16, no. 17: 8807. https://doi.org/10.3390/app16178807

APA Style

Yue, L., Zheng, S., & Zheng, R. (2026). Heterogeneous Graph Neural Network-Guided Adaptive Large Neighborhood Search for Flexible Job Shop Scheduling in Panel Furniture Production. Applied Sciences, 16(17), 8807. https://doi.org/10.3390/app16178807

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

Article Metrics

Back to TopTop