Method for Solving Job Shop Scheduling Problem Based on NSGA-III Algorithm

The multi-objective flexible operation workshop scheduling model is constructed through the NSGA-III algorithm, which solves the impact of different speeds of the machine on the processing effect, realizes efficient scheduling of multi-functional machine tools, and improves scheduling accuracy and algorithm convergence.

CN116360355BActive Publication Date: 2025-08-05SHANGHAI BARUAN INFORMATION TECHNOLOGY CO LTD

Patent Information

Application Number
CN202310142327.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-21
Publication Date
2025-08-05
Estimated Expiration
2043-02-21

AI Technical Summary

Technical Problem

In the prior art, different rotation speeds of the machine have an impact on the processing effect, resulting in complex workshop scheduling problems, making it difficult to efficiently perform multi-objective flexible operation scheduling on multi-function machine tools.

Method used

The NSGA-III algorithm is used to construct a multi-objective flexible operation workshop scheduling problem model. Through equal-length three-stage coding, adaptive operator crossover and mutation operations, combined with the niche selection mechanism, a uniformly distributed reference point is generated, and an approximate dominance sort is performed to select the optimal compromise solution.

Benefits of technology

The solution accuracy of workshop scheduling problems and the convergence of algorithms are improved, the problem of decreasing population diversity in traditional algorithms is avoided, and efficient scheduling is achieved under the conditions of multi-speed machine.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116360355B_ABST
    Figure CN116360355B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for solving the job shop scheduling problem based on the NSGA-III algorithm. First, a multi-objective flexible job shop scheduling problem model is constructed. The method includes the following steps: describing the multi-objective flexible job shop scheduling problem and constructing the model; generating a set of evenly distributed reference points; encoding the parent population P using an equal-length three-segment encoding method; and t The individuals in the temporary population R are subjected to crossover and mutation operations based on adaptive operators. t An approximate dominant sorting based on the reference point is performed to determine whether the termination condition is met. Finally, a weighted method is used to select a solution from the optimal solution set as the optimal compromise solution and output it. The present invention solves the problem in the prior art that different rotational speeds affect the machining effect of the machine.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of job scheduling, and in particular relates to a method for solving a shop scheduling problem based on an NSGA-III algorithm. Background Art

[0002] Previous research on workshop production scheduling has primarily focused on energy-saving scheduling for machines with constant speeds. However, with the advancement of technology, a number of multifunctional machine tools have emerged, capable of processing different parts at varying speeds according to actual needs. Therefore, considering the impact of varying speeds on machining results and studying the multi-objective energy-saving scheduling problem for flexible job shops with multiple speeds is more in line with current manufacturing practices and the future development of scheduling theory. Summary of the Invention

[0003] The purpose of the present invention is to provide a method for solving the shop scheduling problem based on the NSGA-III algorithm, which solves the problem in the prior art that different rotation speeds have an impact on machine processing effects.

[0004] The technical solution adopted by the present invention is a method for solving the shop scheduling problem based on the NSGA-III algorithm, which is specifically implemented according to the following steps:

[0005] Step 1: Construct a multi-objective flexible job shop scheduling problem model: including multi-objective flexible job shop scheduling problem description and model construction;

[0006] Step 2: Generate a set of evenly distributed reference points;

[0007] Step 3: Use equal-length three-segment coding to encode, the three-segment coding is process code, equipment code and speed code; use random method to generate the initial population P t , scale is N; set algorithm parameters: current iteration number t, maximum iteration number t max , crossover probability P N , mutation probability P M , the equal fraction H of each target;

[0008] Step 4: For the parent population P t The individuals in the population perform crossover and mutation operations based on adaptive operators to generate the offspring population Q t , P t and Q t Merge to generate temporary population R t , the scale is 2N;

[0009] Step 5: For the temporary population R t Perform approximate dominance sorting based on the reference point and sort the temporary population R tDivide into multiple small populations of dominance levels, and join the next generation parent population P in descending order. t+1 In the process, the critical layer population is selected by niche technology to join P t+1 , so that the second generation parent population P is generated t+1 The scale is N;

[0010] Step 6: Determine whether the termination condition is met. If not, return to step 4; if satisfied, go to step 7.

[0011] Step 7: Use the weighted method to select a solution from the optimal solution set as the optimal compromise solution and output it.

[0012] The present invention is also characterized in that:

[0013] The multi-objective flexible job shop scheduling problem in step 1 is described as follows:

[0014] Assume that there are m machines in the workshop, and the set of machines is M={M k ,1≤k≤m}, there are n workpieces to be processed, and the set of workpieces is J={J i ,1≤i≤n}, each workpiece J i Contains n i Process, O ij Then it means workpiece J i The jth process, workpiece J i The set of processes is I i ={O ij ,1≤j≤n i}, machine M k The processing speed set is expressed as V k ={v l ,1≤l≤d},O ij At a certain moment, you can k At speed v l Processing, then expressed as x ijkl (t) = 1, so a process is carried out on a machine at a speed v l The processing time is P ijkl The purpose of flexible job shop scheduling is to allocate all processes O of n types of workpieces to be processed. ij Processing plan;

[0015] The model assumptions are as follows:

[0016] All workpieces are in a machinable state at the initial moment;

[0017] The process cannot be interrupted during processing;

[0018] A process is limited to being completed on the same machine;

[0019] One machine can only process one process at a time;

[0020] The processing order between the various processes of the same workpiece cannot be changed, and the processing order between the various processes will not affect each other;

[0021] There is no hierarchy of good and bad workpieces;

[0022] Idle equipment will not be shut down until the last step of all tasks is completed;

[0023] The equipment pre-processing time and the workpiece loading, unloading and transportation time are not included;

[0024] Equipment failure or expedited tasks are not considered;

[0025] The multi-objective flexible job shop scheduling problem model in step 1 is constructed as follows:

[0026] J i represents the total number of processes for workpiece i; represents the completion time of job i; n represents the total number of jobs; m represents the total number of machines; ST ijk Indicates process O ij On machine M k Time when processing starts; ET ijk Indicates process O ij On machine M k The end processing time on P ijkl Indicates process O ij At speed l on machine M k The processing time; similarly, ST i(j-1)k' and ET i(j-1)k' Workpiece J i The j-1th process O i(j-1) On machine M k' The start and end time of processing; ET hgk For machine M k In the processing step O ij The previous immediate predecessor process O hg Ending moment of MI k Indicates machine M k Release time; S i represents the release time of workpiece i; D i represents the delivery time of workpiece i; Y represents the fixed energy consumption rate per unit time of the workshop; E kl Indicates the energy consumption rate of the machine under the corresponding processing state, and x ijkl (t) is a 0-1 variable. If the machine M k At speed v l At time t, the processing operation O ij, then x ijkl (t)=1, otherwise x ijkl (t) = 0; SE k Indicates the energy consumption rate of the machine in standby mode, and SE k =1,z k (t) is a 0-1 variable. If at time t, the machine M k In standby mode, k (t)=1, otherwise z k (t) = 0; α represents the energy consumption rate of workpiece transfer in the workshop; Z represents the number of workpiece transfers in the workshop; P ijkl Indicates process O ij At speed l on machine M k Processing time, E kl With P ijkl The relationship between the two is that if process O ij On machine M k As the processing speed increases, the corresponding processing time will become shorter, but on the contrary, the energy consumption of the corresponding processing will increase, as follows:

[0027]

[0028] All machines are kept in the on state during the processing. When there is no workpiece to be processed, the corresponding machine is in the standby state and will not be turned off until all workpieces are processed.

[0029] The objective function is constructed as follows:

[0030]

[0031]

[0032]

[0033]

[0034]

[0035]

[0036] st

[0037]

[0038]

[0039]

[0040]

[0041]

[0042]

[0043]

[0044]

[0045]

[0046]

[0047]

[0048]

[0049] Among them, formula (1-2) represents the maximum completion time; formula (1-3) represents the average process time; formula (1-4) represents the total delay time; formula (1-5) represents the total machine load; formula (1-6) represents the bottleneck machine load; formula (1-7) represents the total energy consumption of the system; formula (1-8) represents the processing sequence constraint of each workpiece; formula (1-9) represents the current process O of the same workpiece ij The starting time of the previous process O i(j-1) End time, current processing machine starts idle time MI k and workpiece release time S i Constraint relationship; Formula (1-10) is the end time of the last process; Formula (1-11) defines that the time when the machine starts to be idle should be equal to the end time of the process on the machine; Formula (1-12) means that a process can only be processed by one machine; Formula (1-13) means that a machine can only process one process at a time; Formulas (1-14) to (1-15) are 0-1 variables; Formulas (1-16) to (1-19) are non-negative constraints.

[0050] In step 2, the reference points are distributed on a G-1 dimensional hyperplane, where G is the dimension of the target space. Assuming that each target is divided into H equal parts, the number L of reference points generated in step 2 is determined by formula (2-1):

[0051]

[0052] Step 2.1, define X as a set G-1 combinations of all elements in;

[0053] Step 2.2: For each element x in X ij ,have Among them, x ij represents the jth element in the i-th combination of X;

[0054] Step 2.3: Let S represent the reference point set. For each element s in S, ij and every element x in X ij , satisfying formula (2-2):

[0055]

[0056] G is the dimension of the target space, which is the number of optimization targets; x ij represents the jth element in the i-th combination of X; s ij Represents the jth element in the i-th combination in S;

[0057] Step 4 is as follows:

[0058] (1) Define the crossover and mutation operators in advance. There are Q crossover and mutation operators in the strategy pool. Each crossover or mutation operator has a probability interval, 1 / Q. According to the selection operator probability SOP, a roulette wheel is used to randomly select an operator C in the strategy pool. now ;

[0059] (2) Crossover operation: Use crossover method C now Get two new offspring individuals P c1 and P c2 , evaluate the crossover operator C by comparing the parent and offspring now The advantages and disadvantages of the variables vic and def are obtained, where vic records the offspring P c Better than the parent P p The number of def records the parent P p Better than the offspring P c The number of offspring P c Join new population Q t ; The same applies to mutation operations;

[0060] (3) Repeat the above steps to obtain N offspring individuals, and set the population Q t and P t Synthetic temporary population K t , K t The scale is 2N, and the vic def success matrix V of crossover and mutation is updated q and the failure matrix D q In , the selection operator probability set SOP is updated every five generations;

[0061] Step 4.1, four crossover operators, four mutation operators:

[0062] Put the four crossover operators and four mutation operators into their respective adaptive strategy pools, and adaptively select their respective crossover operators and mutation operators according to the selection operator probability SOP;

[0063] Step 4.1.1, crossover operator:

[0064] The crossover mode is process coding layer crossover. When the chromosome performs the crossover operation of the process, it only changes the processing order of the process, and does not change the machine used and processing speed of each process.

[0065] 1) Crossover based on random order:

[0066] The process coding layer crossover uses crossover ROX based on random order, and the specific steps are as follows:

[0067] (1) Randomly generate two integers q1,q2∈[1,k], where k is the number of workpieces;

[0068] (2) The gene equal to q1 in the parent individual P1 is kept in its original position and copied to the offspring individual C1. The gene equal to q2 in the parent individual P2 is kept in its original position and copied to the offspring individual C2.

[0069] (3) Copy the genes except q1 in the parent individual P2 to C1, and keep the original order unchanged; copy the genes except q2 in P1 to C2, and keep the original order unchanged.

[0070] 2) Crossover based on workpiece order:

[0071] The crossover at the process coding layer uses a crossover method based on the workpiece order. The crossover method based on the workpiece order is to exchange the positions of the crossover workpieces in the two parent chromosomes. The specific steps are as follows:

[0072] (1) Randomly generate an integer q1∈[1,k], where k is the number of workpieces;

[0073] (2) The gene equal to q1 in the parent individual P1 is kept in its original position and copied to the offspring individual C1. The gene equal to q1 in the parent individual P2 is kept in its original position and copied to the offspring individual C2.

[0074] (3) Copy the remaining genes in the parent individual P2 to C1, and keep the original order unchanged; copy the remaining genes in the parent individual P1 to C2, and keep the original order unchanged;

[0075] 3) Cross-cutting based on artifact priority:

[0076] The process coding layer crossover uses a crossover method based on workpiece priority. The specific steps of crossover based on workpiece priority are as follows:

[0077] (1) The workpiece set J = {J1, J2, ..., J N} Randomly divide into two non-empty subsets J1 and J2;

[0078] (2) All gene positions belonging to J1 in the parent generation P1 are copied to the offspring C1; all gene positions belonging to J2 in the parent generation P2 are copied to the offspring C2;

[0079] (3) Remove the genes belonging to J1 from the parent generation P2, and then place the remaining genes into the offspring C1 in sequence; remove the genes belonging to J2 from the parent generation P1, and then place the remaining genes into the offspring C2 in sequence;

[0080] 4) Process level coding shuffle and cross:

[0081] The process level code crossover uses shuffle crossover. The specific execution steps of shuffle crossover are as follows:

[0082] (1) Randomly select a crossover point K and divide the parent generations P1 and P2 into two parts;

[0083] (2) Randomly shuffle the genes in the first half of point K so that the two parents P1 and P2 cross over with each other;

[0084] Step 4.1.2, mutation operator:

[0085] Mutation operations include process coding layer mutation, machine coding layer mutation and speed coding layer mutation. The process coding layer mutation operations include swap, insert, reverse order and random rearrangement mutation. Machine coding layer mutation: randomly select a suitable machine from the machine set to update the machine code. Speed coding layer mutation: randomly select a suitable speed from the speed set to update the speed code.

[0086] Step 4.2, select the operator probability set SOP:

[0087] The crossover operator and mutation operator both select Q operators and put them into their respective strategy pools. The initial probability of each operator being selected is the same, that is, 1 / Q. The selection probabilities of the crossover operator and mutation operator are performed separately. The results of each generation are recorded using vectors vic and def. The specific forms of vic and def are as follows:

[0088] vic=(00...0) 1×Q (4-1)

[0089] def=(00...0) 1×Q (4-2)

[0090] The vic and def vectors are updated according to the non-dominated relationship between the parent and the child, where q in the vic and def vectors is thThe column records the value of the qth operator (q=1,2,...,Q) in the strategy pool. The value of the qth operator in vic and def is represented by vic q and def q Indicates that the crossover operator is as follows:

[0091] Case 1: If the parent generation P1 completely dominates P2, each child generation is compared with P1 for Pareto dominance. If no child generation is dominated by the parent generation P1, then vic q +2;

[0092] Case 2: If the two parents do not dominate each other, then compare the Pareto dominance relationship between each parent and each child. If the two children are not dominated by the two parents at the same time, then vic q +1, def q +1;

[0093] Case 3: If the child is not dominated by the parent, then def q +2.

[0094] The mutation operator is as follows:

[0095] If the parent generation P1 completely dominates P2, the offspring is compared with P1 for Pareto dominance. If the offspring is not dominated by the parent generation P1, then vic q +1, otherwise def q +1;

[0096] The improved algorithm updates the selection operator probability set SOP every five generations. Two matrices are required: the success matrix V and the failure matrix D to store the vic and def vectors of every five generations. The specific forms of V and D are as follows:

[0097]

[0098] Where q in V and D matrices th The column records the value of the qth operator (q=1,2,…,Q) in the strategy pool and updates the SOP according to the V and D matrices. The updating method is as follows: To calculate the probability of the qth operator, the algorithm performs the q th Sum the columns separately:

[0099]

[0100]

[0101] Among them, S1 q represents the vic obtained by superimposing five generations of the qth operator q Value; S2 q represents the def obtained by superposing the qth operator for five generations qThe SOP value for the qth crossover operator is calculated as follows:

[0102]

[0103]

[0104]

[0105] S3 q Set the minimum value ε to 0.0001; S4 q It is q th The success rate of offspring produced by a crossover operator within five generations; SOP q Represents the probability of selecting the qth operator in the operator probability set SOP.

[0106] Step 5 is as follows:

[0107] Step 5.1: Normalize the objective function:

[0108] According to formula (5-1), each dimension of the objective function is normalized:

[0109]

[0110] To find P t+1 The minimum value of the jth sub-objective function of all individuals in f j (x) is P t+1 The j-th sub-objective function value of the individual in; P t+1 The j-th sub-objective function value after individual normalization; b j is the intercept of the hyperplane in the direction of the objective function in the jth dimension;

[0111] Step 5.2: Approximate dominance ranking based on reference points:

[0112] After the objective function is normalized, the g objective values of individual X are recorded as The vertical distance between the individual and the reference line is used to evaluate the association between the individual and the reference point, and the individual is associated with the first reference point with the smallest vertical distance. The number of times the reference point r is associated is defined as the microhabitat number ρ. r , if individual X is associated with reference point r, then the projection distance d of individual X on the rth reference line r1 (X) and vertical distance d r2 The calculation formula of (X) is as follows:

[0113] d r1 (X)=||[f nor (X)] T λr || / ||λ r ||, (5-2)

[0114] d r2 (X)=||[f nor (X)]-d r1 (X)λ r / ||λ r ||||, (5-3)

[0115] where λ r =[λ r1 ,λ r2 ,...,λ rg ] T is the direction vector of the reference point r, and satisfies

[0116] In order to make the objective function converge as quickly as possible, the distance F(X) between the individual standardized target value and the origin is combined with the Pareto criterion. The calculation formula of F(X) is as follows:

[0117]

[0118] First, use the Pareto principle to accurately judge the dominance relationship between individuals. If two individuals are in a Pareto non-dominance relationship, use F(X) to make a judgment. When using the approximate dominance principle to judge the dominance relationship between individuals, one of the following criteria must be met:

[0119] (a) If and only if for any z∈{1,2,...,g} And there exists at least one subscript z'∈{1,2,...,g} such that If it holds, then X is considered to dominate S;

[0120] (b) When any two individuals are in a Pareto non-dominated state, F(X) is used to make a judgment. Criterion (a) uses the Pareto non-dominated principle to accurately judge the dominance relationship, ensuring that non-dominated individuals are retained in the next generation population and ensuring the convergence of the algorithm. Criterion (b) stipulates an approximate dominance strategy for the two individuals. When the two individuals are in a Pareto non-dominated dominated state, F(X) is used to make an approximate judgment of the dominance relationship to reduce the number of individuals at each level.

[0121] The beneficial effect of the present invention is that the method for solving the workshop scheduling problem is based on the NSGA-III algorithm. The NSGA-III algorithm is an algorithm specifically for solving high-dimensional multi-objective problems. Due to the use of a niche selection mechanism based on a reference point, the population will not degenerate as the number of algorithm iterations increases, thereby overcoming the deficiency of the traditional NSGA-II in which the population diversity decreases as the number of iterations increases. At the same time, by using effective crossover and mutation evolution operations for the three parts of machine selection, process sorting, and speed selection, the solution accuracy of the algorithm is effectively improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0122] Figure 1 It is a schematic diagram of the chromosome coding of three equal length segments;

[0123] Figure 2 This is a schematic diagram of ROX crossover operation;

[0124] Figure 3 It is a schematic diagram of cross operation based on the workpiece sequence;

[0125] Figure 4 It is a schematic diagram of cross-operation based on workpiece priority;

[0126] Figure 5 It is a schematic diagram of shuffle cross;

[0127] Figure 6 It is a schematic diagram of the machine coding layer mutation operation;

[0128] Figure 7 is the d in the two-dimensional target space 21 (X),d 22 Schematic diagram of the calculation of (X) and F(X);

[0129] Figure 8 These are the convergence curves of the objective functions obtained by solving MK01 using the three algorithms;

[0130] Figure 9 These are the HV convergence curves obtained by solving MK01 using three algorithms;

[0131] Figure 10 These are the IGD convergence curves obtained by solving MK01 using three algorithms;

[0132] Figure 11 This is the Gantt chart of the scheduling results obtained by solving MK01 using traditional NSGA-II;

[0133] Figure 12 This is the Gantt chart of the scheduling results obtained by solving MK01 using traditional NSGA-III;

[0134] Figure 13 This is the Gantt chart of the scheduling results obtained by solving MK01 using the improved NSGA-III. DETAILED DESCRIPTION

[0135] The present invention will be described in detail below with reference to the accompanying drawings and specific embodiments.

[0136] The method for solving the shop scheduling problem based on the NSGA-III algorithm of the present invention is characterized by being implemented in accordance with the following steps:

[0137] Step 1: Construct a multi-objective flexible job shop scheduling problem model: including multi-objective flexible job shop scheduling problem description and model construction;

[0138] The multi-objective flexible job shop scheduling problem in step 1 is described as follows:

[0139] Assume that there are m machines in the workshop, and the set of machines is M={M k ,1≤k≤m}, there are n workpieces to be processed, and the set of workpieces is J={J i ,1≤i≤n}, each workpiece J i Contains n i Process, O ij Then it means workpiece J i The jth process, workpiece J i The set of processes is I i ={O ij ,1≤j≤n i}, machine M k The processing speed set is expressed as V k ={v l ,1≤l≤d},O ij At a certain moment, you can k At speed v l Processing, then expressed as x ijkl (t) = 1, so a process is carried out on a machine at a speed v l The processing time is P ijkl The purpose of flexible job shop scheduling is to allocate all processes O of n types of workpieces to be processed. ij Processing plan;

[0140] The model assumptions are as follows:

[0141] All workpieces are in a machinable state at the initial moment;

[0142] The process cannot be interrupted during processing;

[0143] A process is limited to being completed on the same machine;

[0144] One machine can only process one process at a time;

[0145] The processing order between the various processes of the same workpiece cannot be changed, and the processing order between the various processes will not affect each other;

[0146] There is no hierarchy of good and bad workpieces;

[0147] Idle equipment will not be shut down until the last step of all tasks is completed;

[0148] The equipment pre-processing time and the workpiece loading, unloading and transportation time are not included;

[0149] Equipment failure or expedited tasks are not considered;

[0150] The multi-objective flexible job shop scheduling problem model in step 1 is constructed as follows:

[0151] J i represents the total number of processes for workpiece i; represents the completion time of job i; n represents the total number of jobs; m represents the total number of machines; ST ijk Indicates process O ij On machine M k ET: the time when processing starts ijk Indicates process O ij On machine M k The end processing time on P ijkl Indicates process O ij At speed l on machine M k The processing time; similarly, ST i(j-1)k' and ET i(j-1)k' Workpiece J i The j-1th process O i(j-1) On machine M k' The start and end time of processing; ET hgk For machine M k In the processing step O ij The previous immediate predecessor process O hg The end of MI k Indicates machine M k Release time; S i represents the release time of workpiece i; D i represents the delivery time of workpiece i; Y represents the fixed energy consumption rate per unit time of the workshop; E kl Indicates the energy consumption rate of the machine under the corresponding processing state, and x ijkl (t) is a 0-1 variable. If the machine M k At speed v l At time t, the processing operation O ij , then x ijkl (t)=1, otherwise x ijkl (t) = 0; SEk Indicates the energy consumption rate of the machine in standby mode, and SE k =1,z k (t) is a 0-1 variable. If at time t, the machine M k In standby mode, k (t)=1, otherwise z k (t) = 0; α represents the energy consumption rate of workpiece transfer in the workshop; Z represents the number of workpiece transfers in the workshop; P ijkl Indicates process O ij At speed l on machine M k Processing time, E kl With P ijkl The relationship between the two is that if process O ij On machine M k As the processing speed increases, the corresponding processing time will become shorter, but on the contrary, the energy consumption of the corresponding processing will increase, as follows:

[0152]

[0153] All machines are kept in the on state during the processing. When there is no workpiece to be processed, the corresponding machine is in the standby state and will not be turned off until all workpieces are processed.

[0154] The objective function is constructed as follows:

[0155] f1=max(C iJi ) (1-2)

[0156]

[0157]

[0158]

[0159]

[0160]

[0161] st

[0162]

[0163]

[0164]

[0165]

[0166]

[0167]

[0168]

[0169]

[0170]

[0171]

[0172]

[0173]

[0174] Among them, formula (1-2) represents the maximum completion time; formula (1-3) represents the average process time; formula (1-4) represents the total delay time; formula (1-5) represents the total machine load; formula (1-6) represents the bottleneck machine load; formula (1-7) represents the total energy consumption of the system; formula (1-8) represents the processing sequence constraint of each workpiece; formula (1-9) represents the current process O of the same workpiece ij The starting time of the previous process O i(j-1) End time, current processing machine starts idle time MI k and workpiece release time S i Constraint relationship; Formula (1-10) is the end time of the last process; Formula (1-11) defines that the time when the machine starts to be idle should be equal to the end time of the process on the machine; Formula (1-12) means that a process can only be processed by one machine; Formula (1-13) means that a machine can only process one process at a time; Formulas (1-14) to (1-15) are 0-1 variables; Formulas (1-16) to (1-19) are non-negative constraints.

[0175] Step 2: Generate a set of evenly distributed reference points;

[0176] In step 2, the reference points are distributed on a G-1 dimensional hyperplane, where G is the dimension of the target space. Assuming that each target is divided into H equal parts, the number L of reference points generated in step 2 is determined by formula (2-1):

[0177]

[0178] Step 2.1, define X as a set G-1 combinations of all elements in;

[0179] Step 2.2: For each element x in X ij ,have Among them, x ijrepresents the jth element in the i-th combination of X;

[0180] Step 2.3: Let S represent the reference point set. For each element s in S, ij and every element x in X ij , satisfying formula (2-2):

[0181]

[0182] G is the dimension of the target space, which is the number of optimization targets; x ij represents the jth element in the i-th combination of X; s ij Represents the jth element in the i-th combination in S;

[0183] Step 3: Use equal-length three-segment coding to encode, the three-segment coding is process code, equipment code and speed code; use random method to generate the initial population P t , scale is N; set algorithm parameters: current iteration number t, maximum iteration number t max , crossover probability P N , mutation probability P M , the equal fraction H of each target;

[0184] Step 4 is as follows:

[0185] (1) Define the crossover and mutation operators in advance. There are Q crossover and mutation operators in the strategy pool. Each crossover or mutation operator has a probability interval, 1 / Q. According to the selection operator probability SOP, a roulette wheel is used to randomly select an operator C in the strategy pool. now ;

[0186] (2) Crossover operation: Use crossover method C now Get two new offspring individuals P c1 and P c2 , evaluate the crossover operator C by comparing the parent and offspring now The advantages and disadvantages of the variables vic and def are obtained, where vic records the offspring P c Better than the parent P p The number of def records the parent P p Better than the offspring P c The number of offspring P c Join new population Q t ; The same applies to mutation operations;

[0187] (3) Repeat the above steps to obtain N offspring individuals, and set the population Q t and P t Synthetic temporary population K t , K tThe scale is 2N, and the vic def success matrix V of crossover and mutation is updated q and the failure matrix D q In , the selection operator probability set SOP is updated every five generations;

[0188] Step 4.1, four crossover operators, four mutation operators:

[0189] Put the four crossover operators and four mutation operators into their respective adaptive strategy pools, and adaptively select their respective crossover operators and mutation operators according to the selection operator probability SOP;

[0190] Step 4.1.1, crossover operator:

[0191] The crossover mode is process coding layer crossover. When the chromosome performs the crossover operation of the process, it only changes the processing order of the process, and does not change the machine used and processing speed of each process.

[0192] 1) Crossover based on random order:

[0193] The process coding layer crossover uses crossover ROX based on random order, and the specific steps are as follows:

[0194] (1) Randomly generate two integers q1,q2∈[1,k], where k is the number of workpieces;

[0195] (2) The gene equal to q1 in the parent individual P1 is kept in its original position and copied to the offspring individual C1. The gene equal to q2 in the parent individual P2 is kept in its original position and copied to the offspring individual C2.

[0196] (3) Copy the genes except q1 in the parent individual P2 to C1, and keep the original order unchanged; copy the genes except q2 in P1 to C2, and keep the original order unchanged.

[0197] 2) Crossover based on workpiece order:

[0198] The crossover at the process coding layer uses a crossover method based on the workpiece order. The crossover method based on the workpiece order is to exchange the positions of the crossover workpieces in the two parent chromosomes. The specific steps are as follows:

[0199] (1) Randomly generate an integer q1∈[1,k], where k is the number of workpieces;

[0200] (2) The gene equal to q1 in the parent individual P1 is kept in its original position and copied to the offspring individual C1. The gene equal to q1 in the parent individual P2 is kept in its original position and copied to the offspring individual C2.

[0201] (3) Copy the remaining genes in the parent individual P2 to C1, and keep the original order unchanged; copy the remaining genes in the parent individual P1 to C2, and keep the original order unchanged;

[0202] 3) Cross-cutting based on artifact priority:

[0203] The process coding layer crossover uses a crossover method based on workpiece priority. The specific steps of crossover based on workpiece priority are as follows:

[0204] (1) The workpiece set J = {J1, J2, ..., J N} Randomly divide into two non-empty subsets J1 and J2;

[0205] (2) All gene positions belonging to J1 in the parent generation P1 are copied to the offspring C1; all gene positions belonging to J2 in the parent generation P2 are copied to the offspring C2;

[0206] (3) Remove the genes belonging to J1 from the parent generation P2, and then place the remaining genes into the offspring C1 in sequence; remove the genes belonging to J2 from the parent generation P1, and then place the remaining genes into the offspring C2 in sequence;

[0207] 4) Process level coding shuffle and cross:

[0208] The process level code crossover uses shuffle crossover. The specific execution steps of shuffle crossover are as follows:

[0209] (1) Randomly select a crossover point K and divide the parent generations P1 and P2 into two parts;

[0210] (2) Randomly shuffle the genes in the first half of point K so that the two parents P1 and P2 cross over with each other;

[0211] Step 4.1.2, mutation operator:

[0212] Mutation operations include process coding layer mutation, machine coding layer mutation and speed coding layer mutation. The process coding layer mutation operations include swap, insert, reverse order and random rearrangement mutation. Machine coding layer mutation: randomly select a suitable machine from the machine set to update the machine code. Speed coding layer mutation: randomly select a suitable speed from the speed set to update the speed code.

[0213] Step 4.2, select the operator probability set SOP:

[0214] The crossover operator and mutation operator both select Q operators and put them into their respective strategy pools. The initial probability of each operator being selected is the same, that is, 1 / Q. The selection probabilities of the crossover operator and mutation operator are performed separately. The results of each generation are recorded using vectors vic and def. The specific forms of vic and def are as follows:

[0215] vic=(00...0) 1×Q (4-1)

[0216] def=(00...0) 1×Q (4-2)

[0217] The vic and def vectors are updated according to the non-dominated relationship between the parent and the child, where q in the vic and def vectors is th The column records the value of the qth operator (q=1,2,...,Q) in the strategy pool. The value of the qth operator in vic and def is represented by vic q and def q Indicates that the crossover operator is as follows:

[0218] Case 1: If the parent generation P1 completely dominates P2, each child generation is compared with P1 for Pareto dominance. If no child generation is dominated by the parent generation P1, then vic q +2;

[0219] Case 2: If the two parents do not dominate each other, then compare the Pareto dominance relationship between each parent and each child. If the two children are not dominated by the two parents at the same time, then vic q +1, def q +1;

[0220] Case 3: If the child is not dominated by the parent, then def q +2.

[0221] The mutation operator is as follows:

[0222] If the parent generation P1 completely dominates P2, the offspring is compared with P1 for Pareto dominance. If the offspring is not dominated by the parent generation P1, then vic q +1, otherwise def q +1;

[0223] The improved algorithm updates the selection operator probability set SOP every five generations. Two matrices are required: the success matrix V and the failure matrix D to store the vic and def vectors of every five generations. The specific forms of V and D are as follows:

[0224]

[0225] Where q in V and D matrices th The column records the value of the qth operator (q=1,2,…,Q) in the strategy pool and updates the SOP according to the V and D matrices. The updating method is as follows: To calculate the probability of the qth operator, the algorithm performs the q th Sum the columns separately:

[0226]

[0227]

[0228] Among them, S1 q represents the vic obtained by superimposing five generations of the qth operator q Value; S2 q represents the def obtained by superposing the qth operator for five generations q The SOP value for the qth crossover operator is calculated as follows:

[0229]

[0230]

[0231]

[0232] S3 q Set the minimum value ε to 0.0001; S4 q It is q th The success rate of offspring produced by a crossover operator within five generations; SOP q Represents the probability of selecting the qth operator in the operator probability set SOP.

[0233] Step 5: For the temporary population R t Perform approximate dominance sorting based on the reference point and sort the temporary population R t Divide into multiple small populations of dominance levels, and join the next generation parent population P in descending order t+1 In the process, the critical layer population is selected by niche technology to join P t+1 , so that the second generation parent population P is generated t+1 The scale is N;

[0234] Step 5 is as follows:

[0235] Step 5.1: Normalize the objective function:

[0236] According to formula (5-1), each dimension of the objective function is normalized:

[0237]

[0238] To find P t+1 The minimum value of the jth sub-objective function of all individuals in f j (x) is P t+1 The j-th sub-objective function value of the individual in; P t+1The j-th sub-objective function value after individual normalization; b j is the intercept of the hyperplane in the direction of the objective function in the jth dimension;

[0239] Step 5.2: Approximate dominance ranking based on reference points:

[0240] After the objective function is normalized, the g objective values of individual X are recorded as The vertical distance between the individual and the reference line is used to evaluate the association between the individual and the reference point, and the individual is associated with the first reference point with the smallest vertical distance. The number of times the reference point r is associated is defined as the microhabitat number ρ. r , if individual X is associated with reference point r, then the projection distance d of individual X on the rth reference line r1 (X) and vertical distance d r2 The calculation formula of (X) is as follows:

[0241] d r1 (X)=||[f nor (X)] T λ r || / ||λ r ||, (5-2)

[0242] d r2 (X)=||[f nor (X)]-d r1 (X)λ r / ||λ r ||||, (5-3)

[0243] where λ r =[λ r1 ,λ r2 ,...,λ rg ] T is the direction vector of the reference point r, and satisfies

[0244] In order to make the objective function converge as quickly as possible, the distance F(X) between the individual standardized target value and the origin is combined with the Pareto criterion. The calculation formula of F(X) is as follows:

[0245]

[0246] First, use the Pareto principle to accurately judge the dominance relationship between individuals. If two individuals are in a Pareto non-dominance relationship, use F(X) to make a judgment. When using the approximate dominance principle to judge the dominance relationship between individuals, one of the following criteria must be met:

[0247] (a) If and only if for any z∈{1,2,...,g} And there exists at least one subscript z'∈{1,2,...,g} such that If it holds, then X is considered to dominate S;

[0248] (b) When any two individuals are in a Pareto non-dominated state, F(X) is used to make a judgment. Criterion (a) uses the Pareto non-dominated principle to accurately judge the dominance relationship, ensuring that non-dominated individuals are retained in the next generation population and ensuring the convergence of the algorithm. Criterion (b) stipulates an approximate dominance strategy for the two individuals. When the two individuals are in a Pareto non-dominated dominated state, F(X) is used to make an approximate judgment of the dominance relationship to reduce the number of individuals at each level.

[0249] Step 6: Determine whether the termination condition is met. If not, return to step 4; if satisfied, go to step 7.

[0250] Step 7: Use the weighted method to select a solution from the optimal solution set as the optimal compromise solution and output it.

[0251] Simulation Verification

[0252] This section conducts simulation experiments on the standard case MK01-MK10, using the NSGA-III algorithm, the traditional NSGA-II algorithm, and the traditional NSGA-III algorithm. The simulation is performed using Matlab 2017b on a computer with 8GB of memory and an R5 3.2GHz operating system under the Windows 10 operating system. The original processing time in the standard case is the basic processing time. The processing speed of all equipment includes three gears: v = {1.0, 1.2, 1.5}. The processing energy consumption is No-load energy consumption SE k =1.

[0253] Parameter settings have a great impact on the performance of the algorithm, including five parameters: population size N, crossover probability p c , mutation probability p m , maximum number of iterations t max , and the equal fraction H of the target vector when the reference point is generated uniformly.

[0254] Improved NSGA-III algorithm parameter settings: N = 240; p c =0.8; p m =0.1; t max= 500; H = 5. Using the traditional uniform distribution generation method, the number of reference points calculated is 252. A weighted method is used to select the optimal compromise solution from the Pareto solution set. In this weighted method, the sum of the weights of the six objective functions is 1, where the weights of f1, f2, f3, f4, f5, and f6 are 0.2, 0.3, 0.1, 0.15, 0.2, and 0.05, respectively.

[0255] Traditional NSGA-II algorithm parameter settings: N = 200, p c =0.8, p m =0.1, t max =500;

[0256] Parameter settings of the traditional NSGA-III algorithm: N = 100, p c =0.8, p m =0.1, t max = 500, H = 4. Using the traditional uniform distribution generation method, the number of reference points is calculated to be 126.

[0257] To verify the effectiveness of the improved NSGA-III algorithm, the present invention uses the improved NSGA-III algorithm to compare the results with the traditional NSGA-II algorithm and the traditional NSGA-III algorithm. All three algorithms are solved ten times, and the results are shown in Table 1 below.

[0258] Table 1 Comparison of simulation results with existing algorithms

[0259]

[0260] From the analysis of Table 1, we can see that in terms of the total system energy consumption index, the improved NSGA-III algorithm achieved the optimal value of MK01-MK10, a total of 10 calculation cases, and achieved the best average value of MK01-MK10, a total of 10 calculation cases.

[0261] In terms of the maximum completion time indicator, the improved NSGA-III algorithm achieved the optimal value of MK01-MK10, a total of 10 cases, and achieved the best average value of MK01-MK10, a total of 10 cases.

[0262] In terms of flow time index, the improved NSGA-III algorithm achieved the optimal value of MK01-MK10, a total of 10 cases, and obtained the best average value of MK01-MK10, a total of 10 cases.

[0263] In terms of total delay duration, the improved NSGA-III algorithm achieved optimal values for MK01-MK10 for a total of 10 cases, and achieved the best average value for all 10 cases. The traditional NSGA-II algorithm achieved optimal values for MK01, MK02, MK03, and MK06 for a total of four cases, and achieved a good average value for MK02 and MK06 for a total of two cases. The traditional NSGA-III algorithm achieved optimal values for MK02 and MK06 for a total of two cases, and achieved a good average value for both MK02 and MK06.

[0264] In terms of total load index, the improved NSGA-III algorithm achieved the optimal value of MK01-MK10, a total of 10 cases, and achieved the best average value of MK01-MK10, a total of 10 cases.

[0265] In terms of bottleneck machine load indicators, the improved NSGA-III algorithm achieved the optimal value of MK01-MK10, a total of 10 cases, and achieved the best average value of MK01-MK10, a total of 10 cases.

[0266] To further analyze the optimization performance of the algorithms, the IGD and HV results obtained by the four algorithms are compared and shown in Table 2. Table 2 shows that the improved NSGA-III algorithm achieves the optimal IGD values for 10 cases (MK01-MK10) and the optimal HV values for 9 cases (MK01, MK03-MK10).

[0267] In summary, the improved NSGA-III algorithm has better comprehensive performance than the traditional NSGA-II algorithm and the traditional NSGA-III algorithm in solving the multi-objective flexible job shop scheduling problem. Figures 8 to 10 The convergence diagrams of each objective and the IGD and HV curves obtained by running the standard case MK01 once for the three algorithms are shown. Figures 11 to 13 The Gantt charts for the three algorithms running the MK01 example show that, when solving the high-dimensional, multi-objective, flexible job shop scheduling problem, the six optimization metrics all show a convergence trend. Compared with the other two algorithms, the improved NSGA-III algorithm achieves better values for each optimization objective in the MK01 example. In the convergence charts of the performance evaluation metrics for the IGD and HV multi-objective evolutionary algorithms, the convergence trends of the three algorithms are relatively clear. Compared with the other two algorithms, the improved NSGA-III algorithm achieves better values.

[0268] Analysis of the experimental results shows that the improved NSGA-III algorithm achieves better results than the traditional NSGA-II and NSGA-III algorithms on ten examples MK01-MK10, including small-scale, medium-scale, and large-scale examples. Therefore, the improved NSGA-III algorithm is more suitable for solving high-dimensional multi-objective optimization algorithms than the traditional NSGA-II and NSGA-III algorithms.

[0269] Table 2 Comparison of HV and IGD obtained by improved NSGA-Ⅲ and two traditional algorithms on all cases

[0270]

Claims

1. A method for solving the shop scheduling problem based on the NSGA-III algorithm, characterized in that: Please follow the steps below to implement it: Step 1: Construct a multi-objective flexible job shop scheduling problem model: including multi-objective flexible job shop scheduling problem description and model construction; Step 2: Generate a set of evenly distributed reference points; Step 3: Use equal-length three-segment coding to encode, the three-segment coding is process code, equipment code and speed code; use random method to generate the initial population , the scale is ; Set algorithm parameters: current number of iterations , maximum number of iterations , crossover probability , mutation probability , the equal fraction of each target ; Step 4: Parent population The individuals in the population perform crossover and mutation operations based on adaptive operators to generate offspring populations ,Will and Merge to generate temporary population , the scale is ; Four efficient crossover operators and four efficient mutation operators are put into their respective adaptive strategy pools, and one of the four operators is adaptively selected according to the probability of selecting operators. The crossover method is process coding layer crossover. When the chromosome performs the process crossover operation, it only changes the processing order of the processes, and does not change the machines used for each process and the processing speed. The mutation operations include process coding layer mutation, machine coding layer mutation and speed coding layer mutation. The mutation operations of the process coding layer include swap, insertion, reversal and random rearrangement mutation. Machine coding layer mutation: randomly select a suitable machine from the machine set to update the machine code. Speed coding layer mutation: randomly select a suitable speed from the speed set to update the speed code. Step 5: Temporary population Perform approximate dominance sorting based on the reference point and sort the temporary population Divide into multiple small populations of dominance levels, and join the next generation parent population in descending order In the process of selecting the critical layer population through niche technology, , so that the second generation parent population is generated The scale is ; Step 6: Determine whether the termination condition is met. If not, return to step 4; if satisfied, go to step 7. Step 7: Use the weighted method to select a solution from the optimal solution set as the optimal compromise solution and output it.

2. The method for solving the shop scheduling problem based on the NSGA-III algorithm according to claim 1, characterized in that: The multi-objective flexible job shop scheduling problem in step 1 is described as follows: Assume that the workshop has machines, the set of machines is ,have workpieces need to be processed, and the set of workpieces is , each workpiece Include A process, The workpiece No. Process, workpiece The set of processes is ,machine The processing speed set is expressed as , At a certain moment, on a certain machine At speed Processing is expressed as , so a process is performed on a machine at a speed of The processing time is , the purpose of flexible job shop scheduling is to allocate All processes for machining workpieces Processing plan; The model assumptions are as follows: All workpieces are in a machinable state at the initial moment; The process cannot be interrupted during processing; A process is limited to being completed on the same machine; One machine can only process one process at a time; The processing order between the various processes of the same workpiece cannot be changed, and the processing order between the various processes will not affect each other; There is no hierarchy of good and bad workpieces; Idle equipment will not be shut down until the last step of all tasks is completed; The equipment pre-processing time and the workpiece loading, unloading and transportation time are not included; Equipment failure or expedited tasks are not considered; The multi-objective flexible job shop scheduling problem model in step 1 is constructed as follows: Indicates workpiece The total number of processes; Indicates workpiece completion time; Indicates the total number of artifacts; Indicates the total number of machines; Indicates the process In the machine The time when processing starts; Indicates the process In the machine The end processing time of Indicates the process At speed In the machine The processing time; similarly, and Workpiece No. process In the machine The start and end time of processing; For machines In the processing process Previous process The ending moment; Indicates the machine release time; Represents workpiece release time; Indicates workpiece delivery period; Indicates the fixed energy consumption rate per unit time of the workshop; Indicates the energy consumption rate of the machine under the corresponding processing state, and ; is a 0-1 variable. If the machine At speed exist Time processing process ,but ,otherwise ; Indicates the energy consumption rate of the machine in standby mode, and , is a 0-1 variable. If Moment, Machine In standby mode, ,otherwise ; Indicates the energy consumption rate of workpiece transfer within the workshop; Indicates the number of transfers of workpieces in the workshop; Indicates the process At speed In the machine Processing time, and The relationship between the two, if the process In the machine As the processing speed increases, the corresponding processing time will become shorter, but on the contrary, the energy consumption of the corresponding processing will increase, as follows: (1-1) All machines are kept in the on state during the processing. When there is no workpiece to be processed, the corresponding machine is in the standby state and will not be turned off until all workpieces are processed. The objective function is constructed as follows: (1-2) (1-3) (1-4) (1-5) (1-6) (1-7) (1-8) (1-9) (1-10) (1-11) (1-12) (1-13) (1-14) (1-15) (1-16) (1-17) (1-18) (1-19) Among them, formula (1-2) represents the maximum completion time; formula (1-3) represents the average process time; formula (1-4) represents the total delay time; formula (1-5) represents the total machine load; formula (1-6) represents the bottleneck machine load; formula (1-7) represents the total energy consumption of the system; formula (1-8) represents the processing sequence constraint of each workpiece; formula (1-9) represents the current process of the same workpiece The start time of the previous process End time, current processing machine starts to idle time and workpiece release time Constraint relationship; Formula (1-10) is the end time of the last process; Formula (1-11) defines that the time when the machine starts to be idle should be equal to the end time of the process on the machine; Formula (1-12) means that a process can only be processed by one machine; Formula (1-13) means that a machine can only process one process at a time; Formulas (1-14) to (1-15) are 0-1 variables; Formulas (1-16) to (1-19) are non-negative constraints.

3. The method for solving the shop scheduling problem based on the NSGA-III algorithm according to claim 2, characterized in that: The reference points in step 2 are distributed in On a dimensional hyperplane, is the dimension of the target space, assuming that each target is The number of reference points generated in step 2 is Determine by formula (2-1): (2-1) Step 2.

1. Definition For collection All elements in Combination of species; Step 2.2, Each element in ,have ,in, express Middle The first elements; Step 2.3, let represents the reference point set, then for Each element in and Each element in , satisfying formula (2-2): (2-2) is the dimension of the target space, that is, the number of targets to be optimized; express Middle The first elements; express Middle The first elements.

4. The method for solving the shop scheduling problem based on the NSGA-III algorithm according to claim 3, characterized in that: The step 4 is specifically as follows: (1) Define in advance the crossover and mutation operator strategy pools, each with crossover and mutation operators, each crossover or mutation operator has a probability interval, According to the selection operator probability , using roulette to randomly select an operator from the strategy pool ; (2) Crossover operation: using the crossover method Get two new offspring individuals and , evaluates the crossover operator by comparing parent and offspring The advantages and disadvantages of obtaining variables and ,in, Record for posterity Better than the parent the number of Record parents Better than future generations the number of offspring Joining a new population ; The same applies to mutation operations; (3) Repeat the above steps to obtain offspring individuals, the population and Synthetic temporary population , The scale is , and update the crossover and mutation Success Matrix and failure matrix In the example, the selection operator probability set is updated every five generations. ; Step 4.1, four crossover operators, four mutation operators: Four efficient crossover operators and four efficient mutation operators are put into their respective adaptive strategy pools, and the probability of selecting operators is determined by the Adaptively select one of the four operators respectively; Step 4.1.1, crossover operator: The crossover mode is process coding layer crossover. When the chromosome performs the crossover operation of the process, it only changes the processing order of the process, and does not change the machine used and processing speed of each process. 1) Crossover based on random order: The process coding layer crossover uses a random order crossover ROX. The specific steps of the random order crossover are as follows: (1) Randomly generate two integers , is the number of workpieces; (2) The parent individual Equal to The gene remains in its original position and is copied to the offspring individuals In the parent individual Equal to The gene remains unchanged in its original position and is copied to the offspring individuals middle; (3) The parent individual Medium Genes other than In the original order, the Medium Genes other than In the original order, 2) Crossover based on artifact order: The crossover at the process coding layer uses a crossover method based on the workpiece order. The crossover method based on the workpiece order is to exchange the positions of the crossover workpieces in the two parent chromosomes. The specific steps are as follows: (1) Randomly generate an integer , is the number of workpieces; (2) The parent individual Equal to The gene remains in its original position and is copied to the offspring individuals In the parent individual Equal to The gene remains unchanged in its original position and is copied to the offspring individuals middle; (3) The parent individual The remaining genes in In the process, the original order is kept unchanged, and the parent individuals are The remaining genes in In the , the original order remains unchanged; 3) Cross-cutting based on artifact prioritization: The process coding layer crossover uses a crossover method based on workpiece priority. The specific steps of crossover based on workpiece priority are as follows: (1) Assemble the workpiece Randomly split into two non-empty subsets and ; (2) The parent belong All gene positions corresponding to the copies of In; the parent belong All gene positions corresponding to the copies of middle; (3) The parent belong The remaining genes are then placed into the offspring in sequence. In; the parent belong The remaining genes are then placed into the offspring in sequence. middle; 4) Process level coding shuffle and cross: The process level code crossover uses shuffle crossover. The specific execution steps of shuffle crossover are as follows: (1) Randomly select a crossover position Point, the parent 、 Divided into two parts; (2) Yes The first half of the genes are randomly shuffled so that the two parents 、 Cross each other; Step 4.1.2, mutation operator: Mutation operations include process coding layer mutation, machine coding layer mutation, and speed coding layer mutation. The process coding layer mutation operations include swap, insertion, reversal, and random rearrangement mutation. Machine coding layer mutation: randomly selects a suitable machine from the machine set to update the machine code. Speed coding layer mutation: randomly selects a suitable speed from the speed set to update the speed code. Step 4.2, select the operator probability set SOP: First, both the crossover operator and the mutation operator are selected Operators are placed in their respective strategy pools, and the probability of each operator being initially selected is the same, that is, , the selection probabilities of the crossover operator and mutation operator are performed separately, using vector and Record the results of each generation, and The specific form is as follows: (4-1) (4-2) and The vector is updated based on the non-dominated relationship between the parent and the child, where 、 Vector The column records the first The value of an operator, , No. The operator in and The values in and Indicates that the crossover operator is as follows: Case 1: If the parent Complete domination , then each offspring is respectively Perform Pareto dominance comparison. If no child is dominated by the parent Domination, then ; Case 2: If the two parents do not dominate each other, then compare the Pareto dominance relationship between each parent and each child. If the two children are not dominated by the two parents at the same time, then , ; Case 3: If the child is not dominated by the parent, then ; The mutation operator is as follows: If the father Complete domination , then the offspring and Perform Pareto dominance comparison. If the offspring is not dominated by the parent Domination, then ,otherwise ; This improvement sets the algorithm to update the selection operator probability set every five generations. , two matrices are required: success matrix and failure matrix To store every five generations and vector, and The specific form is as follows: (4-3) in and In the Matrix The column records the first The value of an operator, , and based on and Matrix Update ; The update method is as follows: To calculate the The probability of an operator, the algorithm and Two matrices Sum the columns separately: (4-4) (4-5) in, Indicates the The operator is superimposed for five generations. value; Indicates the The operator is superimposed for five generations. Value, for the crossover operator The value is calculated as follows: (4-6) (4-7) (4-8) Set minimum value is 0.0001; yes The success rate of offspring produced by a crossover operator within five generations; Represents the selection operator probability set Middle The probability of an operator.

5. The method for solving the shop scheduling problem based on the NSGA-III algorithm according to claim 4, characterized in that: The step 5 is specifically as follows: Step 5.1: Normalize the objective function: According to formula (5-1), each dimension of the objective function is normalized: (5-1) To seek All individuals in The minimum value of the sub-objective function; for The individual sub-objective function values; for After individual standardization sub-objective function values; The hyperplane is dimensional target function direction intercept; Step 5.2: Approximate dominance ranking based on reference points: After the objective function is normalized, the individual of The target value is recorded as , using the vertical distance from the individual to the reference line, evaluate the relationship between the individual and the reference point, associate the individual to the first reference point with the smallest vertical distance, and define the reference point The number of times it is associated is the number of niches , if the individual With reference point Association, then individual In the Projection distance on the reference line and vertical distance The calculation formula is as follows: (5-2) (5-3) in As a reference point The direction vector of ; In order to make the objective function converge as quickly as possible, the distance between the individual standardized target value and the origin is Combined with the Pareto criterion, The calculation formula is as follows: (5-4) First, use the Pareto principle to accurately judge the dominance relationship between individuals. If two individuals are in a Pareto non-dominance relationship, use When using the principle of approximate dominance to judge the dominance relationship between individuals, one of the following criteria must be met: (a) If and only if for any have , and there is at least one subscript ,make If established, it is considered Dominate ; (b) When any two entities are in a Pareto non-dominated state, use Make judgments; criterion (a) uses the Pareto non-domination principle to accurately judge the dominance relationship, ensuring that non-dominated individuals are retained in the next generation population and ensuring the convergence of the algorithm. Criterion (b) stipulates the approximate dominance strategy of the two individuals. When the two individuals are in a Pareto non-dominated state, use Make approximate judgments on dominance relationships to reduce the number of individuals at each level.

Citation Information

Patent Citations

  • Method for solving workshop energy-saving scheduling problem based on improved NSGA-III algorithm

    CN113450013A

  • Scheduling system

    JP2002318889A

Cited By

  • New energy multi-station output scene generation method and system

    CN121580656A