Self-adaptive collaborative parallel optimization aviation complex structural member production scheduling method, system and program product

Through the adaptive collaborative parallel optimization method, the problems of worker skill matching and dynamic changes in the production scheduling of complex aviation structural parts are solved, and an efficient and intelligent scheduling plan is generated, which improves production efficiency and resource utilization.

CN120762877APending Publication Date: 2025-10-10SHANGHAI UNIV
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510650565.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-20
Publication Date
2025-10-10

AI Technical Summary

Technical Problem

Existing production scheduling methods for complex aviation structural parts have problems such as low worker skill matching, difficulty in responding to dynamic changes in production, high complexity of scheduling optimization calculations, and limitations of existing intelligent algorithms, making it difficult to generate efficient and intelligent scheduling plans.

Method used

Adopting the adaptive collaborative parallel optimization method, by presetting the parallel algorithm parameters, initializing the population, parallel evolution optimization, dynamically adjusting the number of sub-threads, combining intelligent algorithms and resource utilization, a high-quality scheduling solution is generated.

Benefits of technology

It achieves efficient and intelligent generation of scheduling plans that meet various worker constraints in different hardware environments, improves production efficiency and resource utilization, and adapts to dynamic computing environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120762877A_ABST
    Figure CN120762877A_ABST
Patent Text Reader

Abstract

The invention provides a self-adaptive collaborative parallel optimization aviation complex structural member production scheduling method and system and a program product. The method comprises the following steps: presetting parallel algorithm related parameters; initializing a population, wherein the initialized population comprises a first scheduling scheme generated by using a random greedy heuristic algorithm; performing evolutionary optimization on the initialized population or the derivative population of the initialized population in parallel by utilizing a plurality of configured sub-threads to generate a new scheduling scheme; according to a comparison result of the current CPU utilization rate and the memory utilization rate and the target CPU utilization rate and the target memory utilization rate, adjusting the number of sub-threads which are running; according to the method, the problems that in the prior art, a scheduling scheme is not high in quality and low in optimization efficiency, and the utilization rate of computing resources is difficult to consider are effectively solved, the high-quality and high-adaptability scheduling scheme can be generated, the solving time is shortened, the computing resources are fully utilized, and the scheduling efficiency is improved. The production efficiency and the resource utilization rate are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of aviation manufacturing production scheduling, and in particular to a method and system for scheduling the production of aviation complex structural parts with adaptive collaborative parallel optimization, namely a program product. Background Art

[0002] The R&D and production process for complex aviation structural parts typically features numerous steps, complex processes, diverse resource constraints, particularly regarding worker skills and availability, and production plans are susceptible to disruption. Traditional production scheduling relies primarily on manual experience, resulting in poor matching accuracy between worker skills and process requirements, rigid production plans that are difficult to adapt to dynamic changes, and scheduling optimization challenges and low computational efficiency.

[0003] Although intelligent optimization algorithms such as genetic algorithms, ant colony algorithms, and particle swarm algorithms have certain applications in scheduling problems, they still have shortcomings in the specific scenario of scheduling complex aviation structural parts: they are prone to falling into local optimality, especially in large-scale, high-constraint problems, and the algorithm may converge prematurely; parameter tuning is difficult, and the algorithm performance is sensitive to parameter settings and lacks universality; dynamic adaptability is insufficient, and most algorithms run under fixed computing resources, making it difficult to dynamically adjust strategies based on real-time computing loads; the coordination mechanism is imperfect, and simple parallelization may lead to redundant computing, and there is a lack of deep information sharing and collaborative evolution mechanisms; there is insufficient consideration of field characteristics such as worker constraints, and general algorithms often require a lot of customization to effectively handle specific constraints such as complex worker skills and workload balancing.

[0004] To address these issues, a new scheduling approach is needed that leverages the efficiency advantages of parallel computing, the optimization capabilities of intelligent algorithms, and a deep understanding of the specific constraints of aviation manufacturing to enable rapid, high-quality, and adaptive generation of scheduling solutions. Existing technologies struggle to simultaneously address scheduling quality, optimization efficiency, and dynamic adaptability. Therefore, a production scheduling approach that effectively addresses these issues is urgently needed.

[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present invention, and therefore may include information that does not constitute prior art known to ordinary technicians in this field. Summary of the Invention

[0006] In view of this, the present invention provides an adaptive collaborative parallel optimization production scheduling method for aviation complex structural parts to overcome the problems existing in existing aviation complex structural parts production scheduling methods, such as low worker skill matching, difficulty in coping with dynamic production changes, high complexity of scheduling optimization calculations, and limitations of existing intelligent algorithms. It efficiently and intelligently generates high-quality scheduling plans that meet multiple worker constraints and adapt to dynamic computing environments, thereby improving the production efficiency, resource utilization and overall operational management level of aviation manufacturing enterprises.

[0007] An embodiment of the present invention provides a method for scheduling the production of complex aviation structural parts with adaptive collaborative parallel optimization, comprising the following steps:

[0008] S100, presetting the relevant parameters of the parallel algorithm, including the initial population size, the number of child threads, the target CPU usage rate, and the target memory usage rate;

[0009] S200, initializing the population, where the initialization population includes a first scheduling solution generated by a random greedy heuristic algorithm and other scheduling solutions generated by a random generation method, until the initial population size is reached;

[0010] S300, using multiple configured sub-threads to perform evolutionary optimization on the initialized population or its derived population in parallel, where the evolutionary optimization includes each sub-thread performing a preset evolutionary operation on the population individuals assigned thereto to generate a new scheduling solution;

[0011] S400, during the evolutionary optimization process, reading the current CPU usage and memory usage of the computer, and adjusting the number of running child threads based on a comparison result between the current CPU usage and memory usage and the target CPU usage and target memory usage;

[0012] S500, determine whether the preset scheduling stop condition is met; if so, output the optimal scheduling scheme among the current various groups; if not, return to step S300.

[0013] In some optional embodiments, the evolutionary optimization of the child thread further includes:

[0014] Sort by the objective function value of each scheduling scheme in the initialized population;

[0015] Each individual scheduling scheme is evolved in different sub-threads using different evolutionary directions determined based on the sorting results.

[0016] In some optional embodiments, different evolution directions include:

[0017] Use different combinations of evolution operators for evolution; or,

[0018] Focused optimization on different components of the scheduling solution, such as task sequencing or worker assignment.

[0019] In some optional embodiments, in step S300, the evolutionary optimization of the child thread further includes:

[0020] After each sub-thread completes a round of evolution, a local search operation is performed on the optimal scheduling solution individuals generated in all sub-threads;

[0021] The optimal scheduling solution obtained through the local search operation is stored as a reference scheduling solution;

[0022] The remaining scheduling scheme individuals are sorted according to their fitness, and the sorting results are used to replace the scheduling scheme individuals in the sub-threads of some evolutionary directions.

[0023] In some optional embodiments, the local search operation includes a search algorithm based on a specific neighborhood structure, and the specific neighborhood structure includes task insertion, task exchange, or worker reassignment.

[0024] In some optional embodiments, the evolutionary optimization of the child thread further includes:

[0025] Add at least one separate child thread;

[0026] A separate sub-thread randomly selects at least two reference scheduling schemes from a plurality of stored reference scheduling schemes;

[0027] At least two selected reference scheduling schemes are combined through a predefined combination operation to form a new combined scheduling scheme, and a target value of the combined scheduling scheme is calculated.

[0028] In some optional embodiments, after adjusting the number of running sub-threads, the method further includes adjusting the number of populations accordingly based on the adjusted number of sub-threads.

[0029] In some optional embodiments, the method further comprises:

[0030] During the evolutionary optimization process, the dominant scheduling scheme individuals generated during the evolution process are saved as historical reference information;

[0031] Utilize historical reference information to guide the subsequent evolutionary optimization process.

[0032] In some optional embodiments, the predefined combining operation includes a task block-based exchange operator or a worker skill matching-based assignment merge operator.

[0033] In some optional embodiments, the random greedy heuristic algorithm considers preset worker skill constraints and worker available time constraints when generating the first scheduling solution.

[0034] In some optional embodiments, the individual codes of the production scheduling plan for complex aviation structural parts adopt a two-layer coding structure, wherein the first layer of coding represents the processing order of tasks, and the second layer of coding represents the execution workers corresponding to each task process.

[0035] In some optional embodiments, the preset scheduling stop conditions include reaching the maximum evolutionary generation, the computing time reaching the upper limit, or the objective function value of the optimal scheduling solution not being significantly improved for a specified number of consecutive generations.

[0036] In some optional embodiments, before outputting the optimal scheduling solution, a feasibility check is performed on the optimal scheduling solution to ensure that it meets all predefined hard production constraints.

[0037] An embodiment of the present invention further provides an adaptive collaborative parallel optimization production scheduling system for complex aviation structural parts, which is used to implement the above-mentioned adaptive collaborative parallel optimization production scheduling method for complex aviation structural parts, including:

[0038] The parameter preset module is configured to preset the parameters related to the parallel algorithm, including the initial population size, the number of sub-threads, the target CPU usage rate, and the target memory usage rate;

[0039] a population initialization module configured to initialize the population, wherein the initialized population includes a first scheduling solution generated by a random greedy heuristic algorithm and remaining scheduling solutions generated by a random generation method until the initial population size is reached;

[0040] A parallel evolutionary optimization module is configured to perform evolutionary optimization on the initialized population or its derived population in parallel using a plurality of configured sub-threads, wherein the evolutionary optimization includes causing each sub-thread to perform a preset evolutionary operation on the population individuals assigned thereto to generate a new scheduling scheme;

[0041] an adaptive adjustment module configured to read the CPU usage and memory usage of the current computer during the evolutionary optimization process, and adjust the number of running child threads according to a comparison result between the current CPU usage and memory usage and a target CPU usage and target memory usage;

[0042] The scheduling output module is configured to output the optimal scheduling plan among the current various populations when it is determined that the preset scheduling stop condition is met, or to instruct the parallel evolutionary optimization module to continue executing evolutionary optimization when the scheduling stop condition is not met.

[0043] An embodiment of the present invention further provides a computer program product, comprising computer program code. When the computer program code is executed by a processor, the processor executes the above-mentioned adaptive collaborative parallel optimization method for scheduling production of complex aviation structures.

[0044] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.

[0045] The adaptive collaborative parallel optimization method, system, and program product for scheduling production of complex aviation structural parts of the present invention have the following beneficial effects:

[0046] The adaptive cooperative parallel optimization aviation complex structure production scheduling method provided by the application can shorten the solution time by using a parallel computing framework, dynamically optimize the distribution of computing power through an adaptive adjustment mechanism, take into account the scheduling quality and optimization efficiency, and can dynamically adjust the evolution strategy according to the computing resources, so that the computing resources can be fully utilized under different hardware environments, and the balance between performance and consumption is realized. The method can provide more efficient and adaptive production scheduling schemes for aviation manufacturing enterprises, and help to improve production efficiency and resource utilization. BRIEF DESCRIPTION OF DRAWINGS

[0047] Other features, objects, and advantages of the application will become more apparent from the following detailed description of non-limiting embodiments with reference to the drawings.

[0048] Figure 1 is a flowchart of the adaptive cooperative parallel optimization aviation complex structure production scheduling method of an embodiment of the application;

[0049] Figure 2 is a simulation comparison result schematic diagram of the adaptive cooperative parallel optimization aviation complex structure production scheduling method of an embodiment of the application;

[0050] Figure 3 is a structure schematic diagram of the adaptive cooperative parallel optimization aviation complex structure production scheduling system of an embodiment of the application. DETAILED DESCRIPTION

[0051] Example implementations will now be described more fully with reference to the accompanying drawings. Example implementations may, however, be implemented in many different forms and should not be construed as limited to the implementations set forth herein; rather, these implementations are provided so that this disclosure will be thorough and complete, and will fully convey the inventive concept to those skilled in the art. Like reference numerals refer to like elements throughout the description.

[0052] In addition, the accompanying drawings are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and serve to explain the principles of the disclosure. The same reference numbers in different drawings represent the same or similar elements. Detailed descriptions of well-known methods and elements are omitted so as not to obscure the disclosure. The drawings are for illustrative purposes only and are not drawn to scale. The same reference numerals in different drawings represent the same or similar elements.

[0053] The flowcharts shown in the accompanying drawings are merely exemplary and do not necessarily include all steps. For example, some steps may be decomposed, while some steps may be combined or partially combined. Therefore, the actual execution order may change according to actual circumstances.

[0054] The production scheduling problem of complex aviation components is essentially an NP-hard combinatorial optimization problem, requiring hardware-implemented scheduling methods. This involves two core steps: task sequencing and resource allocation. Because the solution space grows exponentially with the number of tasks and constraints, traditional serial optimization algorithms struggle to achieve high-quality scheduling solutions within an acceptable timeframe. Parallel computing can effectively reduce solution time by breaking the problem down into multiple subproblems and assigning them to multiple processors for simultaneous solution. Furthermore, intelligent optimization algorithms, such as evolutionary algorithms, can search for global optimal solutions within complex solution spaces by simulating biological evolution. Adaptive resource adjustment dynamically allocates or reclaims computing resources based on the actual computational load, achieving a balance between computational efficiency and resource utilization. Therefore, by combining the acceleration capabilities of parallel computing, the global search capabilities of intelligent optimization algorithms, and adaptive resource adjustment strategies, the production scheduling problem of complex aviation components can be effectively solved.

[0055] like Figure 1 As shown, an embodiment of the present invention provides a method for scheduling production of complex aviation structural parts with adaptive collaborative parallel optimization, comprising the following steps:

[0056] S100: Preset the relevant parameters of the parallel algorithm, including the initial population size, the number of sub-threads, the target CPU usage, and the target memory usage. This is to provide the necessary initial conditions and constraints for the subsequent scheduling optimization process.

[0057] S200 , initializing the population, where the initialization population includes a first scheduling solution generated by a random greedy heuristic algorithm and other scheduling solutions generated by a random generation method, until the initial population size is reached.

[0058] The initial population size determines the search space coverage at the algorithm's start. A larger initial population size increases the search space coverage, but also increases the computational burden. The number of subthreads determines the scale of parallel computation. A larger number of subthreads increases the degree of parallelism and enables the utilization of more computing resources. However, an excessive number of subthreads may also lead to resource contention and scheduling overhead. The target CPU utilization and target memory utilization guide the adaptive adjustment process, ensuring that the algorithm fully utilizes computing resources while avoiding excessive resource utilization that could degrade system performance. Properly setting these parameters is key to achieving efficient and stable scheduling. In practice, the initial population size can be adjusted based on the task size and complexity. For example, a smaller initial population size, such as 50-100, can be selected for small tasks, while a larger initial population size, such as 200-500, can be selected for large and complex tasks. The number of subthreads can also be configured based on the number of CPU cores on the computer. For example, a 4-core CPU can have 4-8 subthreads, while an 8-core CPU can have 8-16 subthreads. The target CPU utilization and target memory utilization can be adjusted based on system resource availability. For example, the target CPU utilization can be set to 70%-90%, and the target memory utilization can be set to no more than 80% of the system's available memory. Other relevant parameters can also be introduced, such as the maximum number of iterations and the trigger conditions for co-evolution. These parameters can be calibrated experimentally to find the optimal parameter combination. Presetting these parameters provides clear goals and constraints for the scheduling optimization process and provides a basis for subsequent adaptive adjustments. The interaction between these parameters ensures full utilization of computing resources while improving the quality and optimization efficiency of the scheduling solution.

[0059] S300 , utilizing multiple configured sub-threads to perform evolutionary optimization on the initialized population or its derived population in parallel, wherein the evolutionary optimization includes each sub-thread performing a preset evolutionary operation on the population individuals assigned thereto to generate a new scheduling scheme.

[0060] S400 , during the evolutionary optimization process, reading the current CPU usage and memory usage of the computer, and adjusting the number of running child threads according to a comparison result between the current CPU usage and memory usage and the target CPU usage and target memory usage.

[0061] S500, determine whether the preset scheduling stop condition is met; if so, output the optimal scheduling scheme among the current various groups; if not, return to step S300.

[0062] In some embodiments, the evolutionary optimization of sub-threads further includes: sorting the scheduling schemes in the initial population according to the objective function value, and allowing each scheduling scheme individual to evolve in different sub-threads using different evolutionary directions determined based on the sorting results. This step aims to improve population diversity through differentiated evolutionary strategies and prevent the algorithm from falling into local optimality too early. Sorting according to the objective function value refers to evaluating the pros and cons of individuals in the initial population according to a preset fitness function. For example, if the goal is to minimize the maximum completion time, the individuals with smaller objective function values ​​are ranked higher. Different evolutionary directions refer to assigning different evolutionary strategies or operator combinations to different sub-threads, allowing them to explore the solution space from different perspectives. For example, some sub-threads focus on optimizing task sequences, while other sub-threads focus on optimizing worker assignments. In specific implementations, sorting can use algorithms such as quick sort and merge sort. Evolutionary directions can be assigned using the following strategies: High-ranking individuals are assigned to subthreads focused on local search, where they are deep-dived using high-intensity local optimization operators (such as task insertion and task swapping); low-ranking individuals are assigned to subthreads focused on global exploration, where they are pushed out of local optima using highly disruptive mutation operators (such as large-scale mutation and random restarts). Alternatively, the population can be divided into multiple subsets based on the objective function value, with different evolutionary directions assigned to each subset. Furthermore, the assignment of evolutionary directions can be tailored to individual characteristics. For example, individuals with good task sequences but poor worker assignment can be assigned to subthreads focused on optimizing worker assignment. This differentiated evolutionary strategy fully leverages population information, guiding subthreads to explore the solution space from different perspectives, thereby improving the algorithm's global search capability and robustness.

[0063] In some embodiments, different evolutionary directions include: using different combinations of evolutionary operators for evolution; or focusing on optimizing different components of the scheduling scheme (such as task sequences or worker assignments). This feature aims to further refine the differentiated evolutionary strategy and improve the algorithm's search efficiency by more flexibly allocating evolutionary resources. Using different combinations of evolutionary operators for evolution means configuring different combinations of operators, such as crossover and mutation, for different sub-threads. For example, some sub-threads may use sequential crossover (OX) and insertion mutation to focus on optimizing task sequences, while other sub-threads may use multi-point assignment crossover and single-point worker reassignment to focus on optimizing worker assignments. Focusing on optimizing different components of the scheduling scheme means focusing the optimization of sub-threads on task sequences or worker assignments. For example, some sub-threads may have fixed worker assignments and optimize only task sequences, while other sub-threads may have fixed task sequences and optimize only worker assignments. In specific implementations, the evolutionary operator combination can be adjusted based on the characteristics of the individuals assigned to the sub-threads. For example, for individuals with poor task sequences, an operator combination that emphasizes sequence optimization may be used. Focused optimization can be achieved by adjusting the targets of operators like crossover and mutation. For example, if you prioritize task sequence optimization, you can increase the probability of crossover and mutation for these tasks. Furthermore, you can employ adaptive operator selection strategies to dynamically adjust operator combinations and optimization priorities based on the evolutionary performance of sub-threads. Using different evolutionary directions allows sub-threads to co-evolve in different search directions, improving the algorithm's ability to escape local optima and ultimately enhancing the quality of the scheduling solution.

[0064] In some embodiments, after each subthread completes a round of evolution, a local search operation is performed on the optimal schedule individuals generated in all subthreads. The optimal schedule individual resulting from the local search operation is stored as a reference schedule. The remaining schedule individuals are sorted according to their fitness, and the sorted results are used to replace the schedule individuals in subthreads in some evolutionary directions. This step aims to enhance the algorithm's local search capabilities and collaborative evolutionary effects. By local search of elite individuals and the exchange of population information, the algorithm's convergence process is accelerated and the solution quality is improved. Performing a local search operation on the optimal schedule individuals generated in all subthreads aims to deeply explore the current optimal solution and further improve its quality. The local search operation can utilize a variety of neighborhood search algorithms, such as task insertion, task exchange, and worker reassignment. The optimal schedule individual resulting from the local search operation is stored as a reference schedule, aiming to preserve high-quality solutions and provide a reference for subsequent evolutionary processes. The reference schedule can be stored in a reference solution repository (RSR) or in other forms. The remaining schedule individuals are ranked according to their fitness, and the ranking results are used to replace schedule individuals in subthreads of certain evolutionary directions, aiming to promote the exchange of population information and co-evolution. For example, individuals with poor rankings can be replaced with individuals from the reference schedule, or individuals from subthreads of different evolutionary directions can be exchanged. Local search for the optimal individual improves solution quality, while preserving the reference schedule and replacing individuals in the population promotes the exchange of population information and co-evolution, thereby improving the algorithm's convergence speed, global search capabilities, and the efficiency of production scheduling.

[0065] In some embodiments, local search operations include search algorithms based on specific neighborhood structures, including task insertion, task swapping, or worker reassignment. This feature aims to clarify the specific implementation methods of local search, further improving the algorithm's local search efficiency and solution quality. A search algorithm based on a specific neighborhood structure refers to a method that searches for a better solution within the neighborhood of the current solution by defining a certain neighborhood structure. The neighborhood structure defines how to transform from one solution to its neighboring solutions. Task insertion involves moving a task from its current location to another, for example, moving Task A from the 3rd location to the 7th location. Task swapping involves swapping the positions of two tasks, for example, swapping the task in the 5th location with the task in the 9th location. Worker reassignment involves reassigning workers to a task, for example, moving Task A from Worker B to Worker C. In specific implementations, the following strategies can be employed: For task insertion and task swapping, tasks near the critical path can be selected for operation to more effectively shorten the maximum completion time. For worker reassignment, factors such as worker skill level and workload can be considered to improve worker skill matching and workload balance. Furthermore, strategies such as simulated annealing and tabu search can be combined to avoid falling into local optima. By employing local search operations based on neighborhood structures such as task insertion, task exchange, or worker reassignment, it is possible to effectively search for better solutions near the current solution, improving the quality of the scheduling solution and local optimization capabilities.

[0066] In some embodiments, in step S300, the evolutionary optimization of the subthreads further includes: adding at least one separate subthread; the separate subthread randomly selecting at least two reference schedules from a plurality of stored reference schedules; forming a new combined schedule using the selected at least two reference schedules through a predefined combination operation, and calculating a target value for the combined schedule. This feature aims to introduce an exploration mechanism that generates new, potentially better solutions by combining known excellent solution fragments, thereby enhancing the algorithm's ability to escape local optima. Adding at least one separate subthread to perform the reference schedule combination operation ensures exploratory search without affecting the normal evolution of other subthreads. The separate subthread randomly selects at least two reference schedules from a plurality of stored reference schedules. The reference schedules can be selected from a reference solution repository (RSR) or obtained from other sources. Random selection increases the diversity of combinations and avoids repeatedly combining the same solutions. The selected at least two reference schedules are formed into a new combined schedule using a predefined combination operation, and the target value for the combined schedule is calculated. The combination operation involves splicing or fusing fragments of two or more reference schedules to form a complete schedule. Combination operations can be based on the swap operator for task blocks, the assignment merge operator based on worker skill matching, or other custom operators. The target value of the combined schedule is calculated to evaluate the quality of the newly generated solution. By adding a separate subthread to combine reference schedules, exploratory search can be performed based on known excellent solutions, facilitating the discovery of new and potentially better solutions and improving the algorithm's global search capabilities.

[0067] In some embodiments, after adjusting the number of running sub-threads in step S400, the method further comprises adjusting the number of populations according to the adjusted number of sub-threads. This feature aims to keep the population size matched with the computing resources, so as to make more efficient use of computing resources and avoid affecting the performance of the algorithm due to the population size being too large or too small. The adjustment of the number of running sub-threads is based on the comparison of the current CPU usage and memory usage of the computer with the target CPU usage and target memory usage. If the computing resources are relatively abundant, the number of sub-threads can be increased, and vice versa, if the computing resources are relatively tight, the number of sub-threads can be reduced. Accordingly, the number of populations needs to be adjusted according to the adjusted number of sub-threads to keep the population size matched with the computing resources. For example, if the number of sub-threads is increased, the number of populations can be moderately increased to improve the diversity of the search; if the number of sub-threads is reduced, the number of populations can be moderately reduced to reduce the computational overhead. In specific implementation, the adjustment of the number of populations can adopt a linear proportional relationship or a non-linear proportional relationship, for example, for every increase of one sub-thread, the number of populations is increased by 10%. In addition, upper and lower limits of the number of populations can be set to avoid the number of populations being too large or too small. By adjusting the number of populations according to the adjusted number of sub-threads, more efficient use of computing resources can be achieved, and a balance between computational efficiency and solution quality can be achieved.

[0068] In some embodiments, the method further comprises: during the evolutionary optimization process, saving the superior scheduling scheme individuals generated during the evolutionary process as historical reference information; and using the historical reference information to guide the subsequent evolutionary optimization process. This feature aims to use valuable information generated during the evolutionary process to guide the subsequent search process, accelerate the convergence of the algorithm and improve the quality of the solution. The superior scheduling scheme individuals generated during the evolutionary process can be the optimal individuals, individuals with fitness higher than the average level, or individuals with certain specific structural characteristics. The historical reference information can be stored in the reference scheme library RSR or saved in other forms, for example, stored in the form of a file on the hard disk. Using the historical reference information to guide the subsequent evolutionary optimization process, the specific implementation can include: using the historical reference information as part of the initial population to guide the search direction; adjusting based on the historical reference information during evolutionary operations such as crossover and mutation to produce better offspring; and using the historical reference information as the starting point for the local search process to speed up the local optimization process. By saving and using the historical reference information, valuable information generated during the evolutionary process can be effectively used to guide the subsequent search process, improve the convergence speed of the algorithm and the quality of the solution.

[0069] In some embodiments, predefined combination operations include a task block swap operator or a worker skill matching-based assignment merge operator. This feature is intended to clarify the specific type of combination operation and improve its relevance and effectiveness. The task block swap operator swaps a task block (i.e., multiple consecutive tasks) in one schedule with a task block in another schedule, thereby forming a new schedule. For example, tasks 2-5 in schedule A can be swapped with tasks 7-10 in schedule B. The worker skill matching-based assignment merge operator merges the worker-task assignments in two schedules, prioritizing the assignment with the higher skill match. For example, if Task A is performed by Worker D in Schedule C with an 80% skill match, and by Worker F in Schedule E with a 90% skill match, then in the merged schedule, Task A will be performed by Worker F. In specific implementations, the task block swap can be performed by randomly selecting the starting position and length of the task block, or by selecting the task blocks on the critical path. Worker skill matching can be assessed using a worker skill matrix and can be comprehensively considered in conjunction with factors such as worker workload. By employing a task-block-based exchange operator or a worker skill-matched assignment merge operator, more promising scheduling solutions can be generated based on known excellent solution fragments, improving the algorithm's global search capabilities and solution quality.

[0070] In some embodiments, in step S200, the randomized greedy heuristic algorithm considers preset worker skill constraints and worker availability constraints when generating the first scheduling solution. This feature ensures the presence of a high-quality feasible solution in the initial population, provides a good starting point for subsequent evolutionary optimization, and accelerates the algorithm's convergence process. Worker skill constraints refer to restrictions on the skill type and skill level required of workers to perform a specific task. For example, a welding task requires workers to possess welding skills and a skill level of 3 or above. Worker availability constraints refer to restrictions on the time periods in which workers can work. For example, worker A can work from 8:00 AM to 12:00 PM and from 2:00 PM to 6:00 PM on a given day. The randomized greedy heuristic algorithm must simultaneously satisfy these constraints when generating a scheduling solution. In specific implementation, the following strategy can be adopted: First, based on the skill requirements of the task, a set of workers that meet the skill requirements is selected. Then, from this selected set of workers, workers available within the task execution window are selected based on their availability. Finally, from the available workers, the execution worker is selected based on a greedy criterion, such as the highest skill level and the lowest current load. By considering the worker skill constraints and the worker available time constraints, it is possible to ensure that the generated initial solution is feasible and has high quality, thereby accelerating the convergence speed of the algorithm and improving the quality of the solution.

[0071] In some embodiments, the individual codes for the production scheduling plan for complex aviation structures utilize a two-layer encoding structure. The first layer of encoding represents the processing order of tasks, and the second layer of encoding represents the corresponding worker for each task step. This feature aims to provide an efficient method for representing scheduling plans, capable of simultaneously expressing both the processing order of tasks and the worker assignment, thus providing a foundation for subsequent optimization operations. The first layer of encoding (the task sequence layer) is typically a sequence of integers, where each integer represents a task ID, and the order of the integers represents the processing order of the tasks. For example, the sequence [3, 1, 5, 2, 4] indicates that task 3 will be processed first, followed by tasks 1, 5, 2, and 4. The second layer of encoding (the worker assignment layer) is used to represent the corresponding worker for each task step. Each step in the sequence is assigned a specific worker ID. For example, for the task sequence [3, 1, 5, 2, 4], the corresponding worker assignments are [W5, W2, W1, W3, W4], indicating that task 3 is performed by worker W5, task 1 by worker W2, and so on. The dual-layer encoding structure can simultaneously express the task processing sequence and worker allocation, thereby more comprehensively describing the scheduling plan and providing richer information for subsequent optimization operations. Furthermore, the dual-layer encoding structure facilitates evolutionary operations such as crossover and mutation, accelerating the algorithm's convergence process.

[0072] In some embodiments, preset scheduling stopping conditions include reaching a maximum number of evolutionary generations, reaching a computational time limit, or the optimal scheduling solution's objective function value failing to improve significantly over a specified number of consecutive generations. This feature is intended to ensure that the algorithm can stop within a reasonable timeframe and output a scheduling solution of acceptable quality. Reaching the maximum number of evolutionary generations means that the number of algorithm iterations reaches a preset upper limit. Reaching the computational time limit means that the algorithm's runtime reaches a preset upper limit. Failing to improve significantly over a specified number of consecutive generations means that the fitness value of the optimal solution changes by less than a certain threshold over multiple generations of evolution. For example, the maximum number of evolutionary generations can be set to 500, the computational time limit to 1 hour, and the fitness value of the optimal solution failing to improve by more than 5% over 100 consecutive generations. In specific implementations, these stopping conditions can be flexibly adjusted based on the scale and complexity of the task, the availability of computing resources, and the required solution quality. By setting appropriate stopping conditions, a balance can be achieved between computational efficiency and solution quality, ensuring that the algorithm can output a scheduling solution of acceptable quality within a reasonable timeframe.

[0073] In some embodiments, before outputting the optimal scheduling scheme, a feasibility check is also performed on the optimal scheduling scheme to ensure that it satisfies all predefined hard production constraints. This feature aims to ensure that the final output scheduling scheme is actually executable, thereby avoiding production interruptions or delays due to constraint violations during production. Hard production constraints refer to constraint conditions that must be strictly satisfied in production scheduling, such as worker skill constraints, worker available time constraints, equipment capacity constraints, task priority constraints, etc. The specific feasibility check can include the following steps: checking whether each task is assigned to a worker with the corresponding skill; checking whether the execution time of each task is within the available time of the worker; checking whether each task uses available equipment resources; checking whether the execution order of the tasks satisfies the task priority constraints. If any constraint violation is found, the scheduling scheme needs to be adjusted or re-optimized until all hard production constraints are satisfied. For example, if a worker is found to be assigned to a task for which he does not have the necessary skills, the worker needs to be reassigned or the task sequence needs to be adjusted. By performing a feasibility check, it can be ensured that the final output scheduling scheme is actually executable, thereby improving the reliability and effectiveness of production scheduling.

[0074] The embodiment of the present application further describes and illustrates the implementation process and effect of the present application through simulation experiment operation and process record applied to the actual case set of 135 groups of production scheduling problems of certain complex aviation structure.

[0075] (1) Actual factory case used in simulation experiment

[0076] The following actual case set of 135 groups of production scheduling problems of certain complex aviation structure is used to test the effectiveness of the present application.

[0077] (2) Simulation experiment parameter setting

[0078] In order to ensure a more fair representation of the effect of the algorithm, the stopping condition is set to (10 x n x m x w) ms. The initial population size is 5, the initial number of sub-threads ST0 is 5, the CPU usage is set to 80%, and the CPU memory usage is set to 80%.

[0079] (3) Simulation experiment environment

[0080] The present application is programmed using C++ language, and the program running environment is: Windows 10 operating system, AMD Ryzen5 5600G, Radeon Graphics 3.90GHz, memory 32.00GB.

[0081] (4) Simulation content: performance comparison of the present application and other algorithms

[0082] This experiment compares the performance of the parallel optimization algorithm POA (Parallel Optimization Algorithm) of the present invention with other algorithms to verify the effectiveness of the present invention. In order to eliminate the calculation errors caused by the randomness of the algorithm as much as possible and make the calculation results more effective and general, each example is run 20 times continuously. As shown in Table 1, the present invention uses the RPI evaluation method to compare the effectiveness of the algorithm. The evaluation formula is:

[0083]

[0084] The calculation results of the present invention are marked.

[0085] Table 1 Comparison of the running results of algorithm task scheduling

[0086]

[0087] Among them, POA was compared with four state-of-the-art algorithms, including a hybrid genetic algorithm variable neighborhood search (HGA), a novel structured artificial bee colony algorithm (ABC) with a local improvement strategy for the problem by adaptive large neighborhood search (ALNS), an improved genetic programming algorithm (IGA) with a superior and inferior population separation strategy, and a novel cooperative evolutionary algorithm (CCEA) model and reinitialization scheme. The adjustment of the comparison algorithm was improved for the production scheduling problem of complex aviation structural parts, and the characteristics of the problem were modified on this basis. The experimental results are as follows. Figure 2 As shown in Table 1. Figure 2 As shown, POA clearly maintains the best performance among all algorithms. CCEA performs well, but its search capability decreases as the instance size becomes larger. Unlike CCEA, HGA and IGA have a general effect on small instances. HGA's performance deteriorates as the instance size increases. However, IGA performs better than HGA. ABC is less efficient throughout the entire process.

[0088] like Figure 3 As shown, an embodiment of the present invention further provides an adaptive collaborative parallel optimization production scheduling system for complex aviation structural parts, which is used to implement the above-mentioned adaptive collaborative parallel optimization production scheduling method for complex aviation structural parts, including:

[0089] The parameter preset module M100 is configured to preset the parameters related to the parallel algorithm, including the initial population size, the number of sub-threads, the target CPU usage rate, and the target memory usage rate;

[0090] A population initialization module M200 is configured to initialize a population, wherein the initialized population includes a first scheduling solution generated by a random greedy heuristic algorithm and remaining scheduling solutions generated by a random generation method until the initial population size is reached;

[0091] A parallel evolutionary optimization module M300 is configured to perform evolutionary optimization on the initialized population or its derived population in parallel using multiple configured sub-threads, wherein the evolutionary optimization includes causing each sub-thread to perform a preset evolutionary operation on the population individuals assigned thereto to generate a new scheduling solution;

[0092] The adaptive adjustment module M400 is configured to read the CPU usage and memory usage of the current computer during the evolutionary optimization process, and adjust the number of running sub-threads according to the comparison result between the current CPU usage and memory usage and the target CPU usage and target memory usage;

[0093] The scheduling output module M500 is configured to output the optimal scheduling scheme in the current various groups when it is determined that the preset scheduling stop condition is met, or to instruct the parallel evolutionary optimization module M300 to continue to perform evolutionary optimization when the scheduling stop condition is not met.

[0094] Among them, the parameter preset module M100 is responsible for presetting the relevant parameters of the parallel algorithm and providing the necessary initial conditions and constraints for the subsequent scheduling optimization process. The population initialization module M200 is responsible for initializing the population and providing an initial solution set for evolutionary optimization. The parallel evolutionary optimization module M300 is responsible for using multiple sub-threads to perform evolutionary optimization on the population in parallel to improve the search efficiency of the algorithm. The adaptive adjustment module M400 is responsible for dynamically adjusting the number of sub-threads according to the utilization of computing resources, thereby achieving adaptive and efficient utilization of computing resources. The scheduling output module M500 is responsible for outputting the final scheduling plan. Through the collaborative work of the above modules, efficient and intelligent solutions to the production scheduling problems of complex aviation structural parts can be achieved.

[0095] An embodiment of the present invention also provides a computer program product, including a computer program code, which, when executed by a processor, enables the processor to execute the above-mentioned adaptive collaborative parallel optimization method for scheduling the production of complex aviation structures. The computer program product can be any form of computer-readable storage medium, such as a CD, a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), etc. Computer program code refers to a set of instructions that can be executed by a processor to implement a specific function. When the processor executes the computer program code, the adaptive collaborative parallel optimization method for scheduling the production of complex aviation structures described in any one of claims 1 to 7 can be implemented. By implementing the method of the present invention in the form of a computer program product, it can be easily deployed and run on various computing devices, thereby realizing the automation and intelligence of the production scheduling of complex aviation structures, which helps to improve production efficiency and resource utilization.

[0096] The above is a further detailed description of the present invention in conjunction with specific preferred embodiments, and the specific implementation of the present invention should not be considered to be limited to these descriptions. For those skilled in the art of the present invention, without departing from the concept of the present invention, several simple deductions or substitutions can be made, which should be considered to fall within the scope of protection of the present invention.

Claims

1. An adaptive collaborative parallel optimization method for production scheduling of complex aviation structural parts, characterized by: The following steps are involved: S100, presetting parallel algorithm related parameters, wherein the parameters include the initial population size, the number of child threads, the target CPU usage rate, and the target memory usage rate; S200, initializing a population, wherein the initialization population includes a first scheduling solution generated by a random greedy heuristic algorithm and other scheduling solutions generated by a random generation method, until the initial population size is reached; S300, using the configured multiple sub-threads to perform evolutionary optimization on the initialized population or its derived population in parallel, wherein the evolutionary optimization includes each sub-thread performing a preset evolutionary operation on the population individuals assigned thereto to generate a new scheduling scheme; S400, during the evolutionary optimization process, reading the current CPU usage and memory usage of the computer, and adjusting the number of the running sub-threads according to a comparison result between the current CPU usage and memory usage and the target CPU usage and target memory usage; S500, determine whether the preset scheduling stop condition is met; if so, output the optimal scheduling scheme among the current various groups; if not, re-execute step S300.

2. The method according to claim 1, characterized in that The evolutionary optimization of the sub-thread further includes: Sorting the scheduling schemes in the initialized population according to the objective function value; Each individual scheduling scheme is evolved in different sub-threads using different evolutionary directions determined based on the sorting results.

3. The method according to claim 2, characterized in that The different evolutionary directions include: Use different combinations of evolution operators for evolution; or, Focus on optimizing different components of the scheduling plan.

4. The method according to claim 2, characterized in that The evolutionary optimization of the sub-thread further includes: After each sub-thread completes a round of evolution, a local search operation is performed on the optimal scheduling solution individuals generated in all sub-threads; The optimal scheduling solution obtained through the local search operation is stored as a reference scheduling solution; The remaining scheduling scheme individuals are sorted according to their fitness, and the sorting results are used to replace the scheduling scheme individuals in the sub-threads of some evolutionary directions.

5. The method according to claim 4, characterized in that The local search operation includes a search algorithm based on a specific neighborhood structure, wherein the specific neighborhood structure includes task insertion, task exchange, or worker reassignment.

6. The method according to any one of claims 5, characterized in that The evolutionary optimization of the sub-thread further includes: Add at least one separate child thread; The separate sub-thread randomly selects at least two reference scheduling schemes from a plurality of stored reference scheduling schemes; The at least two selected reference scheduling schemes are combined into a new combined scheduling scheme through a predefined combination operation, and a target value of the combined scheduling scheme is calculated.

7. The method according to claim 6, characterized in that The predefined combination operation includes a task block-based exchange operator or a worker skill matching-based assignment merge operator.

8. The method according to claim 1, characterized in that The preset scheduling stop conditions include reaching the maximum evolutionary generation, the calculation time reaching the upper limit, or the objective function value of the optimal scheduling solution not being significantly improved for a specified number of consecutive generations.

9. An adaptive collaborative parallel optimization production scheduling system for complex aviation structures, characterized by: The method for implementing any one of claims 1 to 8 comprises: A parameter preset module is configured to preset parameters related to the parallel algorithm, including the initial population size, the number of child threads, the target CPU usage rate, and the target memory usage rate; a population initialization module configured to initialize a population, wherein the initialized population includes a first scheduling solution generated by a random greedy heuristic algorithm and remaining scheduling solutions generated by a random generation method until the initial population size is reached; a parallel evolutionary optimization module configured to perform evolutionary optimization on the initialized population or its derived population in parallel using the configured multiple sub-threads, wherein the evolutionary optimization includes causing each sub-thread to perform a preset evolutionary operation on the population individuals assigned thereto to generate a new scheduling scheme; an adaptive adjustment module configured to read the current CPU usage and memory usage of the computer during the evolutionary optimization process, and adjust the number of the running sub-threads according to a comparison result between the current CPU usage and memory usage and the target CPU usage and target memory usage; The scheduling output module is configured to output the optimal scheduling plan among the current various populations when it is determined that the preset scheduling stop condition is met, or to instruct the parallel evolutionary optimization module to continue executing evolutionary optimization when the scheduling stop condition is not met.

10. A computer program product, characterized in that The method comprises a computer program code which, when executed by a processor, causes the processor to perform the method according to any one of claims 1 to 8.

Citation Information

Cited By

  • Aviation composite material solidification scheduling method and system considering multilayer space and time window constraints

    CN121787872A