A dual-resource flexible job shop scheduling method for aerospace complex components

By improving the load balancing redistribution and variable neighborhood search strategies of the cultural gene algorithm, the problem of insufficient convergence performance of traditional algorithms in the scheduling of flexible job shops with dual resource constraints is solved, and more efficient scheduling scheme generation is achieved.

CN116757411BActive Publication Date: 2026-11-06NANJING UNIV OF INFORMATION SCI & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310702108.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-13
Publication Date
2026-11-06
Estimated Expiration
2043-06-13

AI Technical Summary

Technical Problem

Traditional cultural gene algorithms suffer from insufficient convergence performance and are prone to getting trapped in local optima when solving the flexible job shop scheduling problem with dual resource constraints.

Method used

An improved cultural gene algorithm is adopted, which combines a load balancing redistribution strategy and a variable neighborhood search. The load balancing redistribution strategy balances resource load, and the variable neighborhood search, which combines random search and critical path search, improves global and local search capabilities.

Benefits of technology

It effectively improves the algorithm's global and local search capabilities, avoids resource load imbalance, prevents the population from getting trapped in local optima too early, and improves the quality of the scheduling scheme.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116757411B_ABST
    Figure CN116757411B_ABST
Patent Text Reader

Abstract

The application discloses a double-resource flexible job shop scheduling method for aerospace complex components, adopts an improved cultural gene algorithm to solve a scheduling model, takes a minimum maximum completion time as an objective function, adopts three-layer sequence coding to express workpiece, machine and worker information of a scheduling scheme, designs an extended plug-in active decoding according to the characteristics of the double-resource constraint to improve the convergence speed of the algorithm, designs a machine and worker redistribution strategy based on load balancing to enhance the global search ability of the algorithm, uses an improved variable neighborhood search strategy for excellent individuals in a population to improve the local optimization ability of the algorithm, and finally uses extended random examples and actual production cases of certain aerospace complex components to carry out simulation experiments to verify the effectiveness of the algorithm in solving the double-resource constraint scheduling problem.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of workshop production scheduling optimization technology, and in particular to a dual-resource flexible operation workshop scheduling method for complex aerospace components. Background Technology

[0002] Production scheduling, a crucial part of daily business operations, is key to improving production efficiency. The Flexible Job-shop Scheduling Problem (FJSP), a classic production scheduling problem, has received widespread attention in recent years, with its research findings widely applied in workshop production across industries such as steel, textiles, electronics, and machinery. The Dual Resource Constrained Flexible Job-shop Scheduling Problem (DRCFJSP), an extension of the FJSP, is more closely aligned with the actual production of high-precision products. While FJSP only considers machine constraints, in actual manufacturing workshops, in addition to machine constraints, the impact of workers on the processing must also be considered. High-quality production is achieved through collaborative processing between workers and machines, especially in the production of precision products such as aerospace components, where human intervention is essential for product processing.

[0003] The cultural gene algorithm, also known as the memetic algorithm (MA), was first proposed by Pablo Moscato in 1989. Essentially, it is an algorithm that combines global search of the population with local search of individuals. Compared to genetic algorithms, this algorithm adds local search, improving search efficiency and finding wide application in combinatorial optimization problems. MA is characterized by its simple structure and strong adaptability, and can employ different heuristic strategies based on the characteristics of the model. However, traditional MA still suffers from insufficient convergence performance when solving flexible job shop scheduling models with dual resource constraints, making the scheduling solution prone to getting trapped in local optima. Summary of the Invention

[0004] The technical problem to be solved by this invention is to provide a dual-resource flexible workshop scheduling method for complex aerospace components. This method is based on the cultural gene algorithm and has been improved to address the characteristics of the dual-resource constraint model. A load balancing-based redistribution strategy is designed to effectively improve the global search capability of the algorithm. Furthermore, an improved variable neighborhood search is adopted to balance the global search capability and local search capability of the algorithm.

[0005] To address the aforementioned technical problems, this invention provides a dual-resource flexible job shop scheduling method for complex aerospace components, comprising the following steps:

[0006] Step 1: Establish a flexible job shop scheduling model constrained by both worker and machine resources;

[0007] Step 2: Determine the parameters of the improved cultural gene algorithm, including population size popsize, maximum number of iterations maxgen, crossover probability pc, and mutation probability pm;

[0008] Step 3: Construct three-layer gene sequences of Operation Sequencing (OS), Machine Selection (MS), and Worker Selection (WS) from the processing data of all workpieces in the dual-resource-constrained flexible workshop. Treat these three-layer gene sequences as individuals and use GLR mixing initialization to generate an initial population.

[0009] Step 4: For each individual in the initial population, use extended insertion active decoding that considers the shared idle time of workers and machines to generate an active scheduling scheme, record the fitness values ​​of all individuals, and save the optimal individual;

[0010] Step 5: Based on the fitness values, use tournament selection on individuals in the population;

[0011] Step 6: Perform crossover operation using the genetic algorithm on the individuals from Step 5, and perform synchronous decoding to update the optimal individual;

[0012] Step 7: Perform the mutation operation of the genetic algorithm on the individuals in Step 6, and perform synchronous decoding to update the optimal individual;

[0013] Step 8: Perform load balancing-based machine reallocation operations on the individuals from Step 7;

[0014] Step 9: Perform a load-balancing-based worker reallocation operation on the individuals from Step 8;

[0015] Step 10: Sort the individuals from Step 9 in ascending order of fitness value, perform an improved variable neighborhood search on the top 10% of elite individuals, and record the best individual in the current generation.

[0016] Step 11: Determine if the set number of iterations has been reached. If not, repeat steps 5-10. If yes, output the individual with the highest fitness value in the population as the optimal individual, and simultaneously output the machine Gantt chart and worker Gantt chart of the optimal individual.

[0017] Preferably, in step 1, the dual-resource-constrained flexible job shop scheduling model is as follows: w workers operate m machines to process n workpieces, and any workpiece J... i All are determined by η iThe process consists of multiple steps, each with a set of available machines and a set of available workers. After selecting one machine from its available options, the process must also select an operator from the corresponding set of workers. Processing can only begin after both types of flexible resources are allocated. Using different machines and workers will result in different processing times for the same step. The objective function of the scheduling model is to minimize the maximum completion time, and its mathematical description is as follows:

[0018]

[0019] Among them, C i Indicates workpiece J i The completion time, where n is the total number of workpieces;

[0020] The objective function of DRCFJSP is to minimize the maximum completion time of all jobs. This indicates that the processing of the workpiece cannot be interrupted; This indicates that there is a sequential constraint between the processes in the same workpiece; This means that the same machine can only process one workpiece at any given time. This means that a worker can only process one workpiece at any given time. This means that any one process can only be operated by one worker on one machine; This indicates that the start time and completion time of any process are both greater than or equal to 0; where n represents the total number of workpieces, m represents the total number of machines, w represents the total number of workers, and η represents the total number of workers. i O represents the total number of processes for the i-th workpiece. ij Let ST represent the j-th process of the i-th workpiece, k represent the k-th machine, and l represent the l-th worker. ij Indicates process O ij Start time, CT ij Indicates process O ij Completion time, where α represents a sufficiently large integer, X ijkl =1 indicates process O ij Processed by worker l on machine k, Y ijkl =1 indicates process O ij With O i'j' Processing on machine k and process O i'j' Prior to O ij Processing, Z ijkl =1 indicates process O ij With O i'j' Processed by worker l and in process O i'j' Prior to O ij Processing.

[0021] Preferably, in step 3, the population is initialized, the OS code is generated by random selection, and the MS sequence and WS sequence are initialized using the GLR initialization method, which combines global selection (GS), local selection (LS) and random selection (RS), with the ratio of the three initialization methods being 6:3:1.

[0022] Preferably, in step 4, a three-segment encoding method is used to express chromosome information. The first segment is the Operation Sequencing (OS) encoding string, which is used to determine the order of workpiece processing; the second segment is the Machine Selection (MS) encoding string, which represents the processing machine assigned to the process; and the third segment is the Worker Selection (WS) encoding string, which indicates the processing worker selected by the process. At the same time, an extended insertion-type active decoding method that considers the shared idle time of machines and workers is adopted to distinguish processes according to whether they are the worker's first process, the machine's first process, or the process's first process, and to adopt different preceding scheduling methods for each process, thereby generating a corresponding active scheduling scheme from the individual's three-segment encoding.

[0023] Preferably, in step 5, tournament selection is used as the selection operator of the algorithm. Three individuals are randomly selected from the parent population, and the best individual among the three individuals is selected to enter the crossover pool. If the number of individuals in the crossover pool is the same as that in the parent population, the crossover pool is output as the offspring population.

[0024] Preferably, in step 6, different crossover methods are adopted for different gene sequences of a single individual. For OS sequences, an improved priority operation crossover (IPOX) is used, while for MS and WS sequences, random probability crossover (RPX) is used.

[0025] Preferably, in step 7, for the OS sequence, an exchange mutation is used, randomly selecting two gene loci in the parent individual P1, exchanging the elements on the gene loci, and outputting the exchanged individual as the offspring individual C; for the MS and WS sequences, a minimum processing time mutation is used, firstly, randomly selecting r1 gene loci in the parent individual P1, sequentially finding the machine and worker combination with the shortest processing time on the gene loci, and updating the MS and WS sequences, outputting the updated individual as the offspring individual C1.

[0026] Preferably, in step 8, the machine redistribution (MR) operation refers to iterating through the machine usage of all processes within an individual and calculating the load rate M of each machine. load (k) Identify the machine with the highest load rate and randomly select a process O to be processed by that machine. cd Determine O cd Are there any other selectable machines besides the one with the highest load rate? If not, select a new process. Otherwise, sort these machines in ascending order of load rate and update the MS sequence in turn. At the same time, update the gene loci corresponding to the WS sequence based on the principle of shortest processing time to obtain a new individual. Compare the maximum completion time of the new individual with that of the original individual, and replace the one with the better one.

[0027]

[0028] Preferably, in step 9, the execution approach of the worker redistribution (WR) operation is similar to that of MR, calculating the load factor W for each worker. load (l) Identify the worker with the highest workload and randomly select a process O to be processed by that worker. cd Determine O cd Are there any other selectable workers besides the worker with the highest load rate? If not, reselect the process. Otherwise, sort these workers in ascending order of load rate and update the WS sequence accordingly. At the same time, select the machine with the shortest processing time that the worker can operate and update the MS sequence to obtain a new individual. Compare the maximum completion time of the new individual with that of the original individual, and replace the one with the better one.

[0029]

[0030] Preferably, in step 10, the maximum number of iterations for local search is set, and an improved variable neighborhood search is used for the top 10% of elite individuals in the population. This variable neighborhood search is implemented using a threshold method, and its neighborhood structure design adopts a combination of random search and critical path search. While improving the quality of individuals, it also improves the distribution of search individuals, resulting in a total of four neighborhood structures.

[0031] (1) Neighborhood structure N1: Iterate through each process on the critical path, determine the optional machine set and optional worker set of the process, determine whether there is a combination of machine and worker that has a common idle time period so that the process can be shifted to the left and inserted. If so, replace the machine and worker of the current process, update the MS and WS sequences of the individual according to the above operation, and output the individual after the traversal is completed.

[0032] (2) Neighborhood structure N2: Determine a random number r2, r2∈[3,5], randomly select r2 gene positions in the OS sequence, extract the elements in the selected gene positions and perform full permutations, put each permutation combination into the selected gene positions to form a new individual, and select the best individual to output;

[0033] (3) Neighborhood structure N3: Iterate through each critical block in the critical path in sequence. Under the premise of satisfying the process constraints, perform different operations on critical blocks at different positions. For the first critical block, swap the processing order of the last two processes. For the middle critical block, swap the processing order of the first two processes and the last two processes. For the last critical block, swap the processing order of the first two processes. Update the OS sequence according to the above operations and output the updated individual.

[0034] (4) Neighborhood structure N4: Set the maximum number of iterations for this neighborhood structure to G. max Let g = 1. Randomly select a gene locus on the OS sequence. If the element at this position is different from the previous element, swap the positions of the two elements; otherwise, swap its position with the next element to form a new individual. Compare the new individual with the original individual, and replace the better one. g = g + 1. If g > G max Then the individual will be output.

[0035] The beneficial effects of this invention are as follows: This invention designs a load-balancing-based redistribution strategy. By calculating the load on flexible resources, it extracts the processes on the flexible resources with the highest load and then redistributes the machines and workers for those processes. This avoids situations where individuals have extremely high loads on a single flexible resource during population iteration, effectively balancing the loads of various flexible resources and improving the algorithm's global search capability. Furthermore, it employs an improved variable neighborhood search, combining the neighborhood based on critical path search with random search neighborhoods. While ensuring search efficiency, this expands the search space for elite individuals, preventing the population from prematurely falling into local optima and improving the algorithm's local search capability. The combination of these two strategies balances the algorithm's global and local search capabilities, while simultaneously enhancing its convergence performance. Attached Figure Description

[0036] Figure 1 This is a schematic diagram illustrating an encoding example of the present invention.

[0037] Figure 2(a) is a schematic diagram of the extended plug-in active decoding of the present invention.

[0038] Figure 2(b) is a schematic diagram of the extended plug-in active decoding of the present invention.

[0039] Figure 2(c) is a schematic diagram of the extended plug-in active decoding of the present invention.

[0040] Figure 3 This is a schematic diagram of the IPOX cross-section of the present invention.

[0041] Figure 4 This is a schematic diagram of the RPX crossover of the present invention.

[0042] Figure 5 This is a schematic diagram illustrating the interchangeable variations of the present invention.

[0043] Figure 6 This is a schematic diagram illustrating the variation in minimum processing time of the present invention.

[0044] Figure 7 This is a schematic diagram of the algorithm flow of the present invention.

[0045] Figure 8 This is a Gantt chart of the production equipment of the present invention.

[0046] Figure 9 This is a worker Gantt chart illustrating a production example of the present invention. Detailed Implementation

[0047] A dual-resource flexible job shop scheduling method for complex aerospace components is proposed. It improves upon traditional genetic algorithms by adding a load-balancing-based reallocation strategy and employs a variable neighborhood search strategy combining random search and critical path search to improve the local search operator. The algorithm flowchart is shown below. Figure 7 As shown, it includes the following steps:

[0048] Step 1: Establish a flexible job shop scheduling model constrained by both worker and machine resources;

[0049] Step 2: Determine the algorithm parameters, including population size popsize, maximum number of iterations maxgen, crossover probability pc, and mutation probability pm.

[0050] Step 3: Construct three-layer gene sequences of operation ordering (OS), machine selection (MS), and worker selection (WS) from the processing data of all workpieces in the dual-resource-constrained flexible workshop. Treat these three-layer gene sequences as individuals and use GLR mixing initialization to generate the initial population.

[0051] Step 4: For each individual in the population, use extended insertion active decoding that takes into account the shared idle time of workers and machines to generate an active scheduling scheme, record the fitness values ​​of all individuals, and save the optimal individual;

[0052] Step 5: Based on the fitness values, use tournament selection on individuals in the population;

[0053] Step 6: Perform crossover operation using the genetic algorithm on the individuals from Step 5, and perform synchronous decoding to update the optimal individual;

[0054] Step 7: Perform the mutation operation of the genetic algorithm on the individuals from Step 6, and perform synchronous decoding to update the optimal individual;

[0055] Step 8: Perform a load-balancing-based machine reallocation operation on the individuals from Step 7;

[0056] Step 9: Perform a load-balancing-based worker reallocation operation on the individuals from Step 8;

[0057] Step 10: Sort the individuals from Step 9 in ascending order of fitness value, perform an improved variable neighborhood search on the top 10% of elite individuals, and record the best individual in the current generation;

[0058] Step 11: Determine if the set number of iterations has been reached. If not, repeat steps 5-10. If yes, output the individual with the highest fitness value in the population as the optimal individual, and simultaneously output the machine Gantt chart and worker Gantt chart of the optimal individual.

[0059] Finally, the algorithm solves the scheduling scheme generated by the production instance and obtains the corresponding machine Gantt chart, as shown below. Figure 8 As shown in the figure, the vertical axis represents the equipment number, the horizontal axis represents the processing time, and the symbol "5-2-5" indicates that the second process of workpiece 5 is processed by worker 5. The worker Gantt chart is shown below. Figure 9 As shown, the vertical axis represents the worker number, the horizontal axis represents the processing time, and the symbol "5-1-6" indicates that the first process of workpiece 5 is completed by machine 6.

[0060] Encoding format: This invention uses a three-segment encoding to represent individual information, namely OS, MS, and WS, which are three different gene sequences. Figure 1 The OS part represents the process coding sequence, where each gene bit represents the workpiece number, and different frequencies of the same element represent different processes within the same workpiece. The MS part represents the machine coding sequence, where each gene bit represents the processing machine corresponding to each process after all processes are arranged in sequence, and the element in the gene bit represents the machine number. The WS part represents the worker coding sequence, where each gene bit represents the operator of the processing machine corresponding to each process after all processes are arranged in sequence, and the element in the gene bit represents the worker number.

[0061] Decoding Format: Based on the greedy decoding concept, this invention considers process constraints, machine constraints, and worker constraints, and designs an extended insertion-based active decoding method. The decoding process involves sequentially traversing the processes on the OS sequence and extracting the corresponding processing machines and workers from the MS and WS sequences. Based on the processing order of the process on the machine and worker, four cases are distinguished, and different operations are performed for each. The first case is where the process is the first process on both the machine and worker, and passive scheduling is directly adopted. The second case is where the process is the first process on the worker but not the first process on the machine, and a left-shift insertion is performed on this process, as shown in Figure 2(a). The third case is where the process is the first process on the machine but not the first process on the worker, and a left-shift insertion is performed after considering worker idleness, as shown in Figure 2(b). The last case is where the process is neither the first process on the machine nor the first process on the worker, and a left-shift insertion is performed after considering worker and machine idleness, as shown in Figure 2(c). After all processes on the OS sequence have been traversed, the corresponding scheduling scheme can be generated. Taking Figure 2(a) as an example, the horizontal axis represents the processing time and the vertical axis represents the machine number. The symbol "3-1-2" indicates that the first process of workpiece 3 is processed by worker 2.

[0062] Example of complex aerospace component production: The production workshop has 6 workers and 8 pieces of equipment, divided into 4 equipment groups. Each group has different equipment and workers, and the skill levels of the workers vary. The efficiency coefficients of workers W1 to W6 are (1; 1.1; 0; 9; 1.15; 0.8; 0.95), respectively. The actual processing time of each process is the product of the equipment processing time and the worker's efficiency coefficient. This production workshop needs to process 8 aerospace structural components, each with a different technological process. Specific process and equipment processing information are shown in Tables 1 and 2.

[0063] Table 1. Optional Machine and Worker Information for Each Process

[0064]

[0065] Table 2 Workpiece Machining Information

[0066]

[0067] Hybrid initialization: The OS sequence of this invention is generated by random selection, while the MS and WS sequences are generated by a GLR initialization method that combines global selection, local selection and random selection. The ratio of the three initialization methods is 6:3:1.

[0068] Selection method: This invention uses tournament selection as the selection operator in the algorithm. Three individuals are randomly selected from the parent population, and the best individual among these three individuals is selected to enter the crossover pool. If the number of individuals in the crossover pool is the same as that in the parent population, the crossover pool is output as the offspring population.

[0069] Crossover method: This invention employs an improved crossover IPOX based on workpiece priority for the OS sequence. The operation process is as follows: Figure 3 As shown. Two individuals are randomly selected from the population as parent individuals P1 and P2, and child individuals C1 and C2 are initialized. The job set J is randomly divided into two subsets, Job1 and Job2. Jobs containing Job1 in parent P1 are placed into child C1, and jobs containing Job2 in parent P2 are placed into child C2, keeping their positions unchanged. Similarly, jobs containing Job2 in parent P1 are placed into child C2, and jobs containing Job1 in parent P2 are placed into child C1, keeping their order unchanged. Both the MS sequence and WS sequence of this invention use random probability crossover (RPX), and the execution process is as follows: Figure 4 As shown. Generate a random number array R1 with a length equal to the total number of processes and values ​​of 0 or 1. Iterate through each value in the random array. If the value is 0, assign the value of the gene position corresponding to parent individual P1 to offspring individual C1, and assign the value of the gene position corresponding to parent individual P2 to offspring individual C2. If the value is 1, assign the value of the gene position corresponding to parent individual P1 to offspring individual C2, and assign the value of the gene position corresponding to parent individual P2 to offspring individual C1.

[0070] Mutation method: This invention employs an interchange mutation method on the OS sequence to increase population diversity, such as... Figure 5 As shown. Two positions are randomly selected from individual P1, their values ​​are swapped, and the individual is output. For MS and WS sequences, this invention uses minimum processing time variation, such as... Figure 6 As shown. In individual P1, r1 variant gene loci are randomly selected to identify the machine and worker with the shortest processing time at the variant gene loci, and the MS and WS sequences are updated.

[0071] Machine reallocation: This refers to randomly selecting a process on the machine with the highest load rate, re-selecting processing machines for that process in ascending order of load rate, and updating the MS sequence in sequence. At the same time, the gene loci corresponding to the WS sequence are updated based on the principle of shortest processing time, resulting in a new individual. The maximum completion time of the new individual is compared with that of the original individual, and the one with the better time is replaced.

[0072] Worker reallocation: This refers to randomly selecting a process from the workers with the highest load rate, sorting them in ascending order of load rate, reselecting processing workers for that process, and updating the WS sequence accordingly. At the same time, the machine with the shortest processing time that the worker can operate is selected to update the MS sequence, resulting in a new individual. The maximum completion time of the new individual is compared with that of the original individual, and the one with the better time is replaced.

[0073] Variable Neighborhood Search: This invention improves the neighborhood structure of the VNS operator by employing a method combining critical path search and random search, designing four different neighborhood structures as follows:

[0074] Neighborhood Structure N1: Iterate through each process on the critical path, determine the set of optional machines and workers for each process, and check if there is a combination of machines and workers that share an idle period, allowing the process to be shifted left and inserted. If so, replace the machine and worker in the current process. Update the MS and WS sequences of the individual according to the above operations, and output the individual after the traversal is complete.

[0075] Neighborhood structure N2: Determine a random number r2, r2∈[3,5], randomly select r2 gene positions in the OS sequence, extract the elements in the selected gene positions and perform full permutations, put each permutation combination into the selected gene positions to form a new individual, and select the best individual for output.

[0076] Neighborhood Structure N3: Iterate through each critical block in the critical path sequentially. While satisfying the process constraints, perform different operations on critical blocks at different positions. For the first critical block, swap the processing order of the last two processes; for the middle critical blocks, swap the processing order of the first two processes and the last two processes; for the last critical block, swap the processing order of the first two processes. Update the OS sequence based on these operations and output the updated individual.

[0077] Neighborhood structure N4: Sets the maximum number of iterations for this neighborhood structure to G. max Let g = 1. Randomly select a gene locus on the OS sequence. If the element at this position is different from the previous element, swap the positions of the two elements; otherwise, swap its position with the next element to form a new individual. Compare the new individual with the original individual; if the new individual is better, replace it, and g = g + 1. If g > G... max Then the individual will be output.

[0078] The specific steps for searching the VNS operator are as follows:

[0079] Step 1: Set the maximum number of iterations for the variable neighborhood search to Q. max And initialize its iteration count q = 1.

[0080] Step2: If q<=Q maxProceed to Step 3 if the condition is reversed, or proceed to Step 6 if the condition is reversed.

[0081] Step 3: Define 4 neighborhood structures N(i), (i = 1, 2, 3, 4), and let i = 1.

[0082] Step 4: Substitute the elite individual x into the neighborhood structure N(i) for search. If the solution x' is better than x, let x = x' and i = 1. Otherwise, let i = i + 1.

[0083] Step 5: If i <= 4, return to Step 3; otherwise, set i = 1, q = q + 1, and return to Step 2.

[0084] Step 6: Output elite individual x.

Claims

1. A dual-resource flexible job shop scheduling method for complex aerospace components, characterized in that, Includes the following steps: Step 1: Establish a flexible job shop scheduling model constrained by both worker and machine resources; Step 2: Determine the parameters of the improved cultural gene algorithm, including population size popsize, maximum number of iterations maxgen, crossover probability pc, and mutation probability pm; Step 3: Construct a three-layer gene sequence of process ordering (OS), machine selection (MS), and worker selection (WS) from the processing data of all workpieces in the dual-resource-constrained flexible workshop. Treat these three-layer gene sequences as individuals and use GLR mixing initialization to generate an initial population. Step 4: For each individual in the initial population, use extended insertion active decoding that considers the shared idle time of workers and machines to generate an active scheduling scheme, record the fitness values ​​of all individuals, and save the optimal individual; Step 5: Based on the fitness values, use tournament selection on individuals in the population; Step 6: Perform crossover operation of genetic algorithm on the individuals in step 5, and perform synchronous decoding to update the optimal individual; Step 7: Perform the mutation operation of the genetic algorithm on the individuals in Step 6, and perform synchronous decoding to update the optimal individual; Step 8: Perform a load balancing-based machine reallocation operation on the individuals from Step 7; the machine reallocation operation (MR) refers to iterating through the machine usage of all processes within an individual and calculating the load rate of each machine. Identify the machine with the highest load rate and randomly select a process to be performed by that machine. ,judge Are there any other selectable machines besides the one with the highest load rate? If not, select a new process. Otherwise, sort these machines in ascending order of load rate and update the MS sequence in turn. At the same time, update the gene loci corresponding to the WS sequence based on the principle of shortest processing time to obtain a new individual. Compare the maximum completion time of the new individual with that of the original individual, and replace the one with the better one. ; Step 9: Perform a load balancing-based worker reallocation operation on the individuals from Step 8; the execution logic of the worker reallocation operation (WR) is similar to that of MR, calculating the load factor for each worker. Identify the worker with the highest workload and randomly select a process that worker will handle. ,judge Are there any other selectable workers besides the worker with the highest load rate? If not, reselect the process. Otherwise, sort these workers in ascending order of load rate and update the WS sequence accordingly. At the same time, select the machine with the shortest processing time that the worker can operate and update the MS sequence to obtain a new individual. Compare the maximum completion time of the new individual with that of the original individual, and replace the one with the better one. ; Step 10: Sort the individuals from Step 9 in ascending order of fitness value, perform an improved variable neighborhood search on the top 10% of elite individuals, and record the best individual in the current generation. Step 11: Determine if the set number of iterations has been reached. If not, repeat steps 5-10. If yes, output the individual with the highest fitness value in the population as the optimal individual, and simultaneously output the machine Gantt chart and worker Gantt chart of the optimal individual.

2. The dual-resource flexible job shop scheduling method for complex aerospace components as described in claim 1, characterized in that, In step 1, the dual-resource-constrained flexible job shop scheduling model is specifically as follows: Worker operation Taiwanese machine Process each workpiece, any workpiece All are determined The process consists of multiple steps, each with a set of available machines and a set of available workers. After selecting one machine from its available options, the process must also select an operator from the corresponding set of workers. Processing can only begin after both types of flexible resources are allocated. Using different machines and workers will result in different processing times for the same step. The objective function of the scheduling model is to minimize the maximum completion time, and its mathematical description is as follows: Among them, C i Indicates workpiece J i The completion time, where n is the total number of workpieces; The objective function of DRCFJSP is to minimize the maximum completion time of all jobs. This indicates that the processing of the workpiece cannot be interrupted; This indicates that there is a sequential constraint between the processes in the same workpiece; This means that the same machine can only process one workpiece at any given time. This means that a worker can only process one workpiece at any given time. This means that any one process can only be operated by one worker on one machine; This indicates that the start time and completion time of any process are both greater than or equal to 0; where n represents the total number of workpieces, m represents the total number of machines, and w represents the total number of workers. This represents the total number of processes for the i-th workpiece. Let k represent the j-th process of the i-th workpiece, k represent the k-th machine, and l represent the l-th worker. Indicate process Start date Indicate process Completion time, Represent an integer, Indicate process It is processed by worker l on machine k. Indicate process and Processing on machine k and procedures Prior to Processing, Indicate process and Processed by workers and procedures Prior to Processing.

3. The dual-resource flexible job shop scheduling method for complex aerospace components as described in claim 1, characterized in that, In step 3, the population is initialized. The OS code is generated by random selection. The MS and WS sequences are initialized using the GLR initialization method, which combines global selection (GS), local selection (LS), and random selection (RS). The ratio of the three initialization methods is 6:3:

1.

4. The dual-resource flexible job shop scheduling method for complex aerospace components as described in claim 1, characterized in that, In step 4, a three-segment encoding method is used to express chromosome information. The first segment is the process order encoding string OS, which is used to determine the order of workpiece processing. The second segment is the machine selection encoding string MS, which represents the processing machine assigned to the process. The third segment is the worker selection encoding string WS, which indicates the processing worker selected by the process. At the same time, an extended insertion active decoding method that considers the shared idle time of machines and workers is adopted to distinguish processes according to whether they are the worker's first process, the machine's first process, or the process's first process, and to adopt different preceding scheduling methods for each process. The three-segment encoding of each individual process generates a corresponding active scheduling scheme.

5. The dual-resource flexible job shop scheduling method for complex aerospace components as described in claim 1, characterized in that, In step 5, tournament selection is used as the selection operator of the algorithm. Three individuals are randomly selected from the parent population, and the best individual among the three individuals is selected to enter the crossover pool. If the number of individuals in the crossover pool is the same as that in the parent population, the crossover pool is output as the offspring population.

6. The dual-resource flexible job shop scheduling method for complex aerospace components as described in claim 1, characterized in that, In step 6, different crossover methods are used for different gene sequences of a single individual. For OS sequences, an improved IPOX crossover based on workpiece priority is used, while for MS and WS sequences, random probability crossover RPX is used.

7. The dual-resource flexible job shop scheduling method for complex aerospace components as described in claim 1, characterized in that, In step 7, for the OS sequence, a swap mutation is used. Two gene loci in the parent individual P1 are randomly selected, and the elements at the gene loci are swapped. The swapped individual is then output as the offspring individual C. For the MS and WS sequences, a minimum processing time mutation is used. First, a parent individual is randomly selected... In For each gene locus, the machine and worker combination with the shortest processing time is identified sequentially, and the MS and WS sequences are updated. The updated individuals are then used as offspring individuals. Output.

8. The dual-resource flexible job shop scheduling method for complex aerospace components as described in claim 1, characterized in that, In step 10, the maximum number of iterations for local search is set, and an improved variable neighborhood search is used for the top 10% of elite individuals in the population. This variable neighborhood search is implemented using a threshold method, and its neighborhood structure design adopts a combination of random search and critical path search. While improving the quality of individuals, it also improves the distribution of search individuals, resulting in a total of four neighborhood structures. (1) Neighborhood structure N1: Iterate through each process on the critical path, determine the set of optional machines and the set of optional workers for the process, determine whether there is a combination of machines and workers that have a common idle time period so that the process can be shifted to the left and inserted. If so, replace the machine and worker of the current process, update the MS and WS sequences of the individual according to the above operation, and output the individual after the traversal is completed. (2) Neighborhood structure N2: Determine random numbers , Randomly select from the OS sequence For each gene locus, extract the elements from the selected gene locus and perform a full permutation. Place each permutation into the selected gene locus to form a new individual, and select the best individual to output. (3) Neighborhood structure N3: Iterate through each critical block in the critical path in sequence. Under the premise of satisfying the process constraints, perform different operations on critical blocks at different positions. For the first critical block, swap the processing order of the last two processes of the block; for the middle critical block, swap the processing order of the first two processes of the block and the last two processes of the block; for the last critical block, swap the processing order of the first two processes of the block. Update the OS sequence according to the above operations and output the updated individual. (4) Neighborhood structure N4: Set the maximum number of iterations for this neighborhood structure to G. max Let g=1. Randomly select a gene position on the OS sequence. If the element at this position is different from the previous element, swap the positions of the two elements; otherwise, swap its position with the next element to form a new individual. Compare the new individual with the original individual, and replace the better one. g=g+1. If g>G max Then the individual will be output.

Citation Information

Patent Citations

  • Intelligent production line adaptive dynamic scheduling strategy selection method

    CN114611897A

  • Feeding and discharging scene scheduling optimization method considering double-resource constraint

    CN115983423A