Flexible job shop variable batching scheduling method based on improved shuffled frog leaping algorithm
By improving the hybrid frog-jumping algorithm, combining process-level batch coding and workpiece allocation methods, and embedding sub-batch perturbation local search, the variable batch scheduling of the flexible workshop is optimized, solving the problem of improving production efficiency under overlapping process operations and achieving more efficient production resource allocation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-30
- Publication Date
- 2026-03-24
AI Technical Summary
Existing technologies struggle to efficiently optimize the flexible job shop variable batch scheduling problem (FJSP-VSOO), especially under overlapping operations, where production efficiency improvements are limited and it is difficult to meet the needs of multi-variety, small-batch production.
An improved hybrid frog-jumping algorithm is adopted, which combines process-level batch coding, workpiece allocation and right-shift operation active decoding method, and embeds sub-batch perturbation local search algorithm to optimize the scheduling scheme.
It has improved the production efficiency of flexible workshops, shortened the completion time, enhanced the ability to rationally allocate production resources, and adapted to the needs of multi-variety, small-batch production.
Smart Images

Figure CN116430811B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of workshop scheduling technology, and in particular relates to a flexible work workshop variable batch scheduling method based on an improved hybrid frog-jumping algorithm. Background Technology
[0002] With increasing demand for personalized customization and intensifying market competition, the application of multi-variety, small-batch discrete manufacturing is becoming more widespread in enterprises, and the configuration of production lines is gradually shifting from rigid flow structures to flexible discrete structures. To respond more quickly to high-density orders, enterprises need to continuously improve production efficiency to meet high-frequency, short-time delivery requirements, thereby maintaining their core competitiveness. This requires more advanced production scheduling technologies and methods. The Flexible Job-shop Scheduling Problem (FJSP) is an important combinatorial optimization problem studied in discrete manufacturing, capable of flexibly arranging production according to actual conditions. However, most current research on FJSP treats workpieces as indivisible batches for scheduling. This assumption often fails to reflect actual production scenarios and significantly limits the optimization level of production efficiency, making it difficult to adapt to today's highly competitive environment.
[0003] Lot streaming (LS) is a technology that effectively improves production efficiency by dividing a batch of workpieces into multiple smaller sub-batches for production. This allows for the full utilization of overlapping operations between different sub-batches to promote the rational allocation of production resources, thereby reducing production costs and shortening production cycles. In recent years, with the increasing demands for customer customization and market diversification, enterprises have placed higher requirements on production efficiency and flexibility. Production flexibility is not only reflected in the optimized allocation of production resources but also in the dynamic changes of sub-batches of each product during the production process. Therefore, variable batching strategies that can minimize completion time are increasingly being applied in actual production. Overlapping in operations (OO) is a technology based on lot streaming. It allows the next operation to be performed when a sub-batch is partially completed without waiting for the entire sub-batch to be completed, effectively reducing work-in-process inventory and shortening completion time.
[0004] The Flexible Job Shop with Variable Sublots and Overlapping in Operations (FJSP-VSOO) problem, considering overlapping operations, is closer to the discrete manufacturing model of multiple varieties and small batches than FJSP, and therefore has significant theoretical and engineering value. However, while simultaneously employing overlapping operations and variable sublot strategies can significantly shorten completion time, it also greatly increases problem complexity and expands the solution space. Therefore, more efficient optimization strategies and methods are needed.
[0005] In summary, how to optimize FJSP-VSOO more efficiently and achieve more efficient collaborative optimization of batching and scheduling issues has become an urgent problem to be solved. Summary of the Invention
[0006] To address the shortcomings of the existing technologies, this invention provides a flexible job shop variable batch scheduling method based on an improved hybrid frog-jumping algorithm, which can optimize FJSP-VSOO more efficiently and achieve more efficient collaborative optimization of batching and scheduling problems.
[0007] To solve the above-mentioned technical problems, the present invention adopts the following technical solution:
[0008] The flexible job shop variable batch scheduling method based on the improved hybrid frog-leaping algorithm includes the following steps:
[0009] Step 1: Obtain scheduling task data and determine relevant parameters of the hybrid frog leaping algorithm; the relevant parameters include population size. N p Number of memes M Number of evolutions within a meme group I e And the maximum number of iterations of the algorithm I max ;
[0010] Step 2: Use process-level batch coding to encode each individual frog in the population and initialize the population;
[0011] Step 3: Decode using an active decoding method based on workpiece assignment and right shift operations, and evaluate the fitness of each body;
[0012] Step 4: Divide the population into M A set of memes of equal size;
[0013] Step 5: Evolve each meme group according to the preset priority optimization operation;
[0014] Step 6: Determine if each evolved meme group meets the preset inner iteration condition. If it does, proceed to Step 7; otherwise, return to Step 5. The inner iteration condition is that the number of times the meme group evolves is greater than... I e ;
[0015] Step 7: [The text appears to be incomplete and contains several grammatical errors. A more accurate translation would require the full context.] M The meme groups were re-merged into a single population;
[0016] Step 8: Determine whether the re-merged population satisfies the preset algorithm iteration conditions. If it does, output the corresponding variable batch scheduling scheme and the corresponding scheduling Gantt chart; otherwise, return to step 3. The algorithm iteration condition is that the number of algorithm iterations is greater than... I max .
[0017] Preferably, in step 2, the process batch coding includes process sorting coding and sub-batch division coding;
[0018] The process sequencing code adopts a process-based coding system. Each digit in the code represents the corresponding workpiece number, and the number of times the digit appears from left to right represents the process number of the workpiece corresponding to that digit.
[0019] The sub-batch partitioning code is a multi-row, multi-column code. The row index represents the workpiece number, and the column index represents the process number. The combination of any row index and any column index corresponds to an element array. The element array is a batching array of the workpiece corresponding to the row sequence number and the process corresponding to the column sequence number, used to represent the sub-batch partitioning scheme of the workpiece and the process. The value of each element in the batching array represents the sub-batch size. The sum of the number of non-zero elements in each batching array is calculated to obtain the sub-batch number of the corresponding process. The length of the batching array is equal to the number of selectable machines for the corresponding process. The column index of the batching array corresponds one-to-one with the selectable machine index of the process. The x-th sub-batch of the process is arranged to be processed on the x-th selectable machine of the process.
[0020] Preferably, in step 2, the population is initialized using a random initialization method, and the process sorting code and sub-batch partitioning code are randomly generated.
[0021] Preferably, in step 3, the active decoding method based on workpiece allocation and right shift operation includes: using an insertion-based greedy decoding method to generate an active scheduling solution; and on this basis, using a workpiece allocation strategy based on proximity to achieve overlapping operations of processes, and then using a right shift operation based on sub-batch completion time to ensure continuous processing of each batch; the workpiece allocation means allocating workpieces to selectable machines according to the variable sub-batch scheme determined by the code.
[0022] Preferably, in step 3, the workpiece allocation strategy based on proximity includes: first, numbering each piece in the previous process and recording the completion time of each piece in the previous process; then, determining the earliest start time for each piece in the subsequent process, and selecting the piece in the previous process whose completion time is closest to the earliest start time to allocate it to the subsequent process.
[0023] Preferably, in step 4, when dividing the meme groups, the best meme group in the population is first selected. M Each individual is retained as the optimal individual for each meme group, and the remaining individuals for each meme group are then obtained from the population using a binary tournament selection method.
[0024] Preferably, in step 5, the preset priority optimization operation includes:
[0025] S1. Select the worst individual within the meme group. I w With one randomly selected from the meme group I w With the best individual within the meme group I mb individual I r Perform crossover; if the fitness of the crossover individuals is better than... I w Then use the individual after the crossover to replace I w Otherwise, switch to S2;
[0026] S2, will I w With the best individual within the meme group I mb Perform crossover; if the fitness of the crossover individuals is better than... I w Then use the individual after the crossover to replace I w Otherwise switch to S3;
[0027] S3, will I w With the best individual in the population I gb Perform crossover; if the fitness of the crossover individuals is better than... I w Then use the individual after the crossover to replace I w Otherwise switch to S4;
[0028] S4, to I mb Perform a sub-batch perturbation local search and then randomly initialize an individual to replace it. I w.
[0029] Preferably, when S1, S2 and S3 are interleaved, the process sorting code adopts POX interleaving, and the sub-batch division code adopts uniform interleaving.
[0030] Preferably, in S4, the sub-batch perturbation local search process includes:
[0031] (1) Find I mb The machine with the highest load in the decoded scheduling scheme M b And statistics on machines M b Number of processes arranged above N b ;
[0032] (2) Select in order of completion time from latest to earliest. M b If the sub-batch size of the previous process is greater than 1, then the sub-batch size of this sub-batch is reduced by 1. Then, a sub-batch is randomly selected from other sub-batch sizes in the process, the sub-batch size of this sub-batch is increased by 1, and the sub-batch partitioning code of this individual is updated.
[0033] (3) Decode the new individual. If the fitness value after decoding is better than that of the new individual, then... I mb Then replace with a new individual. I mb Otherwise, select the process with the earlier completion time and return to step (2).
[0034] Compared with the prior art, the present invention has the following beneficial effects:
[0035] 1. Considering the NP-hard nature of FJSP-VSOO and the dynamic variability of process-level batching, metaheuristic algorithms are still the primary solution method. Since the hybrid frog-jumping algorithm has advantages such as fast computation speed, strong global search capability, and fewer control parameters, this invention proposes an improved hybrid frog-jumping algorithm with the optimization objective of minimizing the maximum completion time. Based on the hybrid frog-jumping algorithm, a flexible job shop scheduling method considering process overlap and variable sub-batches is developed. This invention designs a process-level batching encoding method that integrates the sub-batch partitioning scheme into the encoding, more completely expressing the solution space without introducing additional batching strategies or rules, thus achieving more efficient collaborative optimization of batching and scheduling problems.
[0036] 2. In view of the characteristics of overlapping operations, this invention develops an active decoding method based on workpiece allocation and right shift operations, thereby ensuring the quality of the scheduling solution.
[0037] 3. This invention designs a sub-batch perturbation local search algorithm and embeds it into the process of meme group evolution. It also guides the search tendency of the algorithm through the variable level operation, thereby improving the search efficiency of the algorithm.
[0038] 4. This invention improves the hybrid frog-jumping algorithm, which improves its poor local search ability and achieves simultaneous optimization of variable batching and scheduling problems. It is feasible and effective for solving the flexible job shop variable batching scheduling problem that considers overlapping operations.
[0039] In summary, this invention can optimize FJSP-VSOO more efficiently and achieve more efficient collaborative optimization of batching and scheduling problems. Attached Figure Description
[0040] To make the objectives, technical solutions, and advantages of the invention clearer, the invention will now be described in further detail with reference to the accompanying drawings, wherein:
[0041] Figure 1 Flowchart for an embodiment;
[0042] Figure 2 This is a schematic diagram illustrating an example of process-level batch coding in the embodiment;
[0043] Figure 3 This is a schematic diagram illustrating an example of decoding in the embodiment;
[0044] Figure 4 This is a schematic diagram illustrating the effect of sub-batch perturbation local search in the embodiment;
[0045] Figure 5 This is the optimal scheduling Gantt chart obtained from the example test in the embodiment. Detailed Implementation
[0046] The following detailed explanation illustrates the specific implementation methods:
[0047] Considering the NP-hard nature of FJSP-VSOO and the dynamic changes in process-level batching, metaheuristic algorithms are still the primary solution method. Since the hybrid frog-jumping algorithm has advantages such as fast computation speed, strong global search capability, and fewer control parameters, this invention proposes an improved hybrid frog-jumping algorithm with the optimization objective of minimizing the maximum completion time. Based on this algorithm, a flexible job shop scheduling method considering process overlap and variable sub-batches is developed.
[0048] like Figure 1 As shown, this embodiment discloses a flexible job shop variable batch scheduling method based on an improved hybrid frog-leaping algorithm, including the following steps:
[0049] Step 1: Obtain scheduling task data and determine relevant parameters of the hybrid frog leaping algorithm; the relevant parameters include population size. N p Number of memes M Number of evolutions within a meme group I e And the maximum number of iterations of the algorithm I max .
[0050] Step 2: Use process-level batch coding to encode each individual frog in the population and initialize the population;
[0051] The process batch coding includes process sorting coding and sub-batch batch division coding.
[0052] The process sequencing code adopts a process-based coding system. Each digit in the code represents the corresponding workpiece number, and the number of times the digit appears from left to right represents the process number of the workpiece corresponding to that digit.
[0053] The sub-batch partitioning code is a multi-row, multi-column code. The index of the row represents the workpiece number, and the index of the column represents the process number. The combination of any row index and any column index corresponds to an element array. The element array is a batch array of the workpiece corresponding to the row sequence number and the process corresponding to the column sequence number, which is used to represent the sub-batch partitioning scheme of the workpiece and the process. The value of each element in the batch array represents the sub-batch size. The number of sub-batches corresponding to the process is obtained by calculating the sum of the number of non-zero elements in each batch array. The length of the batch array is equal to the number of selectable machines for the corresponding process. The column index of the batch array corresponds one-to-one with the selectable machine index of the process. That is, the xth sub-batch of the process (the xth column of the batch array) is arranged to be processed on the xth selectable machine of the process.
[0054] Encode each frog in the population, that is, encode each batch of work processes as a frog in the frog jumping algorithm, thereby completing the initialization of the population; during the initialization process, the population can be initialized by random initialization method, and the work process sorting code and sub-batch partitioning code are randomly generated.
[0055] To help those skilled in the art better understand the specifics of process batch coding, an example is provided. This example includes three types of workpieces ( J 1. J 2. J 3) and 3 machines (M1, M2, M3), the total batch size of the 3 types of workpieces is 10, and the number of processes is 3, 3 and 2 respectively.
[0056] The process-level batch coding consists of two parts: process sorting code and sub-batch batch division code.
[0057] The process sequencing code uses a process-based coding system. Each digit represents the workpiece number, and the number of times a digit repeats from left to right represents the process number. For example... Figure 2 The third digit of the process sequence code is 1, which represents workpiece number 1. The digit 1 appears for the second time, representing the second process (i.e., process number 1) of workpiece 1. O 12 ).
[0058] Sub-batch partitioning encoding can simultaneously express information related to three sub-problems: machine selection, sub-batch partitioning, and sub-batch batch partitioning. The row and column indices of the sub-batch partitioning encoding represent the workpiece number and operation number, respectively. The corresponding element is a batch array used to represent the sub-batch partitioning scheme for that workpiece and operation. Furthermore, the maximum number of sub-batches that each operation can be divided into is set to the number of available machines (i.e., the length of the batch array). The index of the batch array corresponds to the index of the available machines for that operation. The sum of the number of non-zero elements is the number of sub-batches for that operation, and the value of each element is the sub-batch batch size. For example... Figure 2 The array of elements (4,6) in the second row and second column of the neutron batch partitioning code represents the second process (i.e., process) of workpiece 2. O 22 A batch array, if it can be processed into multiple steps. O 22 If the machines are M2 and M3, then... O 22 The workpieces were divided into two sub-batches, with batch sizes of 4 and 6 respectively. Four pieces were processed on M2 and six pieces were processed on M3.
[0059] Step 3: Decode using an active decoding method based on workpiece assignment and right shift operations, and evaluate the fitness of each body.
[0060] In specific implementation, the active decoding method based on workpiece allocation and right shift operation includes: using an insertion-based greedy decoding method to generate an active scheduling solution; and on this basis, using a workpiece allocation strategy based on proximity to achieve overlapping operations of processes, and then using a right shift operation based on sub-batch completion time to ensure continuous processing of each batch; the workpiece allocation refers to allocating workpieces to selectable machines according to a variable sub-batch scheme determined by encoding. The workpiece allocation strategy based on proximity to proximity includes: first, numbering each piece in the previous process and recording the completion time of each piece in the previous process; then determining the earliest start time for each piece in the subsequent process, and selecting the piece in the previous process whose completion time is closest to the earliest start time to allocate it to the subsequent process.
[0061] Decoding is the process of converting encoding into a scheduling scheme. The determination of sequence-related preparation times and the implementation of overlapping operations are accomplished through decoding. This method can effectively improve the quality of decoding.
[0062] To help those skilled in the art better decode the specific content, an example is provided. The example illustrates the process. O 121 , O 221 and O 222 The decoding operation involves workpiece 1 and workpiece 2 with total batches of 10 and 7 respectively, and both have 2 processes.
[0063] like Figure 3 As shown, Figure 3 In Figures (a) and (b), the workpiece allocation and right-shift operations are illustrated, respectively. Solid boxes represent processes that have completed decoding, while dashed boxes represent processes that have not yet completed decoding. Figure 3 In (a), the process O 111 (i.e., the first sub-batch of the first process of workpiece 1) O 112 , O 211 Decoding is complete, and the process is underway. O 121 , O 221 , O 222 Decoding not completed; after workpiece allocation and right shift operations are completed, the process... O 121 , O 221 , O 222 Complete decoding, such as Figure 3 As shown in (b), the batch of workpieces is divided into several individual pieces (such as processes) by dashed lines within the solid-line box. O 111 It contains 6 individual items.
[0064] Job allocation is the operation of assigning jobs to selectable machines according to a variable sub-batch scheme determined by coding. Figure 3 In (a), the preceding process is first... O 111 , O 112 , O 211 Each individual piece is numbered, and the completion time of each piece is recorded. Next, the earliest possible start time for each piece in subsequent processes is determined, and the piece whose completion time in the preceding process is closest to its earliest possible start time is assigned to the subsequent process; that is, a workpiece allocation strategy based on proximity is adopted. This is done by process. O 221 For example, the second single item selected the process. O111 Select piece 3 for the first sub-batch, and piece 5 for the third sub-batch. After completing the workpiece allocation, record the completion time of each sub-batch, and based on this, identify the processes that do not meet the sub-batch continuous processing constraints. O 121 With process O 222 Perform a right shift operation, such as Figure 3 As shown in (b).
[0065] Step 4: Divide the population into M A set of memes of equal size.
[0066] In practice, when dividing the meme groups, the best meme group in the population is first selected. M Each individual is retained as the optimal individual for each meme group, and the remaining individuals for each meme group are then obtained from the population using a binary tournament selection method.
[0067] This method of meme group partitioning can improve the global search efficiency of the algorithm.
[0068] Step 5: Evolve each meme group according to the preset priority optimization operation.
[0069] like Figure 1 As shown in the dashed lines, the preset priority optimization operations include the following in actual implementation:
[0070] S1. Select the worst individual within the meme group. I w With one randomly selected from the meme group I w With the best individual within the meme group I mb individual I r Perform crossover; if the fitness of the crossover individuals is better than... I w Then use the individual after the crossover to replace I w Otherwise, switch to S2;
[0071] S2, will I w With the best individual within the meme group I mb Perform crossover; if the fitness of the crossover individuals is better than... I w Then use the individual after the crossover to replace I w Otherwise switch to S3;
[0072] S3, will I w With the best individual in the populationI gb Perform crossover; if the fitness of the crossover individuals is better than... I w Then use the individual after the crossover to replace I w Otherwise switch to S4;
[0073] S4, to I mb Perform a sub-batch perturbation local search and then randomly initialize an individual to replace it. I w .
[0074] When S1, S2 and S3 are interleaved, the process sorting code adopts POX interleaving, and the sub-batch division code adopts uniform interleaving.
[0075] The S4 operation enhances the algorithm's local search capability, enabling subsequent operations to... I w Learn better I mb This information guides subsequent iterations of the meme group towards higher-priority operations (i.e., rank-shifting operations). As priority decreases, the global search capability of the meme group decreases to some extent, while its local search capability increases accordingly. Rank-shifting operations adaptively adjust the algorithm's search tendency, thereby balancing the global and local search capabilities during the meme group's evolution to some extent.
[0076] To improve the local search capability of the hybrid frog leaping algorithm, this invention develops a sub-batch perturbation local search method for the S4 operation in meme group evolution, and only for the optimal individual within each meme group. I mb Performing a local search can significantly reduce computational load while maintaining both global and local search capabilities of the algorithm, resulting in a more balanced global machine load. Furthermore, to more efficiently obtain better local solutions, the local search is performed only on the sub-batch partitioning code, while keeping the process order code unchanged.
[0077] In specific implementation, the sub-batch perturbation local search process in S4 includes:
[0078] (1) Find I mb The machine with the highest load in the decoded scheduling scheme M b And statistics on machines M b Number of processes arranged above N b ;
[0079] (2) Select in order of completion time from latest to earliest.M b If the sub-batch size of the previous process is greater than 1, then the sub-batch size of this sub-batch is reduced by 1. Then, a sub-batch is randomly selected from other sub-batch sizes in the process, the sub-batch size of this sub-batch is increased by 1, and the sub-batch partitioning code of this individual is updated.
[0080] (3) Decode the new individual. If the fitness value after decoding is better than that of the new individual, then... I mb Then replace with a new individual. I mb Otherwise, select the process with the earlier completion time and return to step (2).
[0081] To facilitate understanding, let's illustrate with a specific example, such as... Figure 4 As shown, Figure 4 In the image, the left side shows the scheduling Gantt chart before the sub-batch perturbation local search, and the right side shows the scheduling Gantt chart after the sub-batch perturbation local search. The specific process of the sub-batch perturbation local search is as follows:
[0082] (1) Find I mb The machine with the highest load in the decoded scheduling scheme M b The machine was equipped with a total of N b Each process, such as Figure 4 The machine with the highest load on the left is M2, on which are arranged... O 112 , O 211 , O 221 These are the three processes.
[0083] (2) Select in order of completion time from latest to earliest. M b If the sub-batch size of a process is greater than 1, then the sub-batch size of that process is reduced by 1. Then, a sub-batch is randomly selected from other sub-batch sizes in that process, the sub-batch size of that sub-batch is increased by 1, and the sub-batch partitioning code of that individual is updated. Figure 4 In the diagram on the left, select the process on M2. O 222 Reduce its sub-batch size from 6 to 5, while simultaneously reducing another sub-batch size... O 221 The sub-batch size was increased from 4 to 5.
[0084] (3) Decode the new individual. If the fitness value after decoding is better than that of the new individual, then... I mb Then replace with a new individual. I mbOtherwise, choose the process with the earlier completion time and repeat steps (2) to (3). Figure 4 As shown in the diagram on the right, the completion time obtained after decoding the new individual is... t 2, and I mb The completion time after decoding is t 1. Therefore, the completion time of the new individual is shortened. t This means that the new encoding has better adaptability.
[0085] Step 6: Determine if each evolved meme group meets the preset inner iteration condition. If it does, proceed to Step 7; otherwise, return to Step 5. The inner iteration condition is that the number of times the meme group evolves is greater than... I e ;
[0086] Step 7: [The text appears to be incomplete and contains several grammatical errors. A more accurate translation would require the full context.] M The meme groups were re-merged into a single population;
[0087] Step 8: Determine whether the re-merged population satisfies the preset algorithm iteration conditions. If it does, output the corresponding variable batch scheduling scheme and the corresponding scheduling Gantt chart; otherwise, return to step 3. The algorithm iteration condition is that the number of algorithm iterations is greater than... I max .
[0088] This invention designs a process-level batch coding method that integrates the sub-batch partitioning scheme into the coding, more completely expressing the understanding space, and without introducing additional batching strategies or rules, thereby more efficiently completing the collaborative optimization of batching and scheduling problems.
[0089] In addition, this invention develops an active decoding method based on workpiece allocation and right-shift operations to address the characteristics of overlapping operations, thereby ensuring the quality of the scheduling solution. Furthermore, this invention designs a sub-batch perturbation local search algorithm and embeds it into the meme group evolution process, using a variable-level operation to guide the algorithm's search tendency, thus improving the algorithm's search efficiency. This invention improves the hybrid frog-leaping algorithm, addressing its poor local search capability, and achieves simultaneous optimization of variable batching and scheduling problems, demonstrating feasibility and effectiveness in solving the flexible job shop variable batching scheduling problem considering overlapping operations.
[0090] To verify the effectiveness of the improved hybrid frog-jumping algorithm proposed in this invention, example P6.1 from the literature "Juan M. Novas. Production scheduling and lot streaming at flexible job-shops environments using constraint programming[J]. Computers & Industrial Engineering, 2019, 136(C)" was selected for testing. This example contains 9 types of jobs and 8 machines, with each job having 4 processes, and the total batch sizes for each job being {22, 47, 35, 19, 36, 38, 28, 30, 38}. The main parameter settings for the improved hybrid frog-jumping algorithm are as follows: Population size N p = 160, Number of memes N m = 20. Number of evolutions within a meme group I e = 12. Maximum number of iterations of the algorithm I max = 90. Figure 5 The optimal scheduling Gantt chart obtained in this invention yields a solution of 27726, while the optimal solution obtained from the references is 29245. It is evident that the improved hybrid frog-leaping algorithm can effectively obtain a better batch scheduling solution, and the optimization effect is quite significant.
[0091] This invention effectively solves the variable batch scheduling problem in flexible workshops based on an improved hybrid frog-leaping algorithm, and this problem can be extended to include process overlap constraints and preparation time according to actual production needs. In the specific design of the algorithm, on the one hand, the local search capability is enhanced by embedding a sub-batch perturbation local search algorithm into the meme group evolution process; on the other hand, variable-level operations are used to guide the search direction of the algorithm, thereby balancing the global and local search capabilities. Furthermore, to further improve the algorithm's performance, an effective process-level batch encoding is designed, and the decoding method is improved.
[0092] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit the technical solutions. Those skilled in the art should understand that any modifications or equivalent substitutions to the technical solutions of the present invention without departing from the spirit and scope of the present invention should be covered within the scope of the claims of the present invention.
Claims
1. A flexible job shop variable batch scheduling method based on an improved hybrid frog-leaping algorithm, characterized in that, Coordination optimization for process overlap and variable sub-batches in FJSP-VSOO includes the following steps: Step 1: Obtain scheduling task data and determine relevant parameters of the hybrid frog leaping algorithm; the relevant parameters include population size N. p Number of meme groups M, number of evolutions within a meme group I e And the maximum number of iterations of the algorithm I max ; Step 2: Use process-level batch coding to encode each individual frog in the population and initialize the population; Step 3: Decode using an active decoding method based on workpiece assignment and right shift operations, and evaluate the fitness of each body; Step 4: Divide the population into M meme groups of equal size; Step 5: Evolve each meme group according to the preset priority optimization operation; Step 6: Determine if each evolved meme group meets the preset inner iteration condition. If it does, proceed to Step 7; otherwise, return to Step 5. The inner iteration condition is that the number of times the meme group evolves is greater than 1. e ; Step 7: Merge the M meme groups back into one population; Step 8: Determine whether the re-merged population satisfies the preset algorithm iteration conditions. If it does, output the corresponding variable batch scheduling scheme and the corresponding scheduling Gantt chart; otherwise, return to step 3. The algorithm iteration condition is that the number of algorithm iterations is greater than 1. max ; In step 2, the process batch coding includes process sorting coding and sub-batch division coding; The process sequencing code adopts a process-based coding system. Each digit in the code represents the corresponding workpiece number, and the number of times the digit appears from left to right represents the process number of the workpiece corresponding to that digit. The sub-batch partitioning code is a multi-row, multi-column code. The index of the row represents the workpiece number, and the index of the column represents the process number. The combination of any row index and any column index corresponds to an element array. The element array is a batching array of the workpiece corresponding to the row sequence number and the process corresponding to the column sequence number, used to represent the sub-batch partitioning scheme of the workpiece and the process. The value of each element in the batching array represents the sub-batch size. The number of sub-batches corresponding to the process is obtained by calculating the sum of the number of non-zero elements in each batching array. The length of the batching array is equal to the number of selectable machines for the corresponding process. The column index of the batching array corresponds one-to-one with the selectable machine index of the process. The x-th sub-batch of the process is arranged to be processed on the x-th selectable machine of the process. In step 3, the active decoding method based on workpiece allocation and right shift operation includes: using an insertion-based greedy decoding method to generate an active scheduling solution; and on this basis, using a workpiece allocation strategy based on proximity to achieve overlapping operations of processes, and then using a right shift operation based on sub-batch completion time to ensure continuous processing of each batch; the workpiece allocation means allocating workpieces to selectable machines according to the variable sub-batch scheme determined by the code; the workpiece allocation strategy based on proximity to determine proximity includes: first, numbering each piece in the previous process and recording the completion time of each piece in the previous process; then determining the earliest start time of each piece in the subsequent process, and selecting the piece in the previous process whose completion time is closest to the earliest start time to allocate it to the subsequent process; In step 4, the sub-batch perturbation local search process includes: (1) Find I mb The machine M with the highest load in the decoded scheduling scheme b And statistical analysis of machine M b The number of processes N arranged above b ; (2) Select M in order of completion time from latest to earliest. b If the sub-batch size of the previous process is greater than 1, then the sub-batch size of this sub-batch is reduced by 1. Then, a sub-batch is randomly selected from other sub-batch sizes in the process, the sub-batch size of this sub-batch is increased by 1, and the sub-batch partitioning code of this individual is updated. (3) Decode the new individual. If the fitness value after decoding is better than I... mb Then replace I with the new individual. mb Otherwise, select the process with the earlier completion time and return to step (2).
2. The flexible job shop variable batch scheduling method based on the improved hybrid frog-leaping algorithm as described in claim 1, characterized in that: In step 2, the population is initialized using a random initialization method, and the process sorting code and sub-batch partitioning code are randomly generated.
3. The flexible job shop variable batch scheduling method based on the improved hybrid frog-leaping algorithm as described in claim 1, characterized in that: In step 4, when dividing the meme groups, the M best individuals in the population are first retained as the best individuals in each meme group, and then the remaining individuals of each meme group are obtained from the population through a binary tournament selection method.
4. The flexible job shop variable batch scheduling method based on the improved hybrid frog-leaping algorithm as described in claim 1, characterized in that: In step 5, the preset priority optimization operations include: S1, select the worst individual I within the meme group. w With one randomly selected from the meme group except I w With the best individual I in the meme group mb Individual I r Perform crossover; if the fitness of the crossover individuals is better than I... w Then use the crossed individual to replace I. w Otherwise, switch to S2; S2, I w With the best individual I in the meme group mb Perform crossover; if the fitness of the crossover individuals is better than I... w Then use the crossed individual to replace I. w Otherwise switch to S3; S3, I w With the best individual I in the population gb Perform crossover; if the fitness of the crossover individuals is better than I... w Then use the crossed individual to replace I. w Otherwise switch to S4; S4, for I mb Perform a sub-batch perturbation local search and re-randomly initialize an individual to replace I. w .
5. The flexible job shop variable batch scheduling method based on the improved hybrid frog-leaping algorithm as described in claim 4, characterized in that: When crossing between S1, S2, and S3, the process sorting code uses POX crossing, and the sub-batch division code uses uniform crossing.