## 3 Method
### Heterogeneous Enhanced Disjunctive Graph Model  
The disjunctive graph is an effective tool for modeling job shop scheduling processes, commonly used to represent scheduling states, and has achieved significant success [35]. However, in the FJSP, where operations can be processed on multiple machines, the set of disjunctive arcs can become exceedingly large. This results in a densely connected graph topology, complicating the construction of the disjunctive graph [36]. Additionally, the processing time of the same operation may vary across different machines, further increasing the complexity of the graph representation. In this study, we propose an HEDG model, as illustrated in Figure 2. The model is defined as \(H=(O,M,C,G)\), where:  
* \(O=\{O_{ij}\mid\forall i,j\}\cup\{\text{Start},\text{End}\}\) includes all operation nodes and two virtual operation nodes representing the start and end points of the scheduling process (with zero processing time). * \(M=\{M_{k}\}\) represents all machines in the workshop. * \(C\) is the set of conjunctive arcs that define the product's processing routes. For example, the arc \(O_{ij}\)\(\rightarrow\)\(O_{i(j+1)}\) indicates that operation \(O_{i(j+1)}\) begins processing after the completion of operation \(O_{ij}\). * \(G\) is the set of \(O\)\(-\)\(M\) arcs that connect operation nodes to machine nodes. Each element \(G_{ijk}\in G\) is an undirected arc connecting operation node \(O_{ij}\) with a selectable machine node \(M_{k}\). Based on the above definitions, this study represents each state \(s_{t}\) as an HEDG \(H_{t}=(O,M,C,G_{t})\), as illustrated in Figure 3. In this framework, \(G_{t}\) dynamically evolves throughout the solution process. When an action \(\left(O_{ij},M_{k}\right)\) is executed at time \(t\), the arc \(G_{ijk}\) is retained, and the other \(O\)\(-\)\(M\) arcs associated with \(O_{ij}\) are removed, resulting in  
Figure 1: Scheduling process based on graph neural networks and deep reinforcement learning. Figure 2: Structure of the HEDG. the subsequent state \(H_{t+1}\). Consequently, the adjacency relationships between nodes are dynamically altered. The features of operation nodes \(\alpha_{ij}\in\mathbb{R}^{8}\) are defined as follows:  
1. Scheduling Status: Indicates whether the operation has been scheduled (0 or 1). 2. Number of Adjacent machines: The number of available machines that can be selected for processing. 3. Number of Unscheduled Operations: The count of subsequent unscheduled operations within the current job. 4. Proportion of Unscheduled Operations: The ratio of unscheduled operations to the total number of operations in the current job. 5. Priority: The priority of the job defined based on the delivery date as \(Pr_{i}=\frac{1}{D_{i}-t}\). 6. Processing Time: If scheduled, this is the actual processing time \(p_{ijk}\); otherwise, it is the estimated average processing time \(\overline{p}_{ij}\), calculated as the average processing time across all available machines. 7. Start Time: The estimated or actual start time during partial scheduling. If operation \(O_{ij}\) has been scheduled, \(S_{ij}(t)\) represents the actual start time. If \(O_{ij}\) has not been scheduled, the start time is predicted based on the status of preceding operations and available machines. Specifically, if the preceding operation \(O_{i(j-1)}\) has started processing on machine \(M_{k}\), then \(S_{ij}(t)=S_{i(j-1)}+p_{i(j-1)k}\). Otherwise, the estimated average processing time \(\overline{p}_{ij}\) is used for prediction. 8. Job Completion Time: The estimated or actual completion time during partial scheduling. If operation \(O_{ij}\) has been scheduled, the completion time is \(C_{ij}(t)=S_{ij}+p_{ijk}\). If \(O_{ij}\) has not been scheduled, the completion time is predicted as \(C_{ij}(t)=S_{ij}(t)+\overline{p}_{ij}\), where \(S_{ij}(t)\) is the estimated start time and \(\overline{p}_{ij}\) is the average processing time. The features of machine nodes \(\beta_{k}\in\mathbb{R}^{3}\) is defined as follows: 1.