Two-stage scheduling method and device based on worker-constrained complex welding scene
By improving the two-stage scheduling method of disjunctive graph model and vector encoding, the allocation of machine tools and workers was optimized, solving the waiting problem caused by insufficient worker resources and improving the production efficiency of the welding workshop for complex aerospace products.
Patent Information
- Application Number
- CN202410984631.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-22
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-07-22
AI Technical Summary
Existing worker-constrained welding workshop scheduling methods cannot simultaneously consider the complexity of worker transfer and process decomposition, resulting in insufficient worker resources and waiting, and failing to effectively improve the production capacity of welding workshops for complex aerospace products.
A two-stage scheduling method based on an improved disjunctive graph model and vector encoding is adopted. Through genetic evolution search and multi-view collaborative neighborhood search, machine tool allocation, process sequence and worker allocation are optimized to obtain a scheduling scheme for complex welding workshops.
It improved the solution efficiency for complex welding workshop scheduling with worker constraints, increased the production capacity of aerospace products, and solved the waiting problem caused by competition for worker resources.
Smart Images

Figure CN119002410B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of worker-constrained workshop scheduling technology, and in particular to a two-stage scheduling method and apparatus based on complex welding scenarios with worker constraints. Background Technology
[0002] The main bottleneck in the production process of aerospace products is the welding process. In the welding workshop, the welding time of parts is long, workers are divided into different levels, and parts need to be placed on the workstation before welding. Due to the large size of the parts, multiple workers often need to weld different weld points at the same time. These characteristics make it very difficult to increase production capacity from the perspective of resource scheduling.
[0003] Current solutions to workshop scheduling problems that consider worker constraints are inadequate in terms of both the problem and the methodology.
[0004] At the problem level, current welding workshop scheduling methods only consider the characteristics of process decomposition and worker classification. However, the number of workers available for each resource is unlimited, so there is no complexity of process waiting due to worker transfer or resource shortage. The assumptions of this type of research are too idealistic and do not conform to actual welding scenarios, making them difficult to apply. Current technologies that consider worker resources mainly focus on the characteristics of worker transfer, combined with the problem scenario of flexible workshops. However, these technologies only assume that one worker processes one process, so worker transfer is relatively simple and there is no waiting due to insufficient worker resources. Similarly, they cannot be applied to resource scheduling in actual complex aerospace product welding workshops.
[0005] At the methodological level, firstly, the complex coupling of worker transfer and process decomposition leads to waiting situations in resource scheduling due to insufficient worker resources. Traditional disjunctive graphs in flexible workshops can only describe the sequence of processes on the same workpiece and machine, not the sequence of processes on the same worker. Therefore, traditional disjunctive graphs cannot be directly used to find the critical path of the scheduling scheme, thus hindering efficient optimization. Secondly, insufficient worker resources result in significant waiting time in the scheduling scheme, but traditional neighborhood structures only consider optimization from the perspective of machine allocation and process adjustment, neglecting the aforementioned difficulties, and therefore cannot efficiently optimize waiting time caused by worker constraints. Finally, because this scheduling problem is modeled considering constraints from the actual production scenario, there is a lack of research on related problems in the field of workshop scheduling, thus lacking an efficient solution framework.
[0006] In summary, existing worker-constrained welding workshop scheduling methods cannot simultaneously consider the complexity of worker transfer and process decomposition, cannot improve production capacity from the perspective of resource scheduling, and are difficult to apply to complex resource scheduling scenarios in aerospace product welding workshops, which urgently need to be addressed. Summary of the Invention
[0007] This application provides a two-stage scheduling method and apparatus based on complex welding scenarios with worker constraints, in order to solve the problems that existing welding workshop scheduling methods with worker constraints cannot simultaneously consider the complexity of worker transfer and process decomposition, are prone to waiting due to competition for worker resources, and are difficult to apply to complex resource scheduling scenarios in aerospace product welding workshops.
[0008] The first aspect of this application provides a two-stage scheduling method for complex welding scenarios with worker constraints, comprising the following steps: modeling the welding scenario of the target aerospace product as a complex welding workshop scheduling model, and performing vector encoding on the complex welding workshop scheduling model to obtain vector encoding results; searching for the critical path of the complex welding workshop scheduling model based on a preset improved disjunctive graph model and the vector encoding results, and decoding the critical path through a preset fully active decoding strategy to obtain the target critical path; and performing a first genetic evolutionary search operation on a preset machine tool allocation and process sequence model based on the target critical path to obtain the machine tool allocation and process sequence. The first global optimal solution of the sequential model is obtained, and a preset multi-perspective collaborative neighborhood search operation is iteratively performed on the machine tool allocation and process sequence model to optimize the first global optimal solution; a second genetic evolution search operation is performed on the preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution, and the preset multi-perspective collaborative neighborhood search operation is iteratively performed on the machine tool-worker allocation and process sequence model using the second global optimal solution to optimize the second global optimal solution, and the target scheduling scheme of the complex welding workshop scheduling model is obtained based on the optimized first global optimal solution and the second global optimal solution.
[0009] Optionally, in one embodiment of this application, the step of searching the critical path of the complex welding workshop scheduling model based on the preset improved disjunction graph model, the worker coding information, and the process-worker fusion coding information includes: establishing the current process node, machine disjunction arc set, worker disjunction arc set, and connection arc set corresponding to the complex welding workshop scheduling model; and constructing the improved disjunction graph model based on the current process node, the machine disjunction arc set, the worker disjunction arc set, and the connection arc set.
[0010] Optionally, in one embodiment of this application, the step of decoding the critical path using a preset fully active decoding strategy to obtain the target critical path includes: obtaining the machining position of the machine tool selected for the current process in the critical path; scanning all preceding processes corresponding to multiple machining positions in the critical path according to a preset scanning order, and calculating the idle interval of each preceding process; determining whether the idle interval of the current machining position in the critical path is greater than the machining time of the current process, and whether the start time of the current process is less than the completion time of the previous process; if the idle interval of the current machining position is greater than the machining time of the current process, and the start time of the current process is less than the completion time of the previous process, then inserting the current process into the current machining position; otherwise, skipping the current machining position to scan other preceding processes; if there are no empty positions that meet the preset position conditions in all preceding processes, then placing the current process in the last machining position of the selected machine tool to obtain the target critical path.
[0011] Optionally, in one embodiment of this application, the step of performing a first genetic evolutionary search operation on a preset machine tool allocation and process sequence model based on the target critical path to obtain a first globally optimal solution for the machine tool allocation and process sequence model includes: establishing a first parent population corresponding to the machine tool allocation and process sequence model, randomly initializing the first parent population, and performing a fully active scheduling decoding operation on the initialized first parent population to obtain a second parent population; calculating the maximum completion time of the second parent population, and repeatedly randomly selecting two solutions from the second parent population, and setting the maximum completion time of the two solutions as the maximum completion time. The solution with the shortest completion time is added to a preset mating pool until the number of solutions in the preset mating pool reaches a preset threshold. Individuals in the second parent population are subjected to process crossover and machine crossover operations with any individual in the preset mating pool to generate a offspring population. The offspring population and the second parent population are combined to obtain a merged population. Based on the maximum completion time, all individuals in the merged population are sorted in ascending order to obtain an individual sequence. A preset number of individuals are selected from the first few individuals in the individual sequence to construct a third parent population. The first globally optimal solution of the machine tool allocation and process sequence model is obtained based on the third parent population.
[0012] Optionally, in one embodiment of this application, the step of iteratively performing a preset multi-view collaborative neighborhood search operation on the machine tool allocation and process sequence model to optimize the first global optimal solution includes: obtaining the worker-view Gantt chart and the machine-view Gantt chart corresponding to the machine tool allocation and process sequence model; scanning all key processes in the target critical path to determine the machine processing position and worker processing position of the current key process based on all key processes; calculating the earliest start time, first completion time, second completion time, and third completion time of each key process in all key processes based on the improved disjunctive graph model, the machine processing position, and the worker processing position; when the earliest start time is the first completion time, identifying other worker vacancy positions in the worker-view Gantt chart. Perform a neighborhood search; when the earliest possible start time is the second completion time, perform a neighborhood search on other machine vacancies in the machine-view Gantt chart; when the earliest possible start time is the first completion time, and the first completion time and the second completion time are the same, perform a collaborative neighborhood search on other worker vacancies and other machine vacancies using the worker-view Gantt chart and the machine-view Gantt chart; when the earliest possible start time is the third completion time, skip the current critical process and perform a neighborhood search on other critical processes among all critical processes; calculate the maximum completion time of the neighborhood solution based on the search results of the neighborhood search or collaborative neighborhood search; if the maximum completion time is less than the first global optimal solution, update the first global optimal solution using the maximum completion time.
[0013] Optionally, in one embodiment of this application, the step of performing a second genetic evolutionary search operation on a preset machine tool-worker allocation and process sequence model to obtain a second globally optimal solution for the machine tool-worker allocation and process sequence model includes: establishing a new first parent population corresponding to the machine tool-worker allocation and process sequence model, randomly initializing the new first parent population, and performing a fully active scheduling decoding operation on the initialized new first parent population to obtain a new second parent population; calculating the maximum completion time of the new second parent population, and repeatedly randomly selecting two new solutions from the new second parent population, and liberating the solution with the smallest maximum completion time among the two new solutions. The individuals are added to a preset mating pool until the number of solutions in the preset mating pool reaches the preset threshold. Individuals in the new second parent population are subjected to process crossover, worker crossover, and machine crossover operations with any individual in the preset mating pool to generate a new offspring population. The new offspring population and the new second parent population are combined to obtain a new merged population. Based on the maximum completion time, all individuals in the new merged population are sorted in ascending order to obtain a new individual sequence. A preset number of individuals at the beginning of the new individual sequence are selected to construct a new third parent population. The second global optimal solution of the machine tool-worker allocation and process sequence model is obtained based on the new third parent population.
[0014] A second aspect of this application provides a two-stage scheduling device for complex welding scenarios with worker constraints, comprising: a modeling module for modeling the welding scenario of a target aerospace product as a complex welding workshop scheduling model, and performing vector encoding on the complex welding workshop scheduling model to obtain a vector encoding result; a decoding module for searching the critical path of the complex welding workshop scheduling model based on a preset improved disjunctive graph model and the vector encoding result, and decoding the critical path through a preset fully active decoding strategy to obtain a target critical path; and a first-stage solution module for performing a first genetic evolutionary search operation on a preset machine tool allocation and process sequence model based on the target critical path to obtain the machine tool allocation and process sequence. The first global optimal solution of the machine tool allocation and process sequence model is obtained, and a preset multi-view collaborative neighborhood search operation is iteratively performed on the machine tool allocation and process sequence model to optimize the first global optimal solution; the second-stage solution module is used to perform a second genetic evolution search operation on the preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution, and iteratively perform the preset multi-view collaborative neighborhood search operation on the machine tool-worker allocation and process sequence model through the second global optimal solution to optimize the second global optimal solution, and obtain the target scheduling scheme of the complex welding workshop scheduling model based on the optimized first global optimal solution and the second global optimal solution.
[0015] Optionally, in one embodiment of this application, the decoding module includes: a first establishment unit, configured to establish the current process node, machine disjunction arc set, worker disjunction arc set, and connection arc set corresponding to the complex welding workshop scheduling model; and a construction unit, configured to construct the improved disjunction graph model based on the current process node, the machine disjunction arc set, the worker disjunction arc set, and the connection arc set.
[0016] Optionally, in one embodiment of this application, the decoding module further includes: a first acquisition unit, configured to acquire the machining position of the machine tool selected for the current process in the critical path; a first calculation unit, configured to scan all preceding processes corresponding to multiple machining positions in the critical path according to a preset scanning order, and calculate the idle interval of each preceding process in all preceding processes; a judgment unit, configured to determine whether the idle interval of the current machining position in the critical path is greater than the machining time of the current process, and whether the start time of the current process is less than the completion time of the previous process; a first analysis unit, configured to insert the current process into the current machining position if the idle interval of the current machining position is greater than the machining time of the current process, and the start time of the current process is less than the completion time of the previous process, otherwise skip scanning other preceding processes at the current machining position; and a second analysis unit, configured to place the current process at the last machining position of the selected machine tool if there are no empty positions that meet the preset position conditions in all preceding processes, so as to obtain the target critical path.
[0017] Optionally, in one embodiment of this application, the first-stage solution module includes: a second establishment unit, configured to establish a first parent population corresponding to the machine tool allocation and process sequence model, randomly initialize the first parent population, and perform a fully active scheduling decoding operation on the initialized first parent population to obtain a second parent population; and a second calculation unit, configured to calculate the maximum completion time of the second parent population, and repeatedly randomly select two solutions from the second parent population, and release the solution with the smallest maximum completion time into a preset mating pool, until the number of solutions in the preset mating pool reaches a certain threshold. The number of individuals is increased until a preset threshold is reached. The first crossover unit is used to perform process crossover and machine crossover operations on individuals in the second parent population with any individual in the preset mating pool to generate a offspring population, and to combine the offspring population and the second parent population to obtain a merged population. The first arrangement unit is used to arrange all individuals in the merged population in ascending order based on the maximum completion time to obtain an individual sequence, and to select a preset number of individuals at the beginning of the individual sequence to construct a third parent population, so as to obtain the first global optimal solution of the machine tool allocation and process sequence model based on the third parent population.
[0018] Optionally, in one embodiment of this application, the first-stage solution module further includes: a second acquisition unit, configured to acquire the worker-view Gantt chart and machine-view Gantt chart corresponding to the machine tool allocation and process sequence model; a scanning unit, configured to scan all critical processes in the target critical path to determine the machine processing position and worker processing position of the current critical process based on all critical processes; a third calculation unit, configured to calculate the earliest start time, first completion time, second completion time, and third completion time of each critical process in all critical processes based on the improved disjunctive graph model, the machine processing position, and the worker processing position; a first search unit, configured to perform a neighborhood search on other worker vacancies in the worker-view Gantt chart when the earliest start time is the first completion time; and a second search unit, configured to perform a neighborhood search on other worker vacancies in the worker-view Gantt chart when the earliest start time is the first completion time. When the earliest possible start time is the second completion time, a neighborhood search is performed on other machine vacancies in the machine-view Gantt chart; a third search unit is used to perform a collaborative neighborhood search on other worker vacancies and other machine vacancies through the worker-view Gantt chart and the machine-view Gantt chart when the earliest possible start time is the first completion time and the first completion time and the second completion time are the same; a fourth search unit is used to skip the current critical process and perform a neighborhood search on other critical processes among all critical processes when the earliest possible start time is the third completion time; an update unit is used to calculate the maximum completion time of the neighborhood solution based on the search results of the neighborhood search or collaborative neighborhood search, and if the maximum completion time is less than the first global optimal solution, the first global optimal solution is updated based on the maximum completion time.
[0019] Optionally, in one embodiment of this application, the second-stage solution module includes: a third establishment unit, used to establish a new first parent population corresponding to the machine tool-worker allocation and process sequence model, and randomly initialize the new first parent population, and perform a fully active scheduling decoding operation on the initialized new first parent population to obtain a new second parent population; a fourth calculation unit, used to calculate the maximum completion time of the new second parent population, and repeatedly randomly select two new solutions from the new second parent population, and release the solution with the smallest maximum completion time into a preset mating pool until the number of solutions in the preset mating pool reaches the preset number threshold;
[0020] The second crossover unit is used to perform process crossover, worker crossover, and machine crossover operations between individuals in the new second parent population and any individual in the preset mating pool to generate a new offspring population, and to combine the new offspring population and the new second parent population to obtain a new merged population; the second arrangement unit is used to arrange all individuals in the new merged population in ascending order based on the maximum completion time to obtain a new individual sequence, and to select a preset number of individuals at the beginning of the new individual sequence to construct a new third parent population, so as to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model based on the new third parent population.
[0021] A third aspect of this application provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the two-stage scheduling method for complex welding scenarios based on worker constraints as described in the above embodiments.
[0022] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described two-stage scheduling method for complex welding scenarios based on worker constraints.
[0023] Therefore, the embodiments of this application have the following beneficial effects:
[0024] The embodiments of this application can be implemented by modeling the welding scenario of the target aerospace product as a complex welding workshop scheduling model, and performing vector encoding on the complex welding workshop scheduling model to obtain the vector encoding result; based on the preset improved disjunctive graph model and the vector encoding result, the critical path of the complex welding workshop scheduling model is searched, and the critical path is decoded through a preset fully active decoding strategy to obtain the target critical path; based on the target critical path, a first genetic evolutionary search operation is performed on a preset machine tool allocation and process sequence model to obtain the first global optimal solution of the machine tool allocation and process sequence model, and a preset multi-view collaborative neighborhood search operation is iteratively performed on the machine tool allocation and process sequence model to optimize the first global optimal solution; a second genetic evolutionary search operation is performed on a preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model, and a preset multi-view collaborative neighborhood search operation is iteratively performed on the machine tool-worker allocation and process sequence model through the second global optimal solution to optimize the second global optimal solution, and the target scheduling scheme of the complex welding workshop scheduling model is obtained based on the optimized first global optimal solution and the second global optimal solution. This application models the welding scenario of complex aerospace products as a complex welding workshop scheduling with worker constraints and solves it using a knowledge-driven two-stage scheduling algorithm, thereby greatly improving the solution efficiency of complex welding workshop scheduling with worker constraints and enhancing the manufacturing capacity of aerospace products from the perspective of resource optimization. This solves the problems of existing worker-constrained welding workshop scheduling methods, such as their inability to simultaneously consider the complexity of worker transfer and process decomposition, their susceptibility to waiting due to worker resource competition, and their difficulty in being applied to complex resource scheduling scenarios in aerospace product welding workshops.
[0025] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0026] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:
[0027] Figure 1 A flowchart of a two-stage scheduling method for complex welding scenarios based on worker constraints, provided according to an embodiment of this application;
[0028] Figure 2 A Gantt chart of a complex welding workshop scheduling model provided in one embodiment of this application;
[0029] Figure 3 A schematic diagram of vector encoding from a machine perspective is provided for one embodiment of this application;
[0030] Figure 4A decoding schematic diagram from a worker's perspective is provided as an embodiment of this application;
[0031] Figure 5 A schematic diagram of vector encoding from a worker's perspective is provided for one embodiment of this application;
[0032] Figure 6 A comparative schematic diagram of a classic disjunction graph and an improved disjunction graph provided for one embodiment of this application;
[0033] Figure 7 A schematic diagram of fully active decoding is provided for one embodiment of this application;
[0034] Figure 8 A schematic diagram of a crossover operator operation is provided for one embodiment of this application;
[0035] Figure 9 A schematic diagram of Gantt chart optimization from both machine and worker perspectives is provided for one embodiment of this application;
[0036] Figure 10 A schematic diagram illustrating the execution logic of a two-stage scheduling method for complex welding scenarios with worker constraints, provided as an embodiment of this application;
[0037] Figure 11 A schematic diagram of the logical architecture of a two-stage scheduling method for complex welding scenarios with worker constraints, provided as an embodiment of this application;
[0038] Figure 12 This is an example diagram of a two-stage scheduling device based on a complex welding scenario with worker constraints, according to an embodiment of this application.
[0039] Figure 13 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0040] Among them, 10-a two-stage scheduling device based on complex welding scenarios with worker constraints; 100-modeling module, 200-decoding module, 300-first-stage solution module, 400-second-stage solution module; 1301-memory, 1302-processor, 1303-communication interface. Detailed Implementation
[0041] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0042] The following describes a two-stage scheduling method and apparatus for complex welding scenarios with worker constraints, based on embodiments of the present application, with reference to the accompanying drawings. Addressing the problems mentioned in the background art, the present application provides a two-stage scheduling method for complex welding scenarios with worker constraints. In this method, the welding scenario of the target aerospace product is modeled as a complex welding workshop scheduling model, and the complex welding workshop scheduling model is vector-encoded to obtain vector encoding results. Based on a preset improved disjunctive graph model and the vector encoding results, the critical path of the complex welding workshop scheduling model is searched, and the critical path is decoded using a preset fully active decoding strategy to obtain the target critical path. Based on the target critical path, a first genetic evolutionary search operation is performed on a preset machine tool allocation and process sequence model to obtain... The first global optimal solution of the machine tool allocation and process sequence model is obtained, and a preset multi-perspective collaborative neighborhood search operation is iteratively performed on the machine tool allocation and process sequence model to optimize the first global optimal solution. A second genetic evolution search operation is performed on the preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution. The preset multi-perspective collaborative neighborhood search operation is then iteratively performed on the machine tool-worker allocation and process sequence model using the second global optimal solution to optimize the second global optimal solution. Based on the optimized first and second global optimal solutions, the target scheduling scheme for the complex welding workshop scheduling model is obtained. This application models the welding scenario of complex aerospace products as a worker-constrained complex welding workshop scheduling and uses a knowledge-driven two-stage scheduling algorithm to solve it, thereby greatly improving the solution efficiency of worker-constrained complex welding workshop scheduling and improving the manufacturing capacity of aerospace products from the perspective of resource optimization. This solves the problems of existing worker-constrained welding workshop scheduling methods, such as difficulty in simultaneously considering the complexity of worker transfer and process decomposition, susceptibility to waiting due to worker resource competition, and difficulty in applying to complex aerospace product welding workshop resource scheduling scenarios.
[0043] Specifically, Figure 1 This is a flowchart illustrating a two-stage scheduling method for complex welding scenarios with worker constraints, provided in an embodiment of this application.
[0044] like Figure 1 As shown, the two-stage scheduling method based on worker-constrained complex welding scenarios includes the following steps:
[0045] In step S101, the welding scenario of the target aerospace product is modeled as a complex welding workshop scheduling model, and the complex welding workshop scheduling model is vector encoded to obtain the vector encoding result.
[0046] The embodiments of this application can first start from the actual scenario, and combine the complexity of worker transfer and process decomposition to model the welding scenario of complex aerospace products as a complex welding workshop scheduling model with worker constraints.
[0047] It should be noted that, as Figure 2 As shown, the complex welding workshop scheduling model in this application embodiment can be described as follows: N workpieces need to be processed, and each workpiece has N... i There is a process in the workshop, with M workstations and a total of W workers, half of whom are senior workers and half are junior workers. The processing time of a senior worker is 0.8 times that of a junior worker. The current process for each part needs to be placed at workstation M. k The process is carried out by Z workers simultaneously, where Z = {1, 2, ..., W}; the basic processing time T for each process is... ijk For a primary worker in machine M k The previous processing step O ij The time when process O ij We selected x elementary work hours and y advanced work hours, assuming process O ij Let H be the work done, and let Po = H / T be the efficiency of a single elementary worker, and Ps = H / T * 0.8 be the efficiency of an advanced worker. Then, the total processing efficiency of the process is Pt = Po * x + Ps * y, and the final actual processing time is T. r =H / Pt=1 / [x / T] ijk +yx / (T ijk *0.8)]. The optimization metric is the maximum completion time C. max The calculation method is as follows:
[0048]
[0049] Among them, C ij Indicates process O ij The completion time.
[0050] Furthermore, in order to cover all solutions in the solution space of this complex welding workshop scheduling model, the embodiments of this application can design two encoding and decoding methods from the machine perspective and the worker perspective, and obtain the corresponding vector encoding results. Figure 3 This is a schematic diagram of vector encoding from a machine's perspective. This encoding method extends the traditional two-layer encoding in flexible workshops by adding worker encoding information to each process, with each process corresponding to a flag bit vector F. 1×W ,like Figure 3 As shown, Figure 3 China O 11 Workers W1, W3, and W4 were selected, and their flag bit vectors are encoded as [1,0,1,1]. During the decoding process, as follows... Figure 4 As shown, process O ijThe process is broken down to each worker, and the start time of the current process is constrained (the maximum of the completion times of the preceding processes of the same workpiece and the preceding processes of the same machine). The completion time of the last position of each worker is compared. If a conflict is found, that is, the processing time of the processes overlaps, the process that is decoded later will wait directly to avoid resource allocation decisions when worker resources conflict.
[0051] Figure 5 This is a diagram illustrating vector encoding from the worker's perspective. This encoding method improves upon traditional methods by integrating the process sequence with worker assignment, resulting in a process-worker fused encoding. Each worker is randomly assigned a sequence of all processes, and decoding proceeds column-by-column from top to bottom. If a previously decoded process appears, it is skipped until all processes for all workers have been traversed, at which point decoding ends. Figure 5 As shown, Figure 5 O in 21 If the first column has already been decoded, skip the second column. Finally, only decode the 0 in the second column. 12 .
[0052] Therefore, the embodiments of this application model the welding scenario of complex aerospace products as a complex welding workshop scheduling model based on worker constraints, and perform vector encoding on the complex welding workshop scheduling model from both machine and worker perspectives. This effectively addresses worker resource conflicts during the encoding and decoding process, and provides reliable data guidance and basis for the execution of subsequent operations such as genetic evolution search.
[0053] In step S102, based on the preset improved parsing graph model and vector encoding results, the critical path of the complex welding workshop scheduling model is searched, and the critical path is decoded through a preset fully active decoding strategy to obtain the target critical path.
[0054] Furthermore, embodiments of this application also require searching for the critical path of a complex welding workshop scheduling model through a preset improved parsing graph model and vector encoding results, and performing fully active decoding on the critical path to obtain the target critical path.
[0055] Optionally, in one embodiment of this application, searching the critical path of a complex welding workshop scheduling model based on a preset improved disjunction graph model, worker coding information, and process-worker fusion coding information includes: establishing the current process node, machine disjunction arc set, worker disjunction arc set, and connection arc set corresponding to the complex welding workshop scheduling model; and constructing an improved disjunction graph model based on the current process node, machine disjunction arc set, worker disjunction arc set, and connection arc set.
[0056] In actual implementation, embodiments of this application can construct an improved disjunction graph model through an improved relational arc of disjunction graph nodes to search for the critical path of a complex welding workshop scheduling scheme with worker constraints.
[0057] Those skilled in the art should understand that classic disjunctive diagrams, because they do not consider worker constraints, such as Figure 6 As shown, it only designs connecting arcs and release arcs to represent the process relationship with the workpiece and the process relationship with the machine.
[0058] Therefore, embodiments of this application introduce a new description of the breakout arc in relation to the sequence of the worker's previous operation. The improved breakout arc is as follows: Figure 6 As shown, its mathematical description is G(V,C,D) m D w ), where V represents the process node, C represents the set of connecting arcs, and D m Denotes the set of machine disjunctive arcs, D w This represents the disjunctive arc set of the workers.
[0059] Therefore, the embodiments of this application construct a new disjunction graph structure by adding worker allocation disjunction arcs, thereby enabling accurate searching of critical paths in complex welding workshop scheduling models.
[0060] Optionally, in one embodiment of this application, the critical path is decoded using a preset fully active decoding strategy to obtain the target critical path, including: obtaining the machining position of the machine tool selected for the current process in the critical path; scanning all preceding processes corresponding to multiple machining positions in the critical path according to a preset scanning order, and calculating the idle interval of each preceding process; determining whether the idle interval of the current machining position in the critical path is greater than the machining time of the current process, and whether the start time of the current process is less than the completion time of the previous process; if the idle interval of the current machining position is greater than the machining time of the current process, and the start time of the current process is less than the completion time of the previous process, then the current process is inserted into the current machining position; otherwise, the current machining position is skipped and other preceding processes are scanned; if there are no empty positions that meet the preset position conditions in all preceding processes, then the current process is placed in the last machining position of the selected machine tool to obtain the target critical path.
[0061] It should be noted that the embodiments of this application can efficiently solve complex welding workshop scheduling models through a knowledge-driven two-stage scheduling strategy (i.e., a two-stage scheduling algorithm). In the first stage of the two-stage scheduling strategy, only machine allocation and process sequence are solved; therefore, during initialization, only 100 process codes and machine codes are randomly generated according to machine-perspective vector encoding. Subsequently, during the decoding process, the entire scheduling scheme is processed as follows: Figure 7 The fully active decoding shown is as follows: For the current scheduling process, the steps of the fully active decoding in this embodiment of the application are as follows:
[0062] Step 1: Record the current process O ij The machining position t of the selected machine tool;
[0063] Step 2: Scan all preceding operations from position 1 to position t from left to right, and calculate the idle interval for each operation;
[0064] Step 3: If the scan interval at the current position t2 is greater than 0 ij Processing time T ijk And O ij Start time S ij O less than ij-1 Completion time C ij-1 Then insert O ij Process the data at position t2 in advance; otherwise, skip the current position t2 and continue scanning.
[0065] Step 4: If no empty space meeting the conditions is found after scanning all the preceding positions, then place O. ij To the selected machine M k The last position t is processed.
[0066] Therefore, the embodiments of this application can effectively reduce the idle time of the initial population by using fully active scheduling decoding, thereby saving computing resources for subsequent optimization.
[0067] In step S103, based on the target critical path, a first genetic evolutionary search operation is performed on the preset machine tool allocation and process sequence model to obtain the first global optimal solution of the machine tool allocation and process sequence model, and a preset multi-view collaborative neighborhood search operation is iteratively performed on the machine tool allocation and process sequence model to optimize the first global optimal solution.
[0068] Furthermore, embodiments of this application also require the construction of two sub-models for a complex welding workshop scheduling model: a machine tool allocation and process sequence model and a machine tool-worker allocation and process sequence model.
[0069] Furthermore, in the embodiments of this application, the two-stage scheduling algorithm employs the following methods for scheduling vectors of different critical paths: Figure 8 The different crossover operators shown correspond to the following three crossover operators:
[0070] 1. Work order code overlap:
[0071] First, divide all workpieces into two groups, A and B. Then, find the positions of the operations in operation code OS1 that belong to set A, and keep them in the new operation code OS3 in the same position. Similarly, keep the operations in operation code OS2 that belong to set B in the new operation code OS4 in the same position. Finally, fill the empty positions of operation code OS4 with the operations in OS1 that belong to set B from left to right, and fill the empty positions of OS3 with the operations in OS2 that belong to set A.
[0072] 2. Machine code crossover:
[0073] First, randomly generate a 0-1 vector R with the same length as the machine code; second, scan the vector R from left to right, and if the current position value t is 1, then exchange the values of position t of machine codes MS1 and MS2.
[0074] 3. Worker code crossover:
[0075] First, a 0-1 vector R of the same length as the machine code is randomly generated. Second, the vector R is scanned from left to right. If the current position value t is 1, the column vectors at positions t of worker codes WA1 and WA2 are swapped.
[0076] Subsequently, the embodiments of this application can perform a first genetic evolution search operation (i.e., a first-stage scheduling operation) on the machine tool allocation and process sequence model according to three crossover operators and the target critical path to obtain the first global optimal solution of the machine tool allocation and process sequence model, and iteratively perform a multi-view collaborative neighborhood search operation to continuously optimize the first global optimal solution, thereby obtaining the final first global optimal solution.
[0077] Optionally, in one embodiment of this application, based on the target critical path, a first genetic evolutionary search operation is performed on a preset machine tool allocation and process sequence model to obtain a first globally optimal solution for the machine tool allocation and process sequence model. This includes: establishing a first parent population corresponding to the machine tool allocation and process sequence model, randomly initializing the first parent population, and performing a fully active scheduling decoding operation on the initialized first parent population to obtain a second parent population; calculating the maximum completion time of the second parent population, and repeatedly randomly selecting two solutions from the second parent population, and setting the maximum of the two solutions as the optimal solution. The solution with the shortest completion time is added to the preset mating pool until the number of solutions in the preset mating pool reaches a preset threshold. Individuals in the second parent population are subjected to process crossover and machine crossover operations with any individual in the preset mating pool to generate offspring populations. The offspring population and the second parent population are combined to obtain a merged population. Based on the maximum completion time, all individuals in the merged population are sorted in ascending order to obtain an individual sequence. A preset number of individuals are selected from the first few individuals in the individual sequence to construct a third parent population. The first globally optimal solution of the machine tool allocation and process sequence model is obtained based on the third parent population.
[0078] In the specific implementation process, the embodiments of this application describe the specific steps for performing the first genetic evolution search operation as follows:
[0079] Step 1: Establish the first parent population corresponding to the machine tool allocation and process sequence model, and randomly initialize the first parent population P0;
[0080] Step 2: Use the fully active scheduling decoding algorithm to optimize the scheduling scheme of the solution in P0 to obtain the second parent population P. t ;
[0081] Step 3: Calculate P t Maximum completion time C max ;
[0082] Step 4: Repeat from the second parent population P t Two solutions are randomly selected from C. max Smaller liberation into mating pool M t This continues until the number of solutions in the mating pool reaches a preset threshold, such as 100.
[0083] Step 5: Place each P t The individual and M t Any random individual in the process performs cross-process and cross-machine operations to generate a offspring population C. t ;
[0084] Step 6: Combine C t With P t To merge population Q t ;
[0085] Step 7: Based on the completion time C max Ascending order Q t The individuals are identified, their sequences are obtained, and the top 100 solutions are selected to enter the third parent population P. t+1 In order to obtain the first globally optimal solution G best .
[0086] Therefore, the first-stage scheduling algorithm of the embodiments of this application can limit the number of workers used in the process to 1, so that the algorithm focuses on optimizing the process sequence and machine tool selection model, providing a basis for the execution of multi-view collaborative neighborhood search operation.
[0087] Optionally, in one embodiment of this application, a preset multi-view collaborative neighborhood search operation is iteratively performed on the machine tool allocation and process sequence model to optimize the first global optimal solution, including: obtaining the worker's view Gantt chart and the machine's view Gantt chart corresponding to the machine tool allocation and process sequence model; scanning all key processes in the target critical path to determine the machine processing position and worker processing position of the current key process based on all key processes; calculating the earliest start time, first completion time, second completion time, and third completion time of each key process in all key processes based on the improved disjunctive graph model, machine processing position, and worker processing position; when the earliest start time is the first completion time, other processes in the worker's view Gantt chart are processed accordingly. For each worker's available workstation, a neighborhood search is performed. When the earliest possible start time is the second completion time, a neighborhood search is performed on other worker's available workstations in the machine's perspective Gantt chart. When the earliest possible start time is the first completion time, and the first and second completion times are the same, a collaborative neighborhood search is performed on other worker's available workstations and other machine's available workstations using both the worker's perspective Gantt chart and the machine's perspective Gantt chart. When the earliest possible start time is the third completion time, the current critical process is skipped, and a neighborhood search is performed on other critical processes among all critical processes. The maximum completion time of the neighborhood solution is calculated based on the search results of the neighborhood search or collaborative neighborhood search. If the maximum completion time is less than the first global optimal solution, the first global optimal solution is updated using the maximum completion time.
[0088] In the specific implementation process, in order to solve the problem of waiting due to competition for worker resources, the embodiments of this application analyze the characteristics of the problem, extract problem knowledge, and design a multi-view collaborative neighborhood search operator based on the problem knowledge. For example... Figure 9 As shown, in conventional Gantt chart optimization from a machine perspective, workpiece J3 has an excessively long completion time due to improper machine tool selection. Therefore, the completion time can be reduced by placing J3 to M1. However, in this complex scheduling problem, since J3 has selected worker W1, it must wait for W1 to be released before processing can begin.
[0089] Therefore, conventional machine tool reselection operations cannot effectively optimize idle time; it is necessary to combine Gantt chart information from both the machine and operator perspectives to effectively optimize completion time. Therefore, as... Figure 9 As shown in the worker Gantt chart, J3 is moved from W... 1,3 Change to W 2,3 Furthermore, changing the machine tool selection from M2 to M1 can effectively reduce the completion time. The problem knowledge extracted from the embodiments of this application is as follows:
[0090] Problem knowledge: Current process O ij Select machine tool M k and worker W h In machine M respectively k The position t of the worker set h and the position p of the worker set hw Processing; Earliest processing time S i,j =max(C i,j-1 C k,t-1 C hw,pw If S i,j =C k,t-1 Or C hw,pw Then search for available positions at each processing location of other machines or other workers; if there is an available position that can accommodate O ij A decomposed process can reduce completion time by changing the machine tool selection or worker selection and inserting it into the selected empty slot.
[0091] Based on the knowledge of the problem, this application embodiment can formulate a multi-view collaborative neighborhood search strategy. Specifically, the specific process of iteratively performing multi-view collaborative neighborhood search operations on machine tool allocation and process sequence models according to the multi-view collaborative neighborhood search strategy in this application embodiment is as follows:
[0092] 1. Obtain the worker-view Gantt chart and machine-view Gantt chart corresponding to the machine tool allocation and process sequence model;
[0093] 2. Scan all critical processes in the target critical path to determine the current critical process O based on all critical processes. ij Machine M k Processing location and worker W h Processing location;
[0094] 3. Calculate the earliest start time for each critical process in all processes. Specifically, during disjunctive graph decoding, the earliest start time for each critical process node V is max(C(V)). i -1),D m (V i -1),D w (V i -1)) indicates that the completion times of all predecessor nodes with the current node V as their out-degree are selected;
[0095] 4. If the earliest available processing time S ij =C k,t-1 (i.e., the first completion time), then scan other worker vacancies in the Gantt chart from the worker's perspective, and reduce idle time by re-employing workers; if S ij =C hw,pw (i.e., the second completion time), then scan the Gantt chart for other empty machine slots and reduce idle time by reselecting machines; if S ij =C k,t-1 =C hw,pw This requires a collaborative search of vacant spaces using multi-view Gantt charts by both machines and workers to reduce idle time; if S ij =C i,j-1(i.e., the third completion time) then skip the current process O. ij ;
[0096] 5. Calculate the maximum completion time of the neighborhood solution based on the search results of the neighborhood search or cooperative neighborhood search. If the maximum completion time is better than the first global optimal solution G, then... best Then update the first global optimal solution until the objective function of the solution remains unchanged for 5 consecutive generations, that is, until the solution converges to a local optimum.
[0097] Therefore, the embodiments of this application extract problem knowledge based on problem characteristics to assist in designing a multi-perspective collaborative neighborhood search structure, and iteratively execute preset multi-perspective collaborative neighborhood search operations on machine tool allocation and process sequence models, so as to combine machine Gantt charts and worker Gantt charts to collaboratively adjust worker allocation in processes, optimize the global optimal solution, thereby solving the problem of waiting due to worker resource competition and efficiently optimizing worker allocation on the critical path.
[0098] In step S104, a second genetic evolutionary search operation is performed on the preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model. The preset multi-view collaborative neighborhood search operation is then iteratively performed on the machine tool-worker allocation and process sequence model using the second global optimal solution to optimize the second global optimal solution. Finally, the target scheduling scheme of the complex welding workshop scheduling model is obtained based on the optimized first global optimal solution and the second global optimal solution.
[0099] After the first stage converges to a local optimum, the second stage begins to adjust the worker allocation on the critical path. That is, in the second stage, the embodiments of this application can perform a genetic evolution search operation on the machine tool-worker allocation and process sequence model to obtain the second global optimum solution of the machine tool-worker allocation and process sequence model. Similarly, a preset multi-view collaborative neighborhood search operation is iteratively performed on the machine tool-worker allocation and process sequence model to optimize the second global optimum solution. Thus, the target scheduling scheme of the complex welding workshop scheduling model is obtained based on the optimized first global optimum solution and the second global optimum solution.
[0100] Therefore, the embodiments of this application decompose complex problems into two simple problem-solving stages through a two-stage solution framework, which effectively improves the solution efficiency of complex welding workshop scheduling models with worker constraints.
[0101] Optionally, in one embodiment of this application, a second genetic evolutionary search operation is performed on a preset machine tool-worker allocation and process sequence model to obtain a second globally optimal solution for the machine tool-worker allocation and process sequence model. This includes: establishing a new first parent population corresponding to the machine tool-worker allocation and process sequence model, randomly initializing the new first parent population, and performing a fully active scheduling decoding operation on the initialized new first parent population to obtain a new second parent population; calculating the maximum completion time of the new second parent population, and repeatedly randomly selecting two new solutions from the new second parent population, and selecting the solution with the minimum maximum completion time. The individuals are released into a preset mating pool until the number of solutions in the preset mating pool reaches a preset threshold. Individuals in the new second parent population are subjected to process crossover, worker crossover, and machine crossover operations with any individual in the preset mating pool to generate a new offspring population. The new offspring population and the new second parent population are combined to obtain a new merged population. All individuals in the new merged population are sorted in ascending order based on the maximum completion time to obtain a new individual sequence. A preset number of individuals at the beginning of the new individual sequence are selected to construct a new third parent population. The second global optimal solution of the machine tool-worker allocation and process sequence model is obtained based on the new third parent population.
[0102] In this embodiment of the application, the specific process of performing the second genetic evolutionary search operation on the machine tool-worker allocation and process sequence model is as follows:
[0103] Step 1: Establish a new first parent population corresponding to the machine tool-worker allocation and process sequence model, and randomly initialize the new first parent population P0'.
[0104] Step 2: Use the fully active scheduling decoding algorithm to optimize the scheduling scheme of the solution in P0' to obtain the new second parent population P. t ';
[0105] Step 3: Calculate P t 'Maximum completion time C max ';
[0106] Step 4: Repeat from the new second parent population P t Two new solutions are randomly selected from C. max Smaller liberation into mating pool M t This continues until the number of solutions in the pool reaches 100.
[0107] Step 5: Place each P t 'individual and M t Any random individual in the population performs crossover operations on all crossover operators (i.e., process crossover, worker crossover, and machine crossover) to generate a new offspring population C. t ';
[0108] Step 6: Combine C t 'with P t 'For the new merged population Q t ';
[0109] Step 7: Based on the completion time C max 'Ascending order Q' t The individuals are selected, and the top 100 solutions are chosen to enter the new third-generation parent population P. t+1 ';
[0110] Step 8: Generate the second global optimal solution G best And use multi-view collaborative neighborhood search to iteratively optimize the second global optimum;
[0111] Step 10: If the iterative optimization process reaches the stopping condition, the optimization ends and the second global optimal solution after optimization is output; otherwise, step 4 and subsequent steps are re-executed.
[0112] The execution logic of the two-stage scheduling method for complex welding scenarios based on worker constraints of this application will be described below through a specific embodiment and in conjunction with the accompanying drawings.
[0113] Figure 10 This is a schematic diagram illustrating the execution logic of the two-stage scheduling method for complex welding scenarios based on worker constraints proposed in this application. Figure 10 As shown, the execution process of the two-stage scheduling method based on worker constraints in complex welding scenarios proposed in this application is as follows:
[0114] S1001: Initialize the population;
[0115] S1002: Active decoding population;
[0116] S1003: Genetic evolutionary search model for machine tool allocation and process sequence, calculating the first global optimal solution;
[0117] S1004: Neighborhood search, optimizing the first globally optimal solution;
[0118] S1005: Determine whether the first global optimal solution is locally convergent, such as... Figure 11 If so, proceed to S1006; otherwise, proceed to S1003.
[0119] S1006: Genetic evolutionary search machine tool - worker allocation and process sequence model, calculating the second global optimum;
[0120] S1007: Perform a neighborhood search of the global optimum for the machine tool-worker allocation and process sequence model to optimize the second global optimum;
[0121] S1008: Determine if the termination condition is met. If yes, terminate; otherwise, go to S1006.
[0122] Furthermore, this application will illustrate and analyze the performance of the two-stage scheduling method for complex welding scenarios based on worker constraints through a specific embodiment.
[0123] Specifically, in order to test the performance of this application on worker-constrained complex welding workshop scheduling, a specific embodiment of this application can test the two-stage scheduling algorithm on 18 standard test sets of different sizes on the classic flexible job shop scheduling problem test set Dauzere, and the number of workers is equal to the number of machines in each test problem.
[0124] The two-stage scheduling algorithm in this application can be programmed using Matlab. The simulation environment is an Intel(R)core(TM) i7-12700 CPU@3.4GHz / 16GB RAM, and the operating system is Windows 10. The termination criterion of the algorithm is that the algorithm stops when the CPU time reaches 0.5×N×M×W. The minimum value of this threshold is 10s and the maximum value is 60s.
[0125] To verify the validity of this application, the Genetic Algorithm (GA), commonly used in industry, can be used for comparison, and a crossover operator designed for this problem can be used. The comparison index is the Relative Percentage Deviation (RPD), as shown in Table 1, and its calculation method is as follows:
[0126] RPD(A) = (F A -F best ) / F best
[0127] Among them, F A F represents the maximum completion time for algorithm A to find the optimal solution. best This indicates that all algorithms have found the optimal lower bound for the current test set.
[0128] Table 1
[0129]
[0130]
[0131] Table 1 shows that after adding multi-view collaborative neighborhood search to GA, the RPD index of GA+LS decreased on all 13 test problems, indicating that the results of GA+LS are closer to the lower bound of the problem, demonstrating that the algorithm has stronger convergence after adding local search. Similarly, after using the two-stage solution framework, TSGA achieved better RPD indexes on all 16 test problems, indicating that the two-stage solution framework can enhance the convergence of the algorithm. The comparison between TSGA and TSGA-FAS shows that after removing the fully active decoding strategy, the convergence of the algorithm deteriorates significantly, strongly verifying that the two-stage scheduling strategy of this application can effectively enhance the convergence of the algorithm.
[0132] According to the two-stage scheduling method for complex welding scenarios based on worker constraints proposed in this application, the welding scenario of the target aerospace product is modeled as a complex welding workshop scheduling model, and the complex welding workshop scheduling model is vector-encoded to obtain the vector encoding result. Based on the preset improved disjunctive graph model and the vector encoding result, the critical path of the complex welding workshop scheduling model is searched, and the critical path is decoded through a preset fully active decoding strategy to obtain the target critical path. Based on the target critical path, a first genetic evolutionary search operation is performed on the preset machine tool allocation and process sequence model to obtain the first global optimal solution of the machine tool allocation and process sequence model, and a preset multi-view collaborative neighborhood search operation is iteratively performed on the machine tool allocation and process sequence model to optimize the first global optimal solution. A second genetic evolutionary search operation is performed on the preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model, and a preset multi-view collaborative neighborhood search operation is iteratively performed on the machine tool-worker allocation and process sequence model through the second global optimal solution to optimize the second global optimal solution. The target scheduling scheme of the complex welding workshop scheduling model is obtained based on the optimized first global optimal solution and the second global optimal solution. This application models the welding scenario of complex aerospace products as a worker-constrained complex welding workshop scheduling and uses a knowledge-driven two-stage scheduling algorithm to solve it, thereby greatly improving the solution efficiency of worker-constrained complex welding workshop scheduling and enhancing the manufacturing capacity of aerospace products from the perspective of resource optimization.
[0133] Secondly, with reference to the accompanying drawings, a two-stage scheduling device based on a complex welding scenario with worker constraints, proposed according to an embodiment of this application, is described.
[0134] Figure 12 This is a block diagram of a two-stage scheduling device based on a complex welding scenario with worker constraints, according to an embodiment of this application.
[0135] like Figure 12As shown, the two-stage scheduling device 10 based on complex welding scenarios with worker constraints includes: a modeling module 100, a decoding module 200, a first-stage solution module 300, and a second-stage solution module 400.
[0136] Among them, the modeling module 100 is used to model the welding scenario of the target aerospace product as a complex welding workshop scheduling model, and to perform vector encoding on the complex welding workshop scheduling model to obtain the vector encoding result.
[0137] The decoding module 200 is used to search for the critical path of the complex welding workshop scheduling model based on the preset improved parsing graph model and vector encoding results, and to decode the critical path through the preset fully active decoding strategy to obtain the target critical path.
[0138] The first-stage solution module 300 is used to perform a first genetic evolutionary search operation on the preset machine tool allocation and process sequence model based on the target critical path to obtain the first global optimal solution of the machine tool allocation and process sequence model, and to iteratively perform a preset multi-view collaborative neighborhood search operation on the machine tool allocation and process sequence model to optimize the first global optimal solution.
[0139] The second-stage solution module 400 is used to perform a second genetic evolutionary search operation on the preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model. Iteratively, the preset multi-view collaborative neighborhood search operation is performed on the machine tool-worker allocation and process sequence model through the second global optimal solution to optimize the second global optimal solution. Based on the optimized first global optimal solution and the second global optimal solution, the target scheduling scheme of the complex welding workshop scheduling model is obtained.
[0140] Optionally, in one embodiment of this application, the decoding module 200 includes a first establishment unit and a construction unit.
[0141] The first establishment unit is used to establish the current process node, machine-derived arc set, worker-derived arc set, and connection arc set corresponding to the complex welding workshop scheduling model.
[0142] The building unit is used to construct an improved disjunction graph model based on the current process node, the machine disjunction arc set, the worker disjunction arc set, and the connection arc set.
[0143] Optionally, in one embodiment of this application, the decoding module 200 further includes: a first acquisition unit, a first calculation unit, a judgment unit, a first analysis unit, and a second analysis unit.
[0144] The first acquisition unit is used to acquire the machining position of the machine tool selected in the current process of the critical path.
[0145] The first calculation unit is used to scan all the preceding processes corresponding to multiple processing positions in the critical path according to the preset scanning order, and to calculate the idle interval of each preceding process in all preceding processes.
[0146] The judgment unit is used to determine whether the idle interval of the current processing position in the critical path is greater than the processing time of the current process, and whether the start time of the current process is less than the completion time of the previous process.
[0147] The first analysis unit is used to insert the current process into the current processing position if the idle interval of the current processing position is greater than the processing time of the current process and the start time of the current process is less than the completion time of the previous process; otherwise, it skips the current processing position and scans other preceding processes.
[0148] The second analysis unit is used to place the current process at the last processing position of the selected machine tool if there is no empty space that meets the preset position conditions in all the preceding processes, so as to obtain the target critical path.
[0149] Optionally, in one embodiment of this application, the first-stage solution module 300 includes: a second establishment unit, a second calculation unit, a first cross unit, and a first arrangement unit.
[0150] The second establishment unit is used to establish the first parent population corresponding to the machine tool allocation and process sequence model, randomly initialize the first parent population, and perform a fully active scheduling and decoding operation on the initialized first parent population to obtain the second parent population.
[0151] The second calculation unit is used to calculate the maximum completion time of the second parent population, and repeatedly and randomly select two solutions from the second parent population, and release the solution with the smallest maximum completion time into the preset mating pool until the number of solutions in the preset mating pool reaches the preset number threshold.
[0152] The first crossover unit is used to perform process crossover and machine crossover operations on individuals in the second parent population with any individual in the preset mating pool to generate a offspring population, and to combine the offspring population and the second parent population to obtain a merged population.
[0153] The first permutation unit is used to sort all individuals in the merged population in ascending order based on the maximum completion time to obtain an individual sequence, and select a preset number of individuals at the beginning of the individual sequence to construct a third parent population, so as to obtain the first global optimal solution of the machine tool allocation and process sequence model based on the third parent population.
[0154] Optionally, in one embodiment of this application, the first-stage solution module 300 further includes: a second acquisition unit, a scanning unit, a third calculation unit, a first search unit, a second search unit, a third search unit, a fourth search unit, and an update unit.
[0155] The second acquisition unit is used to acquire the worker-view Gantt chart and the machine-view Gantt chart corresponding to the machine tool allocation and process sequence model.
[0156] The scanning unit is used to scan all critical processes in the target critical path to determine the machine processing position and worker processing position of the current critical process based on all critical processes.
[0157] The third calculation unit is used to calculate the earliest start time, first completion time, second completion time and third completion time of each critical process in all critical processes, based on the improved disjunctive graph model, machine processing position and worker processing position.
[0158] The first search unit is used to perform a neighborhood search on other worker vacancies in the Gantt chart from the worker's perspective when the earliest start time is the first completion time.
[0159] The second search unit is used to perform a neighborhood search on other machine vacancies in the machine-view Gantt chart when the earliest start time is the second completion time.
[0160] The third search unit is used to perform a collaborative neighborhood search of other worker vacancies and other machine vacancies by using the worker's perspective Gantt chart and the machine's perspective Gantt chart when the earliest start time is the first completion time and the first completion time and the second completion time are the same.
[0161] The fourth search unit is used to skip the current critical process when the earliest start time is the third completion time, and to perform a neighborhood search for other critical processes among all critical processes.
[0162] The update unit is used to calculate the maximum completion time of the neighborhood solution based on the search results of the neighborhood search or cooperative neighborhood search. If the maximum completion time is less than the first global optimal solution, the first global optimal solution is updated by the maximum completion time.
[0163] Optionally, in one embodiment of this application, the second-stage solution module 400 includes: a third establishment unit, a fourth calculation unit, a second cross unit, and a second arrangement unit.
[0164] The third establishment unit is used to establish a new first parent population corresponding to the machine tool-worker allocation and process sequence model, randomly initialize the new first parent population, and perform a fully active scheduling and decoding operation on the initialized new first parent population to obtain a new second parent population.
[0165] The fourth calculation unit is used to calculate the maximum completion time of the new second parent population, and repeatedly and randomly select two new solutions from the new second parent population, and release the solution with the smallest maximum completion time into the preset mating pool until the number of solutions in the preset mating pool reaches the preset number threshold.
[0166] The second crossover unit is used to perform process crossover, worker crossover, and machine crossover operations between individuals in the new second parent population and any individual in the preset mating pool to generate a new offspring population, and to combine the new offspring population and the new second parent population to obtain a new merged population.
[0167] The second permutation unit is used to sort all individuals in the new merged population in ascending order based on the maximum completion time to obtain a new individual sequence, and select a preset number of individuals at the beginning of the new individual sequence to construct a new third parent population, so as to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model based on the new third parent population.
[0168] It should be noted that the foregoing explanation of the two-stage scheduling method embodiment for complex welding scenarios with worker constraints also applies to the two-stage scheduling device for complex welding scenarios with worker constraints in this embodiment, and will not be repeated here.
[0169] The two-stage scheduling device based on worker-constrained complex welding scenarios proposed in this application includes a modeling module for modeling the welding scenario of the target aerospace product into a complex welding workshop scheduling model and performing vector encoding on the complex welding workshop scheduling model to obtain vector encoding results; a decoding module for searching the critical path of the complex welding workshop scheduling model based on a preset improved disjunctive graph model and vector encoding results, and decoding the critical path through a preset fully active decoding strategy to obtain the target critical path; and a first-stage solution module for performing a first genetic evolutionary search operation on a preset machine tool allocation and process sequence model based on the target critical path to obtain the machine tool allocation and process sequence. The first global optimal solution of the machine tool allocation and process sequence model is obtained by performing a pre-set multi-perspective collaborative neighborhood search operation on the model. The second-stage solution module performs a second genetic evolutionary search operation on the pre-set machine tool-worker allocation and process sequence model to obtain a second global optimal solution. This second global optimal solution is then used to iteratively perform a pre-set multi-perspective collaborative neighborhood search operation on the model to optimize it. Finally, the target scheduling scheme for the complex welding workshop scheduling model is obtained based on the optimized first and second global optimal solutions. This application models the welding scenario of complex aerospace products as a worker-constrained complex welding workshop scheduling model and uses a knowledge-driven two-stage scheduling algorithm to solve it, thereby greatly improving the solution efficiency of worker-constrained complex welding workshop scheduling and enhancing the manufacturing capacity of aerospace products from a resource optimization perspective.
[0170] Figure 13 A schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device may include:
[0171] The memory 1301, the processor 1302, and the computer program stored on the memory 1301 and executable on the processor 1302.
[0172] When the processor 1302 executes the program, it implements the two-stage scheduling method based on complex welding scenarios with worker constraints provided in the above embodiments.
[0173] Furthermore, electronic devices also include:
[0174] Communication interface 1303 is used for communication between memory 1301 and processor 1302.
[0175] The memory 1301 is used to store computer programs that can run on the processor 1302.
[0176] The memory 1301 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0177] If the memory 1301, processor 1302, and communication interface 1303 are implemented independently, then the communication interface 1303, memory 1301, and processor 1302 can be interconnected via a bus to complete communication between them. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 13 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0178] Optionally, in a specific implementation, if the memory 1301, processor 1302, and communication interface 1303 are integrated on a single chip, then the memory 1301, processor 1302, and communication interface 1303 can communicate with each other through an internal interface.
[0179] The processor 1302 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application.
[0180] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described two-stage scheduling method for complex welding scenarios based on worker constraints.
[0181] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0182] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0183] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or N executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.
[0184] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0185] It should be understood that the various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, the N steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. If implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0186] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
[0187] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0188] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of this application.
Claims
1. A two-stage scheduling method for complex welding scenarios with worker constraints, characterized in that, Includes the following steps: The welding scenario of the target aerospace product is modeled as a complex welding workshop scheduling model, and the complex welding workshop scheduling model is vector encoded to obtain the vector encoding result; Based on the preset improved parsing graph model and the vector encoding results, the critical path of the complex welding workshop scheduling model is searched, and the critical path is decoded through a preset fully active decoding strategy to obtain the target critical path; Based on the target critical path, a first genetic evolutionary search operation is performed on the preset machine tool allocation and process sequence model to obtain the first global optimal solution of the machine tool allocation and process sequence model, and a preset multi-view collaborative neighborhood search operation is iteratively performed on the machine tool allocation and process sequence model to optimize the first global optimal solution; A second genetic evolutionary search operation is performed on the preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model. The preset multi-view collaborative neighborhood search operation is then iteratively performed on the machine tool-worker allocation and process sequence model using the second global optimal solution to optimize the second global optimal solution. Finally, the target scheduling scheme of the complex welding workshop scheduling model is obtained based on the optimized first global optimal solution and the second global optimal solution. The key path for searching the complex welding workshop scheduling model based on the preset improved disjunctive graph model, worker coding information, and process-worker fusion coding information includes: Establish the current process node, machine-derived arc set, worker-derived arc set, and connection arc set corresponding to the complex welding workshop scheduling model; The improved disjunction graph model is constructed based on the current process node, the machine disjunction arc set, the worker disjunction arc set, and the connection arc set; The step of decoding the critical path using a preset fully active decoding strategy to obtain the target critical path includes: Obtain the machining position of the machine tool selected in the current process of the critical path; Scan all preceding processes corresponding to multiple processing positions in the critical path according to the preset scanning order, and calculate the idle interval of each preceding process in all preceding processes; Determine whether the idle interval of the current processing position in the critical path is greater than the processing time of the current process, and whether the start time of the current process is less than the completion time of the previous process. If the idle interval of the current processing position is greater than the processing time of the current process, and the start time of the current process is less than the completion time of the previous process, then the current process is inserted into the current processing position; otherwise, the current processing position is skipped and other preceding processes are scanned. If none of the preceding processes have a vacancy that meets the preset position conditions, the current process is placed at the last processing position of the selected machine tool to obtain the target critical path.
2. The method according to claim 1, characterized in that, The step of performing a first genetic evolutionary search operation on a preset machine tool allocation and process sequence model based on the target critical path to obtain the first globally optimal solution of the machine tool allocation and process sequence model includes: Establish the first parent population corresponding to the machine tool allocation and process sequence model, randomly initialize the first parent population, and perform a fully active scheduling and decoding operation on the initialized first parent population to obtain the second parent population. Calculate the maximum completion time of the second parent population, and repeatedly and randomly select two solutions from the second parent population. The solution with the smallest maximum completion time is released into a preset mating pool until the number of solutions in the preset mating pool reaches a preset number threshold. Individuals in the second parent population are subjected to process crossover and machine crossover operations with any individual in the preset mating pool to generate offspring populations, and the offspring populations and the second parent populations are combined to obtain a merged population. Based on the maximum completion time, all individuals in the merged population are sorted in ascending order to obtain an individual sequence. A third parent population is constructed by selecting a preset number of individuals at the beginning of the individual sequence, so as to obtain the first global optimal solution of the machine tool allocation and process sequence model based on the third parent population.
3. The method according to claim 1, characterized in that, The step of iteratively performing a preset multi-view collaborative neighborhood search operation on the machine tool allocation and process sequence model to optimize the first global optimal solution includes: Obtain the worker-view Gantt chart and machine-view Gantt chart corresponding to the machine tool allocation and process sequence model; Scan all critical processes in the target critical path to determine the machine processing position and worker processing position of the current critical process based on all critical processes; Based on the improved parsing graph model, the machine processing position, and the worker processing position, calculate the earliest start time, first completion time, second completion time, and third completion time for each critical process in all critical processes; When the earliest possible start time is the first completion time, a neighborhood search is performed on other worker vacancies in the Gantt chart from the worker's perspective. When the earliest possible start time is the second completion time, a neighborhood search is performed on other empty machine slots in the machine-view Gantt chart. When the earliest possible start time is the first completion time, and the first completion time and the second completion time are the same, a collaborative neighborhood search is performed on the other worker vacancies and the other machine vacancies using the worker's perspective Gantt chart and the machine's perspective Gantt chart. When the earliest possible start time is the third completion time, skip the current critical process and perform a neighborhood search on other critical processes among all critical processes; The maximum completion time of the neighborhood solution is calculated based on the search results of the neighborhood search or cooperative neighborhood search. If the maximum completion time is less than the first global optimal solution, the first global optimal solution is updated based on the maximum completion time.
4. The method according to claim 2, characterized in that, The step of performing a second genetic evolutionary search operation on the preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model includes: A new first parent population corresponding to the machine tool-worker allocation and process sequence model is established, and the new first parent population is randomly initialized. A fully active scheduling and decoding operation is performed on the initialized new first parent population to obtain a new second parent population. Calculate the maximum completion time of the new second parent population, and randomly select two new solutions from the new second parent population. Then, release the solution with the smallest maximum completion time into a preset mating pool until the number of solutions in the preset mating pool reaches the preset number threshold. Individuals in the new second parent population are subjected to cross-process, cross-worker, and cross-machine operations with any individual in the preset mating pool to generate a new offspring population. The new offspring population and the new second parent population are then combined to obtain a new merged population. Based on the maximum completion time, all individuals in the new merged population are sorted in ascending order to obtain a new individual sequence. A preset number of individuals are selected from the new individual sequence to construct a new third parent population, so as to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model based on the new third parent population.
5. A two-stage scheduling device for complex welding scenarios with worker constraints, characterized in that, include: The modeling module is used to model the welding scenario of the target aerospace product as a complex welding workshop scheduling model, and to perform vector encoding on the complex welding workshop scheduling model to obtain the vector encoding result; The decoding module is used to search for the critical path of the complex welding workshop scheduling model based on the preset improved parsing graph model and the vector encoding result, and to decode the critical path through a preset fully active decoding strategy to obtain the target critical path; The first-stage solution module is used to perform a first genetic evolutionary search operation on a preset machine tool allocation and process sequence model based on the target critical path to obtain the first global optimal solution of the machine tool allocation and process sequence model, and to iteratively perform a preset multi-view collaborative neighborhood search operation on the machine tool allocation and process sequence model to optimize the first global optimal solution. The second-stage solution module is used to perform a second genetic evolution search operation on the preset machine tool-worker allocation and process sequence model to obtain the second global optimal solution of the machine tool-worker allocation and process sequence model. The preset multi-view collaborative neighborhood search operation is then iteratively performed on the machine tool-worker allocation and process sequence model using the second global optimal solution to optimize the second global optimal solution. Finally, the target scheduling scheme of the complex welding workshop scheduling model is obtained based on the optimized first global optimal solution and the second global optimal solution. The first-stage solution module includes: The second establishment unit is used to establish the first parent population corresponding to the machine tool allocation and process sequence model, randomly initialize the first parent population, and perform a fully active scheduling and decoding operation on the initialized first parent population to obtain the second parent population. The second calculation unit is used to calculate the maximum completion time of the second parent population, and repeatedly and randomly select two solutions from the second parent population, and release the solution with the smallest maximum completion time into a preset mating pool until the number of solutions in the preset mating pool reaches a preset number threshold. The first crossover unit is used to perform process crossover and machine crossover operations on individuals in the second parent population and any individual in the preset mating pool to generate a offspring population, and to combine the offspring population and the second parent population to obtain a merged population. The first arrangement unit is used to sort all individuals in the merged population in ascending order based on the maximum completion time to obtain an individual sequence, and select a preset number of individuals at the beginning of the individual sequence to construct a third parent population, so as to obtain the first global optimal solution of the machine tool allocation and process sequence model based on the third parent population.
6. An electronic device, characterized in that, include: The memory, the processor, and the computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the two-stage scheduling method for complex welding scenarios based on worker constraints as described in any one of claims 1-4.
7. A computer-readable storage medium having a computer program stored thereon, characterized in that, The program is executed by the processor to implement the two-stage scheduling method for complex welding scenarios based on worker constraints as described in any one of claims 1-4.
Citation Information
Patent Citations
Robot welding path planning method based on genetic algorithm
CN108364069A
Production line scheduling method based on historical solution information and multi-objective optimization
CN117875587A