A Flexible Workshop Scheduling Method Based on Tabu Search Genetic Algorithm

By combining genetic algorithms and tabu search, and employing segmented encoding and tabu lists, the problem of insufficient search capability of traditional genetic algorithms in flexible work scheduling in workshops was solved. This enabled the optimization of maximum completion time within a limited time, thereby improving production efficiency.

CN115700647BActive Publication Date: 2026-03-06SHENYANG GOLDING NC & INTELLIGENCE TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110841603.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-26
Publication Date
2026-03-06
Estimated Expiration
2041-07-26

AI Technical Summary

Technical Problem

Traditional genetic algorithms have poor local search capabilities in flexible work scheduling in workshops, are prone to premature convergence, resulting in long processing times and difficulty in finding a satisfactory solution within a reasonable time.

Method used

Combining genetic algorithms and tabu search, a segmented encoded chromosome is used to perform a global search through crossover and mutation operations. A tabu table and tabu length are set in the local space to avoid repeated searches and premature convergence, thereby optimizing the maximum completion time.

Benefits of technology

It improves the algorithm's search capability and robustness, enabling it to find an optimized scheduling scheme within a specified number of iterations, thereby increasing production efficiency and reducing production time costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115700647B_ABST
    Figure CN115700647B_ABST
Patent Text Reader

Abstract

This invention relates to the field of scheduling optimization combining local tabu search strategy and genetic algorithm, specifically a workshop flexible operation scheduling method based on tabu search genetic algorithm. It aims to generate flexible operation scheduling schemes and improve production efficiency by optimizing the maximum completion time. The invention consists of two parts: a global search phase, which divides the basic elements of the genetic algorithm into chromosome encoding / decoding, population initialization, setting iterative genetic operators, and population constraint rules, and performs a fast parallel search in the population space to obtain uniformly distributed feasible solutions; and a local tabu search phase, which establishes a tabu list, sets the tabu search length, and performs iterative search for locally optimized solutions, eliminating repetitive work and avoiding premature entrapment in neighborhood optima. This method combines the advantages of genetic algorithm and tabu search, improving the search efficiency in the population space and optimizing the maximum completion time within a specified number of iterations, making it suitable for guiding flexible operation workshop production.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of scheduling optimization combining local tabu search strategy and genetic algorithm, specifically a flexible job scheduling method for workshops based on tabu search genetic algorithm. Background Technology

[0002] Shop floor production scheduling technology is fundamental to manufacturing systems. For a decomposable task, it allocates resources, issues production instructions, and arranges production plans to achieve optimal product cost, while meeting constraints such as process routes and delivery dates. Currently, there are two main technical solutions for flexible shop floor scheduling: one is the optimization method, which enumerates and traverses the solution space to obtain an exact global optimum, but this is time-consuming and only suitable for small-scale scheduling problems; the other is the approximation method, which, while not guaranteeing the optimal solution, can quickly find a scheduling method under the constraints of feasible solutions, making it suitable for solving practical scheduling problems. Because exact enumeration is time-consuming while approximation methods can find satisfactory solutions within a reasonable time, the latter approach is usually used to solve flexible scheduling problems. Among approximation methods, iterative computation techniques are widely used. Iterative algorithms can be divided into two categories: evolutionary algorithms and local search algorithms. Evolutionary algorithms include genetic algorithms, particle swarm optimization, and ant colony optimization, while local search algorithms are derived from heuristic algorithms and include simulated annealing and tabu search algorithms. Summary of the Invention

[0003] To optimize the maximum completion time within a specified number of iterations and address the shortcomings of traditional genetic algorithms, such as poor local search capabilities and premature convergence, this invention combines iterative solution with local search. It employs a method that integrates genetic algorithms and tabu search, using the maximum completion time as the optimization objective. Chromosomes are segmented and encoded, and after crossover and mutation operations, the global space is searched. Then, a tabu list and tabu length are set in the local space to avoid repeated searches within the solution space. Simultaneously, suboptimal solutions are accepted to prevent the algorithm from prematurely getting trapped in local optima and causing premature convergence, thereby improving the algorithm's search capability and robustness.

[0004] The technical solution adopted by the present invention to achieve the above objectives is as follows:

[0005] A flexible job scheduling method for workshops based on tabu search genetic algorithm includes the following steps:

[0006] Global search: Treat any flexible workshop operation scheduling scheme as a chromosome, encode each chromosome separately, and perform crossover and mutation operations on the encoded chromosomes to obtain the chromosome population that represents the mutated code of the process order.

[0007] Local taboo search: Based on chromosomes in the chromosome population, a disjunctive graph model of flexible scheduling scheme is constructed to find the critical path. On the critical path, the deletion and insertion operations of the process are performed to complete a search of the local region. A taboo table and taboo length are set for the local search. All chromosomes that satisfy the taboo table and taboo length are found to optimize the scheduling scheme of flexible operation in the workshop.

[0008] The population coding is in the form of segmented coding, with the first segment being the machine tool selection code and the second segment being the process code. The machine tool selection code assigns a machine tool to each process of each workpiece, and the process code, based on the machine tool selection code, specifies the processing sequence of each machine tool.

[0009] The machine tool selection coding is specifically as follows: Based on the flexible work scheduling table, a set of optional processing machine tools corresponding to a certain process of a certain workpiece is obtained. A machine tool is selected from the set as the machine tool used to complete the process, and it is coded as 'a'. The meaning of the coding is: a certain process selects the 'a'th machine tool from the set of optional processing machine tools. The length of the machine tool selection code is the sum of the number of processes of all workpieces.

[0010] The process coding is specifically as follows: Set a time array Time[m] of length equal to the number of machine tools, initialize the array to 0, and each item corresponds to the sum of the times of all processes already scheduled to be processed on this machine tool. Randomly select a workpiece, starting from the first process of the current workpiece, add the processing time of each machine tool in the set of selectable machine tools to the corresponding time in the time array Time[m], select the machine tool k corresponding to the shortest processing time, and update the value of Time[k] to the shortest processing time plus the existing processing time of machine tool k; sequentially select each process of the workpiece, select the shortest processing time and iteratively update the time array until a machine tool for processing the process is selected for all workpieces. Based on the machine tool selection code, according to the sequential constraints between the same workpieces, randomly generate process sorting codes to obtain the process codes.

[0011] The chromosome crossover operation is as follows: all machine selection codes in the population coding are used as the initial population. Two parent chromosomes of the initial population are selected. According to the length of the machine selection codes, an array sequence of elements 0 and 1 is randomly generated. The machine selection code corresponding to the element 0 in the array sequence is selected from the parent chromosome parent1, and the machine selection code corresponding to the element 1 in the array sequence is selected from the parent chromosome parent2. The codes selected from the two parent chromosomes are used to form a new offspring chromosome child1 according to their original relative positions in the parent chromosomes. The remaining codes of the two parent chromosomes are used to obtain the offspring chromosome child2 according to their original relative positions in the parent chromosomes.

[0012] The chromosome mutation operation is as follows: For the machine tool selection coding part, during the iteration process, two gene loci are selected on the chromosome randomly selected according to a fixed probability, and the machine tool code with the shortest processing time is selected from the set of available machine tools as the mutation value on the two gene loci; For the process coding part, chromosomes are randomly selected according to a fixed probability, and the workpiece processes to be processed by each machine tool are randomly sorted according to the machine tool code determined by the mutation operation. Then, the workpiece sorting is filtered by the workpiece's own processing order, which is used as the mutation code for the final process sorting.

[0013] The proposed flexible scheduling scheme for constructing a parsing graph model of chromosomes in the chromosome population is as follows: each chromosome defines a neighborhood structure within its local neighborhood, and a local search strategy is used to change the neighborhood structure by moving the process on the critical path. The length of the critical path is the maximum completion time of the scheduling.

[0014] The search of the local area is specifically as follows: when moving process nodes on the critical path in the analysis graph of the flexible scheduling scheme, the first step is to delete the arc connection between the process node to be moved and other nodes on the same machine tool, and then set the corresponding weight to 0; next, select one machine tool from the set of optional processing machines of the deleted process, and select the node insertion position according to the constraint conditions; finally, update the node weight with the goal of optimizing the completion time.

[0015] The data structure of the tabu table is as follows: the movement attribute of the search strategy is used as the tabu object, each chromosome corresponds to a tabu table, and the tabu object is stored in the form of (u,m,t) triples, where u represents the process node on the critical path, m represents the processing machine of process u, and t represents the processing time.

[0016] The present invention has the following beneficial effects and advantages:

[0017] 1. The chromosome of this invention is divided into two parts: machine tool selection and process sequencing. This encoding method is simple and clear, and enables the scheduling method to perform global optimization search in complex space in the early stage.

[0018] 2. As a directional, probability-guided heuristic algorithm, unlike exhaustive brute-force search, this invention features parallel search. Each chromosome can represent a feasible solution, and iterative operations are performed on the entire population to uniformly cover the entire solution space, effectively improving the search efficiency for finding scheduling schemes.

[0019] 3. In the local tabu search phase, this invention establishes a tabu table data structure in the form of triples, with the maximum completion time as the optimization objective, thereby avoiding the algorithm from falling into premature convergence and effectively improving the local search capability of the algorithm.

[0020] 4. This invention does not adhere to exhaustively searching all scheduling schemes to obtain the global optimal solution, which would waste a lot of time. Instead, it combines tabu search in the genetic algorithm to obtain the local optimal solution, optimizes the maximum completion time, improves the working efficiency of actual machine tool production lines, and reduces actual production time costs. Attached Figure Description

[0021] Figure 1 This is a flowchart of the algorithm of the present invention;

[0022] Figure 2 This is the chromosome coding diagram of the population of this invention;

[0023] Figure 3 A schematic diagram illustrating the selection of partial crossover operations for a chromosome processing machine.

[0024] Figure 4 A schematic diagram of the mutation operation in the chromosome sequencing process;

[0025] Figure 5 Flexible job scheduling extraction diagram;

[0026] Figure 6 Flexible job scheduling Gantt chart. Detailed Implementation

[0027] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments.

[0028] Genetic algorithms use a population iteration approach, where individuals exist in the form of chromosomes to simulate natural selection, crossover, and mutation operations. The chromosome encoding consists of two parts: machine tool selection and process ordering. Each chromosome represents a feasible scheduling scheme for the current scheduling problem, and the corresponding processing completion time can be calculated and used as a feasible solution evaluation function.

[0029] A model is established for the flexible workshop scheduling problem: n workpieces need to be processed on m machine tools. Each workpiece has multiple operations and the processing order between operations is fixed. There are multiple machine tools available for each operation. The scheduling objective is to determine the required machine tool for each workpiece and the processing operation for each machine tool.

[0030] The various parameters in the model are defined as follows:

[0031] M i : The i-th machine (1≤i≤m); J i : The i-th workpiece (1≤i≤n);

[0032] h j C: The number of processes corresponding to the j-th workpiece; j : The processing completion time of the j-th workpiece;

[0033] O ij The j-th process step for workpiece i;

[0034] P kij :O ij The required processing time on machine tool k;

[0035] S ij :O ij Start processing time;

[0036] C ij :O ij Completion time;

[0037] X kij :O ij When machine tool k is selected for processing, the value is 1; otherwise, the value is 0.

[0038] Y kijhl If O ij Prior to O hl If the machining is performed on machine tool k, the value is 1; otherwise, the value is 0.

[0039] The constraint criteria for the hybrid genetic tabu algorithm are expressed by the following formula:

[0040] (1) The atomicity of machine tool processing workpieces, that is, assuming that the machine tool will not malfunction and cause processing interruption;

[0041] If X kij =1,S ij +P kij =C ij ;

[0042] (2) A machine tool can only process one workpiece in one operation at a certain time and the order of the workpiece operations remains unchanged;

[0043] If Y kijhl =1,S ij +P kij ≤S kl

[0044] C ij <S i(j+1) ;

[0045] (3) There are no sequential constraints on the processes between different workpieces, and the functions of different machine tools are independent;

[0046] (4) The machine tool can perform cyclic operation, that is, multiple processes of a certain workpiece can be processed continuously or intermittently on the same machine tool.

[0047]

[0048]

[0049] The optimization objective function for FJSP is defined as follows:

[0050] F t =Min(Max(C j ))1≤j≤n

[0051] The hybrid algorithm's operation is divided into two stages: global search and local search. In the first stage, the population is initialized, and a global search is performed on the initial population using crossover and mutation. In the second stage, when the generated feasible solutions uniformly cover the population space, tabu search is introduced. The length and storage format of the tabu list are set to find local optima. The algorithm terminates when the global search iteration count reaches a set value. Local tabu search is considered to have found a local optimum when all critical path operations are processed on the same machine tool or all critical operations belong to the same workpiece, and the tabu search terminates. The algorithm combines the advantages of genetic algorithms and tabu search, enabling it to find feasible solutions globally within a specified number of iterations. Simultaneously, it can update local optimal solutions through tabu search, avoiding premature convergence of the search algorithm within an acceptable timeframe and obtaining an optimized scheduling scheme.

[0052] The algorithm flowchart steps are as follows: Figure 1 As shown, after initializing the chromosome population and setting the algorithm's stopping condition, a selection crossover operation is performed on the chromosomes. If the offspring chromosomes do not meet the desired criteria, the chromosomes are mutated and the tabu table is updated to perform a neighborhood tabu search to ensure population diversity, thereby obtaining the scheduling scheme.

[0053] (1) The first part of the algorithm implementation is population encoding and initialization.

[0054] The unit of population coding is the chromosome, which adopts a segmented coding format, including machine tool selection coding and process coding. The former selects the appropriate machine tool from the available set for each process of the workpiece, while the latter sorts the workpiece processes assigned to each machine tool to minimize the final completion time. Each chromosome represents a scheduling scheme that meets the constraint criteria. Taking the 3*4 flexible job scheduling shown in Table 1 as an example, Figure 2 The encoding demonstrates a feasible scheduling solution.

[0055] Table 1

[0056]

[0057] Process O 21 The selectable machining set is {M2, M3, M4}, and the corresponding machine tool selection part is coded as 1 to indicate O. 21The first machine tool, M2, was selected from the available machining set. The code length of the machine tool selection section is the sum of the number of operations for all workpieces. After determining the machine tool for each workpiece operation, the operations processed on each machine tool are sorted. Operations for the same workpiece have an inherent processing order. Operation sorting mainly solves the processing order of operations for different workpieces on the same machine tool.

[0058] Population initialization involves selecting the machine tool required for each workpiece operation under constraints, generating several feasible solutions. The feasible solutions generated during initialization are randomly generated to uniformly cover the entire population space. When generating machine tool selection codes, an array `Time[m]` of length equal to the number of machine tools is set, initialized to 0. Each item corresponds to the sum of the times of all operations already scheduled for that machine tool. A workpiece is randomly selected. Starting from the first operation of the current workpiece, the processing time of each machine tool in the available processing set is added to the time in the `time` array. The machine tool `k` corresponding to the shortest processing time is selected, and `Time[k]` is updated to the shortest selected processing time plus the existing processing time of machine tool `k`. This process is repeated for each operation of the workpiece, selecting the shortest processing time and iteratively updating the time array until a machine tool is selected for each operation of all workpieces. This achieves balanced processing load across machine tools and reduces the maximum completion time. Based on the generated machine tool codes, and according to the sequential constraints between the same workpieces, codes for randomly generated operation sequences are selected to obtain the operation codes.

[0059] (2) The second part of the algorithm is the crossover and mutation operations.

[0060] Crossover operations are performed on the machine tool codes of the parent chromosomes to improve the search capability of the population solution space; mutation operations are introduced to randomly change the values ​​of chromosome codes, thereby maintaining the diversity of the population and preventing the algorithm from getting trapped in local optima too early.

[0061] In the machine tool selection coding section, a multi-point uniform crossover method is adopted. Since the optional machining set for each workpiece operation is fixed, it is necessary to ensure that the order of machine tool coding remains unchanged. For example... Figure 3As shown, two parent chromosomes of the initial population are selected, and array sequences of elements 0 and 1 are randomly generated according to the length of the machine tool codes. Machine tool codes corresponding to 0 in the array sequence are selected from parent1, and machine tool codes corresponding to 1 in the array sequence are selected from parent2. Using the codes selected from the two parent chromosomes, a new offspring chromosome child1 is formed according to its original relative position in the parent chromosomes; the remaining codes of the two parent chromosomes are used to obtain the offspring chromosome child2, also according to the original relative position of the parent chromosomes. After determining the processing machine tool for each process through crossover operations, the processing order of the workpiece processes is determined for each machine tool according to the sequential constraints of the same workpiece. Starting from the first process, following the principle of local optima, the machine tool that minimizes the processing time of the process is selected, achieving efficient search of the solution space.

[0062] Mutation operations can partially perturb certain genes on chromosomes to generate new individuals, thereby increasing population diversity and enhancing the algorithm's local search capabilities. For example... Figure 4 As shown, two mutation operations are employed: For the machine tool coding part, during the iteration process, two gene loci are selected from the chromosome randomly selected with a fixed probability, and the machine tool codes with the shortest processing time are selected from the set of available machine tools as the mutation values ​​for the two gene loci; For the process sorting part coding, chromosomes are randomly selected with a fixed probability, and the workpiece processes to be processed by each machine tool are randomly sorted according to the machine tool codes determined in the previous mutation operation. Then, the workpiece sorting is filtered by the workpiece's own processing order, which is used as the mutation code for the final process sorting.

[0063] Iteration refers to updating the entire chromosome population, which includes newly generated chromosomes as well as chromosomes that are blocked from the taboo list due to their long completion time and will not undergo the next round of crossover and mutation operations;

[0064] The algorithm does not perform crossover and mutation operations only once; the number of iterations is determined by external input and serves as the algorithm's termination condition.

[0065] (3) The third part of the algorithm is local tabu search.

[0066] After crossover and mutation operations, the chromosome population satisfies the condition of uniform distribution within the global feasible solution space. This next step requires each chromosome to define its local neighborhood structure and movement method, using tabu search to find an optimized feasible solution. Directly influenced by the neighborhood structure construction method, the local search strategy alters the neighborhood structure by moving processes along the critical path. Taking the flexible job scheduling in Table 1 as an example, a workpiece process disjunction graph scheduling scheme is established as follows: Figure 5 As shown in the figure. O in the figure 31 O 12 O 13 O33 It is a critical path, and the length of this path is the maximum completion time of the schedule.

[0067] When moving process nodes on the critical path in the disjunctive graph, the first step is to delete the arc connections between the process node to be moved and other nodes on the same machine tool, and then set the corresponding weights to 0. Next, a machine tool is selected from the set of available machines for the deleted processes, and the node insertion position is chosen according to the constraints. Finally, the node weights are updated with the goal of optimizing the completion time. Each time the chromosome changes the critical path, a search is performed on the local region. To avoid repeatedly accessing solutions that have already been searched, a tabu table data structure is used to store the movement attributes of the search strategy as tabu objects. Each chromosome corresponds to a tabu table, and the tabu objects are stored in the form of (u,m,t) triples, where u represents the process node on the critical path, m represents the machine tool for process u, and t represents the processing time.

[0068] The established scheduling Gantt chart is as follows Figure 6 As shown, if the maximum completion time can be shortened, a new chromosome and corresponding tabu list are created in the current population. The critical path in the tabu list, along with its corresponding machine tool and time, are updated, and the local optimal solution at this point is used as the comparison object for the next neighborhood search. The length of the tabu list is set to the sum of the number of operations on the current critical path and the number of machine tools that can be processed, to avoid excessive constraints that could reduce efficiency. Local search involves moving operations on the critical path to different machine tools. Each search yields a new feasible solution, determines the current critical path, calculates the sum of the times for the corresponding workpiece operations on the path, and performs multiple iterations to obtain the optimized scheduling scheme.

Claims

1. A method for job shop flexible scheduling based on tabu search genetic algorithm, characterized in that, The method comprises the following steps: Global search: any flexible job shop scheduling scheme is taken as a chromosome, each chromosome is coded into a population, and the coded chromosomes are subjected to cross operation and mutation operation to obtain a final mutation coded chromosome population representing process sequencing; Local tabu search: a flexible scheduling scheme graph model is constructed based on the chromosomes in the chromosome population, a critical path is searched, and a deletion and insertion operation is performed on the processes on the critical path to complete a search on a local area, a tabu list and a tabu length are set for the local search, all chromosomes satisfying the tabu list and the tabu length are searched, and the flexible job shop scheduling scheme is optimized; The population coding is in a segmented coding form, a first segment is a machine tool selection coding, and a second segment is a process coding; the machine tool selection coding specifies a machine tool for each process of each workpiece, and the process coding specifies a process sequence of each machine tool under the premise of the machine tool selection coding; The machine tool selection coding specifically comprises the following steps: a set of selectable machine tools corresponding to a process of a workpiece is obtained according to a flexible work scheduling table, a machine tool is selected from the set as a machine tool used for completing the process, and the machine tool is coded as a; the coding meaning is that the process selects the a-th machine tool from the set of selectable machine tools, and the length of the machine tool selection coding is the sum of the number of processes of all workpieces; The process coding specifically comprises the following steps: a time array Time[m] with a length of the number of machine tools is set, the array is initialized as 0, each item corresponds to the time sum of all processes arranged on the machine tool, a workpiece is randomly selected, a process of the workpiece is selected, the processing time of each machine tool in the set of selectable machine tools is added to the corresponding time in the time array Time[m], the machine tool k corresponding to the shortest processing time is selected, and the value of Time[k] is updated as the selected shortest processing time plus the existing processing time of the machine tool k; each process of the workpiece is selected in turn, the shortest processing time is selected, and the time array is iteratively updated until the machine tools for the processes of all workpieces are selected, the coding of the process sequencing is screened according to the machine tool selection coding and the constraint condition of the sequence of the same workpiece, and the process coding is obtained; The flexible scheduling scheme graph model is constructed based on the chromosomes in the chromosome population, specifically: a neighborhood structure is defined in the local neighborhood of each chromosome, and the neighborhood structure is changed by moving the processes on the critical path using a local search strategy, and the length of the critical path is the maximum completion time of the scheduling; The search on the local area specifically comprises the following steps: when the process nodes on the critical path in the flexible scheduling scheme graph are moved, the first step is to delete the arc connection between the to-be-moved process node and other nodes on the same machine tool, and then the corresponding weight is set as 0; next, a machine tool is selected from the set of selectable machine tools of the deleted process, and a node insertion position is selected according to the constraint condition; finally, the node weight is updated with the optimization of the completion time as the target.

2. The job shop flexible scheduling method based on tabu search genetic algorithm according to claim 1, characterized in that, The chromosome crossover operation is: taking all machine tool selection codes in the population code as an initial population, selecting two parent chromosomes of the initial population, generating an array sequence with elements of 0 and 1 according to the length of the machine tool selection code, selecting the machine tool selection code corresponding to the element 0 in the parent chromosome parent1, and selecting the machine tool selection code corresponding to the element 1 in the parent chromosome parent2, and using the codes selected from the two parent chromosomes to form a new child chromosome child1 according to the original relative position in the parent chromosome; using the remaining codes of the two parent chromosomes, the same relative position of the original parent chromosome is obtained to obtain a child chromosome child2.

3. The job shop flexible scheduling method based on tabu search genetic algorithm according to claim 1, characterized in that, The chromosome mutation operation is: for the machine tool selection code part, selecting two gene positions on the chromosome randomly selected according to a fixed probability in the iteration process, and selecting the machine tool code with the shortest processing time from the set of selectable processing machine tools as the mutation value of the two gene positions; for the process code part, a chromosome is randomly selected according to a fixed probability, the machine tool code determined by the mutation operation is used to randomly sort the workpieces to be processed by each machine tool, and then the workpiece sorting is screened by the processing sequence of the workpiece itself as the final process sorting mutation code.

4. The job shop flexible scheduling method based on tabu search genetic algorithm according to claim 1, characterized in that, The data structure of the taboo table is: taking the movement attribute of the search strategy as the taboo object, each chromosome corresponds to a taboo table, and the taboo object is stored in the form of a (u, m, t) three-tuple, wherein u represents the process node on the critical path, m represents the processing machine tool of the process u, and t represents the processing time.

Citation Information

Patent Citations

  • Tabu list containing genetic and local search algorithm for multi-objective flexible job-shop scheduling

    CN106610640A