A distributed flexible job-shop scheduling method considering process dependency

By optimizing the allocation of processes and equipment through adaptive adjustment strategies and combinations of multiple operators, the problems of long solution time and easy getting trapped in local optima in the scheduling of large-scale distributed flexible job shops are solved, resulting in a more efficient scheduling scheme, reducing the maximum completion time and improving the quality of the solution.

CN122155215APending Publication Date: 2026-06-05LIAOCHENG UNIV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
LIAOCHENG UNIV
Filing Date
2026-02-27
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

Existing technologies for handling large-scale distributed flexible job shop scheduling problems suffer from significantly increased solution time and a tendency to get trapped in local optima. In particular, when considering process dependencies and sequence-related preparation time, it is difficult to effectively reduce the maximum completion time and improve search efficiency.

Method used

A distributed flexible job shop scheduling method considering process dependencies is adopted. Through adaptive adjustment strategies and combinations of multiple operators, including crossover operators, mutation operators and local search operators, combined with fast evaluation methods and neighborhood solution acceptance rules, the allocation order of processes and equipment is optimized, the computation time of neighborhood solutions is reduced, and the search efficiency is improved.

Benefits of technology

It effectively reduces the maximum completion time, improves the search efficiency and solution quality for large-scale instances, avoids the search getting stuck in local optima, and improves the overall performance of the scheduling scheme.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122155215A_ABST
    Figure CN122155215A_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of intelligent manufacturing production scheduling and combination optimization, in particular to a distributed flexible job shop scheduling method considering process dependency, comprising: initializing algorithm parameters, alternately using a heuristic method and a random method to generate an initial population; selecting a parent solution from the current population through an adaptive adjustment strategy, sequentially executing a crossover operator, a mutation operator and a local search on the parent solution, updating the population; calculating the current optimal solution of the current population, judging whether the termination time is reached, if yes, terminating evolution, outputting the current optimal solution and the maximum completion time, otherwise, continuing iteration. The present application solves the problems of existing solving methods, such as significant time consumption increase and search into local optimum when the scale of the distributed flexible job shop scheduling problem considering process dependency is expanded, and achieves the positive effects of reducing the maximum completion time and improving the search efficiency and solution quality of large-scale instances.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of intelligent manufacturing production scheduling and combinatorial optimization technology, specifically to a distributed flexible job shop scheduling method that considers process dependencies. Background Technology

[0002] Distributed flexible job shop scheduling encompasses not only inter-factory process allocation but also internal factory equipment selection and process sequencing. In production scenarios, key performance indicators (KPIs) are influenced by two main factors: First, when the same equipment processes different processes, preparations such as process switching, equipment change, tool change, or parameter adjustment are required, and the preparation time varies depending on the sequence of processes. Second, complex product process routes often exhibit parallel and converging characteristics. Processes at converging points must wait for all preceding processes on their related branches to be completed before they can begin operation; simultaneously, the completion of processes at converging points directly determines whether subsequent processes can be added to the processing queue, causing the set of processes that can be processed to dynamically change as processing progresses. These two aspects not only enhance the coupling between factory allocation, equipment selection, and process sequencing but also significantly impact key performance indicators such as maximum completion time.

[0003] For the distributed flexible job shop scheduling problem, existing technologies mainly employ mixed-integer programming, constraint programming, and metaheuristic methods based on evolutionary search. Mixed-integer programming and constraint programming experience rapid increases in the number of variables and constraints as the scale expands, leading to a significant increase in solution time and making them unsuitable for large-scale instances. Metaheuristic methods based on evolutionary search often employ fixed or empirically defined crossover, mutation, and local search invocation strategies in engineering applications. When the search phase changes, the maximum completion time may stop decreasing after several iterations, and the search may get stuck in local optima, making further solution improvement difficult. Furthermore, in large-scale production scenarios, a large number of candidate neighborhood solutions need to be evaluated. Neighborhood solution evaluation typically involves repeatedly calculating the start / end times of processes, sequence-related preparation times, and the earliest allowed start time under process dependencies. This results in a significant increase in evaluation time per cycle as the number of processes and equipment increases, becoming a key bottleneck restricting search efficiency.

[0004] Therefore, there is an urgent need for an efficient solution method for the distributed flexible job shop scheduling problem that considers the constraints of sequence-dependent preparation time and process dependency. Summary of the Invention

[0005] The present invention provides a distributed flexible job shop scheduling method that considers process dependencies, which solves the problems of significantly increased time consumption and search getting trapped in local optima when the scale of the distributed flexible job shop scheduling problem considering process dependencies increases as the problem grows. The goal is to reduce the maximum completion time and improve the search efficiency and solution quality for large-scale instances.

[0006] The present invention provides a distributed flexible job shop scheduling method considering process dependencies, characterized by comprising the following steps:

[0007] Step 1: Initialize algorithm parameters, set population size (pop) and smoothing coefficient. Population update threshold: pop × 10;

[0008] Step 2: Use heuristic and random methods alternately to generate solutions until an initial population containing pop solutions is formed. Select the solution with the shortest maximum completion time from the initial population as the current optimal solution.

[0009] Step 3: Using an adaptive adjustment strategy, select parent solutions from the current population, and sequentially execute crossover, mutation, and local search on the parent solutions to update the population;

[0010] Step 4: Calculate the current optimal solution for the current population and determine whether the termination time has been reached. If it is, terminate the evolution and output the current optimal solution and its maximum completion time. Otherwise, execute step 3.

[0011] Furthermore, in step 2, a solution Represented as three one-dimensional arrays , The length consisting of all processes is represented as The sequence of processes; This represents the factory allocation sequence for each process in the process sequence; This represents the equipment allocation sequence for each process in the process sequence;

[0012] The specific process of the heuristic method is as follows:

[0013] (1) According to each binding process set Average processing cost across all factories Sort each bound process set in descending order, where a bound process set represents the set of processes that must be assigned to the same factory.

[0014]

[0015] In the formula, Represents a set of factories. It represents a factory. Indicates binding process set At the factory The processing cost evaluation value on the surface , Indicates a process, Represents a set of bound operations. To represent a device, Indicate process At the factory The set of optional devices in Indicate process In the equipment On the processing time, Indicate process In the equipment Average preparation time , Indicates that it can be used in the device The set of processing steps, and , Indicates equipment The above process Switch to process Preparation time, when hour, Indicates equipment Switch from idle to process Preparation time;

[0016] (2) According to the obtained sorting results of the bound process sets, assign factories to each bound process set in turn, and process the current bound process set. At that time, for each factory Calculate selection weights ,in,

[0017]

[0018] In the formula, Indicates the current binding process set If the previously bound process set has already completed factory allocation, then the current bound process set will be... Assigned to the factory Overall score , Indicates the current binding process set Factory allocation has been completed and the factories have been assigned. Binding process set The set, when hour, , Indicates factory The number of devices; based on the currently bound process set. The selection weights on each factory are used to perform a roulette wheel selection, which will bind the current process set. Assigned to the selected factory;

[0019] (3) After all bound process sets have completed factory allocation, construct the process sequence and simultaneously construct the factory allocation sequence and equipment allocation sequence; processes that have not yet been added to the process sequence but whose preceding processes have been added to the process sequence constitute the current process set that can be processed. Each time, from the current process set that can be processed, according to the process selection weight, select the selected process by roulette wheel selection and put it into the process sequence. Add the factory of the bound process set to which the selected process belongs to the factory allocation sequence. In the optional equipment set of the factory to which the selected process belongs, select the equipment that minimizes the cumulative processing time of the equipment as the equipment to which the selected process is assigned. Add the equipment selected by the selected process to the equipment allocation sequence and update the current process set that can be processed until all processes are put into the process sequence. At this time, the process sequence Factory allocation sequence Equipment allocation sequence ,in Indicates the first step in the process sequence The process at each position, Indicates the first [number] in the factory allocation sequence A factory in a specific location, Indicates the number of devices in the allocation sequence The equipment at each location, the process described Assigned to the factory equipment in Above; the process selection weight is the process calculated in reverse topological order. Maximum remaining workload When the process When there is no immediate successor process, When the process When there is a successor process, for With process The sum of the maximum remaining workloads of all subsequent processes. Indicate process In the assigned factory Average processing time on .

[0020] Furthermore, in step 3, the crossover operators include the factory allocation crossover operator, the equipment allocation crossover operator, and the inheritance operator; the mutation operators include the factory allocation mutation operator, the equipment allocation mutation operator, and the process sequence mutation operator; the local search includes the factory load balancing local search operator, the setup time elimination local search operator, the process dependency traction local search operator, and the equipment critical block rearrangement local search operator; the 10 operators are numbered sequentially as follows: That is, the factory is assigned the cross operator number as The equipment allocation cross operator number is The inheritance operator is numbered as The factory assignment mutation operator number is The equipment allocation mutation operator number is The process sequence mutation operator number is The local search operator for factory load balancing is numbered as follows: The preparation time for eliminating local search operators is numbered as follows: The process-dependent traction local search operator number is The local search operator for rearranging critical blocks of the equipment is numbered as follows: .

[0021] Furthermore, in step 3, the specific process of the adaptive adjustment strategy is as follows:

[0022] (1) Use tournament selection to select parent solutions. Randomly select 3 solutions from the current population and select the solution with the smallest maximum completion time as the parent solution.

[0023] (2) Calculate the selection weights of each operator in the crossover operator. ; Calculate the selection weights of each operator in the mutation operator. ;

[0024] (3) According to the selection weights of each operator in the cross operator The corresponding crossover operator is selected by roulette wheel selection, according to the selection weights of each operator in the mutation operator. By using a roulette wheel to select the corresponding mutation operator, the selected crossover operator and mutation operator are executed sequentially on the parent solution to generate a temporary solution;

[0025] (4) Calculate the selection weight of each local search operator in the local search. ;

[0026] (5) Perform a local search on the temporary solution, and sort the local search operators in descending order of selection weight to obtain a list. If the neighborhood solution generated after performing a certain local search operator satisfies the neighborhood solution acceptance rule, the neighborhood solution updates the temporary solution; recalculate each local search operator based on the updated temporary solution. And according to each updated local search operator The list is regenerated in descending order and executed sequentially, and so on, until the neighborhood solution generated by the last local search operator in the list still does not meet the neighborhood solution acceptance rule. At this point, the local search ends and the cumulative count and success count of each local search operator are reset to zero.

[0027] (6) If the maximum completion time of the temporary solution after the local search is less than the maximum completion time of the worst solution in the current population, the temporary solution after the local search is added to the new population; otherwise, the temporary solution after the local search is discarded. When the size of the new population is less than pop, if the number of local searches has not reached the population update threshold, the adaptive adjustment strategy process is repeated. When the size of the new population is equal to pop, the new population directly updates the current population and clears the new population. When the number of local searches reaches the population update threshold and the size of the new population is still less than pop, the solutions in the current population are added to the new population one by one in ascending order of maximum completion time, until the size of the new population is equal to pop. When the new population updates the current population, the new population is cleared. When adding, the solution with the smallest maximum completion time and the solution with the largest maximum completion time in the current population are skipped.

[0028] Furthermore, the crossover operator is numbered as The formula for calculating the selection weight of the operator is as follows:

[0029]

[0030] In the formula, when hour, Indicates the number of the cross operator. The success rate of the operator, , Indicates the number of the cross operator. The operator is used to generate the cumulative number of temporary solutions. This indicates that the parent solution uses the cross operator numbered as follows. After the operator, the number of times the solution obtained after mutation and local search has a shorter maximum completion time than the parent solution is considered successful. Represents the set of cross operators. In the first iteration, =0, =0, Indicates the number of the cross operator. The scheduling status index corresponding to the operator, when hour, This represents the index used to traverse the set of cross operators. Indicates the number of the cross operator. The scheduling status index corresponding to the operator, Indicates the number of the cross operator. The success rate corresponding to the operator;

[0031] The mutation operator numbered as The formula for calculating the selection weight of the operator is as follows:

[0032]

[0033] In the formula, when hour, This indicates that the mutation operator is numbered as follows. The success rate of the operator, , This indicates that the mutation operator is numbered as follows. The operator is used to generate the cumulative number of temporary solutions. This indicates the parent solution that has undergone the crossover operator, using the mutation operator numbered as follows. After the operator, the number of successful solutions whose maximum completion time is less than that of the parent solution after local search is considered. Represents the set of mutation operators. In the first iteration, =0, =0, This indicates that the mutation operator is numbered as follows. The scheduling status index corresponding to the operator, when hour, This represents the index used to traverse the set of mutation operators. This indicates that the mutation operator is numbered as follows. The scheduling status index corresponding to the operator, This indicates that the mutation operator is numbered as follows. The success rate corresponding to the operator;

[0034] In the local search, the number is The formula for calculating the selection weight of the operator is as follows:

[0035]

[0036] In the formula, when hour, Indicates the number in the local search. The success rate of the operator, , Indicates the number in the local search. The cumulative number of times the operator generates neighborhood solutions. Indicates the number in the local search. The number of times the neighborhood solutions generated by the operator are successfully accepted. Represents the set of local search operators. When the temporary solution first enters the local search, =0, =0, Indicates the number in the local search. The scheduling status index corresponding to the operator, when hour, This represents the index used to traverse the set of local search operators. Indicates the number in the local search. The scheduling status index corresponding to the operator, Indicates the number in the local search. The success rate corresponding to the operator.

[0037] Furthermore, scheduling status indicators include factory load balancing. The percentage of maximum preparation time for the critical path Maximum waiting time percentage of critical path Percentage of ineffective time on the critical path Critical path effective processing density The critical path consists of a series of critical processes, starting with the process with the longest completion time. Start backtracking, if process The earliest permitted start time is equal to the process. A certain preceding process The completion time is... It is a key process and from Continue backtracking; if the process The earliest permitted start time is equal to the time when the equipment... Previous process The previous process The completion time is... It is a key process and from Continue backtracking until the backtracked process has no preceding process and is also the first processing process on the machine.

[0038] Among them, the scheduling status indicators corresponding to the factory allocation crossover operator, the factory allocation mutation operator, and the factory load balancing local search operator are: The scheduling status index corresponding to the preparation time elimination local search operator is: The scheduling status index corresponding to the process-dependent traction local search operator is: The scheduling status indices corresponding to the inheritance operator and the process sequence mutation operator are: The scheduling status indicators corresponding to the equipment allocation crossover operator, equipment allocation mutation operator, and equipment critical block rearrangement local search operator are as follows: ,

[0039]

[0040] In the formula, Indicates factory The completion time, The standard deviation of completion time for all factories;

[0041] , This represents the maximum setup time on the critical path, in the crossover and mutation operators. This represents the maximum completion time of the parent solution during local search. Indicates the maximum completion time of the temporary solution;

[0042] , This represents the maximum latency on the critical path. , Indicate process The earliest permitted start time for construction, Indicate process The completion time;

[0043] ;

[0044] .

[0045] Furthermore, the acceptance rule for neighborhood solutions is as follows: neighborhood solutions and temporary solutions are compared item by item according to priority indicators, which include maximum completion time, descending sequence of factory completion times, maximum setup time on the critical path, and maximum waiting time on the critical path. When the value of a neighborhood solution is not equal to that of a temporary solution for the first time, if the value of the neighborhood solution is smaller, the neighborhood solution is accepted; if the value of the neighborhood solution is larger or all items are equal, the neighborhood solution is rejected. The sequence comparison starts from the first item and compares element by element. At the position where the difference first appears, the element with the smaller value is preferred.

[0046] Furthermore, the maximum completion time of the neighborhood solution is calculated using a fast evaluation method, the specific process of which is as follows:

[0047] The set of affected processes and the temporary solution are compared to determine the idle time of each piece of equipment. The start and finish times of processes not belonging to the affected process set remain unchanged. Within the affected process set, the order of the process sequence in the neighborhood solution is used as the priority to recalculate the start time of each process. The start time of the operation is equal to the completion time of all preceding operations and the operation itself. The device The maximum idle time of the equipment is taken as the maximum completion time of the neighborhood solution after calculating the start time of all processes in the affected process set. The affected process set and the idle time of each piece of equipment are determined as follows: for each piece of equipment... If the neighborhood solution and the temporary solution are assigned to the device If the processes are inconsistent, the neighboring solutions will be allocated to the equipment. All processes on the equipment are added to the affected process set. The device idle time is 0; if the neighborhood solution and the temporary solution are assigned to the device If the processes are consistent, then compare the equipment. The process sequence on the equipment starts from the point where the first difference occurs. Subsequent processes are added to the affected process set, and the process subsequences before the point of difference are retained. The completion time of the last process in the process subsequence is taken as the equipment completion time. When the equipment is idle, recursively add the successor of each process in the affected process set to the affected process set until the affected process set no longer changes.

[0048] Furthermore, the process of assigning the crossover operator to the factory is as follows:

[0049] For each bundled process set in the key plant When conducting allocation assessment, At that time, key factories Binding process set The internal processes are assigned to idle factories. In the middle, the binding process set is processed in sequence. Every process within traversing the process In idle factory All optional equipment, computing equipment allocation after idle factory The cumulative processing time range of all equipment within the facility is used to select the equipment that minimizes this range for allocation; key factory The factory with the longest completion time in the parent-child project, and the idle factory. The factory with the shortest completion time among those whose solutions are provided by the father. Indicates the completion time of the idle factory. Indicates the completion time of key factories. Indicates binding process set Workload evaluation value , Indicate process A collection of optional equipment across all factories;

[0050] The process of assigning the crossover operator to the device is as follows.

[0051] Parental solution process Equipment allocation is adjusted according to the process sequence, and another parent solution is selected through a tournament, when the process... In a two-parent solution, when the factory allocation is the same but the equipment allocation is different, if the process With process If the immediate preceding process is assigned to the same equipment, then the process... If the equipment allocation remains unchanged, otherwise the process... The equipment with the shorter processing time is assigned to one of the two parent solutions; when the process In cases where the factory allocation differs in a two-parent solution or other situations occur, the process... The equipment allocation remains unchanged;

[0052] When executing the inheritance operator, the parent solution remains unchanged.

[0053] Furthermore, the operation process of assigning mutation operators to the factory is as follows:

[0054] Randomly execute either move-bound or swap-bound operation sets. If the factory allocation remains unchanged after execution, execute the unexecuted operations, assigning the operations with changed factory allocations to the equipment that minimizes the range of cumulative processing time for all equipment in the new factory; where,

[0055] The specific process of moving the binding process set is as follows: from all factories, using The roulette wheel is used to select the factory based on the factory selection weight. From the factory In other factories besides, The reciprocal of the result is used as the factory selection weight to perform a roulette wheel selection to choose a factory. , the factory A randomly selected set of binding processes is moved to the factory. middle;

[0056] The specific process for exchanging and binding process sets is as follows: from all factories, with The roulette wheel is used to select the factory based on the factory selection weight. From the factory Randomly select factories from other factories. ,factory Randomly select a binding process set ,factory Randomly select a binding process set Binding process set Assigned to the factory Binding process set Assigned to the factory ;

[0057] The specific process of assigning mutation operators to equipment is as follows.

[0058] Change the equipment allocation for one process, and randomly select the process without repetition. In the process If the process is excluded from the set of optional equipment. After the current equipment, the process If the number of available devices is greater than 0, a roulette wheel selection is performed using the reciprocal of the cumulative processing time of each available device as the device selection weight, resulting in the process. The assigned equipment;

[0059] The operation process of the process sequence mutation operator is as follows.

[0060] Randomly select a process from the process sequence , the process Move to process A position after the preceding process and before the following process.

[0061] Furthermore, the specific process of the local search operator for factory load balancing is as follows:

[0062] Traverse the key factory Binding process set containing key processes For the selected binding process set When conducting allocation assessment, or Skip if necessary, otherwise bind to process set. Assigned to the factory The process generates neighborhood solutions. If the neighborhood solution acceptance rule is satisfied, the factory load balancing local search operator operation ends. Indicates the maximum completion time of the temporary solution. Indicates factory The completion time, Indicates binding process set The upper bound of the minimum cost per single operation. , Indicates binding process set The sum of the minimum costs of each process step. , Indicates binding process set At the factory The number of optional devices in the system , Indicate process At the factory The set of optional devices in;

[0063] If none of the neighborhood solutions satisfy the neighborhood solution acceptance rule, then from the key factory... Select a binding process set From non-critical factories Select a binding process set Do not repeatedly bind the process set and binding process set When conducting allocation assessment, or or or Skip if necessary, otherwise swap binding process sets. and binding process set The factory allocation is respectively for the bound process set. Binding process set The process execution equipment within the process reselects rules and generates new neighborhood solutions. It then determines whether the new neighborhood solutions satisfy the neighborhood solution acceptance rules, continuing this process until either all new neighborhood solutions satisfy or do not satisfy the neighborhood solution acceptance rules. At this point, the factory load balancing local search operator operation ends. Non-critical factories The completion time, Indicates binding process set The upper bound of the minimum cost per single operation. Indicates binding process set The upper bound of the minimum cost per single operation. Indicates binding process set The sum of the minimum costs of each process step. Indicates binding process set The sum of the minimum costs of each process step. Indicates binding process set In key factories The number of optional devices in the system Indicates binding process set In key factories The number of optional devices in the system Indicates binding process set In non-critical factories The number of optional devices in the system Indicates binding process set In non-critical factories The number of optional equipment; the equipment reselection rule is to assign a change to each process within the bound process set of the factory allocation change. process The highest priority optional equipment is assigned, with priority listed in descending order as the earliest process. Completion time, Minimum value, minimum device number;

[0064] The process of eliminating local search operators during preparation time is as follows.

[0065] The process with the longest setup time on the critical path sequentially reallocates equipment from the available equipment set in its plant and generates neighborhood solutions. If the neighborhood solution acceptance rule is met, the setup time ends and the local search operator operation is eliminated. If all neighborhood solutions do not meet the neighborhood solution acceptance rule and the process... When a previous process exists on the equipment, execute the AND operation on the previous process. After the same equipment is reassigned, the local search operator operation is eliminated during the end of the setup time. The optional equipment set does not include the process. The equipment in question and the equipment with the latest completion time are listed in the order of work processes. On different devices Sort the values ​​from smallest to largest, on different devices When the values ​​are equal, sort them by the equipment completion time from smallest to largest;

[0066] The specific process of the process-dependent traction local search operator is as follows.

[0067] Process In the available equipment set of the factory, equipment is reassigned sequentially, and neighborhood solutions are generated. Among all neighborhood solutions that satisfy the acceptance rules, each pair of neighborhood solutions is compared item by item on priority index until the optimal neighborhood solution is selected. If all neighborhood solutions do not satisfy the acceptance rules and the process... If there is no direct or indirect process dependency between the process and the preceding process on the same equipment, then the process will be... Move to process Before the previous process, a neighborhood solution is generated, and the process ends by relying on the traction local search operator operation; the optional equipment set does not include the process. The equipment in question and the equipment with the latest completion time, and meeting the requirements. Equipment or meeting The equipment, This represents the operation with the latest completion time among all the preceding operations of the operation with the longest wait time on the critical path. Indicate process In the device The completion time on Indicate process The completion time in the temporary solution of the process-dependent traction local search operator;

[0068] The specific process of the local search operator for rearranging critical blocks of the equipment is as follows.

[0069] Identify critical process blocks on the equipment with the highest completion time, traverse each pair of adjacent critical processes within the critical process block, and generate neighborhood solutions by exchanging adjacent pairs of critical processes. Among all neighborhood solutions that satisfy the acceptance rules of neighborhood solutions, compare each pair of neighborhood solutions on priority indicators until the optimal neighborhood solution is selected. Here, a critical process block represents a sequence of consecutive critical processes processed on the same equipment. Each pair of adjacent critical processes must satisfy the condition that there is no direct or indirect process dependency relationship, otherwise they will not be exchanged.

[0070] Furthermore, in step 4, when the solution with the smallest maximum completion time in the current population is less than the maximum completion time of the current optimal solution, the current optimal solution is updated to the solution with the smallest maximum completion time in the current population; the total running time of the algorithm is the termination condition of the algorithm, and the termination time is set to 50 × the total number of processes × the total number of devices, with the time unit being milliseconds.

[0071] This invention provides a distributed flexible job shop scheduling method considering process dependencies. Addressing the distributed flexible job shop scheduling problem that considers sequence-dependent preparation time and process dependencies, the method calculates the scheduling state index of the solution during the search process. This index, combined with operator success rates, is used to calculate the weights of the crossover operator, mutation operator, and local search operator. Based on these weights, the method selects the crossover and mutation operators and determines the execution order of the local search operators. This ensures that operator selection and execution order are updated according to changes in the scheduling state, reducing the likelihood of the maximum completion time ceasing to decrease after several consecutive iterations, which could lead to the search getting stuck in a local optimum and hindering further solution improvement. Simultaneously, the local search phase employs a neighborhood solution acceptance rule for filtering and accepting neighborhood solutions, and a fast evaluation method is used to calculate the maximum completion time of neighborhood solutions. This reduces the computational time for neighborhood solution evaluation and improves the search efficiency for large-scale instances. In summary, the application of this invention in multi-layer decision-making scenarios for distributed flexible job shop scheduling effectively reduces the maximum completion time and improves the quality of solutions. Attached Figure Description

[0072] Figure 1 This is a flowchart illustrating the implementation of the present invention;

[0073] Figure 2 This is the mean main effect plot for parameter calibration of the present invention;

[0074] Figure 3 This is a schematic diagram illustrating the process dependencies of the present invention;

[0075] Figure 4 This is a flowchart of the adaptive adjustment strategy of the present invention;

[0076] Figure 5 This is a comparison chart of ablation experimental results based on the adaptive adjustment strategy of this invention;

[0077] Figure 6 This is a comparison chart of ablation experiment results using the rapid evaluation method of this invention;

[0078] Figure 7 This is a confidence interval analysis diagram of the present invention and four existing algorithms on a full scale;

[0079] Figure 8 The graph shows the confidence interval analysis of the present invention and four existing algorithms at different scales. Detailed Implementation

[0080] like Figures 1-8 As shown, the specific implementation process of the distributed flexible job shop scheduling method considering process dependence provided by the present invention is as follows.

[0081] This invention runs on a computer equipped with an Intel® Core™ i7-12700 processor and 32GB of memory, with Windows 11 as the operating system, and all algorithms are implemented in Python.

[0082] To comprehensively evaluate the algorithm's performance across different problem sizes, this embodiment uses a randomly generated set of examples, including small, medium, and large examples. The specific generation rules are as follows:

[0083] Based on the total number of processes, the simulation examples are divided into three scales, with 20 examples generated for each scale: small-scale examples with 20 to 50 processes, medium-scale examples with 51 to 120 processes, and large-scale examples with 121 to 240 processes. For each example, the number of factories is randomly selected from 2, 3, and 4. The total number of equipment is determined by the smaller of the product of the total number of processes and the equipment quantity coefficient, and 0.18 times the total number of processes. The equipment quantity coefficient is dynamically adjusted according to the simulation example scale: 0.12 to 0.20 for small-scale examples, 0.10 to 0.16 for medium-scale examples, and 0.08 to 0.14 for large-scale examples. Regarding constraints, the simulation examples demonstrate process dependencies and setup times: priority relationships between processes are generated using a directed acyclic graph, where the process dependency density within the bound process set is set between 0.10 and 0.25. The sequence-dependent preparation time of the equipment is set as a certain proportion of the average processing time of the process, and this proportion coefficient is randomly selected between 0.1 and 0.5. The termination time of the algorithm for each case is set to 50 × total number of processes × total number of equipment, with the time unit being milliseconds. For the distributed flexible job shop scheduling method considering process dependencies proposed in this invention, two key parameters have a significant impact on performance: population size and the smoothing coefficient in the adaptive adjustment strategy. To determine the optimal parameter configuration, this embodiment uses the Taguchi method to conduct orthogonal experiments and constructs an orthogonal array. For each parameter, the following four levels are selected: population size is 25, 30, 35, and 40; smoothing coefficient is 0.2, 0.3, 0.4, and 0.5.

[0084] Step 1: Initialize algorithm parameters, set the population size (pop), the unit of population size is units, and the smoothing coefficient. The population update threshold is pop×10, and the unit of the population update threshold is times. Figure 2The main effect plot of the mean reflects the average response value of the algorithm performance index, i.e., the average relative deviation, under different parameter levels. Each point in the plot represents the average performance of the algorithm when 10 randomly selected cases were run 5 times for a specific parameter value. By analyzing the slope and trend of the broken line connecting these points, the significance of parameter changes on algorithm performance and the optimal parameters can be determined. The vertical axis in the plot represents the average relative deviation, which is used to quantitatively evaluate the quality of the solutions obtained by the algorithm. Its value is defined as the average relative difference between the maximum completion time of the solutions obtained by the algorithm and the maximum completion time of the best solution obtained in this experiment. In the experimental analysis, the smaller the value of the average relative deviation, the better the algorithm performs under that parameter configuration. The horizontal axis represents different parameter sizes. The impact of population size on algorithm performance can be seen from the curve on the left side of the plot regarding population size. As the population size increases from 25 to 35, the average relative deviation on the vertical axis shows a significant downward trend. This indicates that increasing the number of solutions in the population can effectively improve the diversity of the population, helping the algorithm to cover the solution space more broadly, thereby finding better quality solutions. However, when the population size further increased to 40, the mean relative deviation did not continue to decrease; instead, performance deteriorated. This inflection point confirms that under a fixed computation time constraint, an excessively large population size will crowd out the optimization budget for each generation of the population, leading to insufficient local search depth. Therefore, the curve reaches its lowest point when the population size is 35, which is the optimal inflection point for balancing population diversity and the improvement intensity of the population's solutions. The impact of the smoothing coefficient on algorithm performance can be seen from the curve on the right side of the figure regarding the smoothing coefficient. When the smoothing coefficient increases from 0.2 to 0.3, the mean relative deviation decreases slightly and reaches its minimum, indicating that the adaptive adjustment strategy achieves a balance between utilizing historical information and exploring new operators. When the smoothing coefficient continues to increase to 0.4 and 0.5, the mean relative deviation shows a significant rebound and fluctuation, indicating that an excessively large smoothing coefficient weakens the differences between the weights of different operators, causing the algorithm to be unable to respond promptly to changes in operator performance, thereby reducing search efficiency. Therefore, it is evident that when the smoothing coefficient is set to 0.3, the algorithm can achieve a smaller mean relative deviation. Therefore, based on the analysis results of the mean main effect plot, this invention selects the parameter combination that minimizes the average relative deviation, namely, setting the population size to 35 and the smoothing coefficient to 0.3.

[0085] Step 2: Alternately use heuristic and random methods to generate solutions until an initial population containing popped solutions is formed. Select the solution with the shortest maximum completion time from the initial population as the current optimal solution. Specifically, a solution... Represented as three one-dimensional arrays ; The length consisting of all processes is represented as The sequence of processes; This represents the factory allocation sequence for each process in the process sequence; This represents the equipment allocation sequence for each process in the process sequence.

[0086] Specifically, the implementation process of the heuristic method is as follows:

[0087] (1) According to each binding process set Average processing cost across all factories Sort each bound process set in descending order, where a bound process set represents the set of processes that must be assigned to the same factory.

[0088]

[0089] In the formula, Represents a set of factories. It represents a factory. Indicates binding process set At the factory The processing cost evaluation value on the surface , Indicates a process, Represents a set of bound operations. To represent a device, Indicate process At the factory The set of optional devices in Indicate process In the equipment On the processing time, Indicate process In the equipment Average preparation time , Indicates that it can be used in the device The set of processing steps, and , Indicates equipment The above process Switch to process Preparation time, when hour, Indicates equipment Switch from idle to process Preparation time;

[0090] (2) According to the obtained sorting results of the bound process sets, assign factories to each bound process set in turn, and process the current bound process set. At that time, for each factory Calculate selection weights ,in,

[0091]

[0092] In the formula, Indicates the current binding process set If the previously bound process set has already completed factory allocation, then the current bound process set will be... Assigned to the factory Overall score , Indicates the current binding process set Factory allocation has been completed and the factories have been assigned. Binding process set The set, when hour, , Indicates factory The number of devices; based on the currently bound process set. The selection weights on each factory are used to perform a roulette wheel selection, which will bind the current process set. Assigned to the selected factory;

[0093] (3) After all bound process sets have completed factory allocation, construct the process sequence and simultaneously construct the factory allocation sequence and equipment allocation sequence; processes that have not yet been added to the process sequence but whose preceding processes have been added to the process sequence constitute the current process set that can be processed. Each time, from the current process set that can be processed, according to the process selection weight, select the selected process by roulette wheel selection and put it into the process sequence. Add the factory of the bound process set to which the selected process belongs to the factory allocation sequence. In the optional equipment set of the factory to which the selected process belongs, select the equipment that minimizes the cumulative processing time of the equipment as the equipment to which the selected process is assigned. Add the equipment selected by the selected process to the equipment allocation sequence and update the current process set that can be processed until all processes are put into the process sequence. At this time, the process sequence Factory allocation sequence Equipment allocation sequence ,in Indicates the first step in the process sequence The process at each position, Indicates the first [number] in the factory allocation sequence A factory in a specific location, Indicates the number of devices in the allocation sequence The equipment at each location, the process described Assigned to the factory equipment in Above; the process selection weight is the process calculated in reverse topological order. Maximum remaining workload When the process When there is no immediate successor process, When the process When there is a successor process, for With process The sum of the maximum remaining workloads of all subsequent processes. Indicate process In the assigned factory Average processing time on .

[0094] like Figure 3 As shown in the process dependency diagram of this embodiment, nodes represent specific processes, and directed edges represent processing order constraints that must be followed between processes. A preceding process refers to a process in the process flow that directly points to the current process and must be completed before the current process begins. Only when all preceding processes are completed can the current process meet the conditions to begin processing. For example: the arrows indicate the direction from the process. and process Start and directly point to the process Therefore, the process and process All are process steps The immediate preceding process, which means that we must wait for the process to complete. and process All processing is complete, process Only then can it begin. A subsequent process refers to a process in the technological flow that is directly related to the current process and can only begin processing after the current process is completed. (Based on process...) For example: the arrow points from the process... Departure, each pointing to a different process. Process and process Therefore, the process Process and process All are process steps The next process after that.

[0095] Step 3: Using an adaptive adjustment strategy, select parent solutions from the current population and sequentially execute crossover, mutation, and local search operations on the parent solutions to update the population. Crossover operators include factory allocation crossover, equipment allocation crossover, and inheritance operators; mutation operators include factory allocation mutation, equipment allocation mutation, and process sequence mutation operators; local search operators include factory load balancing local search, setup time elimination local search, process dependency traction local search, and equipment critical block rearrangement local search operators. These 10 operators are numbered sequentially as follows: That is, the factory is assigned the cross operator number as The equipment allocation cross operator number is The inheritance operator is numbered as The factory assignment mutation operator number is The equipment allocation mutation operator number is The process sequence mutation operator number is The local search operator for factory load balancing is numbered as follows: The preparation time for eliminating local search operators is numbered as follows: The process-dependent traction local search operator number is The local search operator for rearranging critical blocks of the equipment is numbered as follows: .

[0096] The specific process of the adaptive adjustment strategy is as follows:

[0097] (1) Use tournament selection to select parent solutions. Randomly select 3 solutions from the current population and select the solution with the smallest maximum completion time as the parent solution.

[0098] (2) Calculate the selection weights of each operator in the crossover operator. ; Calculate the selection weights of each operator in the mutation operator. ;

[0099] (3) According to the selection weights of each operator in the cross operator The corresponding crossover operator is selected by roulette wheel selection, according to the selection weights of each operator in the mutation operator. By using a roulette wheel to select the corresponding mutation operator, the selected crossover operator and mutation operator are executed sequentially on the parent solution to generate a temporary solution;

[0100] (4) Calculate the selection weight of each local search operator in the local search. ;

[0101] (5) Perform a local search on the temporary solution, and sort the local search operators in descending order of selection weight to obtain a list. If the neighborhood solution generated after performing a certain local search operator satisfies the neighborhood solution acceptance rule, the neighborhood solution updates the temporary solution; recalculate each local search operator based on the updated temporary solution. And according to each updated local search operator The list is regenerated in descending order and executed sequentially, and so on, until the neighborhood solution generated by the last local search operator in the list still does not meet the neighborhood solution acceptance rule. At this point, the local search ends and the cumulative count and success count of each local search operator are reset to zero.

[0102] (6) If the maximum completion time of the temporary solution after the local search is less than the maximum completion time of the worst solution in the current population, the temporary solution after the local search is added to the new population; otherwise, the temporary solution after the local search is discarded. When the size of the new population is less than pop, if the number of local searches has not reached the population update threshold, the adaptive adjustment strategy process is repeated. When the size of the new population is equal to pop, the new population directly updates the current population and clears the new population. When the number of local searches reaches the population update threshold and the size of the new population is still less than pop, the solutions in the current population are added to the new population one by one in ascending order of maximum completion time, until the size of the new population is equal to pop. When the new population updates the current population, the new population is cleared. When adding, the solution with the smallest maximum completion time and the solution with the largest maximum completion time in the current population are skipped.

[0103] Calculate the selection weights of each operator in the crossover operator. Selection weights of each operator in the mutation operator Selection weights of each local search operator in local search Among them, the crossover operator is numbered as follows: The formula for calculating the selection weight of the operator is as follows:

[0104]

[0105] In the formula, when hour, Indicates the number of the cross operator. The success rate of the operator, , Indicates the number of the cross operator. The operator is used to generate the cumulative number of temporary solutions. This indicates that the parent solution uses the cross operator numbered as follows. After the operator, the number of times the solution obtained after mutation and local search has a shorter maximum completion time than the parent solution is considered successful. Represents the set of cross operators. In the first iteration, =0, =0, Indicates the number of the cross operator. The scheduling status index corresponding to the operator, when hour, This represents the index used to traverse the set of cross operators. Indicates the number of the cross operator. The scheduling status index corresponding to the operator, Indicates the number of the cross operator. The success rate corresponding to the operator;

[0106] The mutation operator numbered as The formula for calculating the selection weight of the operator is as follows:

[0107]

[0108] In the formula, when hour, This indicates that the mutation operator is numbered as follows. The success rate of the operator, , This indicates that the mutation operator is numbered as follows. The operator is used to generate the cumulative number of temporary solutions. This indicates the parent solution that has undergone the crossover operator, using the mutation operator numbered as follows. After the operator, the number of successful solutions whose maximum completion time is less than that of the parent solution after local search is considered. Represents the set of mutation operators. In the first iteration, =0, =0, This indicates that the mutation operator is numbered as follows. The scheduling status index corresponding to the operator, when hour, This represents the index used to traverse the set of mutation operators. This indicates that the mutation operator is numbered as follows. The scheduling status index corresponding to the operator, This indicates that the mutation operator is numbered as follows. The success rate corresponding to the operator;

[0109] In the local search, the number is The formula for calculating the selection weight of the operator is as follows:

[0110]

[0111] In the formula, when hour, Indicates the number in the local search. The success rate of the operator, , Indicates the number in the local search. The cumulative number of times the operator generates neighborhood solutions. Indicates the number in the local search. The number of times the neighborhood solutions generated by the operator are successfully accepted. Represents the set of local search operators. When the temporary solution first enters the local search, =0, =0, Indicates the number in the local search. The scheduling status index corresponding to the operator, when hour, This represents the index used to traverse the set of local search operators. Indicates the number in the local search. The scheduling status index corresponding to the operator, Indicates the number in the local search. The success rate corresponding to the operator.

[0112] The aforementioned scheduling status indicators include factory load balancing. The percentage of maximum preparation time for the critical path Maximum waiting time percentage of critical path Percentage of ineffective time on the critical path Critical path effective processing density The critical path consists of a series of critical processes, starting with the process with the longest completion time. Start backtracking, if process The earliest permitted start time is equal to the process. A certain preceding process The completion time is... It is a key process and from Continue backtracking; if the process The earliest permitted start time is equal to the time when the equipment... Previous process The previous process The completion time is... It is a key process and from Continue backtracking until the backtracked process has no preceding process and is also the first processing process on the machine.

[0113] The scheduling status indicators corresponding to the factory assignment crossover operator, factory assignment mutation operator, and factory load balancing local search operator are: The scheduling status index corresponding to the preparation time elimination local search operator is: The scheduling status index corresponding to the process-dependent traction local search operator is: The scheduling status indices corresponding to the inheritance operator and the process sequence mutation operator are: The scheduling status indicators corresponding to the equipment allocation crossover operator, equipment allocation mutation operator, and equipment critical block rearrangement local search operator are as follows: ,

[0114]

[0115] In the formula, Indicates factory The completion time, The standard deviation of completion time for all factories;

[0116] , This represents the maximum setup time on the critical path, in the crossover and mutation operators. This represents the maximum completion time of the parent solution during local search. Indicates the maximum completion time of the temporary solution;

[0117] , This represents the maximum latency on the critical path. , Indicate process The earliest permitted start time for construction, Indicate process The completion time;

[0118] ;

[0119] .

[0120] The acceptance rule for neighborhood solutions is as follows: neighborhood solutions and temporary solutions are compared item by item according to priority indicators, which include maximum completion time, descending order of factory completion time, maximum setup time on the critical path, and maximum waiting time on the critical path. When the value of a neighborhood solution is not equal to that of a temporary solution for the first time, the neighborhood solution is accepted if the value of the neighborhood solution is smaller, and rejected if the value of the neighborhood solution is larger or all items are equal. The sequence comparison starts from the first item and compares each element. At the position where the difference first appears, the element with the smaller value is better.

[0121] The maximum completion time of the neighborhood solution is calculated using a fast evaluation method, the specific process of which is as follows.

[0122] The set of affected processes and the temporary solution are compared to determine the idle time of each piece of equipment. The start and finish times of processes not belonging to the affected process set remain unchanged. Within the affected process set, the order of the process sequence in the neighborhood solution is used as the priority to recalculate the start time of each process. The start time of the operation is equal to the completion time of all preceding operations and the operation itself. The device The maximum idle time of the equipment is taken as the maximum completion time of the neighborhood solution after calculating the start time of all processes in the affected process set. The affected process set and the idle time of each piece of equipment are determined as follows: for each piece of equipment... If the neighborhood solution and the temporary solution are assigned to the device If the processes are inconsistent, the neighboring solutions will be allocated to the equipment. All processes on the equipment are added to the affected process set. The device idle time is 0; if the neighborhood solution and the temporary solution are assigned to the device If the processes are consistent, then compare the equipment. The process sequence on the equipment starts from the point where the first difference occurs. Subsequent processes are added to the affected process set, and the process subsequences before the point of difference are retained. The completion time of the last process in the process subsequence is taken as the equipment completion time. When the equipment is idle, recursively add the successor of each process in the affected process set to the affected process set until the affected process set no longer changes.

[0123] The process of assigning the crossover operator to the factory is as follows.

[0124] For each bundled process set in the key plant When conducting allocation assessment, At that time, key factories Binding process set The internal processes are assigned to idle factories. In the middle, the binding process set is processed in sequence. Every process within traversing the process In idle factory All optional equipment, computing equipment allocation after idle factory The cumulative processing time range of all equipment within the facility is used to select the equipment that minimizes this range for allocation; key factory The factory with the longest completion time in the parent-child project, and the idle factory. The factory with the shortest completion time among those whose solutions are provided by the father. Indicates the completion time of the idle factory. Indicates the completion time of key factories. Indicates binding process set Workload evaluation value , Indicate process A collection of optional equipment across all factories;

[0125] The process of assigning the crossover operator to the device is as follows.

[0126] Parental solution process Equipment allocation is adjusted according to the process sequence, and another parent solution is selected through a tournament, when the process... In a two-parent solution, when the factory allocation is the same but the equipment allocation is different, if the process With process If the immediate preceding process is assigned to the same equipment, then the process... If the equipment allocation remains unchanged, otherwise the process... The equipment with the shorter processing time is assigned to one of the two parent solutions; when the process In cases where the factory allocation differs in a two-parent solution or other situations occur, the process... The equipment allocation remains unchanged;

[0127] When executing the inheritance operator, the parent solution remains unchanged.

[0128] The process of assigning mutation operators to the factory is as follows.

[0129] Randomly execute either move-bound or swap-bound operation sets. If the factory allocation remains unchanged after execution, execute the unexecuted operations, assigning the operations with changed factory allocations to the equipment that minimizes the range of cumulative processing time for all equipment in the new factory; where,

[0130] The specific process of moving the binding process set is as follows: from all factories, using The roulette wheel is used to select the factory based on the factory selection weight. From the factory In other factories besides, The reciprocal of the result is used as the factory selection weight to perform a roulette wheel selection to choose a factory. , the factory Randomly select a bound process set and move it to the factory. ;

[0131] The specific process for exchanging and binding process sets is as follows: from all factories, with The roulette wheel is used to select the factory based on the factory selection weight. In the factory Randomly select a binding process set From the factory Randomly select factories from other factories. In the factory Randomly select a binding process set Binding process set Assigned to the factory Binding process set Assigned to the factory .

[0132] The specific process of assigning mutation operators to equipment is as follows.

[0133] Change the equipment allocation for one process, and randomly select the process without repetition. In the process If the process is excluded from the set of optional equipment. After the current equipment, the process If the number of available devices is greater than 0, a roulette wheel selection is performed using the reciprocal of the cumulative processing time of each available device as the device selection weight, resulting in the process. The assigned equipment.

[0134] The operation process of the process sequence mutation operator is as follows.

[0135] Randomly select a process from the process sequence , the process Move to process A position after the preceding process and before the following process.

[0136] The specific process of the local search operator for factory load balancing is as follows:

[0137] Traverse the key factory Binding process set containing key processes For the selected binding process set When conducting allocation assessment, or Skip if necessary, otherwise bind to process set. Assigned to the factory The process generates neighborhood solutions. If the neighborhood solution acceptance rule is satisfied, the factory load balancing local search operator operation ends. Indicates the maximum completion time of the temporary solution. Indicates factory The completion time, Indicates binding process set The upper bound of the minimum cost per single operation. , Indicates binding process set The sum of the minimum costs of each process step. , Indicates binding process set At the factory The number of optional devices in the system , Indicate process At the factory The set of optional devices in;

[0138] If none of the neighborhood solutions satisfy the neighborhood solution acceptance rule, then from the key factory... Select a binding process set From non-critical factories Select a binding process set Do not repeatedly bind the process set and binding process set When conducting allocation assessment, or or or Skip if necessary, otherwise swap binding process sets. and binding process set The factory allocation is respectively for the bound process set. Binding process set The process execution equipment within the process reselects rules and generates new neighborhood solutions. It then determines whether the new neighborhood solutions satisfy the neighborhood solution acceptance rules, continuing this process until either all new neighborhood solutions satisfy or do not satisfy the neighborhood solution acceptance rules. At this point, the factory load balancing local search operator operation ends. Non-critical factories The completion time, Indicates binding process set The upper bound of the minimum cost per single operation. Indicates binding process set The upper bound of the minimum cost per single operation. Indicates binding process set The sum of the minimum costs of each process step. Indicates binding process set The sum of the minimum costs of each process step. Indicates binding process set In key factories The number of optional devices in the system Indicates binding process set In key factories The number of optional devices in the system Indicates binding process set In non-critical factories The number of optional devices in the system Indicates binding process set In non-critical factories The number of selectable devices; the device reselection rule is to change the binding process set for each process in the factory. process The highest priority optional equipment is assigned, with priority listed in descending order as the earliest process. Completion time, The minimum value and the minimum device number.

[0139] The process of eliminating local search operators during preparation time is as follows.

[0140] The process with the longest setup time on the critical path sequentially reallocates equipment from the available equipment set in its plant and generates neighborhood solutions. If the neighborhood solution acceptance rule is met, the setup time ends and the local search operator operation is eliminated. If all neighborhood solutions do not meet the neighborhood solution acceptance rule and the process... When a previous process exists on the equipment, execute the AND operation on the previous process. After the same equipment is reassigned, the local search operator operation is eliminated during the end of the setup time. The optional equipment set does not include the process. The equipment in question and the equipment with the latest completion time are listed in the order of work processes. On different devices Sort the values ​​from smallest to largest, on different devices When the values ​​are equal, sort them in ascending order by the equipment completion time.

[0141] The specific process of the process-dependent traction local search operator is as follows.

[0142] Process In the available equipment set of the factory, equipment is reassigned sequentially, and neighborhood solutions are generated. Among all neighborhood solutions that satisfy the acceptance rules, each pair of neighborhood solutions is compared item by item on priority index until the optimal neighborhood solution is selected. If all neighborhood solutions do not satisfy the acceptance rules and the process... If there is no direct or indirect process dependency between the process and the preceding process on the same equipment, then the process will be... Move to process Before the previous process, a neighborhood solution is generated, and the process ends by relying on the traction local search operator operation; the optional equipment set does not include the process. The equipment in question and the equipment with the latest completion time, and meeting the requirements. Equipment or meeting The equipment, This represents the operation with the latest completion time among all the preceding operations of the operation with the longest wait time on the critical path. Indicate process In the device The completion time on Indicate process The completion time in the temporary solution of the process-dependent traction local search operator.

[0143] The specific process of the local search operator for rearranging critical blocks of the equipment is as follows.

[0144] Identify critical process blocks on the equipment with the highest completion time, traverse each pair of adjacent critical processes within the critical process block, and generate neighborhood solutions by exchanging adjacent pairs of critical processes. Among all neighborhood solutions that satisfy the acceptance rules of neighborhood solutions, compare each pair of neighborhood solutions on priority indicators until the optimal neighborhood solution is selected. Here, a critical process block represents a sequence of consecutive critical processes processed on the same equipment. Each pair of adjacent critical processes must satisfy the condition that there is no direct or indirect process dependency relationship, otherwise they will not be exchanged.

[0145] Step 4: Calculate the current optimal solution for the current population and determine if the termination time has been reached. If it is, terminate the evolution and output the current optimal solution and its maximum completion time; otherwise, execute Step 3. In Step 4, if the solution with the smallest maximum completion time in the current population is less than the maximum completion time of the current optimal solution, update the current optimal solution to the solution with the smallest maximum completion time in the current population. The total running time of the algorithm is the termination condition, and the termination time is set to 50 × total number of processes × total number of devices, with the time unit being milliseconds.

[0146] The technical effect is verified through specific embodiments below. The experimental environment is Windows 11 operating system, and the hardware configuration is Intel® Core™ i7-12700 processor and 32GB memory. In order to simulate production environments with different complexities, a total of 60 cases in the case set are used, and the experiment is repeated 5 times to reduce the error. The evaluation index is the average relative deviation.

[0147] The distributed flexible job shop scheduling method (ASEA) considering process dependencies provided by this invention, after parameter settings are completed, undergoes ablation experiments compared to adaptive adjustment strategies and fast evaluation methods. Ablation variant 1 (V1), to distinguish itself from the adaptive adjustment strategy of this invention, is modified as follows: when selecting crossover and mutation operators, weights based on scheduling status indicators and success rates are no longer calculated; instead, a uniform random selection method is used to generate temporary solutions, and the local search operators are not executed in descending order of weight, but rather in a randomized execution order. Ablation variant 2 (V2) indicates that this invention removes the algorithm variant of the fast evaluation method in the process of determining the acceptance rules of neighborhood solutions; that is, when calculating the maximum completion time of neighborhood solutions, a fast evaluation based on the set of affected processes is not used, but the start time of all processes is recalculated. The ablation experiment results are shown in Table 1:

[0148] Table 1 Ablation Experiment Results

[0149]

[0150] As shown in Table 1, the ASEA algorithm of this invention consistently achieves the minimum average relative deviation compared to the other two ablation variants. ASEA maintains low average relative deviations of 0.0237 and 0.0209, respectively, indicating good solution quality. The average relative deviations of the other two ablation variants deteriorate to varying degrees, with V2 showing the most significant performance degradation, its average relative deviation rising to 0.0285, and V1's average relative deviation also rising to 0.0253. This demonstrates that the ASEA algorithm of this invention, after introducing an adaptive adjustment strategy and a fast evaluation method, can more effectively improve solution quality compared to the two ablation variants lacking either the adaptive adjustment strategy or the fast evaluation method.

[0151] like Figure 5 and Figure 6 As shown in the figure, the central dot represents the mean relative deviation, the vertical line segment represents the 95% confidence interval of the mean relative deviation, the vertical axis represents the mean relative deviation, and the horizontal axis represents the ablation variant. Figure 5 and Figure 6 It can be seen that the ASEA algorithm of this invention has the lowest average relative deviation and the smallest distribution range, proving that ASEA has the best solution quality and stability in optimizing the maximum completion time. In contrast, the average relative deviation of ablation variant 1 is worse than that of the method of this invention. After removing the roulette wheel selection crossover operator and mutation operator based on weights, it cannot dynamically adjust the selection tendency of the operator according to the scheduling state index of the parent solution. As a result, the generated temporary solution does not specifically adjust the bottleneck characteristics of the parent solution. In the local search phase, the algorithm no longer prioritizes those local search operators that have historically had a high success rate and are consistent with the current scheduling state, thus making it difficult to obtain a better solution. The performance degradation of ablation variant 2 is the most severe. Due to the lack of a fast evaluation method, the large single computational cost leads to a reduction in the number of neighborhood attempts per unit time, which limits the search efficiency. In summary, the synergistic effect of the adaptive adjustment strategy based on scheduling state index and the fast evaluation method proposed in this invention makes the method of this invention significantly better than the two ablation variants in terms of solution quality and search efficiency.

[0152] The present invention is further described and illustrated through comparative experiments with four existing algorithms. The four existing algorithms include a hybrid genetic tabu search algorithm (HGTSA), a hybrid distribution estimation algorithm based on differential evolution operators and variable neighborhood search (HEDA-DEV), an efficient meme algorithm (EMA), and a multi-objective distribution estimation algorithm based on fitness landscape (MFLEDA). All algorithms use the same set of examples, with minimizing the maximum completion time as the optimization objective. Within the termination time set in step 4, each example is run 5 times. Finally, the solution quality and stability of the method of the present invention are evaluated based on the average relative deviation (ARD) obtained by each algorithm under the same problem size. Specific experimental results are shown in Table 2 and... Figure 7 , Figure 8 The experimental results of this invention compared with four existing comparison algorithms are shown in Table 2:

[0153] Table 2 Experimental results of the present invention compared with four existing algorithms

[0154]

[0155] As shown in Table 2, in the small-scale, medium-scale, and large-scale test case sets, the ASEA algorithm of this invention consistently achieved the minimum average relative deviation compared to the other four comparison algorithms. The overall average relative deviation remained at an extremely low level of 0.0215, significantly better than the second-best HEDA-DEV algorithm's 0.0475, demonstrating the superiority of this algorithm. The numerical trend in Table 2 shows that as the test case size gradually increases from small to large, the average relative deviation of the ASEA algorithm of this invention increases slightly, from 0.0103 to 0.0314, but the overall increase is small, demonstrating good resilience. In contrast, the performance of the other four comparison algorithms deteriorated significantly with increasing scale. For example, the average relative deviations of the HGTSA and EMA algorithms increased to 0.1774 and 0.1015 respectively under large-scale cases. Although the MFLEDA algorithm performed well under large-scale cases, it still lagged far behind the ASEA algorithm of this invention. This indicates that the ASEA algorithm of this invention can still maintain excellent optimization capabilities when facing large-scale complex scheduling problems and has better scalability and robustness.

[0156] First, we analyze the overall performance of each algorithm, such as Figure 7 As shown, the horizontal axis represents different algorithm names, and the vertical axis represents the average relative deviation. The central dot in the figure represents the average relative deviation, and the vertical line segment represents the 95% confidence interval of the average relative deviation. The average relative deviation corresponding to this invention is significantly lower than that of the four comparative algorithms HGTSA, HEDA-DEV, EMA, and MFLEDA, and its corresponding vertical line segment length is also the shortest among all algorithms. This indicates that, considering all examples, the method of this invention not only obtains the best-quality scheduling solution but also exhibits the highest stability in 5 runs. Among the comparative algorithms, HEDA-DEV typically achieves suboptimal performance, but a stable performance gap still exists between it and the complete method of this invention.

[0157] Further analysis is needed to determine the scalability of the algorithm across different problem sizes. For example... Figure 8As shown, the horizontal axis groups the examples into large, medium, and small scales. Across all three scale groups, the ASEA algorithm of this invention consistently maintained the lowest mean relative deviation. Regarding the variation in interval length, the ASEA algorithm of this invention exhibited the shortest interval length across all scales, while other comparative algorithms showed longer intervals across different scales, indicating higher dispersion in their results. With increasing example size, the mean relative deviation of the four comparative algorithms showed a significant upward trend. Although the MFLEDA algorithm showed a downward trend in large-scale examples, the gap with the ASEA algorithm of this invention remained substantial; while the increase in mean relative deviation of the ASEA algorithm of this invention was relatively small. This indicates that as problem complexity increases, the ASEA algorithm of this invention can maintain relatively stable solution quality and possesses good scalability.

[0158] In summary, this invention achieves the synergistic integration of an adaptive adjustment strategy based on scheduling state indicators and a rapid evaluation method for neighborhood solutions, constructing a distributed flexible job shop scheduling optimization method that considers process dependencies. This provides a solution for multi-factory collaborative resource scheduling in complex manufacturing scenarios, effectively improving the optimization efficiency of maximum completion time in distributed manufacturing environments and enhancing the robustness of the algorithm when facing problems of different scales.

Claims

1. A distributed flexible job shop scheduling method considering process dependencies, characterized in that, Includes the following steps, Step 1: Initialize algorithm parameters, set population size (pop) and smoothing coefficient. Population update threshold: pop × 10; Step 2: Use heuristic and random methods alternately to generate solutions until an initial population containing pop solutions is formed. Select the solution with the shortest maximum completion time from the initial population as the current optimal solution. Step 3: Using an adaptive adjustment strategy, select parent solutions from the current population, and sequentially execute crossover, mutation, and local search on the parent solutions to update the population; Step 4: Calculate the current optimal solution for the current population and determine whether the termination time has been reached. If it is, terminate the evolution and output the current optimal solution and its maximum completion time. Otherwise, execute step 3.

2. The distributed flexible job shop scheduling method considering process dependencies according to claim 1, characterized in that, In step 2, a solution Represented as three one-dimensional arrays , The length consisting of all processes is represented as The sequence of processes; This represents the factory allocation sequence for each process in the process sequence; This represents the equipment allocation sequence for each process in the process sequence; The specific process of the heuristic method is as follows: (1) According to each binding process set Average processing cost across all factories Sort each bound process set in descending order, where a bound process set represents the set of processes that must be assigned to the same factory. In the formula, Represents a set of factories. It represents a factory. Indicates binding process set At the factory The processing cost evaluation value on the surface , Indicates a process, Represents a set of bound operations. To represent a device, Indicate process At the factory The set of optional devices in Indicate process In the equipment On the processing time, Indicate process In the equipment Average preparation time , Indicates that it can be used in the device The set of processing steps, and , Indicates equipment The above process Switch to process Preparation time, when hour, Indicates equipment Switch from idle to process Preparation time; (2) According to the obtained sorting results of the bound process sets, assign factories to each bound process set in turn, and process the current bound process set. At that time, for each factory Calculate selection weights ,in, In the formula, Indicates the current binding process set If the previously bound process set has already completed factory allocation, then the current bound process set will be... Assigned to the factory Overall score , Indicates the current binding process set Factory allocation has been completed and the factories have been assigned. Binding process set The set, when hour, , Indicates factory The number of devices; based on the currently bound process set. The selection weights on each factory are used to perform a roulette wheel selection, which will bind the current process set. Assigned to the selected factory; (3) After all bound process sets have completed factory allocation, construct the process sequence and simultaneously construct the factory allocation sequence and equipment allocation sequence; processes that have not yet been added to the process sequence but whose preceding processes have been added to the process sequence constitute the current process set that can be processed. Each time, from the current process set that can be processed, according to the process selection weight, select the selected process by roulette wheel selection and put it into the process sequence. Add the factory of the bound process set to which the selected process belongs to the factory allocation sequence. In the optional equipment set of the factory to which the selected process belongs, select the equipment that minimizes the cumulative processing time of the equipment as the equipment to which the selected process is assigned. Add the equipment selected by the selected process to the equipment allocation sequence and update the current process set that can be processed until all processes are put into the process sequence. At this time, the process sequence Factory allocation sequence Equipment allocation sequence ,in Indicates the first step in the process sequence The process at each position, Indicates the first [number] in the factory allocation sequence A factory in a specific location, Indicates the number of devices in the allocation sequence The equipment at each location, the process described Assigned to the factory equipment in Above; the process selection weight is the process calculated in reverse topological order. Maximum remaining workload When the process When there is no immediate successor process, When the process When there is a successor process, for With process The sum of the maximum remaining workloads of all subsequent processes. Indicate process In the assigned factory Average processing time on .

3. The distributed flexible job shop scheduling method considering process dependencies according to claim 2, characterized in that, In step 3, the crossover operators include the factory allocation crossover operator, the equipment allocation crossover operator, and the inheritance operator; the mutation operators include the factory allocation mutation operator, the equipment allocation mutation operator, and the process sequence mutation operator; the local search includes the factory load balancing local search operator, the setup time elimination local search operator, the process dependency traction local search operator, and the equipment critical block rearrangement local search operator; the 10 operators are numbered sequentially as follows: That is, the factory is assigned the cross operator number as The equipment allocation cross operator number is The inheritance operator is numbered as The factory assignment mutation operator number is The equipment allocation mutation operator number is The process sequence mutation operator number is The local search operator for factory load balancing is numbered as follows: The preparation time for eliminating local search operators is numbered as follows: The process-dependent traction local search operator number is The local search operator for rearranging critical blocks of the equipment is numbered as follows: .

4. A distributed flexible job shop scheduling method considering process dependencies according to claim 3, characterized in that, In step 3, the specific process of the adaptive adjustment strategy is as follows: (1) Use tournament selection to select parent solutions. Randomly select 3 solutions from the current population and select the solution with the smallest maximum completion time as the parent solution. (2) Calculate the selection weights of each operator in the crossover operator. ; Calculate the selection weights of each operator in the mutation operator. ; (3) According to the selection weights of each operator in the cross operator The corresponding crossover operator is selected by roulette wheel selection, according to the selection weights of each operator in the mutation operator. By using a roulette wheel to select the corresponding mutation operator, the selected crossover operator and mutation operator are executed sequentially on the parent solution to generate a temporary solution; (4) Calculate the selection weight of each local search operator in the local search. ; (5) Perform a local search on the temporary solution, and sort the local search operators in descending order of selection weight to obtain a list. If the neighborhood solution generated after performing a certain local search operator satisfies the neighborhood solution acceptance rule, the neighborhood solution updates the temporary solution; recalculate each local search operator based on the updated temporary solution. And according to each updated local search operator The list is regenerated in descending order and executed sequentially, and so on, until the neighborhood solution generated by the last local search operator in the list still does not meet the neighborhood solution acceptance rule. At this point, the local search ends and the cumulative count and success count of each local search operator are reset to zero. (6) If the maximum completion time of the temporary solution after the local search is less than the maximum completion time of the worst solution in the current population, the temporary solution after the local search is added to the new population; otherwise, the temporary solution after the local search is discarded. When the size of the new population is less than pop, if the number of local searches has not reached the population update threshold, the adaptive adjustment strategy process is repeated. When the size of the new population is equal to pop, the new population directly updates the current population and clears the new population. When the number of local searches reaches the population update threshold and the size of the new population is still less than pop, the solutions in the current population are added to the new population one by one in ascending order of maximum completion time, until the size of the new population is equal to pop. When the new population updates the current population, the new population is cleared. When adding, the solution with the smallest maximum completion time and the solution with the largest maximum completion time in the current population are skipped.

5. A distributed flexible job shop scheduling method considering process dependencies according to claim 4, characterized in that, The cross operator is numbered as The formula for calculating the selection weight of the operator is as follows: In the formula, when hour, Indicates the number of the cross operator. The success rate of the operator, , Indicates the number of the cross operator. The operator is used to generate the cumulative number of temporary solutions. This indicates that the parent solution uses the cross operator numbered as follows. After the operator, the number of times the solution obtained after mutation and local search has a shorter maximum completion time than the parent solution is considered successful. Represents the set of cross operators. In the first iteration, =0, =0, Indicates the number of the cross operator. The scheduling status index corresponding to the operator, when hour, This represents the index used to traverse the set of cross operators. Indicates the number of the cross operator. The scheduling status index corresponding to the operator, Indicates the number of the cross operator. The success rate corresponding to the operator; The mutation operator numbered as The formula for calculating the selection weight of the operator is as follows: In the formula, when hour, This indicates that the mutation operator is numbered as follows. The success rate of the operator, , This indicates that the mutation operator is numbered as follows. The operator is used to generate the cumulative number of temporary solutions. This indicates the parent solution that has undergone the crossover operator, using the mutation operator numbered as follows. After the operator, the number of successful solutions whose maximum completion time is less than that of the parent solution after local search is considered. Represents the set of mutation operators. In the first iteration, =0, =0, This indicates that the mutation operator is numbered as follows. The scheduling status index corresponding to the operator, when hour, This represents the index used to traverse the set of mutation operators. This indicates that the mutation operator is numbered as follows. The scheduling status index corresponding to the operator, This indicates that the mutation operator is numbered as follows. The success rate corresponding to the operator; In the local search, the number is The formula for calculating the selection weight of the operator is as follows: In the formula, when hour, Indicates the number in the local search. The success rate of the operator, , Indicates the number in the local search. The cumulative number of times the operator generates neighborhood solutions. Indicates the number in the local search. The number of times the neighborhood solutions generated by the operator are successfully accepted. Represents the set of local search operators. When the temporary solution first enters the local search, =0, =0, Indicates the number in the local search. The scheduling status index corresponding to the operator, when hour, This represents the index used to traverse the set of local search operators. Indicates the number in the local search. The scheduling status index corresponding to the operator, Indicates the number in the local search. The success rate corresponding to the operator.

6. A distributed flexible job shop scheduling method considering process dependencies according to claim 5, characterized in that, Scheduling status metrics include factory load balancing. The percentage of maximum preparation time for the critical path Maximum waiting time percentage of critical path Percentage of ineffective time on the critical path Critical path effective processing density The critical path consists of a series of critical processes, starting with the process with the longest completion time. Start backtracking, if process The earliest permitted start time is equal to the process. A certain preceding process The completion time is... It is a key process and from Continue backtracking; if the process The earliest permitted start time is equal to the time when the equipment... Previous process The previous process The completion time is... It is a key process and from Continue backtracking until the backtracked process has no preceding process and is also the first processing process on the machine. Among them, the scheduling status indicators corresponding to the factory allocation crossover operator, the factory allocation mutation operator, and the factory load balancing local search operator are: The scheduling status index corresponding to the preparation time elimination local search operator is: The scheduling status index corresponding to the process-dependent traction local search operator is: The scheduling status indices corresponding to the inheritance operator and the process sequence mutation operator are: The scheduling status indicators corresponding to the equipment allocation crossover operator, equipment allocation mutation operator, and equipment critical block rearrangement local search operator are as follows: , In the formula, Indicates factory The completion time, The standard deviation of completion time for all factories; , This represents the maximum setup time on the critical path, in the crossover and mutation operators. This represents the maximum completion time of the parent solution during local search. Indicates the maximum completion time of the temporary solution; , This represents the maximum latency on the critical path. , Indicate process The earliest permitted start time for construction, Indicate process The completion time; ; 。 7. A distributed flexible job shop scheduling method considering process dependencies according to claim 6, characterized in that, The acceptance rule for neighborhood solutions is as follows: neighborhood solutions and temporary solutions are compared item by item according to priority indicators, which include maximum completion time, descending order of factory completion time, maximum setup time on the critical path, and maximum waiting time on the critical path. When the value of a neighborhood solution is not equal to that of a temporary solution for the first time, the neighborhood solution is accepted if the value of the neighborhood solution is smaller, and rejected if the value of the neighborhood solution is larger or all items are equal. The sequence comparison starts from the first item and compares each element. At the position where the difference first appears, the element with the smaller value is better.

8. A distributed flexible job shop scheduling method considering process dependencies according to claim 7, characterized in that, The process of assigning the crossover operator to the factory is as follows. For each bundled process set in the key plant When conducting allocation assessment, At that time, key factories Binding process set The internal processes are assigned to idle factories. In the middle, the binding process set is processed in sequence. Every process within traversing the process In idle factory All optional equipment, computing equipment allocation after idle factory The range of the cumulative processing time of all equipment is calculated, and the equipment that minimizes the range is selected for allocation. Key factories The factory with the longest completion time in the parent-child project, and the idle factory. The factory with the shortest completion time among those whose solutions are provided by the father. Indicates the completion time of the idle factory. Indicates the completion time of key factories. Indicates binding process set Workload evaluation value , Indicate process A collection of optional equipment across all factories; The process of assigning the crossover operator to the device is as follows. Parental solution process Equipment allocation is adjusted according to the process sequence, and another parent solution is selected through a tournament, when the process... In a two-parent solution, when the factory allocation is the same but the equipment allocation is different, if the process With process If the immediate preceding process is assigned to the same equipment, then the process... If the equipment allocation remains unchanged, otherwise the process... The equipment with the shorter processing time is assigned to one of the two parent solutions; when the process In cases where the factory allocation differs in a two-parent solution or other situations occur, the process... The equipment allocation remains unchanged; When executing the inheritance operator, the parent solution remains unchanged.

9. A distributed flexible job shop scheduling method considering process dependencies according to claim 8, characterized in that, The process of assigning mutation operators to the factory is as follows. Randomly execute either move-bound or swap-bound operation sets. If the factory allocation remains unchanged after execution, execute the unexecuted operations, assigning the operations with changed factory allocations to the equipment that minimizes the range of cumulative processing time for all equipment in the new factory; where, The specific process of moving the binding process set is as follows: from all factories, using The roulette wheel is used to select the factory based on the factory selection weight. From the factory In other factories besides, The reciprocal of the result is used as the factory selection weight to perform a roulette wheel selection to choose a factory. , the factory A randomly selected set of binding processes is moved to the factory. middle; The specific process for exchanging and binding process sets is as follows: from all factories, with The roulette wheel is used to select the factory based on the factory selection weight. From the factory Randomly select factories from other factories. ,factory Randomly select a binding process set ,factory Randomly select a binding process set Binding process set Assigned to the factory Binding process set Assigned to the factory ; The specific process of assigning mutation operators to equipment is as follows. Change the equipment allocation for one process, and randomly select the process without repetition. In the process If the process is excluded from the set of optional equipment. After the current equipment, the process If the number of available devices is greater than 0, a roulette wheel selection is performed using the reciprocal of the cumulative processing time of each available device as the device selection weight, resulting in the process. The assigned equipment; The operation process of the process sequence mutation operator is as follows. Randomly select a process from the process sequence , the process Move to process A position after the preceding process and before the following process.

10. A distributed flexible job shop scheduling method considering process dependencies according to claim 9, characterized in that, The specific process of the local search operator for factory load balancing is as follows: Traverse the key factory Binding process set containing key processes For the selected binding process set When conducting allocation assessment, or Skip if necessary, otherwise bind to process set. Assigned to the factory The process generates neighborhood solutions. If the neighborhood solution acceptance rule is satisfied, the factory load balancing local search operator operation ends. Indicates the maximum completion time of the temporary solution. Indicates factory The completion time, Indicates binding process set The upper bound of the minimum cost per single operation. , Indicates binding process set The sum of the minimum costs of each process step. , Indicates binding process set At the factory The number of optional devices in the system , Indicate process At the factory The set of optional devices in; If none of the neighborhood solutions satisfy the neighborhood solution acceptance rule, then from the key factory... Select a binding process set From non-critical factories Select a binding process set Do not repeatedly bind the process set and binding process set When conducting allocation assessment, or or or Skip if necessary, otherwise swap binding process sets. and binding process set The factory allocation is respectively for the bound process set. Binding process set The process execution equipment within the process reselects rules and generates new neighborhood solutions. It then determines whether the new neighborhood solutions satisfy the neighborhood solution acceptance rules, continuing this process until either all new neighborhood solutions satisfy or do not satisfy the neighborhood solution acceptance rules. At this point, the factory load balancing local search operator operation ends. Non-critical factories The completion time, Indicates binding process set The upper bound of the minimum cost per single operation. Indicates binding process set The upper bound of the minimum cost per single operation. Indicates binding process set The sum of the minimum costs of each process step. Indicates binding process set The sum of the minimum costs of each process step. Indicates binding process set In key factories The number of optional devices in the system Indicates binding process set In key factories The number of optional devices in the system Indicates binding process set In non-critical factories The number of optional devices in the system Indicates binding process set In non-critical factories The number of optional equipment; the equipment reselection rule is to assign a change to each process within the bound process set of the factory allocation change. process The highest priority optional equipment is assigned, with priority listed in descending order as the earliest process. Completion time, Minimum value, minimum device number; The process of eliminating local search operators during preparation time is as follows. The process with the longest setup time on the critical path sequentially reallocates equipment from the available equipment set in its plant and generates neighborhood solutions. If the neighborhood solution acceptance rule is met, the setup time ends and the local search operator operation is eliminated. If all neighborhood solutions do not meet the neighborhood solution acceptance rule and the process... When a previous process exists on the equipment, execute the AND operation on the previous process. After the same equipment is reassigned, the local search operator operation is eliminated during the end of the setup time. The optional equipment set does not include the process. The equipment in question and the equipment with the latest completion time are listed in the order of work processes. On different devices Sort the values ​​from smallest to largest, on different devices When the values ​​are equal, sort them by the equipment completion time from smallest to largest; The specific process of the process-dependent traction local search operator is as follows. Process In the available equipment set of the factory, equipment is reassigned sequentially, and neighborhood solutions are generated. Among all neighborhood solutions that satisfy the acceptance rules, each pair of neighborhood solutions is compared item by item on priority index until the optimal neighborhood solution is selected. If all neighborhood solutions do not satisfy the acceptance rules and the process... If there is no direct or indirect process dependency between the process and the preceding process on the same equipment, then the process will be... Move to process Before the previous process, a neighborhood solution is generated, and the process ends by relying on the traction local search operator operation; the optional equipment set does not include the process. The equipment in question and the equipment with the latest completion time, and meeting the requirements. Equipment or meeting The equipment, This represents the operation with the latest completion time among all the preceding operations of the operation with the longest wait time on the critical path. Indicate process In the device The completion time on Indicate process The completion time in the temporary solution of the process-dependent traction local search operator; The specific process of the local search operator for rearranging critical blocks of the equipment is as follows. Identify critical process blocks on the equipment with the highest completion time, traverse each pair of adjacent critical processes within the critical process block, and generate neighborhood solutions by exchanging adjacent pairs of critical processes. Among all neighborhood solutions that satisfy the acceptance rules of neighborhood solutions, compare each pair of neighborhood solutions on priority indicators until the optimal neighborhood solution is selected. Here, a critical process block represents a sequence of consecutive critical processes processed on the same equipment. Each pair of adjacent critical processes must satisfy the condition that there is no direct or indirect process dependency relationship, otherwise they will not be exchanged.