Flexible job shop scheduling method and device based on sub-batch division
By using a hybrid gray wolf optimization algorithm based on sub-batch partitioning, the workpiece is reasonably divided into multiple sub-batches and local search is performed, which solves the problems of increased computation and extended tasks in flexible workshop scheduling, and achieves efficient production scheduling and fast convergence.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NANJING UNIV OF INFORMATION SCI & TECH
- Filing Date
- 2023-08-08
- Publication Date
- 2026-04-28
AI Technical Summary
In existing technologies, the sub-batch division of similar workpieces in flexible workshop scheduling is unreasonable, leading to a surge in computational load, a decrease in production efficiency, and an extension of task completion time, which is particularly evident in the production of aerospace structural components.
A hybrid gray wolf optimization algorithm based on sub-batch partitioning is adopted. Multiple guidance mechanisms are designed to accelerate population evolution, rationally divide similar structural components into multiple sub-batches, and design a local search based on key tasks to optimize the scheduling scheme.
It effectively reduces the computational load of production scheduling, minimizes unnecessary time consumption, ensures the completion time of production tasks, meets the production requirements of aerospace structural components, and improves the convergence speed and solution quality of the algorithm.
Smart Images

Figure CN116880410B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of flexible job shop scheduling optimization technology, and in particular to a flexible job shop scheduling method and apparatus based on sub-batch partitioning. Background Technology
[0002] Manufacturing is the core industry of industry. Among them, the Flexible Job-shop Scheduling Problem (FJSP) has a wider range of applications and a more complex solution space due to the large variety of workpieces produced, the high quality of workpieces, and the small batch sizes.
[0003] With the rise of the aerospace manufacturing industry, medium-scale batch production has gradually emerged in the production of aerospace structural components. Given the characteristics of batch production, sub-batch division is essential. For the production of large quantities of similar structural components, if a complete sub-batch division (with the same number of sub-batches as the number of similar workpieces) is adopted, processing each workpiece as an independent object, the sheer number of structural components will inevitably lead to a surge in computational load, slow scheduling scheme generation, and frequent operation of similar structural components on different machines, resulting in a significant increase in non-processing time and a decrease in production efficiency. Conversely, if all structural components of the same type are treated as a single large structural component (with a sub-batch size of 1), although the number of component movements can be greatly reduced, the long processing time for the same operation of each large structural component leads to significant machine idle time during processing, severely impacting the completion time of production tasks.
[0004] To address the issues of unreasonable sub-batch division of similar workpieces and low algorithm convergence speed and individual quality in the flexible workshop scheduling methods of the aforementioned existing technologies, this invention proposes a solution.
[0005] To address the shortcomings of existing algorithms, such as slow convergence speed, limited subbatch partitioning strategies, and low local search capabilities, this paper proposes a Hybrid Grey Wolf Optimization Based on Subbatch Partition (SPHGWO) algorithm to solve the DRCLSFJSP problem. This algorithm primarily incorporates three improvement strategies: First, it designs multiple guidance mechanisms based on the encoding method to accelerate population evolution and thus speed up the algorithm's convergence. Second, it designs multiple strategies based on subbatch partitioning to improve the quality of the population. Third, for the decision wolf subpopulation, it designs a local search based on key tasks to find a better solution. Summary of the Invention
[0006] Purpose of the Invention: This invention provides a flexible job shop scheduling method and apparatus based on sub-batch partitioning. By rationally dividing similar structural components into several sub-batches, it can reduce the computational load of production scheduling, reduce unnecessary time consumption, and ensure the completion time of production tasks, which is very much in line with the production requirements of aerospace structural components. Furthermore, based on the coding method, multiple guidance mechanisms are designed to accelerate population evolution and speed up the convergence of the algorithm. For individual decision wolves, a local search based on key tasks is designed to find a better solution.
[0007] Technical Solution: This invention provides a flexible job shop scheduling method based on sub-batch partitioning, comprising: initializing to obtain an initial population including multiple individuals; individuals are chromosomes, each chromosome's encoding includes the number of sub-batches of the same type of workpiece, the process sequence of the sub-batches, the processing machine of the process, and the employee of the finishing process, each chromosome representing a scheduling scheme of the flexible job shop; the fitness of each scheduling scheme is determined according to the corresponding scheduling completion time and the maximum load time of the processing machine; iterative loop steps: sorting the individuals in the initial population according to fitness, selecting a guide wolf individual according to the sorting, and selecting individuals to establish external files; using the gray wolf optimization algorithm, using the guide wolf individual to guide the optimization of the subordinate wolf individuals in the population; randomly adjusting the encoding of individuals in the initial population based on sub-batch partitioning to expand the search range; optimizing the local structure of the encoding of individuals in the initial population; judgment step: judging whether the algorithm has reached the iteration loop termination condition, if satisfied, outputting the external files established by the individuals selected from the population, and selecting individuals from the external files as the scheduling scheme of the flexible job shop.
[0008] Specifically, sub-batch codes for individuals are generated randomly. First, sub-batch codes for a fixed proportion of individuals in the initial population are generated, followed by sub-batch codes for the remaining individuals. The sub-batch codes for the remaining individuals do not overlap with the sub-batch codes for the individuals generated earlier. The numbers in the sub-batch codes represent the number of sub-batch codes for each type of workpiece. The process codes for sub-batch codes are generated in at least one of the following ways: (1) randomly generated; (2) priority is given to selecting sub-batch codes with more remaining processes. If multiple sub-batch codes have the same remaining processes, they are randomly selected from among them. The number of process codes corresponds to the number of sub-batch codes. The numbers in the process codes represent the processing order of the sub-batch. The processing machine codes for the processes are generated according to... The following methods are used to generate the process code: (1) global selection; (2) local selection; (3) random selection; The machine code of the process is written in the order of the process of the workpiece, and the number in the machine code of the process represents the processing machine of the corresponding process; The employee code of the process is generated in at least one of the following methods: (1) employees with fewer processes are selected first, and if multiple employees have been assigned the same process, they are randomly selected from among them; (2) employees with shorter workload time are selected first, and if multiple employees have the same workload time, they are randomly selected from among them; (3) random selection; The employee code is written in the order of the process of the workpiece, and the number in the employee code represents the employee of the corresponding finishing process.
[0009] Specifically, if the scheduling completion time of the first entity and the maximum load time of the processing machine are both less than that of the second entity, then the first entity dominates the second entity. The dominance relationship between the entities is determined, the number of other entities dominated by each entity is calculated, and the entities are sorted according to the number of entities dominated.
[0010] Specifically, individuals with a predetermined proportion of the highest dominance ranking are selected as the decision-making wolf group, and individuals are randomly selected from the decision-making wolf group as guide wolves; individuals in the external archives meet the condition that they dominate any individual in the initial population.
[0011] Specifically, the gray wolf optimization algorithm utilizes a guiding wolf to optimize subordinate wolves within the population. This includes: The first guiding mechanism involves randomly selecting two digits from the sub-batch code of a subordinate wolf, replacing the code portion between these two digits with the corresponding code portion from the guiding wolf's sub-batch code, and re-initializing the sub-batch's process code, the processing machine code, and the employee code corresponding to the new sub-batch code to obtain the optimized subordinate wolf. The second guiding mechanism involves exchanging the process codes of the guiding wolf and the subordinate wolf, and then optimizing the subordinate wolf based on the individual... The process of the third guiding mechanism involves: exchanging the process codes of the guiding wolf individual and the subordinate wolf individual; during the exchange, based on the sub-batch codes of the subordinate wolf individual, deleting redundant codes from the process codes of the guiding wolf individual; sorting the remaining process codes from left to right; and then supplementing the process codes on the rightmost side based on the sub-batch codes of the subordinate wolf individual to obtain the optimized subordinate wolf individual; if the optimized subordinate wolf individual obtained through the above guiding mechanism can dominate the unoptimized subordinate wolf individual, the optimized subordinate wolf individual is retained; otherwise, the unoptimized subordinate wolf individual is retained.
[0012] Specifically, the search scope of the algorithm is expanded through the following operators: First operator: For an individual's sub-batch code, randomly select a workpiece type and re-divide the sub-batch quantity to form a new sub-batch code. The corresponding sub-batch's process code, process machine code, and process employee code are re-initialized. Second operator: Randomly select two sub-batches from an individual and swap the finishing processes of the two selected sub-batches. Third operator: For the workpiece type with the most sub-batch quantities in an individual, randomly select one sub-batch. For the selected sub-batch, randomly select a corresponding process. If the selected process is not a finishing process, randomly select another processing machine to replace the current processing machine. If the selected process is a finishing process, select a processing machine with more available employees to replace the current processing machine. Fourth operator: Randomly select a sub-batch from the workpiece type with the most finishing processes in an individual. For the selected sub-batch, randomly select a finishing process and replace the current employee with one assigned fewer finishing processes.
[0013] Specifically, the workpiece type with the longest processing time among the decision-making wolves is designated as the critical task. The decision-making wolves undergo the following neighborhood structure optimization: if the optimized decision-making wolf can dominate an unoptimized decision-making wolf, it is retained; otherwise, the unoptimized decision-making wolf is retained. First neighborhood structure: Randomly select a sub-batch of the critical task and randomly change the processing machine and employees in the sub-batch. Second neighborhood structure: Swap the process of the critical task with the process of the previous non-critical task. Third neighborhood structure: Calculate the load time of each processing machine, randomly select a process on the processing machine with the longest load time, and replace it with another available processing machine. Fourth neighborhood structure: Calculate the processing time of each employee, randomly select a processing machine for the finishing process on the employee with the longest processing time, and replace the employee on that machine with another available employee.
[0014] Specifically, in the parameters of the initial population, the population size is set to 200, and the preset ratio between the decision wolves and the population is 0.05.
[0015] Specifically, among the parameters for loop iteration, the maximum number of loop iterations is 80, and the maximum number of iterations for optimizing and adjusting the local structure is 10.
[0016] This invention also provides a flexible job shop scheduling device based on sub-batch partitioning, comprising: an initialization unit, a loop iteration unit, and an execution unit, wherein: the initialization unit is used to initialize and obtain an initial population including multiple individuals; individuals are chromosomes, and the encoding of each chromosome includes the number of sub-batches of the same type of workpiece, the process sequence of the sub-batches, the processing machine of the process, and the employee of the finishing process; each chromosome represents a scheduling scheme of the flexible job shop; the fitness of each scheduling scheme is determined according to the corresponding scheduling completion time and the maximum load time of the processing machine; the loop iteration unit is used to execute iterative loop steps, including... The process includes: sorting individuals in the initial population based on fitness, selecting guide wolves from the sorted individuals, and creating external profiles for these individuals; using the gray wolf optimization algorithm, guiding and optimizing the subordinate wolves in the population through the guide wolves; randomly adjusting the encoding of individuals in the initial population based on sub-batch partitioning to expand the search range; and optimizing the local structure of the encoding of individuals in the initial population. The execution unit is used to perform the judgment steps, including: determining whether the algorithm has reached the iteration loop termination condition; if so, outputting the external profiles created by the individuals selected from the population, and selecting individuals from the external profiles as the scheduling scheme for the flexible work workshop.
[0017] Beneficial effects: Compared with the prior art, the present invention has the following significant advantages: By dividing similar structural components into several sub-batches through reasonable sub-batch partitioning, it can reduce the amount of computation in production scheduling, reduce unnecessary time consumption, and ensure the completion time of production tasks, which is very much in line with the production requirements of aerospace structural components; Furthermore, based on the coding method, multiple guidance mechanisms are designed to accelerate population evolution and speed up the convergence of the algorithm. For decision wolves, a local search based on key tasks is designed to find a better solution. Attached Figure Description
[0018] Figure 1 A schematic diagram of the encoding provided by this invention;
[0019] Figure 2 A schematic diagram of the first guiding mechanism provided by the present invention;
[0020] Figure 3 A schematic diagram of the second guiding mechanism provided by the present invention;
[0021] Figure 4 A schematic diagram of the third guiding mechanism provided by the present invention;
[0022] Figure 5 Gantt chart for an embodiment of the present invention;
[0023] Figure 6 A schematic diagram illustrating the steps of the method provided by the present invention. Detailed Implementation
[0024] The technical solution of the present invention will be further described below with reference to the accompanying drawings.
[0025] From the perspective of the order, the problem is described as follows: An order contains n independent tasks (n workpieces), which are processed on m independent processing machines. Each type of workpiece can be divided into multiple sub-batch processing sessions. Each processing step can be performed on multiple processing machines. Each processing machine has one or more employees capable of operating it. Each structural component J to be processed... i Includes h i There are several processes, including V i The process involves precision operations, which follow technological constraints. Each operation can be performed on one or more machines. However, specific precision operations within structural components require human operators to operate machines. Therefore, the flexible job shop scheduling for batch flow under dual resource constraints comprises four sub-problems: determining the number of sub-batches for each type of structural component, determining the processing sequence of operations within each sub-batch, selecting processing machines for each sub-batch operation, and selecting employees for the machines performing precision operations. The objective function of the model is to minimize the maximum completion time and the bottleneck machine's load time. The bottleneck machine refers to the processing machine with the longest load time.
[0026] And it is described using mathematical functions as follows:
[0027] To minimize the completion time f1 of the structural component:
[0028]
[0029] Among them, C max C represents the maximum completion time. i Indicates the completion time of structural component i. This indicates the completion time of the workpiece with the longest completion time among all structural components.
[0030] Minimize the bottleneck machine load time f2:
[0031]
[0032] in, It is a decision variable, when (The j-th process in the p-th sub-batch of the i-th type of structural component) is selected in M k Processing is done on (the k-th processing machine), then otherwise express In machine M k Processing time, This represents the total processing time used for all structural component operations on machine k, i.e., the machine's load time. This indicates the machine with the highest load among all machines.
[0033] The constraints for scheduling are determined, including sub-batch constraints, process constraints, machine constraints, structural component processing time constraints, and employee constraints. The constraints are as follows: (1) All machines are available at time 0, and all structural components can be processed; (2) The batching of the same type of structural components is set to be equal and consistent; (3) The structural components in each sub-batch of the same type of structural components are guaranteed to be processed continuously without interruption; (4) Each sub-batch is independent of each other and does not affect each other; (5) The same machine can only process one process at a time and cannot interrupt the ongoing operation; (6) The processing time for processing the same process is different for each machine, and not all machines can process each process; (7) The employee's ability is flexible and the efficiency is consistent. Only one machine can be operated at the same time.
[0034] The constraints are as follows:
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043] T k'g ≥T kg -(1-τ kk'g L (9)
[0044] Formula (1) means that the sum of the number of structural components in each sub-batch of each type of structural component is equal to the total number of components in this type of structural component, where P represents the sub-batch number and SN represents the total number of components in this type of structural component. i This indicates the total number of batches of structural component i. Let P represent the number of structural components in the Pth sub-batch of structural component i; Formula (2) indicates that each process in each sub-batch of each type of structural component can only be processed by one machine at a certain time. It is a 0-1 decision variable, when Select M k Upward processing, otherwise Formula (3) indicates that the finishing process can only be carried out by one machine and one employee. It is a 0-1 decision variable, a precision process. Machine M k And employee W g If processing is carried out, then otherwise Formulas (4) and (5) indicate that for any sub-batch of each type of structural component, all previous processes must be completed before the current process can proceed. yes The start time of processing yes In machine M k Processing time, yes The end processing time; Formula (6) means that the completion time of any process must not exceed the maximum completion time; Formulas (7) and (8) mean that a machine can only process one sub-batch at the same time. It is a 0-1 decision variable, when exist Previously at M k During processing, otherwise L is a sufficiently large number; Formula (9) indicates that an employee can only operate one machine at a time, and Tkg is the employee's Wg Operating machine M k The end processing time, τ kk'g It is a 0-1 decision variable, when M k For W g Operation M k The immediate predecessor of ', then τ kk'g =1, otherwise τ kk'g =0.
[0045] See Figure 1 This is a schematic diagram of the encoding provided by the present invention.
[0046] In this invention, an initial population consisting of multiple individuals is obtained through initialization; each individual is a chromosome, and the encoding of each chromosome includes the number of sub-batches of the same type of workpiece, the process sequence of the sub-batches, the processing machine of the process, and the employee of the finishing process. Each chromosome represents a scheduling scheme of the flexible workshop; the fitness of each scheduling scheme is determined according to the corresponding scheduling completion time and the maximum load time of the processing machine.
[0047] Chromosome information is represented using a four-layer coding method. Figure 1 This is a schematic diagram of the encoding. J1 is divided into one sub-batch, with the independent sub-batch number 1. J2 is divided into two independent sub-batches with numbers 2 and 3, and J3 is divided similarly. Each sub-batch has two processing steps, resulting in a total OS encoding string of 12 gene positions. The format is as follows: O represents the process, the first subscript number indicates the i-th type of structural component, the superscript P indicates the p-th batch of structural components of this type, and the subscript j indicates the j-th process. For example... This indicates that the first process of the first batch of structural components of type 2 is the first one scheduled for processing. MS represents the processing machine code, indicating which processing machine performs the processing step of the corresponding sub-batch, and WS represents the employee code, indicating which employee performs the finishing step of the corresponding sub-batch.
[0048] In practice, the SS encoding strings (sub-batch encodings) of the population are initialized. For example, the first 70% of individuals are randomly initialized, and their SS encodings are recorded to form an initial tabu list. Then, the SS encoding strings of the remaining 30% of individuals are initialized one by one. If a randomly generated SS encoding string appears in the initial tabu list, it is discarded and a new SS encoding string is generated, until the requirement that the SS encoding string is not in the list is met. Then, based on the sub-batch division, the remaining three layers of encoding strings are initialized.
[0049] In practice, the initial taboo table is the generation operation recorded when the SS code is generated for the first time. These operations ensure that the same operation will not occur in subsequent initialization generation, so as to ensure that individual differences exist. For example, the SS codes generated by the subsequent 30% of individuals will not be the same as the SS codes of the previous 70% of individuals, while the SS codes of the previous 70% of randomly generated individuals may have the same SS codes.
[0050] In specific implementation, the OS code (process code) is generated as follows: (1) the processes are randomly sorted; (2) structural components with more remaining processes are selected first. If there are multiple selections, the process is randomly selected from the candidate processes. The above two methods can generate 50% of the population size. The OS code string is written using the code of the structural component. For example, there are 3 structural components, each of which has 2 processes. An OS code string [2 3 1 2 1 3] is randomly generated. The first 2 represents the first process of structural component 2, the first 3 represents the first process of structural component 3, and the last 3 represents the second process of structural component 3. In the second OS generation scheme mentioned above, in order to enable each structural component to be processed in parallel, that is, to avoid the situation where the first structural component has completed most of the processes while the second structural component has not yet been processed, the design prioritizes selecting the structural component number with more remaining processes. The specific operation is as follows: First, a process of a structural component is randomly selected to start processing. If 2 is selected, then structural component 2 still has 1 process to be processed, while structural components 1 and 3 each have 2 processes to be processed. Second, the process of the structural component to be processed is selected from 1 and 3, so 3 is selected in the second step. At this time, only structural component 1 still has 2 processes to be processed, while 2 and 3 each have only 1 process left. Therefore, the third step will select the first process of structural component 1 to be processed, and then continue to generate the OS code [2 3 1 2 1 3].
[0051] In practice, MS coding (processing machine coding) adopts the GLR initialization method, and the three methods of global selection (GS), local selection (LS), and random selection (RS) generate 60%, 30%, and 10% of the population size, respectively.
[0052] In specific implementation, the WS code (employee code) initialization generation methods are as follows: (1) Prioritize employees with fewer assigned processes; if multiple selections exist, randomly select from the candidates; (2) Prioritize employees with shorter workloads; if multiple selections exist, randomly select from the candidates; (3) Randomly select one employee. These three generation methods can generate 60%, 30%, and 10% of the population size, respectively.
[0053] In practice, the population size can be set to 200, meaning that the initial population can contain 200 individuals.
[0054] In this embodiment of the invention, individuals in the initial population are sorted according to fitness (non-dominant ranking level), and guide wolves are selected from the sorted individuals to create external profiles.
[0055] In this embodiment of the invention, if the scheduling completion time of the first entity and the maximum load time of the processing machine are both less than that of the second entity, then the first entity dominates the second entity. The dominance relationship between the entities is determined, the number of entities each entity dominates other entities is calculated, the entities are sorted according to the number of entities they dominate, and an entity dominance level is assigned to each entity.
[0056] In practice, an individual's fitness can be calculated based on the number of other individuals it dominates. The greater the number of dominance, the higher the fitness and the higher the non-dominance ranking.
[0057] In this embodiment of the invention, individuals with a predetermined proportion of high dominance rankings are selected as the decision wolf group, and individuals are randomly selected from the decision wolf group as guide wolves. The condition that individuals in the external file meet is that they are not individuals with a dominance ranking level of 1, that is, any individual among them can dominate any individual of other levels in the initial population.
[0058] In practice, the preset ratio between decision wolves and the population can be 0.05, meaning that the top 0.05 individuals in the dominance ranking are selected as the decision wolf group. The guide wolf is randomly selected from the decision wolves. Decision wolves are selected by non-dominantly ranking all individuals in the population based on their two target values, and then selecting 5% of these individuals as decision wolves. Therefore, the guide wolf selected from the decision wolves is of higher quality than the subordinate wolves (the remaining 95% of individuals in the initial population).
[0059] In practice, multi-objective ranking is performed using Pareto non-dominated ranking. Assume individual A has objectives x1 and x2, and individual B has objectives y1 and y2. A dominates B only if x1 < y1 and x2 < y2, meaning A is of higher quality than B. If x1 < y1 and x2 > y2 (swapping 1 and 2 has the same effect), then A and B do not dominate each other, and their quality is indistinguishable. After Pareto non-dominated ranking all individuals in the population, each individual will have a dominance level. The external archive stores individuals with a dominance level of 1. Individuals in the external archive can dominate any other individual in the population whose dominance level is not 1. The decision wolf selects the top 5% of the ranked individuals. Individuals in the external archive may be the same as the decision wolf, or they may not be among the decision wolves.
[0060] See Figures 2 to 4 These are schematic diagrams of the first guidance mechanism, the second guidance mechanism, and the third guidance mechanism provided by the present invention.
[0061] In this embodiment of the invention, the gray wolf optimization algorithm is used to guide the optimization of subordinate wolf individuals in the population by using a guiding wolf individual.
[0062] In this embodiment of the invention, the following three guidance mechanisms are used to guide individual wolves to optimize the guidance of subordinate wolves in the population.
[0063] The first guiding mechanism involves: randomly selecting two numbers temp1 and temp2 from the sub-batch encoding of the subordinate wolf individual (d(SS) represents the sub-batch partition encoding string SS of the guiding wolf d, and ω(SS) represents the sub-batch partition encoding string SS of the subordinate wolf ω). The encoding portion between these two numbers is replaced with the corresponding encoding portion in the sub-batch encoding of the guiding wolf individual. Based on the updated SS encoding strings d'(SS) and ω'(SS), i.e., d(SS) and ω(SS), a new solution (new individual) is generated according to the initialization rules. If the new solutions d' and ω' completely dominate the original solutions d and ω, the guiding process ends, and the original solution is replaced with a new, better solution; otherwise, guiding mechanism 2 or 3 is used again to guide the selected individual.
[0064] In practical implementation, if d and ω If they are equal, meaning the maximum element values of the OS encoded strings of d and ω are equal, the second guiding mechanism is used for guidance; if they are not equal, meaning the maximum element values of the OS encoded strings of d and ω are not equal, the third guiding mechanism is used for guidance.
[0065] The second guidance mechanism involves exchanging the process codes of the guiding wolf individual and the subordinate wolf individual. After the exchange, the process codes are supplemented or deleted based on the sub-batch codes of the individual to obtain optimized subordinate wolf individuals.
[0066] After the exchange, the process code is supplemented or deleted based on the sub-batch code of the individual. Since the number of batches for each type of structural component of individuals d and ω may be different, the number of processes corresponding to the structural component number must be considered when modifying the OS string code. For example, structural component 1 of d has 1 sub-batch with 1 process per sub-batch, and structural component 2 has 2 sub-batch with 2 processes per sub-batch. Then the length of d(OS) is 1*1+2*2=5. Structural component 1 of ω has 2 sub-batch with 1 process per sub-batch, and structural component 2 has 1 sub-batch with 2 processes per sub-batch. Then the length of ω(OS) is 2*1+2*1=4. When exchanging their OS encoding strings, the extra or missing sub-batch numbers need to be dynamically modified. For example, d(OS) = [2 3 1 3 2], ω(OS) = [1 3 2 3]. After exchanging OS, the 2 in OS in d belongs to structural component 2 and has 2 processes, so a 2 needs to be added to the OS that was exchanged, so d'(OS) = [1 32 3 2]. Similarly, the 2 in OS in ω belongs to structural component 1 and has 1 process, so a 2 needs to be removed from the OS that was exchanged, so ω'(OS) = [2 3 1 3]. The deletion and addition methods and principles in the third bootstrap mechanism are similar.
[0067] The third guidance mechanism involves exchanging the process codes of the guiding wolf individual and the subordinate wolf individual. During the exchange, redundant codes in the process codes of the guiding wolf individual are deleted according to the sub-batch codes of the subordinate wolf individual. The remaining process codes are sorted from left to right, and then supplemented on the rightmost side according to the sub-batch codes of the subordinate wolf individual to obtain the optimized subordinate wolf individual.
[0068] If an optimized wolf companion obtained through the above guidance mechanism can dominate an unoptimized wolf companion, the optimized wolf companion will be retained; otherwise, the unoptimized wolf companion will be retained.
[0069] In this embodiment of the invention, the encoding of individuals in the initial population is randomly adjusted to expand the search range.
[0070] In practical implementation, traversing all individuals increases the diversity of the wolf pack's prey search directions and expands the algorithm's search range. Four operators l1 to l4 are proposed for greedy search, expanding the algorithm's search range through the following operators: First operator l1: For an individual's sub-batch code, randomly select a type of workpiece to re-divide the sub-batch quantity, forming a new sub-batch code. The corresponding sub-batch's process code, the process's machine code, and the process's employee code are re-initialized; Second operator l2: Randomly select two sub-batches of an individual and swap the finishing processes of the two selected sub-batches; Third operator l3... For the type of workpiece with the most sub-batches in an individual, randomly select one sub-batch. For the selected sub-batch, randomly select a corresponding process. If the selected process is a non-finishing process, randomly select another processing machine to replace the current processing machine. If the selected process is a finishing process, select a processing machine with more available employees to replace the current processing machine. Fourth operator l4: In the type of workpiece with the most finishing processes in an individual, randomly select one sub-batch. For the selected sub-batch, randomly select a finishing process and replace the current employee with the employee assigned to the finishing process with one less employee.
[0071] In this embodiment of the invention, the encoding of individuals in the initial population is optimized and adjusted locally.
[0072] In practical implementation, a local search based on the critical task is performed on all decision wolves d to improve the solution set of the decision wolves. Since the maximum completion time is determined by the task with the longest completion time among all tasks (structural components) (the critical task), shortening the processing time of the critical task can directly reduce the maximum completion time of all tasks. For the critical task, four neighborhood structures N1-N4 are proposed, described in detail below. First neighborhood structure N1: Randomly select a sub-batch of a critical task and randomly change the processing machine and employees in the sub-batch. Second neighborhood structure N2: Adjust the OS part using a task-critical neighborhood structure, swapping the OS of the critical task's operation with the operation of the previous non-critical task. Third neighborhood structure N3: Adjust the MS part using a machine load balancing method, calculating the load time of each processing machine, randomly selecting an operation on the machine with the longest load time, and replacing it with another available processing machine. Fourth neighborhood structure N4: Adjust the WS part using a balanced employee operation time method, calculating the processing time of each employee, randomly selecting a processing machine for the finishing operation on the employee with the longest processing time, and replacing the employee on that machine with another available employee. The neighborhood structure of each decision wolf is optimized. If the optimized decision wolf can dominate an unoptimized decision wolf, the optimized decision wolf is retained; otherwise, the unoptimized decision wolf is retained.
[0073] In practice, the local structure is optimized and searched one by one in the order of N1 to N4 through the neighborhood structure. Each execution from N1 to N4 is considered as one loop iteration, and the maximum number of iterations for optimizing the local structure can be 10.
[0074] See Figure 6 This is a schematic diagram of the steps of the method provided by the present invention.
[0075] In this embodiment of the invention, it is determined whether the algorithm has reached the termination condition of the iterative loop. If the condition is met, an external file established by an individual selected from the population is output, and an individual is selected from the external file as the scheduling scheme of the flexible work workshop.
[0076] In practice, the maximum number of iterations in the iterative loop step can be 80.
[0077] In practice, the scheduling scheme corresponding to the individual with the shortest completion time and the minimum bottleneck machine load time can be selected from the external archives, and then the scheduling scheme can be executed.
[0078] Based on the ten sets of calculations MK01-MK10 in the standard Brandimarte, the DRCLSFJSP test calculations LSMK01 to LSMK10 are extended to generate. The batch sizes of structural parts in LSMK01-LSMK05 are randomly generated in the range [1, 10], while the batch sizes in LSMK06 to LSMK10 are randomly generated in the range [11, 20]. Taking LSMK01 as an example, the generation method of the new calculations is explained as follows: the number of structural part categories is 10, the batch size is randomly generated in the range [1, 10], the number of machines m is 6, and the number of employees is generated as 0.8m; the processing steps are selected as finishing steps requiring employee participation with a 50% probability; for each machine, all employees are traversed, and an employee is selected as an optional employee with a 50% probability. If a machine has no optional employees, an employee is randomly selected.
[0079] By analyzing data from the production workshop of an aerospace structural component manufacturing company, processing information for six application examples, LSHT01 to LSHT06, was extracted. Table 1 presents the processing information for example LSHT01, including the structural component and process name, and processing time. Processes in bold are the finishing processes for the structural components, requiring employee participation. A total of 9 machines and 5 employees are involved. Specific corresponding information is shown in Table 2.
[0080] Table 1 (Processing Information for Example LSHT01):
[0081]
[0082]
[0083] Table 2 (Information on optional machines and employees for each process):
[0084]
[0085] The SPHGWO algorithm is used to solve the LSHT01 instance, and the optimal scheduling scheme Gantt chart is obtained as follows: Figure 5 As shown.
[0086] The numbers above the process block indicate the structural component category and sub-batch number, while the numbers below indicate the process number and employee number of the current sub-batch. A single number indicates that no employee is required for this process. For example, the number 8-2 for the first process on machine M1 indicates that it is the second sub-batch of structural components of category 8, and 1-1 indicates that the first process of this sub-batch is performed by employee W1 operating machine M1.
[0087] The production scheduling example of aerospace structural components was solved using IMBO, MH-VNS, HGA, MOGWO and SPHGWO respectively. Each example was solved 20 times, and the optimal solution set comparison is shown in Table 3.
[0088] Table 3 (Non-dominated solution sets of five algorithm examples):
[0089]
[0090]
[0091] As shown in Table 3, although the SPHGWO algorithm yielded fewer optimal solutions than the comparative algorithms in examples LSHT01, LSHT02, and LSHT05, it still outperformed the other algorithms in all cases. In examples LSHT03, LSHT04, and LSHT06, the SPHGWO algorithm outperformed the comparative algorithms in both the quality and quantity of optimal solutions. The comparison of the optimal solution sets of the examples demonstrates that the SPHGWO algorithm can effectively solve the practical production scheduling problem of aerospace structural components. To further verify the comprehensive performance of the algorithm in solving the examples, Table 4 presents the comparison results of the five algorithms on the IGD, HV, and CR indices.
[0092] Table 4 (Comparison results of 5 algorithms for IGD, HV, and CR):
[0093]
[0094]
[0095] As shown in Table 4, the SPHGWO (Grey Wolf Optimization Algorithm) algorithm is optimal in terms of IGD, HV, and CR, indicating that the SPHGWO algorithm has a significant advantage in solving the batch flexible scheduling problem in the aerospace structural component production workshop. The CR index shows that SPHGWO's contribution to the final non-dominated front is superior to other algorithms in all six instances, demonstrating that the sub-batch partitioning search strategy and the task-critical local search strategy designed by the SPHGWO algorithm fully explore the solution space. The IGD and HV indices show that the SPHGWO algorithm is optimal in both, indicating that it can find more non-dominated solutions during the search process, and these solutions are more evenly distributed, exhibiting better diversity and convergence.
[0096] Verification from manufacturing examples of aerospace structural components shows that the SPHGWO (Grey Wolf Optimization Algorithm) has better performance. This is because the SPHGWO algorithm employs a novel guided population mechanism, which improves population diversity.
[0097] SPHGWO's sub-batch partitioning search mechanism expands the search range of the wolf pack, improving its multi-faceted optimization capabilities; the proposed task-critical local search strategy enhances the algorithm's depth-of-field mining capabilities. It is evident that the proposed improved strategy reasonably balances the algorithm's global exploration and local search, resulting in a significant improvement in algorithm stability. Application examples verify the feasibility and effectiveness of the proposed SPHGWO algorithm, demonstrating its potential for effective application in the actual production of aerospace structural components.
[0098] Considering the dual resource constraints and batch production characteristics of aerospace structural components, a multi-objective dual-resource batch flow flexible job shop scheduling model was established, and a hybrid gray wolf optimization algorithm based on sub-batch partitioning was proposed to solve the multi-objective flexible job shop scheduling problem. (1) Starting from the population guidance mechanism, three guidance mechanisms were designed to enhance the convergence performance of the algorithm; (2) Starting from sub-batch partitioning, four heuristic strategies were proposed to enable the solution set to evolve in multiple directions, thereby improving the global search capability of the algorithm; (3) Starting from the key tasks, search operators for key tasks were designed to enable the algorithm to escape local optima, thereby enhancing the local search capability of the algorithm. The effectiveness of the improved strategy and algorithm performance was verified by extending standard examples. The five algorithms were applied to the actual aerospace structural component production scheduling problem, and the results showed that the SPHGWO algorithm still has significant advantages in solving aerospace structural component instances.
[0099] This invention also provides a flexible job shop scheduling device based on sub-batch partitioning, comprising: an initialization unit, a loop iteration unit, and an execution unit, wherein: the initialization unit is used to initialize and obtain an initial population including multiple individuals; individuals are chromosomes, and the encoding of each chromosome includes the number of sub-batches of the same type of workpiece, the process sequence of the sub-batches, the processing machine of the process, and the employee of the finishing process; each chromosome represents a scheduling scheme of the flexible job shop; the fitness of each scheduling scheme is determined according to the corresponding scheduling completion time and the maximum load time of the processing machine; the loop iteration unit is used to execute iterative loop steps, including... The process includes: sorting individuals in the initial population based on fitness, selecting guide wolves from the sorted individuals, and creating external profiles for these individuals; using the gray wolf optimization algorithm, guiding and optimizing the subordinate wolves in the population through the guide wolves; randomly adjusting the encoding of individuals in the initial population based on sub-batch partitioning to expand the search range; and optimizing the local structure of the encoding of individuals in the initial population. The execution unit is used to perform the judgment steps, including: determining whether the algorithm has reached the iteration loop termination condition; if so, outputting the external profiles created by the individuals selected from the population, and selecting individuals from the external profiles as the scheduling scheme for the flexible work workshop.
[0100] In specific implementation, the flexible job shop scheduling device based on sub-batch partitioning provided by the present invention, wherein the steps and functions executed by each execution unit can refer to the flexible job shop scheduling method based on sub-batch partitioning provided by the present invention.
Claims
1. A flexible job shop scheduling method based on sub-batch partitioning, characterized in that, include: Initialization yields an initial population consisting of multiple individuals; Each individual is represented by a chromosome. The code of each chromosome includes the number of sub-batches of the same type of workpiece, the process sequence of the sub-batches, the processing machine of the process, and the employee of the finishing process. Each chromosome represents a scheduling scheme of the flexible workshop. The fitness of each scheduling scheme is determined according to the corresponding scheduling completion time and the maximum load time of the processing machine. Iterative loop steps: Individuals in the initial population are sorted according to fitness, and guide wolves are selected from the sorted individuals to create external profiles. The gray wolf optimization algorithm guides the optimization of subordinate wolves in the population using a guide wolf. The first guidance mechanism is used: if the optimized guide wolf and subordinate wolves dominate the original guide wolf and subordinate wolves, the guidance ends; otherwise, the second or third guidance mechanism is used. If the maximum element value in the process code of the guide wolf and the process code of the subordinate wolf are equal, the second guidance mechanism is used; otherwise, the third guidance mechanism is used. The first guiding mechanism involves: randomly selecting two digits from the sub-batch code of the auxiliary wolf individual; replacing the code portion between the two digits with the corresponding code portion in the sub-batch code of the guiding wolf individual; and re-initializing the sub-batch process code, the processing machine code, and the employee code corresponding to the new sub-batch code to obtain an optimized auxiliary wolf individual. The second guiding mechanism involves: exchanging the process code of the guiding wolf individual with the process code of the auxiliary wolf individual; after the exchange, supplementing or deleting the process code based on the individual's sub-batch code to obtain an optimized auxiliary wolf individual. The third guiding mechanism involves: ... The process codes of the guiding wolf and the subordinate wolf are exchanged. During the exchange, redundant codes in the guiding wolf's process code are removed based on the sub-batch codes of the subordinate wolf. The remaining process codes are sorted from left to right, and then supplemented on the rightmost side based on the sub-batch codes of the subordinate wolf to obtain an optimized subordinate wolf. If the optimized subordinate wolf obtained through the above guidance mechanism can dominate an unoptimized subordinate wolf, the optimized subordinate wolf is retained; otherwise, the unoptimized subordinate wolf is retained. If the scheduling completion time of the first entity and the maximum load time of the processing machine are both less than those of the second entity, then the first entity dominates the second entity. The encoding of individuals in the initial population is randomly adjusted based on sub-batch partitioning to expand the search range; The encoding of individuals in the initial population is locally optimized and adjusted; Judgment steps: Determine whether the algorithm has reached the termination condition of the iterative loop. If it is, output the external file created by the individuals selected from the population, and select individuals from the external file as the scheduling scheme for the flexible work workshop.
2. The flexible job shop scheduling method based on sub-batch partitioning according to claim 1, characterized in that, The initialization process yields a starting population comprising multiple individuals, including: The sub-batch codes for individuals are generated randomly. First, sub-batch codes for a fixed proportion of individuals in the initial population are generated, and then sub-batch codes for the remaining individuals are generated. The sub-batch codes for the remaining individuals do not overlap with the sub-batch codes for the individuals generated earlier. The numbers in the sub-batch codes represent the number of sub-batch divisions for each type of workpiece. The process code of the sub-batch is generated in at least one of the following ways: (1) randomly generated; (2) the sub-batch with more remaining processes is selected first, and if multiple sub-batches have the same remaining processes, they are randomly selected from them; the number of process codes corresponds to the sub-batch codes; the numbers in the process codes indicate the processing order of the sub-batch. The machine code for a process is generated in at least one of the following ways: (1) global selection; (2) local selection; (3) random selection; the machine code for a process is written in the order of the process of the workpiece, and the numbers in the machine code for a process represent the machine for the corresponding process. The employee codes for each process are generated in at least one of the following ways: (1) Prioritize employees assigned to fewer processes; if multiple employees have been assigned to the same process, then randomly select from them; (2) Prioritize employees with shorter workloads; if multiple employees have the same workload, then randomly select from them; (3) Random selection; The employee codes are written sequentially according to the process order of the workpiece, and the numbers in the employee codes represent the employees corresponding to the finishing process.
3. The flexible job shop scheduling method based on sub-batch partitioning according to claim 2, characterized in that, The process of ranking individuals in the initial population based on fitness includes: Determine the dominance relationship between individuals, calculate the number of individuals each individual dominates, and sort them according to the number of individuals they dominate.
4. The flexible job shop scheduling method based on sub-batch partitioning according to claim 3, characterized in that, The process of selecting individual wolves to guide the selection according to the ranking, and then creating external profiles for those individuals, includes: Select individuals from the top-ranked population in the domination ranking as the decision wolf group, and randomly select individuals from the decision wolf group as the guide wolf individuals; individuals in the external archives must meet the condition of dominating any individual in the initial population.
5. The flexible job shop scheduling method based on sub-batch partitioning according to claim 4, characterized in that, The random adjustment of the encoding of individuals in the initial population based on sub-batch partitioning to expand the search range includes: The search range of the algorithm can be expanded by the following operator: First operator: For an individual's sub-batch code, randomly select a type of workpiece to re-divide the sub-batch quantity, forming a new sub-batch code. The corresponding sub-batch's process code, the process's machine code, and the process's employee code are then re-initialized. Second operator: Randomly select two sub-batches of an individual and swap the positions of the finishing processes of the two selected sub-batches; The third operator: For the type of workpiece with the largest number of sub-batches in an individual, randomly select one of the sub-batches. For the selected sub-batches, randomly select the corresponding process. If the selected process is a non-finishing process, randomly select another processing machine to replace the current processing machine. If the selected process is a finishing process, select a processing machine with more available employees to replace the current processing machine. Fourth operator: Among the individual, randomly select a sub-batch from the workpiece type with the most finishing operations. For the selected sub-batch, randomly select one finishing operation and replace the current employee with the employee assigned fewer finishing operations.
6. The flexible job shop scheduling method based on sub-batch partitioning according to claim 5, characterized in that, The optimization adjustment of the local structure of the encoding of individuals in the initial population includes: The task with the longest processing time among the decision wolves is designated as the critical task. The neighborhood structure of each decision wolf is optimized as follows: If the optimized decision wolves can dominate the unoptimized ones, the optimized decision wolves are retained; otherwise, the unoptimized decision wolves are retained. First neighborhood structure: Randomly select a sub-batch of the critical task, and randomly change the processing machines and employees of the sub-batch; Second Neighborhood Structure: Exchange the process of a critical task with the process of the preceding non-critical task; Third domain structure: Calculate the load time of each processing machine, randomly select a process on the processing machine with the longest load time, and replace it with other optional processing machines; Fourth domain structure: Calculate the processing time of each employee, randomly select a processing machine for the finishing process for the employee with the longest processing time, and replace the employee on the processing machine with other selectable employees.
7. The flexible job shop scheduling method based on sub-batch partitioning according to claim 6, characterized in that, In the initial population parameters, the population size is set to 200, and the preset ratio between the decision wolves and the population is 0.
05.
8. The flexible job shop scheduling method based on sub-batch partitioning according to claim 7, characterized in that, Among the parameters for iterative loops, the maximum number of iterations is 80, and the maximum number of iterations for optimizing and adjusting the local structure is 10.
9. A flexible job shop scheduling device based on sub-batch partitioning, characterized in that, include: The unit consists of an initialization unit, a loop iteration unit, and an execution unit, where: The initialization unit is used to initialize and obtain an initial population consisting of multiple individuals. Each individual is a chromosome, and the encoding of each chromosome includes the number of sub-batches of the same type of workpiece, the process sequence of the sub-batches, the processing machine of the process, and the employee of the finishing process. Each chromosome represents a scheduling scheme of the flexible workshop. The fitness of each scheduling scheme is determined according to the corresponding scheduling completion time and the maximum load time of the processing machine. The iterative unit is used to execute iterative steps, including: sorting the initial population individuals according to fitness, selecting guide wolves from the sorted individuals, and establishing external profiles for the selected individuals; using the gray wolf optimization algorithm, guiding the optimization of subordinate wolves in the population using the guide wolves; using a first guidance mechanism for optimization, if the optimized guide wolves and subordinate wolves dominate the original guide wolves and subordinate wolves, then the guidance ends; otherwise, using a second or third guidance mechanism for optimization; if the maximum element value in the process code of the guide wolf individual and the process code of the subordinate wolf individual is equal, then using the second guidance mechanism for optimization; otherwise, using the third guidance mechanism for optimization; the first guidance mechanism includes: randomly selecting two code digits in the sub-batch code of the subordinate wolf individual, replacing the code portion between the two code digits with the corresponding code portion in the sub-batch code of the guide wolf individual, and re-initializing the process code, processing machine code, and employee code of the sub-batch corresponding to the new sub-batch code to obtain the optimized result. The process of the second guiding mechanism includes: exchanging the process codes of the guiding wolf individual and the subordinate wolf individual; after the exchange, supplementing or deleting process codes according to the sub-batch codes of the individual to obtain an optimized subordinate wolf individual; the process of the third guiding mechanism includes: exchanging the process codes of the guiding wolf individual and the subordinate wolf individual; during the exchange, according to the sub-batch codes of the subordinate wolf individual, deleting redundant codes in the process codes of the guiding wolf individual, sorting the remaining process codes from left to right, and then supplementing them on the rightmost side according to the sub-batch codes of the subordinate wolf individual to obtain an optimized subordinate wolf individual; if the optimized subordinate wolf individual obtained through the above guiding mechanisms can dominate the unoptimized subordinate wolf individual, the optimized subordinate wolf individual is retained; otherwise, the unoptimized subordinate wolf individual is retained; if the scheduling completion time of the first individual and the maximum load time of the processing machine are both less than that of the second individual, the first individual dominates the second individual; the codes of individuals in the initial population are randomly adjusted based on sub-batch partitioning to expand the search range; the codes of individuals in the initial population are locally optimized; The execution unit is used to perform the judgment steps, including: judging whether the algorithm has reached the iteration loop termination condition; if the condition is met, outputting the external file established by the individuals selected from the population; and selecting individuals from the external file as the scheduling scheme of the flexible work workshop.
Citation Information
Patent Citations
Single-target flexible job shop energy-saving scheduling method based on improved grey wolf algorithm
CN114862009A
Hydraulic cylinder part workshop production scheduling method based on IMOEA
CN115981262A