Generalized job shop scheduling method based on tabu genetic search algorithm
By applying a hybrid algorithm based on taboo genetic search algorithm in generalized operation workshop scheduling, the problem of low solution efficiency in parallel batch processing process scheduling is solved, and more efficient scheduling optimization is achieved.
Patent Information
- Application Number
- CN202510049403.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-13
- Publication Date
- 2025-05-27
AI Technical Summary
In generalized operation workshop scheduling with parallel batch processing processes, the solution efficiency of the prior art is low, making it difficult to effectively optimize the scheduling scheme.
A method based on taboo genetic search algorithm is adopted, combined with the advantages of taboo search algorithm and genetic algorithm, and a hybrid algorithm is designed to balance global search capabilities with local search capabilities, and efficiently solve the generalized work workshop scheduling problem with parallel batch processing processes.
Through this method, the scheduling scheme can be effectively optimized, the maximum completion time can be reduced, and the scheduling efficiency can be improved, which is suitable for complex workshop production environments.
Smart Images

Figure CN120044896A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of generalized job shop scheduling optimization. Specifically, it particularly relates to a generalized job shop scheduling optimization method with parallel batch processing operations based on a hybrid tabu genetic search algorithm. Background Art
[0002] Multi-factor coupling means that there are more complex constraint conditions in job shop scheduling, and multiple constraint conditions are coupled together. Multi-factor coupling better meets the current actual requirements of the workshop and the future development requirements of intelligent manufacturing. In the form of intensified global market competition, higher requirements are put forward for the intelligent modeling and solution of human-machine-material collaborative production. Currently, some workshop corresponding workpieces need to be compulsorily batch processed. For example, in the electronic product detection workshop, the grouped inspection of the same type of products in different sample groups makes there be a coupling of mandatory parallel batch processing operations in some processes of each workpiece.
[0003] To obtain a feasible scheduling plan, the mandatory parallel batch processing operations need to jointly consider the completion situation of the predecessor operations that couple and affect the current operations of each workpiece. In addition, to reduce time, energy consumption, and human resources, etc., it is allowed that different models or even different types of products are produced on the same device under the condition of meeting constraint conditions such as parameter ranges and device capacities. For example, in the electronic product detection workshop, it is allowed that different products are batch processed together to carry out high-temperature resistance experiments, making there be a coupling of flexible parallel batch processing operations in some processes of each workpiece. Considering the scheduling optimization with parallel batch processing operations in the actual workshop production is an inevitable trend and frontier in the research of this field.
[0004] The advantage of the genetic algorithm is its strong global search ability, but its local search ability is weak. Therefore, the key point of the genetic algorithm is to make full use of the differences in the population update mechanism to search different solution spaces and expand the search range of the solution space, so as to overcome the defect of weak local search ability. The advantage of the tabu search algorithm is its strong local search ability, but its global search ability is weak.
[0005] Therefore, the key point of the tabu search algorithm is to design a mechanism to jump out of the local optimum and avoid a single individual only searching within a partial solution space. The hybrid algorithm combines the advantages of the two well, effectively balancing the global search ability and the local search ability, and is most widely used in solving the generalized job shop scheduling problem with parallel batch processing operations.
[0006] The generalized job shop scheduling with parallel batch processing operations relaxes the constraints on processing machines, allowing the same machine to process different workpieces at the same time, which is more in line with the actual workshop production situation. However, there is less research on job shop scheduling involving such constraints. Therefore, combined with the actual requirements, the research on the generalized job shop scheduling with parallel batch processing operations is carried out. Summary of the Invention
[0007] The object of the present invention is to solve the problem of low solution efficiency in the generalized job shop scheduling problem with parallel batch processing operations, and to provide a generalized job shop scheduling method based on a tabu genetic search algorithm, which combines the advantages of the tabu search algorithm and the genetic algorithm, effectively balances the global search ability and the local search ability, and can efficiently solve the generalized job shop scheduling problem with parallel batch processing operations.
[0008] In order to achieve the above object, the technical solution adopted by the present invention is as follows:
[0009] A generalized job shop scheduling method based on a tabu genetic search algorithm includes the following steps:
[0010] S1: Establish a generalized job shop scheduling model to describe the generalized job shop scheduling problem with parallel batch processing operations, and determine the objective function and constraint conditions of the generalized job shop scheduling model;
[0011] S2: Based on the constraints of the generalized job shop scheduling with parallel batch processing operations, design the encoding and decoding of processes and machines, design the neighborhood structure to generate a neighborhood solution set, and calculate the fitness value;
[0012] S3: Select an optimal solution from the neighborhood solution set, set it as the current solution to enter the iteration and update the tabu list. When the algorithm falls into a local optimal solution during the iteration process, introduce crossover and mutation as a strategy to jump out of the pit;
[0013] S4: Until the algorithm reaches the maximum number of iterations, the generalized job shop scheduling model outputs the optimization result, and obtains the scheduling Gantt chart related to the generalized job shop scheduling with parallel batch processing operations.
[0014] Furthermore, establishing the generalized job shop scheduling model specifically includes:
[0015] The generalized job shop scheduling problem with parallel batch processing operations is described as follows: N workpieces are processed on M machines; each workpiece has a definite process route; due to the constraints of process requirements, there are forced parallel batch processing operations between the processes of some workpieces. Under the condition of meeting the process parameter requirements and equipment capacity constraints, different workpieces are allowed to be randomly combined for batch processing to form flexible parallel batch processing operations; each process may be processed on multiple different machines, and the operation time of each workpiece process is determined by the machine where it is located; the scheduling objective is to select the most suitable machine for each process and determine the best operation sequence of each process on each machine under the constraints of machine availability, process sequence, forced parallel batch processing operations, and flexible parallel batch processing operations, so as to minimize the makespan.
[0016] The mathematical symbols of the generalized job shop scheduling model include: J represents the set of workpieces j; O j represents the number of processes of workpiece j; M represents the set of machines m; MPBPOk Denote the k-th set of forced parallel batch processing operations; FPBPO k Denote the k-th set of flexible parallel batch processing operations; N MPBPO Denote the number of operations in the set of forced parallel batch processing operations; N FPBPO Denote the number of operations in the set of flexible parallel batch processing operations; O m,l Denote the operation at the l-th position of machine m; O j,o Denote the o-th operation of the j-th workpiece; Mac j,o Denote the set of alternative machines for the o-th operation of the j-th workpiece; Denote the operation time of the o-th operation of the j-th workpiece on machine m; Denote the machine operation time at the l-th position of machine m; Cap m Denote the capacity of machine m;
[0017] Denote the weight of the o-th operation of the j-th workpiece on machine m; Q represents an infinitely large positive real number; Denote the start time of the o-th operation of the j-th workpiece at the l-th position of machine m; Denote the end time of the o-th operation of the j-th workpiece at the l-th position of machine m; AS j,o Denote the available start time of the o-th operation of the j-th workpiece; Denote the start time of machine m at the l-th position; Denote the end time of machine m at the l-th position; Denote 1 if the o-th operation of the j-th workpiece is performed at the l-th position of machine m, and 0 otherwise; Denote that the o-th operation of the j-th workpiece is MPBPO k Denote 1 if the operation is in the set, and 0 otherwise; Denote that the o-th operation of the j-th workpiece is FPBPO k Denote 1 if the operation is in the set, and 0 otherwise.
[0018] Furthermore, determine the objective function and constraints of the generalized job shop scheduling model, specifically:
[0019] The objective function is:
[0020]
[0021] The constraints are:
[0022]
[0023]
[0024] Equation (1) is the optimization objective function, that is, to minimize the makespan; Equation (2) indicates that the operation machine of the forced parallel batch processing operation set is the intersection of the operation machines of each operation in the operation set; Equation (3) indicates that the operation machine of the sub-operation set selected for batch processing in the flexible parallel batch processing operation set is the intersection of the operation machines of each operation in the sub-operation set; Equation (4) indicates that each operation is only performed once on the machine; Equation (5) indicates that the number or weight of parallel batch processing operations on the machine does not exceed the machine capacity; Equation (6) defines the operation time of non-parallel batch processing operations; Equation (7) defines the operation time of parallel batch processing operations, that is, the maximum operation time in this parallel batch processing operation; Equation (8) indicates that the start time of any operation on the machine must not be earlier than the end time of its workpiece's predecessor operation;
[0025] Equation (9) indicates that once the machine starts running, it cannot be interrupted; Equation (10) indicates that the available start processing time of the operation is greater than or equal to the completion time of its predecessor operation on the machine; Equation (11) indicates that only one operation or one parallel batch processing operation can be performed on the same machine at the same time; Equation (12) defines the start time of the operation; Equation (13) defines the end time of the operation; Equation (14) indicates that the end time of the machine is not greater than the makespan; Equation (15) indicates that the operations belonging to the same forced parallel batch processing operation set must be batch processed simultaneously; Equation (16) indicates that the operations belonging to the same flexible parallel batch processing operation set can be processed separately or randomly combined for batch processing.
[0026] Furthermore, the encoding and decoding of machines and operations are designed, specifically as follows:
[0027] The generalized job shop scheduling with parallel batch processing operations considers operation sequencing and machine selection, and adopts operation-based encoding, which includes three segments of integer encoding sequences; the first segment is the operation encoding sequence, each gene is represented by the serial number of the workpiece set, and the number of elements in each gene position is set to For |O I,J | < k, the virtual workpiece 0 is used to fill the position in this gene position. The frequency j of the element i, i ∈ [1, N] in each gene position, j ∈ [1, N i represents the operation O corresponding to the workpiece i i,j ; the second segment is the machine encoding, and its optional range is [1, M]. The machine encoding order corresponds to the operation encoding, indicating the operation machine specified by the operation corresponding to this operation encoding sequence; the third segment is the operation time encoding, indicating the operation time required for the corresponding operation to be performed on the specified machine.
[0028] Based on the encoding scheme, a semi-active decoding method suitable for the generalized job shop scheduling problem with parallel batch processing operations is designed, including the following steps:
[0029] S21: Set A O (1, 1:ON), AO (2,1:ON) stores the start and completion times of each process, ON = |OPlan|; use JP = {JP[1], JP[2],..., JP[N]}, MP = {MP[1], MP[2],..., MP[M]} to record the process end times of the immediate predecessors of each workpiece and machine respectively; initialize the elements of A O , MP, and JP to 0, and k = 1;
[0030] S22: Read the gene position elements in the process coding sequence OPlan[k] in order from left to right, 1 ≤ k ≤ ON, to determine its process O I,J , and obtain O I,J operation machine m and operation time
[0031] S23: The start and completion times of O I,J are respectively
[0032] S24: Update JP[i] = C I,J , i ∈ I, MP[m] = C I,J , A O (1,k) = S I,J , A O (2,k) = C I,J ;
[0033] S25: k = k + 1, if k ≤ ON, go to step S22, otherwise end.
[0034] Furthermore, design the neighborhood structure, specifically:
[0035] For the generalized job shop scheduling problem with parallel batch processing operations, each operation can be processed by multiple machines. It is possible to search for idle time for movement on the current machine where the operation is located, and it is also possible to search for idle time for movement on other alternative machines;
[0036] For the critical operation cross - machine movement of the operation block, the following is the case: Operations x and y are two adjacent operations, and the machines where x and y are located are alternative processing machines for operation w but not the current processing machine of operation w. The processing time of operations x and y on operation w is p w . After the critical operation w is cross - machine moved between operations x and y, only when the intersection of the idle time period between operations x and y and the machine idle time search interval belonging to operation w is greater than p w can moving operation w between operations x and y reduce the makespan;
[0037] After moving the process across machines, and then moving the process on the same machine, the key process neighborhood operation of the process block is the same as the job shop scheduling problem: between processes x and y, only when the intersection of the idle time between processes x and y belonging to the machine idle time interval of process w is not 0, that is, the available machine idle time of process w is not 0, moving w to between processes x and y can reduce the maximum completion time; the cross-machine neighborhood structure and the same-machine neighborhood structure are combined into a new neighborhood structure.
[0038] Furthermore, an optimal solution is selected from the neighborhood solution set and set as the current solution to enter the iteration and update the taboo table, specifically:
[0039] There are two rules for selecting the best solution. The first is to comply with the amnesty principle, that is, when a process movement can provide a neighborhood solution that is better than the best solution so far, regardless of whether the process movement is in the taboo table, the movement is accepted, the solution is identified as the best solution, and set as the current solution to enter the next iteration; the second is to determine whether the process movement information of the solution is in the taboo table. The taboo table follows the first-in-first-out principle of the queue. The length of the taboo table is set to L. When L taboo objects have been stored in the taboo table, a new taboo object is added, and the first taboo object added to the list is removed from the list; a strategy for dynamically adjusting the length of the taboo table is designed to check the number of taboo objects in the taboo table and dynamically adjust the length of the taboo table according to the number of taboo objects in the taboo table.
[0040] Furthermore, when the iterative process algorithm falls into a local optimal solution, crossover mutation is introduced as a pit-jumping strategy, specifically:
[0041] Introduce crossover and mutation as a pit-skipping strategy. When the algorithm has not improved after multiple generations, introduce crossover and mutation operators, take the optimal solution after crossover and mutation as the current solution, and select a suboptimal solution to keep as the crossover and mutation population;
[0042] When the number of retained suboptimal solutions reaches the set number, the approach in the taboo table will be simulated, with first-in-first-out. The solutions retained in the early stage of iteration are inferior to the solutions retained in the later stage of iteration, so the first-in-first-out strategy is adopted to ensure the excellence of the crossover mutation population.
[0043] Furthermore, in order to make the individuals fully cross-linked, a sequential cross-linking method is designed for the process sequence. The specific steps are as follows:
[0044] S31: Select the parent generations P1 and P2, and initialize the process sequence, machine sequence, and operation time sequence of the child generation CP to be empty;
[0045] S32: Generate a random number r between (0,1). If r<0.5, select the first gene position element of the P1 process sequence, otherwise select the first gene position element of the P2 process sequence;
[0046] S33: Add the selected element to the end of the CP process sequence, and put the corresponding machine and time of this element into the ends of the CP machine sequence and operation time sequence respectively; delete the gene of the first occurrence of this element in the P1 and P2 process sequences, and delete the genes of the corresponding machine and time of this element.
[0047] S34: Repeat steps S32 and S33 until the elements in the parents P1 and P2 are empty, then the process crossover is completed.
[0048] Furthermore, to make the crossover more sufficient, after the process crossover is completed, further perform multi-point crossover on the machine coding sequence. The specific steps are as follows:
[0049] S35: Randomly generate a 0-1 sequence with a length equal to the length of the machine coding sequence. The positions of the elements 1 in the sequence correspond to the positions of the machine crossovers.
[0050] S36: Copy the coding sequence of the parent P1 to the offspring CP1, and copy the coding sequence of the parent P2 to the offspring CP2.
[0051] S37: Update the machine at the machine crossover position of the parent P1 to the machine coding position of the corresponding process in the offspring CP2, and update the machine at the machine crossover position of the parent P2 to the machine coding position of the corresponding process in the offspring CP1.
[0052] S38: Update the operation time corresponding to the machine at the machine crossover position of P1 to the operation time coding position of the corresponding process in the offspring CP2, and update the operation time corresponding to the machine at the machine crossover position of P2 to the operation time coding position of the corresponding process in the offspring CP1.
[0053] Furthermore, to ensure that the forced parallel batch processing process can meet the operation constraints before and after mutation, for the process mutation, it will be segmented and mutated with the forced parallel batch processing process as the node.
[0054] First, take the forced parallel batch processing process as the segmentation point, and successively judge the lengths of the coding sequences of each segmented process; if the length of the coding sequence of the segmented process is greater than or equal to 2, randomly select two processes in the coding sequence of the segmented process for process swapping mutation, otherwise no mutation operation is performed; to obtain a feasible solution, after the mutation is completed, the machine sequence and operation time sequence need to be updated so that the operation machines and operation times corresponding to each process are the same as before the mutation.
[0055] For the mutation operation of the machine coding sequence, it is mutated in a single-point mutation manner, and the machine at this position is randomly replaced with another machine in the set of optional operation machines for this process; to obtain a feasible solution, the operation time corresponding to the machine coding mutation position needs to be updated to the operation time of this process on the replaced machine.
[0056] Compared with the prior art, the generalized job shop scheduling method based on the tabu genetic search algorithm of the present invention mainly uses the tabu search algorithm. When the tabu search algorithm falls into a local optimal solution, the crossover and mutation of the genetic algorithm are introduced as a strategy to jump out of the pit, which combines the advantages of the two algorithms well, effectively balances the global search ability and the local search ability, and can efficiently solve the generalized job shop scheduling problem with parallel batch processing operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 FIG. is a flowchart of a generalized job shop scheduling method based on a tabu genetic search algorithm.
[0058] Figure 2 FIG. is a flowchart of a hybrid tabu genetic search algorithm.
[0059] Figure 3 FIG. is a coding schematic diagram.
[0060] Figure 4 FIG. is a schematic diagram of a neighborhood structure for moving operations across machines.
[0061] Figure 5 FIG. is a schematic diagram of a neighborhood structure for moving operations on the same machine.
[0062] Figure 6 FIG. is a schematic diagram of OOOX.
[0063] Figure 7 FIG. is a schematic diagram of machine crossover.
[0064] Figure 8 FIG. is a schematic diagram of operation interchange mutation.
[0065] Figure 9 FIG. is a schematic diagram of machine single-point mutation.
[0066] Figure 10 FIG. is a Gantt chart of the GMK01 example scheduling based on the tabu genetic search algorithm. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0067] The following further describes the generalized job shop scheduling method based on the tabu genetic search algorithm of the present invention with reference to the accompanying drawings and specific embodiments.
[0068] Please refer to Figure 1 , the present invention discloses a generalized job shop scheduling method based on a tabu genetic search algorithm, including the following steps:
[0069] S1: Establish a generalized job shop scheduling model to describe the generalized job shop scheduling problem with parallel batch processing operations, and determine the objective function and constraint conditions of the generalized job shop scheduling model;
[0070] S2: Based on the constraints of the generalized job shop scheduling with parallel batch processing operations, design the encoding and decoding of operations and machines, design the neighborhood structure to generate a neighborhood solution set, and calculate the fitness value;
[0071] S3: Select an optimal solution from the neighborhood solution set, set it as the current solution to enter the iteration and update the taboo list. When the algorithm falls into a local optimal solution during the iteration process, introduce crossover and mutation as a strategy to jump out of the pit;
[0072] S4: Until the algorithm reaches the maximum number of iterations, the generalized job shop scheduling model outputs the optimization result, and obtains the scheduling Gantt chart related to the generalized job shop scheduling with parallel batch processing operations.
[0073] Please refer to Figure 2 , which shows the basic process of the hybrid taboo genetic search algorithm of the present invention. The main framework of this hybrid algorithm is based on the taboo search algorithm. When the taboo search algorithm falls into a local optimal solution, it is necessary to introduce crossover and mutation in the genetic algorithm as a strategy to jump out of the pit. This hybrid algorithm combines the advantages of the two algorithms well and effectively balances the global search ability and the local search ability.
[0074] Step S1, establish a generalized job shop scheduling model, describe the generalized job shop scheduling problem with parallel batch processing operations, and determine the objective function and constraints of the generalized job shop scheduling model.
[0075] The generalized job shop scheduling problem with parallel batch processing operations is described as follows: N jobs {1, 2,..., N} are processed on M machines {1, 2,..., M}; each job has a definite process route. Due to the constraints of process requirements, there are forced parallel batch processing operations between the operations of some jobs. And to reduce certain indicators, under the constraints of meeting process parameter requirements, equipment capacity, etc., different jobs are allowed to be randomly combined for batch processing to form flexible parallel batch processing operations. Each operation may be processed on multiple different machines, and the operation time of each job operation is determined by the machine where it is located. The scheduling objective is to select the most suitable machine for each operation and determine the best operation sequence of each operation on each machine under the constraints of machine availability, operation sequence, forced parallel batch processing operations, and flexible parallel batch processing operations, so as to minimize the makespan of the system.
[0076] The mathematical symbols of the generalized job shop scheduling model include: J represents the set of jobs j; O j represents the number of operations of job j; M represents the set of machines m; MPBPO k represents the kth forced parallel batch processing operation set; FPBPO k represents the kth flexible parallel batch processing operation set; N MPBPO represents the number of operations in the forced parallel batch processing operation set; N FPBPODenotes the number of operations concentrated in the flexible parallel batch processing process; O m,l Denotes the operation of the machine m at the l-th position; O j,o Denotes the o-th operation of the j-th workpiece; Mac j,o Denotes the set of alternative machines for the o-th operation of the j-th workpiece; Denotes the operation time of the o-th operation of the j-th workpiece on the machine m; Denotes the machine operation time of the l-th position of the machine m; Cap m Denotes the capacity of the machine m;
[0077] Denotes the weight of the o-th operation of the j-th workpiece on the machine m; Q denotes an infinitely large positive real number; Denotes the start time of the o-th operation of the j-th workpiece at the l-th position of the machine m; Denotes the end time of the o-th operation of the j-th workpiece at the l-th position of the machine m; AS j,o Denotes the available start time of the o-th operation of the j-th workpiece; Denotes the start time of the machine at the l-th position of the machine m; Denotes the end time of the machine at the l-th position of the machine m; Denotes 1 if the o-th operation of the j-th workpiece is performed at the l-th position of the machine m, and 0 otherwise; Denotes that the o-th operation of the j-th workpiece is MPBPO k Denotes 1 if the operation is in the set, and 0 otherwise; Denotes that the o-th operation of the j-th workpiece is FPBPO k Denotes 1 if the operation is in the set, and 0 otherwise.
[0078] The objective function of the generalized job shop scheduling model is:
[0079]
[0080] The constraint conditions of the generalized job shop scheduling model are:
[0081]
[0082]
[0083] Equation (1) is the optimization objective function, i.e., minimizing the makespan; Equation (2) means that the operation machine of the forced parallel batch processing operation set is the intersection of the operation machines of each operation in the operation set; Equation (3) means that the operation machine of the sub-operation set selected for batch processing in the flexible parallel batch processing operation set is the intersection of the operation machines of each operation in the sub-operation set; Equation (4) means that each operation is only processed once on the machine; Equation (5) means that the number or weight of parallel batch processing operations on the machine does not exceed the machine capacity; Equation (6) defines the operation time of non-parallel batch processing operations; Equation (7) defines the operation time of parallel batch processing operations, which is the maximum operation time in the parallel batch processing operation; Equation (8) means that the start time of any operation on the machine cannot be earlier than the end time of its workpiece's predecessor operation.
[0084] Equation (9) means that once the machine starts running, it cannot be interrupted; Equation (10) means that the startable processing time of the operation is greater than or equal to the completion time of its predecessor operation on the machine; Equation (11) means that only one operation or one parallel batch processing operation can be operated on the same machine at the same time; Equation (12) defines the start time of the operation; Equation (13) defines the end time of the operation; Equation (14) means that the end time of the machine is not greater than the makespan; Equation (15) means that the operations belonging to the same forced parallel batch processing operation set must be batch processed simultaneously; Equation (16) means that the operations belonging to the same flexible parallel batch processing operation set can be processed separately or randomly combined for batch processing.
[0085] Step S2, based on the generalized job shop scheduling constraints with parallel batch processing operations, design the encoding and decoding of operations and machines, design the neighborhood structure to generate the neighborhood solution set, and adjust the length of the taboo list.
[0086] The generalized job shop scheduling with parallel batch processing operations considers operation sequencing and machine selection, and adopts operation-based encoding, and the encoding includes three segments of integer encoding sequences. The first segment is the operation encoding sequence, and each gene is represented by the serial number of the workpiece set. To ensure the consistency of each gene position, the number of elements in each gene position is set to For |O I,J | < k, fill in the virtual workpiece 0 at this gene position. For the sake of simplicity of description, the virtual workpiece 0 is omitted in the subsequent description and schematic diagrams. The omitted operation encoding is as Figure 3 shown in the first row. The frequency j ∈ [1, N i of the element i, i ∈ [1, N] in each gene position represents the operation O i,j corresponding to the workpiece i. For example, Figure 3As shown in the second line. The second paragraph is the machine code, and its optional range is [1, M]. The machine code sequence corresponds to the process code, indicating that the process code sequence corresponds to the operation machine specified by the (forced parallel batch processing) process; the third paragraph is the operation time code, indicating the operation time required for the corresponding process to operate on the specified machine.
[0087] The existing decoding methods based on the flexible job shop scheduling problem cannot be directly applied to the generalized job shop scheduling problem with parallel batch processing operations because there are multiple predecessor operations and successor operations for the parallel batch processing operations in the generalized job shop scheduling problem with parallel batch processing operations. Therefore, a corresponding decoding scheme needs to be designed according to the characteristics of the generalized job shop scheduling problem with parallel batch processing operations.
[0088] Design a semi-active decoding method for the generalized job shop scheduling problem with parallel batch processing operations based on the coding scheme, including the following steps:
[0089] S21: Set A O (1, 1: ON), A O (2, 1: ON) store the start and completion times of each process respectively, ON = |OPlan|; use JP = {JP[1], JP[2],..., JP[N]}, MP = {MP[1], MP[2],..., MP[M]} to record the process end times of the immediate predecessors of each workpiece and machine respectively; initialize the elements of A O , MP, JP to 0, k = 1;
[0090] S22: Read the elements of each gene position in the process code sequence OPlan[k] in order from left to right, 1 ≤ k ≤ ON, determine its process O I,J , and obtain the operation machine m and operation time of O I,J from MPlan and TmPlan respectively
[0091] S23: The start and completion times of O I,J are respectively
[0092] S24: Update JP[i] = C I,J , i ∈ I, MP[m] = C I,J , A O (1, k) = S I,J , A O (2, k) = C I,J ;
[0093] S25: k = k + 1, if k ≤ ON, go to step S22, otherwise end.
[0094] The key to neighborhood search lies in the design of the neighborhood structure. The neighborhood structure can combine the characteristic information of the problem itself, effectively guide the search direction of the algorithm, avoid the blindness of the algorithm search, and thus improve the search efficiency and quality of the algorithm. For the job shop scheduling problem, each operation can only be processed on one machine, and only the idle time needs to be searched on the current machine where the operation is located for movement (move the operation on the same machine).
[0095] For the generalized job shop scheduling problem with parallel batch processing operations, each operation can be processed by multiple machines. It is possible to search for idle time on the current machine where the operation is located for movement (move the operation on the same machine), and it is also possible to search for idle time on other alternative machines for movement (move the operation across machines).
[0096] As Figure 4 shown, the operation of moving the critical operation of the operation block across machines is as follows: Operations x and y are two adjacent operations. The machines where x and y are located are alternative processing machines for operation w, but not the current processing machine of operation w. The processing time of operations x and y on operation w is p w (p w = 2). After moving the critical operation w across machines between operations x and y, whether the makespan can be reduced is related to the size of the idle time between operations x and y. Only when the intersection of the idle time period between operations x and y and the machine idle time search interval [max(c E (JP[w])), min(s L (JS[w]))] belonging to operation w is greater than p w , moving operation w between operations x and y may reduce the makespan.
[0097] After moving the operation across machines, to further improve the search performance of the algorithm, then move the operation on the same machine. The schematic diagram of its neighborhood structure is as Figure 5 shown. The neighborhood operation of the critical operation of the operation block is the same as that of the job shop scheduling problem: between operations x and y, whether the makespan can be reduced. Only when the intersection of the idle time between operations x and y and the machine idle time interval [c E (JP[w]), s L (JS[w])] belonging to operation w is not zero, that is, the available machine idle time of operation w is not zero, moving w between operations x and y can reduce the makespan.
[0098] Combine the cross - machine neighborhood structure and the same - machine neighborhood structure into a new neighborhood structure. It is found during the search process of the neighborhood structure that moving the operation across machines requires that the machine idle time is greater than the processing time of the operation.
[0099] Step S3: Select an optimal solution from the neighborhood solution set, set it as the current solution, enter the iteration, and update the taboo list. When the algorithm falls into a local optimal solution during the iteration process, introduce crossover and mutation as a strategy to jump out of the pit.
[0100] There are two rules for selecting the optimal solution. One is to conform to the amnesty principle, that is, when the movement of a certain process can provide a neighborhood solution that is better than the best solution so far, regardless of whether the movement of this process is in the taboo list, accept this movement, recognize this solution as the optimal solution, and set it as the current solution to enter the next iteration.
[0101] The second is to determine whether the process movement information of this solution is in the taboo list. The taboo list plays a role of memory in the taboo search algorithm. The taboo algorithm uses the taboo list to record the local optimal solutions that have been traversed, and in the next search, uses the information in the taboo list to avoid or selectively process these solutions. In this way, it is possible to avoid falling into the local optimum and ensure that different effective search paths are explored.
[0102] The length of the taboo list is the maximum number of taboo objects that can be stored in the taboo list, and it also represents the tenure of the taboo objects in the taboo list. The taboo list follows the principle of first in, first out. Let the length of the taboo list be L. When L taboo objects have been stored in the taboo list and a new taboo object is added, the first taboo object added to the list will be removed from the list. The setting of the taboo list length will directly affect the search process of the algorithm. If the length is too short, it is easy to cause cyclic search and cannot effectively avoid the search from oscillating around the local optimal solution; if the length is too long, due to too many constraints, a large number of effective moves will be wrongly prohibited and some excellent solutions cannot be searched. The present invention designs a strategy for dynamically adjusting the length of the taboo list. After the fitness has not improved after multiple generations, check the number of taboo objects in the taboo list, and dynamically adjust the length of the taboo list according to the number of taboo objects in the taboo list.
[0103] When the algorithm falls into a local optimal solution, introduce the crossover and mutation of the genetic algorithm as a strategy to jump out of the pit. Crossover and mutation have strong global search capabilities and are introduced into the algorithm as a strategy to jump out of the pit in the present invention. When the algorithm has not improved after multiple generations, introduce the crossover operator and the mutation operator. And take the optimal solution after crossover and mutation as the current solution, and at the same time select a sub-optimal solution to be retained as the population for crossover and mutation.
[0104] In each iteration process, select a sub-optimal solution to be retained to ensure the diversity and quantity of the population for crossover and mutation, and improve the ability of the algorithm to jump out of the pit, that is, the ability to jump out of the local optimal solution; when the number of retained sub-optimal solutions reaches the set number, simulate the practice in the taboo list, first in, first out. The solutions retained in the early stage of the iteration are inferior to the solutions retained in the later stage of the iteration, so the first in, first out strategy is adopted to ensure the quality of the population for crossover and mutation.
[0105] Crossover is an important operation for generating offspring with better gene combinations. Common crossover operations include single-point crossover, multi-point crossover, uniform crossover, order crossover, process sequence crossover, and extended order crossover, etc. Direct application of these crossover operations will produce infeasible solutions. If it is set that the workpieces corresponding to the forced parallel batch processing processes do not cross, feasible solutions can be obtained, but it will lead to insufficient crossover. To enable sufficient crossover of individuals, a one-by-one order crossover method (OOOX) is designed for the process sequence, and the specific steps are as follows:
[0106] S31: Select parents P1 and P2, and initialize the process sequence, machine sequence, and operation time sequence of the offspring CP to be empty;
[0107] S32: Generate a random number r between (0, 1). If r < 0.5, select the element at the first gene position of the P1 process sequence; otherwise, select the element at the first gene position of the P2 process sequence;
[0108] S33: Add the selected element to the end of the CP process sequence, and add the corresponding machine and time of this element to the end of the CP machine sequence and operation time sequence respectively; delete the gene where this element first appears in the P1 and P2 process sequences, and delete the genes of the corresponding machine and time of this element;
[0109] S34: Repeat steps S32 and S33 until the elements in parents P1 and P2 are empty, then the process crossover is completed.
[0110] The schematic of OOOX is as Figure 6 shown. The figure first shows the information of two parents P1 and P2, then shows the OOOX operation steps, and finally shows the information of the generated offspring CP. In the figure, during the OOOX operation, first, select the element 3 at the first gene position of the P1 process sequence through the random number r < 0.5, add the element 3 to the end of the offspring CP process sequence, add the corresponding machine 2 and corresponding time 7 of this element to the end of the machine sequence and operation time sequence, and delete the gene positions of the first occurrence of element 3 in the P1 and P2 process sequences and the gene positions of the corresponding machine and corresponding time.
[0111] Then continue to generate a random number r ≥ 0.5 to select the element 4 at the first gene position of P2, add the element 4 to the end of the offspring CP process sequence, add the corresponding machine 2 and corresponding time 4 of this element to the end of the offspring CP machine sequence and operation time sequence, and delete the gene positions of the first occurrence of element 4 in the P1 and P2 process sequences and the gene positions of the corresponding machine and corresponding time; and so on, until the elements in P1 and P2 are empty, then the crossover is completed, and the offspring CP is generated. It can be seen from the final CP that the offspring meets the requirements of the operation machine, operation time, and the front and back process constraints of the forced parallel batch processing process, proving that OOOX can obtain feasible offspring.
[0112] To make the crossover more sufficient, after the process crossover is completed, multi-point crossover is further performed on the machine coding sequence. The specific steps are as follows:
[0113] S35: Randomly generate a 0-1 sequence with a length equal to the length of the machine coding sequence. The positions of the elements 1 in the sequence correspond to the positions of the machine coding where machine crossover is to be performed;
[0114] S36: Copy the coding sequence of parent P1 to offspring CP1, and copy the coding sequence of parent P2 to offspring CP2;
[0115] S37: Update the machines at the machine crossover positions of parent P1 to the machine coding positions of the corresponding processes of offspring CP2, and update the machines at the machine crossover positions of parent P2 to the machine coding positions of the corresponding processes of offspring CP1;
[0116] S38: Update the operation time corresponding to the machines at the machine crossover positions of P1 to the operation time coding bits of the corresponding processes of offspring CP2, and update the operation time corresponding to the machines at the machine crossover positions of P2 to the operation time coding bits of the corresponding processes of offspring CP1.
[0117] The machine crossover is shown as Figure 7 shown in the figure. First, the information of two parents is shown, then the machine crossover steps are shown, and finally the information of the generated offspring is shown. When performing the machine crossover operation, the machine crossover is performed according to the positions of the elements 1 in the generated random sequence. The machines corresponding to processes O 1,1 、O 4,1 、O 3,2 、O 2,2 ,O 3,3 、O 3,4 、O 1,4 、O 4,4 in the machine sequence of parent P1 are updated to the machine code positions of processes O 1,1 、O 4,1 、O 3,2 、O 2,2 ,O 3,3 、O 3,4 、O 1,4 、O 4,4 in offspring CP2, and the machines corresponding to processes O 2,1 、O 3,1 、O 2,2 ,O 3,3 、O 2,3 、O 2,4 ,O 4,3 、O 1,3 、O 1,4 in the machine sequence of parent P2 are updated to the machine code positions of processes O2,1 , O 3,1 , O 2,2 , O 3,3 , O 2,3 , O 2,4 , O 4,3 , O 1,3 , O 1,4 Corresponding machine code bits.
[0118] Mutation operations can increase the diversity of the population and prevent premature convergence, affecting the local search ability of the algorithm. For the flexible job shop scheduling problem or the job shop scheduling problem, common mutation operations include swap mutation, reverse mutation, insertion mutation, and single-point mutation, etc. However, when these mutation operations are applied to the mutation of the operation sequence of the problem in this study, due to their randomness, they will inevitably break the workpiece precedence constraints of the forced parallel batch operations.
[0119] To ensure that the forced parallel batch operations can meet the operation precedence constraints after mutation, the operation mutation will be carried out in segments with the forced parallel batch operations as nodes; first, taking the forced parallel batch operations as the segmentation points, the lengths of the coded sequences of each segmented operation are judged in turn; if the length of the coded sequence of the segmented operation is greater than or equal to 2, two operations are randomly selected in the coded sequence of the segmented operation for operation swap mutation, otherwise no mutation operation is carried out. To obtain a feasible solution, after mutation, the machine sequence and operation time sequence need to be updated so that the operation machines and operation times corresponding to each operation are the same as before mutation. The operation mutation operation is as Figure 8 shown.
[0120] For the mutation operation of the machine coding sequence, single-point mutation is used for mutation, and the machine at this position is randomly replaced with another machine in the set of alternative operation machines for this operation; to obtain a feasible solution, the operation time corresponding to the machine coding mutation position needs to be updated to the operation time of this operation on the replaced machine. The machine mutation operation is as Figure 9 shown, in the figure, the operation machine 2 of the forced parallel batch operations O 2,4 , O 4,3 is replaced with the operation machine 1 in the set of alternative machines.
[0121] Implementation of Example 1
[0122] Taking the MK01 example in the BRdata dataset proposed by Brandimarte as the benchmark example, by selecting the operations of different workpieces, 1 set of forced parallel batch operations and 1 set of flexible parallel batch operations are constructed, so as to form a test example GMK01 applicable to the generalized job shop scheduling problem with parallel batch operations. The specific information of the example is shown in Table 1.
[0123] Table 1 Process information of test example GMK01
[0124]
[0125]
[0126] All the codes of the present invention are programmed and implemented on MatlabR2018b, and run on a computer configured with a 64-bit Windows 10 operating system, an Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz processor, and 12G of onboard RAM. The algorithm iterates with 1 individual, the maximum number of iterations is set to 2000, the length of the taboo list is set to 12, and the maximum population of crossover and mutation is set to 500.
[0127] Figure 10 To solve the example using the taboo genetic search algorithm, one of the obtained scheduling Gantt charts shows that the taboo genetic search algorithm proposed by the present invention can better solve the generalized job shop scheduling problem with parallel batch processing operations.
[0128] The above description is a detailed description of the preferred feasible embodiment of the present invention, but the embodiment is not intended to limit the scope of the patent application of the present invention. Any equivalent changes or modifications made under the technical spirit disclosed by the present invention shall fall within the scope of the patent covered by the present invention.
Claims
1. A generalized job shop scheduling method based on taboo genetic search algorithm, characterized in that: The following steps are involved: S1: Establish a generalized job shop scheduling model, describe the generalized job shop scheduling problem with parallel batch processes, and determine the objective function and constraints of the generalized job shop scheduling model; S2: Based on the generalized job shop scheduling constraints with parallel batch processes, design the encoding and decoding of processes and machines, design the neighborhood structure to generate neighborhood solution sets, and calculate the fitness value; S3: Select an optimal solution from the neighborhood solution set, set it as the current solution to enter the iteration and update the taboo table. When the algorithm falls into a local optimal solution during the iterative process, crossover mutation is introduced as a pit-jumping strategy. S4: until the algorithm reaches the maximum number of iterations, the generalized job shop scheduling model outputs the optimization result, and obtains the scheduling Gantt chart related to the generalized job shop scheduling with parallel batch processing processes.
2. The generalized job shop scheduling method based on taboo genetic search algorithm according to claim 1 is characterized in that: A generalized job shop scheduling model is established, specifically: The generalized job shop scheduling problem with parallel batch processes is described as follows: N workpieces work on M machines; each workpiece has a certain process route; due to process requirements, there are mandatory parallel batch processes between the processes of some workpieces. Under the conditions of meeting process parameter requirements and equipment capacity constraints, different workpieces are allowed to be randomly combined for batch processing to form flexible parallel batch processes; each process may work on multiple different machines, and the operation time of each workpiece process is determined by the machine on which it is located; the scheduling goal is to select the most suitable machine for each process and determine the best operation order of each process on each machine under the conditions of machine availability, process sequence, mandatory parallel batch processes, and flexible parallel batch processes, so as to achieve the optimal completion time; The mathematical symbols of the generalized job shop scheduling model include: J represents the set of workpieces j; O j represents the number of processes of workpiece j; M represents the set of machines m; MPBPO k represents the kth forced parallel batch process set; FPBPO k represents the kth flexible parallel batch processing process set; N MPBPO Indicates the number of processes in the forced parallel batch process set; N FPBPO represents the number of processes in the flexible parallel batch process set; O m,l represents the process of the lth position operation of machine m; j,o represents the oth process of the jth workpiece; Mac j,o represents the set of optional machines for the oth process of the jth job; represents the operation time of the oth process of the jth workpiece on machine m; Cap represents the machine operation time of the lth position of machine m; m represents the capacity of machine m; represents the weight of the oth process of the jth workpiece on machine m; Q represents an infinite positive real number; represents the start time of the oth process of the jth workpiece at the lth position of machine m; represents the end time of the oth process of the jth workpiece at the lth position of machine m; AS j,o represents the start time of the oth process of the jth workpiece; represents the machine start time of machine m at position l; Indicates the machine end time of machine m at position l; If the o-th process of the j-th workpiece is operated at the l-th position of the machine m, it is 1, otherwise it is 0; Indicates that the oth process of the jth workpiece is MPBPO k The process in the set is 1, otherwise it is 0; Indicates that the oth process of the jth workpiece is FPBPO k The process in the set is 1, otherwise it is .
3. The generalized job shop scheduling method based on taboo genetic search algorithm according to claim 2 is characterized in that: Determine the objective function and constraints of the generalized job shop scheduling model, specifically: The objective function is: The constraints are: Formula (1) is the optimization objective function, which is to minimize the maximum completion time; Formula (2) indicates that the operating machines of the mandatory parallel batch process set are the intersection of the operating machines of each process in the process set; Formula (3) indicates that the operating machines of the sub-process set selected for batch processing in the flexible parallel batch process set are the intersection of the operating machines of each process in the sub-process set; Formula (4) indicates that each process is only operated once on the machine; Formula (5) indicates that the number or weight of parallel batch processes on the machine does not exceed the machine capacity; Formula (6) defines the operating time of non-parallel batch processes; Formula (7) defines the operating time of parallel batch processes, which is the maximum operating time in the parallel batch process; Formula (8) indicates that the start time of any process of the machine shall not be earlier than the end time of its predecessor process; Formula (9) indicates that once the machine starts running, it cannot be interrupted; Formula (10) indicates that the startable processing time of the process is greater than or equal to the completion time of the predecessor process of the machine; Formula (11) indicates that the same machine can only operate one process or one parallel batch process at the same time; Formula (12) defines the start time of the process; Formula (13) defines the end time of the process; Formula (14) indicates that the end time of the machine is not greater than the maximum completion time; Formula (15) indicates that the processes belonging to the same mandatory parallel batch process set must be batch processed at the same time; Formula (16) indicates that the processes belonging to the same flexible parallel batch process set can be processed individually or randomly combined for batch processing.
4. The generalized job shop scheduling method based on taboo genetic search algorithm according to claim 2 is characterized in that: Design the encoding and decoding of machines and processes, specifically: The generalized job shop scheduling with parallel batch processes considers process sequencing and machine selection, and adopts process coding. The coding includes three integer coding sequences. The first segment is the process coding sequence, each gene is represented by the workpiece set number, and the number of elements in each gene position is set to For |O I,J |<k, the gene position is filled with virtual artifact 0, and the frequency of occurrence of element i in each gene position is j∈[1,N i ] represents the process O corresponding to workpiece i i,j ; The second section is the machine code, and its optional range is [1, M]. The machine code sequence corresponds to the process code, indicating the machine specified for the process code sequence. The third section is the operation time code, indicating the operation time required for the corresponding process to operate on the specified machine. A semi-active decoding method for a generalized job shop scheduling problem with parallel batch processes is designed based on a coding scheme, including the following steps: S21: Setting A O (1,1:ON), A O (2,1:ON) stores the start and completion time of each process respectively, ON = |OPlan|; use JP = {JP[1], JP[2], ..., JP[N]}, MP = {MP[1], MP[2], ..., MP[M]} to record the process end time of each workpiece and the machine's immediate predecessor process respectively; initialize A O , MP, JP elements are 0, k = 1; S22: Read the process coding sequence OPlan[k] from left to right, 1≤k≤ON in each gene bit element, and determine its process O I,J , and obtain O from MPlan and TmPlan respectively I,J Operating machine m and operating time S23: O I,J The start and finish times are S24: Update JP[i]=C I,J ,i∈I,MP[m]=C I,J , A O (1,k)=S I,J ,A O (2,k)=C I,J ; S25: k=k+1, if k≤ON, go to step S22, otherwise end.
5. The generalized job shop scheduling method based on taboo genetic search algorithm according to claim 1 is characterized in that: Design the neighborhood structure, specifically: For the generalized job shop scheduling problem with parallel batch processes, each process can have multiple machines to process it. You can find idle time on the current machine where the process is located to move it, and you can also find idle time on other optional machines to move it. The cross-machine movement operation of the key process of the process block is as follows: processes x and y are two adjacent processes, the machines where x and y are located are optional processing machines for process w, but not the current processing machines of process w, and the processing time of the machines where processes x and y are located for process w is p w , after the critical process w moves across machines to between processes x and y, it can be found only when the intersection of the idle time period between processes x and y and the idle time search interval of the machine belonging to process w is greater than p w When , moving process w to between processes x and y can reduce the maximum completion time; After moving the process across machines, and then moving the process on the same machine, the key process neighborhood operation of the process block is the same as the job shop scheduling problem: between processes x and y, only when the intersection of the idle time between processes x and y belonging to the machine idle time interval of process w is not 0, that is, the available machine idle time of process w is not 0, moving w to between processes x and y can reduce the maximum completion time; the cross-machine neighborhood structure and the same-machine neighborhood structure are combined into a new neighborhood structure.
6. The generalized job shop scheduling method based on taboo genetic search algorithm according to claim 1 is characterized in that: Select the best solution from the neighborhood solution set, set it as the current solution, enter the iteration and update the taboo table, specifically: There are two rules for selecting the best solution. The first is to comply with the amnesty principle, that is, when a process movement can provide a neighborhood solution that is better than the best solution so far, no matter whether the process movement is in the taboo table, the movement is accepted, the solution is identified as the best solution, and set as the current solution to enter the next iteration; the second is to determine whether the process movement information of the solution is in the taboo table. The taboo table follows the principle of first-in-first-out. Assume that the length of the taboo table is L. When L taboo objects have been stored in the taboo table, and a new taboo object is added, the first taboo object added to the list will be removed from the list; Design a strategy to dynamically adjust the length of the taboo list, check the number of taboo objects in the taboo list, and dynamically adjust the length of the taboo list according to the number of taboo objects in the taboo list.
7. The generalized job shop scheduling method based on taboo genetic search algorithm according to claim 1 is characterized in that: When the iterative process algorithm falls into a local optimal solution, crossover mutation is introduced as a pit-jumping strategy, specifically: Introduce crossover and mutation as a pit-skipping strategy. When the algorithm has not improved after multiple generations, introduce crossover and mutation operators, take the optimal solution after crossover and mutation as the current solution, and select a suboptimal solution to keep as the crossover and mutation population; When the number of retained suboptimal solutions reaches the set number, the approach in the taboo table will be simulated, with first-in-first-out. The solutions retained in the early stage of iteration are inferior to the solutions retained in the later stage of iteration, so the first-in-first-out strategy is adopted to ensure the excellence of the crossover mutation population.
8. The generalized job shop scheduling method based on taboo genetic search algorithm according to claim 7 is characterized in that: In order to make the individuals fully cross-linked, a sequential cross-linking method is designed for the process sequence. The specific steps are as follows: S31: Select the parent generations P1 and P2, and initialize the process sequence, machine sequence, and operation time sequence of the child generation CP to be empty; S32: Generate a random number r between (0,1). If r<0.5, select the first gene position element of the P1 process sequence, otherwise select the first gene position element of the P2 process sequence; S33: Add the selected element to the end of the CP process sequence, and add the machine and time corresponding to the element to the end of the CP machine sequence and the operation time sequence respectively; delete the gene where the element appears for the first time in the P1 and P2 process sequences, and delete the machine and time genes corresponding to the element; S34: Repeat steps S32 and S33 until the elements in the parent generations P1 and P2 are empty and the process crossover is completed.
9. The generalized job shop scheduling method based on taboo genetic search algorithm according to claim 8, characterized in that: In order to make the crossover more complete, after completing the process crossover, the machine code sequence is further crossovered at multiple points. The specific steps are as follows: S35: randomly generate a 0-1 sequence whose length is equal to the length of the machine code sequence, and the position of the machine code corresponding to element 1 in the sequence is the position for performing machine crossover; S36: copy the parent P1 coding sequence to the offspring CP1, and copy the parent P2 coding sequence to the offspring CP2; S37: Update the machine at the intersection position of the parent generation P1 machine to the machine code position of the corresponding process of the child generation CP2, and update the machine at the intersection position of the parent generation P2 machine to the machine code position of the corresponding process of the child generation CP1; S38: The operation time corresponding to the machine at the intersection position of the P1 machine is updated to the operation time code position of the corresponding process of the child CP2, and the operation time corresponding to the machine at the intersection position of the P2 machine is updated to the operation time code position of the corresponding process of the child CP1.
10. The generalized job shop scheduling method based on taboo genetic search algorithm according to claim 9, characterized in that: To ensure that the forced parallel batch process can meet the constraints of the operations before and after the process after mutation, the process mutation will be segmented with the forced parallel batch process as the node; First, take the forced parallel batch process as the segmentation point, and determine the length of each segment process code sequence in turn; if the length of the segment process code sequence is greater than or equal to 2, randomly select two processes in the segment process code sequence for process exchange mutation, otherwise no mutation operation is performed; in order to obtain a feasible solution, the machine sequence and operation time sequence need to be updated after the mutation is completed, so that the operation machine and operation time corresponding to each process are the same as before the mutation; The mutation operation of the machine code sequence adopts single-point mutation to randomly replace the machine at that position with another machine in the optional operation machine set of the process; In order to obtain a feasible solution, the operation time corresponding to the position where the machine code is mutated needs to be updated to the operation time of the process on the replacement machine.