A generalized job shop scheduling method based on improved NSGA-III
By improving the generalized job shop scheduling method of NSGA-III, constructing a mathematical model and optimizing the encoding and decoding strategy, the high-dimensional multi-objective scheduling problem under the condition of forced same-machine operation was solved, achieving efficient scheduling of the electronic product testing workshop and optimizing the scheduling indicators.
Patent Information
- Application Number
- CN202410141376.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-31
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2044-01-31
AI Technical Summary
Existing technologies lack technical solutions for high-dimensional multi-objective generalized job shop scheduling under forced same-machine operation conditions. In particular, in electronic product testing workshops, the forced same-machine operation coupling caused by cross-group combined testing of prototypes of the same type of products and the combined processing of mold components breaks the constraint that the same machine in job shop scheduling cannot process different workpieces at the same time.
A generalized job shop scheduling method based on the improved NSGA-III is adopted. A mathematical model is constructed, a mixed integer programming method is set, and an improved encoding, decoding, genetic operation and reference point selection strategy are combined to generate an efficient process and machine scheduling scheme. By optimizing the population through non-dominated sorting, high-dimensional multi-objective scheduling under the condition of forced same-machine operation is achieved.
It achieves efficient scheduling of high-dimensional multi-objective generalized job workshops under forced co-operation conditions, optimizes maximum completion time, total machine load, total delay and total energy consumption, and solves the shortcomings of existing algorithms in this field.
Smart Images

Figure CN117875669B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of production management, and particularly relates to a generalized job shop scheduling method based on improved NSGA-III. BACKGROUND
[0002] Intelligent job shop scheduling is the core decision of intelligent manufacturing production management and the basis of intelligent manufacturing system. Forced same-machine operation is a key technology for current actual requirements of the workshop and future development requirements of intelligent job shop scheduling.
[0003] Currently, some workpieces in the workshop need to be forced to operate on the same machine, such as combined machining of mold matching parts and grouping and combined detection of different groups of the same product in the electronic product detection workshop, so that some processes of each workpiece form forced same-machine operation coupling. High-dimensional multi-objective generalized job shop scheduling problems with forced same-machine operation exist widely but are rarely studied at present. As one of the classic job shop scheduling problems (JSP), job shop scheduling (JSP) widely exists in typical discrete manufacturing industries such as automobiles, electronics, and shipbuilding. Generalized job shop scheduling with forced same-machine operation also widely exists in various discrete manufacturing industries.
[0004] Taking electronic product detection as an example, the workshop designs a total process route for the same type of product prototype, and divides the prototype into different groups. Each group of prototypes completes the detection of each process according to the specified sub-route of the total process route in series, but some detection prototypes need to be combined across groups, such as vibration testing, drop impact testing, and dust testing, which need to be combined across groups. Forced same-machine operation constraints are brought about by combined machining of mold matching parts, combined detection of electronic products, and the like, which breaks the constraint that the same machine cannot process different workpieces at the same time in the job shop scheduling, forming forced same-machine operation coupling. To optimize multi-objective scheduling with forced same-machine operation considering the actual production of the workshop, there is a lack of technical solutions to solve the problem in the prior art. SUMMARY
[0005] In order to overcome one or more defects and deficiencies existing in the prior art, the purpose of the present application is to provide a generalized job shop scheduling method based on improved NSGA-III, which can efficiently schedule high-dimensional multi-objective generalized job shops under forced same-machine operation conditions.
[0006] In order to achieve the above purpose, the following technical solutions are adopted in the present application:
[0007] A generalized job shop scheduling method based on improved NSGA-III, comprising the following steps:
[0008] S1, a mathematical model of high-dimensional multi-objective generalized job shop scheduling with forced same-machine operation is constructed;
[0009] S2, determining the constraint condition of the constructed mathematical model;
[0010] S3, setting the encoding and decoding based on the improved NSGA-III for the forced same machine operation constraint, and then encoding the process and machine;
[0011] S4, initializing the population based on the hybrid selection mechanism and reference point optimization strategy fused by the improved NSGA-III;
[0012] S5, performing genetic operation under the forced same machine operation constraint based on the improved NSGA-III, performing chromosome crossover and mutation on the population to generate a new generation of population;
[0013] S6, performing non-dominated sorting on the new generation of population, and then optimizing the offspring based on the reference point optimization strategy;
[0014] S7, judging whether the optimized offspring individual meets the termination condition, i.e., whether the maximum iteration number of the population is reached, if yes, performing the next step, otherwise returning to the step of generating a new generation of population by crossover and mutation;
[0015] S8, decoding the process encoding and machine encoding according to the decoding mode based on the improved NSGA-III, and outputting the related process and machine scheduling Gantt chart.
[0016] Preferably, the mathematical model is constructed based on the mixed integer programming method according to the four objectives of maximum completion time, total machine load, total delay, and total energy consumption;
[0017] The mathematical symbols in the mathematical model include: i, h represent the workpiece serial number, i, h ∈ {1, 2, …, N}; j, g represent the process serial number, j, g ∈ {1, 2, …, N i}; k represents the machine serial number, k ∈ {1, 2, …, M}; N represents the total number of workpieces; M represents the total number of machines; N i represents the total number of processes of workpiece i; I, H represents the workpiece set serial number corresponding to the combined process; J, G represents the process set serial number corresponding to the combined process; U represents an infinite real number; O ij represents the jth process of workpiece i; O IJ represents the combined process, O IJ = {O ij ,O hg ,O pq ,...,O yz}; JS IJ represents the combined process O IJ corresponding to the workpiece set; OS IJ represents the combined process O IJ corresponding to the process set; T IJK (Tijk ) represents the operation time of the process O IJ (O ij ) represents the operation time of the machine k; T i represents the delivery time of the workpiece i; MS k represents the start-up time of the machine k; ME k represents the start-up time of the machine k; P k represents the operation power of the machine k; represents the idle power of the machine k; P g represents the fixed power of the workshop; E t represents the transfer energy consumption of the workpiece in a single process; C i represents the completion time of the workpiece i; S IJ (S ij ) represents the operation time of the process O IJ (O ij ) represents the start operation time of the process O IJ (E ij ) represents the operation time of the process O IJ (O ij ) represents the end operation time of the process O busy represents the total energy consumption of the machine operation time; E idle represents the total energy consumption of the machine idle time; E tran represents the total energy consumption of the workpiece transfer; E innate represents the inherent energy consumption of the workshop; X IJk (X ijk ) represents the operation time of the process O IJ (O ij ) represents 1 if the operation of the machine k is 1, and 0 otherwise; Y IJHG represents the operation time of the process O IJ before O HG represents 1 if the operation is 1, and 0 otherwise; Z i(j-1)k represents the immediately preceding process O ij of the process O i(j-1) represents 1 if the operation of the machine k is 1, and 0 otherwise.
[0018] Further, the steps of constructing a mathematical model based on the mixed integer programming method include:
[0019] S11, construct a target function f1 representing the minimum maximum completion time as follows:
[0020] f1=C max ={maxC i}, i∈{1, 2, …, N};
[0021] S12, construct a target function f2 representing the minimum machine total load ML as follows:
[0022]
[0023] S13, a target function f3 representing the minimized total delay TD is constructed as follows:
[0024]
[0025] S14, a target function f4 representing the minimized total energy consumption TE is constructed, since the total energy consumption TE is mainly composed of the total energy consumption E busy of the machine in the working state, the total energy consumption E idle of the machine in the idle state, the total energy consumption E tran of the workpiece transfer, and the total energy consumption E innate inherent to the workshop, the target function f4 of the minimized total energy consumption TE is as follows:
[0026] f4 = TE = min (E busy + E idle + E tran + E innate ),
[0027] E busy is the total energy consumption of all machines for working on the workpiece, which is calculated as follows:
[0028]
[0029] E idle is the total energy consumption of all machines in the standby state, i.e. the idle running, which is calculated as follows:
[0030]
[0031] E tran is the total energy consumption of the workpiece transfer, which is calculated as follows:
[0032]
[0033] E innate is the total energy consumption of the workshop public, which is calculated as follows:
[0034] E innate = PgC max .
[0035] Further, the constraint conditions of the mathematical model are as follows:
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043] wherein, formula (1) ensures that the process operation process is not interrupted, formula (2) ensures that the completion time of any workpiece does not exceed the maximum completion time, formula (3) ensures that the current process start operation time is not less than the end operation time of the immediately preceding process (or immediately preceding process set) of the process, formula (4) ensures that the start operation time of any process is not greater than the end operation time, formula (5) ensures that any process is only operated once on the machine, formula (6) ensures that the start operation time of any process is non-negative, and the operation and end operation time is greater than 0, and formula (7) ensures that a machine can only have one process operating at the same time.
[0044] Further, the improved NSGA-III coding method is:
[0045] The coding is composed of two layers of integer sequences, the upper layer is a process coding sequence OPlan, and the lower layer is a corresponding machine coding sequence MPlan, the machine set is {1,2,...,M}, and each gene of the process coding is represented by the corresponding process O ij of the workpiece, the subscript of the process O ij is the workpiece i∈{1,2,...,N} and its occurrence frequency j∈{1,2,...,N i}, and the gene arrangement of a process coding represents a chromosome in the improved NSGA-III, and the combined process number forced to operate on the same machine is represented by N+f, f≤c, f represents the frequency of the combined process in the process coding, and c represents the total number of combined processes.
[0046] Further, the improved NSGA-III decoding method adopts an insertion type greedy decoding under the constraint of forced same machine operation, including the following steps:
[0047] S31, set the immediately preceding process end time matrix MP of all machines MP={MP[1],MP[2],...,MP[M]} and the immediately preceding process end time matrix JP of all workpieces JP={JP[1],JP[2],...,JP[N]}, then initialize all elements in MP and JP to 0, and set the start time of the first process as t=1;
[0048] S32, obtain the workpiece number corresponding to the process coding sequence OPlan[t], 1≤t≤ON, determine the process O IJ corresponding to the workpiece, and obtain each process O IJcorresponding machine number k, and obtain the process O IJ the job time T on the machine number k IJk Then calculate the maximum value A of the end job time of the process O ij preceding the process O IJ = max {E i(j-1)}, O ij ∈ O IJ ;
[0049] S33, check the idle time interval [t_s, t_e] of the machine k where the process O IJ is located, t_s is the lower limit of the interval, and t_e is the upper limit of the interval;
[0050] If max(as IJ , t_s) + T IJk ≤ i_e, O ij ∈ O IJ , then S IJ = max(as IJ , t_s), E IJ = S IJ + T IJk , at this time, if (S IJ = t_s) ∧ (E IJ = t_e), delete the interval [t_s, t_e], if (S IJ = t_s) ∧ (E IJ < t_e), update [t_s, t_e] = [E IJ , t_e], if (t_s < S IJ ) ∧ (E IJ = t_e), update [t_s, t_e] = [t_s, S IJ ], if (t_s < S IJ ) ∧ (E IJ < t_e), update [t_s, t_e] = [t_s, S IJ ] and insert new [t_s', t_e'] = [E IJ , t_e], JP[i] = E IJ , i ∈ I;
[0051] If max(as IJ , t_s) + T IJk ≤ i_e, O ij ∈ O IJ , then E IJ = S IJ + T IJk , at this time, if as IJMP'[k], then add a idle time interval [i_s, i_e] = [MP[k], as IJ MP[k] = E IJ JP[i] = E IJ , i e I.
[0052] S34, execute t = t + 1, if t < ON, return to execute step S32, otherwise end the decoding step.
[0053] Further, the process of population initialization includes:
[0054] S41, initialize individuals to generate an initial population;
[0055] S42, screen the population by fusing the hybrid selection mechanism and the reference point optimization strategy.
[0056] Further, the process of generating an initial population includes:
[0057] S411, generate new and empty process coding sequence OPlan, machine coding sequence MPlan, and job time sequence TPlan, respectively;
[0058] S412, if the length of process coding sequence OPlan is equal to , execute step S415, otherwise select all processes O ij that are irrelevant to the forced same-machine job processes and insert i into any position of process coding sequence OPlan;
[0059] S413, if the combined process O IJ that is forced to be the same machine has no predecessor combined process, then insert the corresponding code N + f, f ≤ c, of the combined process into process coding sequence OPlan, otherwise, insert the corresponding codes N + 1, N + 2,..., N + c of the combined process O IJ in order, with the code of the predecessor combined process in front and the code of the combined process O IJ in the back, into any feasible position of process coding sequence OPlan;
[0060] S414, judge whether the combined process O IJ in current process coding sequence OPlan has a predecessor combined process or not, i e I.
[0061] When the workpiece i has no predecessor combined process, the position L c of the combined process O IJ in process coding sequence OPlan is found at this time.
[0062] If the combined process O pq = {O yz(where p and y represent the corresponding workpiece numbers, and q and z represent the corresponding process numbers), then randomly insert q - 1 p's and z - 1 y's into the process coding sequence OPlan at the position before L c ; insert N p - q + 1 p's, N y - z + 1 y's randomly into the process coding sequence OPlan at the position after L c ; for the combined process O IJ = {O ij , O hg , O pq ,..., O yz}, insert each process in the combined process O IJ into the process coding sequence OPlan in the same way as described above according to the corresponding workpiece numbers;
[0063] If there is a predecessor combined process for a workpiece in the combined process O IJ , directly find the predecessor combined process O IJ of the combined process O I′J′ ; for the predecessor combined process O I′J′ = {O ij , O hg}, combined process O IJ = {O iq , O yz} and j < q, there is a predecessor combined process O I′J′ , combined process O IJ at their respective positions L c1 , L c2 in the process coding sequence OPlan and L c1 < L c2 , at this time, randomly insert j - 1 i's, g - 1 h's, and z - 1 y's into the process coding sequence OPlan at the positions before L c1 , L c2 ; randomly insert q - j - 1 i's into the process coding sequence OPlan at the positions between L c1 , L c2 ; insert N h - g + 1 h's, N i - q + 1 i's, N y - z + 1 y's randomly into the process coding sequence OPlan at the positions after L c1 , L c2 ; for the combined process O IJ = {O ij , O hg , O pq ,..., O yz}, insert each combined process OIJ Each process is inserted into the process code sequence OPlan in the same way as the aforementioned in this paragraph according to the corresponding workpiece number;
[0064] S415, for the combined process O in the process code sequence OPlan IJ Determine its corresponding optional machine set, the process is: set a random number r = Rand(0, 1), if r < 0.05, select the optional machine set to make the current load minimum machine, if r < 0.1, select the optional machine set to make the minimum machine, otherwise randomly select from the optional machine set, then form the machine code sequence MPlan, and determine the process operation time to generate the operation time sequence TPlan.
[0065] Further, the process of screening the population includes:
[0066] S421, using three strategies of global selection (GS), local selection (LS) and random selection (RS), generate a population consisting of 2xPS individuals, set the set for storing Pareto front individuals as Where PS represents the population size;
[0067] S422, according to the insertion type greedy decoding mode set in step S3, obtain a feasible scheduling scheme and calculate the values of the individuals corresponding to the four objective functions f1, f2, f3, f4 in step S1, sort the population according to the values of the four objective functions and divide the individuals into levels, output the Pareto front set (F1, F2, F3,...F l ) of each level, where F represents the Pareto front individual, and F subscript represents the first Pareto front individual, store the (F1, F2,...,F l ) set of low levels in R in turn until |R|≥PS, if |R|=PS, output R, then end the screening of the initial population, otherwise set R = F1∪F2,...,∪F l-1 Then execute the next step S423;
[0068] S423, create reference points: define reference points z = (z1, z2, z3, z4) on a four-dimensional hyperplane, construct a three-dimensional combination of X, X ∈ {0 / H, 1 / H,...,(H+2) / H}, H is the number of segments on each objective, the number of reference points in the reference point set Z on the four-dimensional hyperplane is the number of combinations For each coordinate value x ij ∈X, let x ij = x ij -(j-1) / H, for each coordinate value z ij ∈Z, x ij∈ X, get the coordinate value of each reference point z in four target directions (C max , ML, TD, TE): z i1 = x i1 - 0, z i2 = x i2 - x i1 , z i3 = x i3 - x i2 , z i4 = 1 - x i3 ;
[0069] S424, adaptive standardization to eliminate the influence of different dimensions of each target: determine the intercept of the hyperplane on the four target coordinate system, and the corresponding standardization is the value of the individual in the population corresponding to the four objective functions f1, f2, f3, f4 divided by the intercept of the hyperplane on the four target coordinate system, calculated as follows:
[0070]
[0071] Where a represents the intercept;
[0072] S425, create a mapping relationship between population individuals and reference points: construct the ray between each reference point and the origin , and solve the cosine distance between each individual and each reference point ray of the four standardized objective functions, obtain the reference point π(r) (r ∈ R) with the minimum distance of each individual in the population, and calculate the distance d(r) (r ∈ R) between the individual and the reference point π(r);
[0073] S426, use the niche preservation operation to select individuals from the population: set k = 1; select the reference point set J that appears less frequently in the front of the low-level Pareto front set (F1, F2,..., F l ) from the reference point set Z, randomly select a reference point j' from the reference point set J, get the individual set Ind l = {r: π(r) = j', r ∈ F j′} closest to the reference point j' in the low-level Pareto front F l ; if and the reference point j' appears 0 times as a reference point in the front of the low-level Pareto front set (F1, F2,..., F l ), select the individual ind with the minimum d(r ∈ R j′ ) from Ind t , R t = R t ∪ind, when the reference point j' is in the low-level Pareto front set (F1, F2,..., Fl If the frequency of occurrence of the reference point in the front of the Pareto set of the objective function is not 0, then Ind j′ R t = R t ∪ind, and then set k=k+1, Z=Z / j', and then return to execute the step of obtaining the individual set Ind j′ ={r:π(r)=j',r∈F l} to enter the next individual selection until the individual selection of the population is completed; if then set Z=Z / j', k=k+1, and then return to execute the step of obtaining the individual set Ind j′ ={r:π(r)=j',r∈F l} to enter the next individual selection until the individual selection of the population is completed.
[0074] Further, the process of improving the chromosome crossover and mutation of NSGA-III includes:
[0075] S51, cross the process code: first construct the workpiece set J1 of the combined process and the corresponding workpiece set J2 of the non-combined process; copy the workpiece contained in J1 of the parent P1 to the child C1 and the workpiece contained in J2 of the parent P2 to the child C2, and keep the position of the workpiece; copy the workpiece contained in J2 of the parent P2 to the child C1 and the workpiece contained in J1 of the parent P1 to the child C2, and keep the order of the workpiece;
[0076] S52, cross the machine code: only change the working machine used by the process, select all processes into the set B at a set crossover rate, find the working machine corresponding to the same process in the set B in P1 and P2, and then exchange the working machine of the corresponding process in the set B in P1 and P2 to generate the child C1' and C2';
[0077] S53, mutate the crossed process code: the selected working machine of the process does not change during mutation, first divide P into c+1 segments with the combined process as the segmentation point, find the segment number c' of the gene length of the process code that is greater than or equal to 2, calculate r=Rand(c'), then select the rth segment of the process code with a gene length greater than or equal to 2 for mutation, randomly select two position points in the rth segment, exchange the processes O ij and O i′j′ in the two positions, obtain all process sets O i and O i′ of the workpieces i and i' in the rth segment in P respectively, determine the machine sets M i and M i′ corresponding to O i and O i′ in P, and exchange the machine sets M i and Mi′ The machines in the process are sequentially assigned to the corresponding processes of workpieces i and i′ in the r-th segment, generating child C;
[0078] S54. Mutate the machine code after crossover: Randomly select a position on the chromosome after crossover, and randomly select another machine from the available machine set that is different from the current one.
[0079] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0080] This invention addresses the problem that existing algorithms cannot be directly applied to solving the high-dimensional multi-objective generalized job shop scheduling problem with forced co-operation, and realizes the function of efficient scheduling of high-dimensional multi-objective generalized job shops under forced co-operation conditions. Attached Figure Description
[0081] Figure 1 This is a flowchart illustrating the generalized job shop scheduling method based on the improved NSGA-III of this invention.
[0082] Figure 2 Here is an example diagram of an improved NSGA-III encoding;
[0083] Figure 3 Example diagram of a cross-operation process coded for a single operation;
[0084] Figure 4 for Figure 3 Example diagrams of the coding before and after the intermediate process variation;
[0085] Figure 5 for Figure 1 The final output scheduling Gantt chart for one use case. Detailed Implementation
[0086] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0087] It should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing the disclosure of this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limiting the disclosure of this invention.
[0088] Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Similarly, words such as "a," "one," or "the" do not indicate a quantity limitation but rather that at least one exists. Words such as "including" or "comprising" mean that the element or object preceding the word encompasses the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Words such as "electrically connected" or "connected" are not limited to physical or mechanical electrical connections but can include electrical connections, whether direct or indirect.
[0089] Example
[0090] like Figure 1 As shown. This embodiment provides a generalized job shop scheduling method based on the improved NSGA-III, including the following steps:
[0091] S1. Construct a mathematical model for high-dimensional multi-objective generalized job shop scheduling with mandatory same-machine operations;
[0092] The mathematical model is constructed based on four objectives: maximum completion time, total machine load, total delay, and total energy consumption.
[0093] The high-dimensional multi-objective generalized job shop scheduling problem with forced co-operation is described as follows: Given N jobs {1,2,...,N} operating on M machines {1,2,...,M}, each job contains multiple operations, each operation has several machines to choose from, and the operation time of each job operation depends on the selected machine. The goal is to ensure that at least one machine allows multiple operations of different types of jobs to form combined operations and be completed in parallel on that machine. Solving this problem involves determining the order of operations for all jobs, the machines used, and the operation time, while satisfying constraints such as machine availability, operation sequence, and forced co-operation, to optimize four scheduling indicators: maximum completion time, total machine load, total delay, and total energy consumption, and to reduce conflicts between these four objectives.
[0094] The high-dimensional multi-objective generalized job shop scheduling problem with mandatory co-operation needs to satisfy the following conditions:
[0095] 1. All machines are available at zero time, all workpieces can be operated on at zero time, and different workpieces have the same priority;
[0096] 2. The operation sequence of the same workpiece is determined according to the process route, and only one operation can be processed on a workpiece at a time;
[0097] 3. A single machine can only process one or a combination of processes at a time;
[0098] 4. The time for auxiliary operations such as clamping, disassembly, tool changing, and handling should be considered within the quota of process time;
[0099] 5. The process or combination of processes begins on the selected machine, taking into account only whether the current machine is available and whether the preceding process of the process or combination of processes is completed. All materials and auxiliary tools are prepared before the machine is started.
[0100] 6. Ensure continuous machine operation during the operation of the process or combination of processes, and ensure that the process or combination of processes is not interrupted during the operation;
[0101] The meanings of the mathematical symbols used in the mathematical model are shown in the table below:
[0102] Table 1 Meaning of Mathematical Symbols
[0103]
[0104]
[0105] The steps involved in constructing a mathematical model based on mixed integer programming include:
[0106] S11, Construct a representation that minimizes the maximum completion time C. max The objective function f1 is shown in the following equation:
[0107] f1 = C max ={maxC i}, i∈{1,2,…,N};
[0108] S12. Construct the objective function f2 representing the minimization of the total machine load ML as shown in the following equation:
[0109]
[0110] S13. Construct the objective function f3, which represents minimizing the total delay TD, as shown in the following equation:
[0111]
[0112] S14. Construct the objective function f4 to represent minimizing the total energy consumption TE, since the total energy consumption TE is mainly determined by the total energy consumption E of the machine's operating state. busy Total energy consumption under no-load conditions E idle Total energy consumption for workpiece transfer E tran and inherent energy consumption of the workshop E innate The objective function f4, which consists of four parts and minimizes the total energy consumption TE, is shown in the following equation:
[0113] f4 = TE = min(E busy +E idle +E tran +E innate ),
[0114] E busy Total energy consumed by all machines for working on the workpiece is calculated as follows:
[0115]
[0116] E idle Total energy consumed by all machines in standby state i.e. idle running is calculated as follows:
[0117]
[0118] E tran Total energy consumed for transferring the workpiece is calculated as follows:
[0119]
[0120] E innate Total energy consumed for common utilities in the workshop is calculated as follows:
[0121] E innate = PgC max ;
[0122] S2, determining the constraints of the mathematical model constructed in step S1;
[0123] The constraints of the mathematical model are as follows:
[0124]
[0125]
[0126]
[0127]
[0128]
[0129]
[0130]
[0131] Wherein, formula (1) ensures that the process operation process is not interrupted, formula (2) ensures that the completion time of any workpiece does not exceed the maximum completion time, formula (3) ensures that the current process starting operation time is not less than the end operation time of the immediately preceding process (or immediately preceding process set) of the process, formula (4) ensures that the starting operation time of any process is not greater than the end operation time, formula (5) ensures that any process is only operated once on the machine, formula (6) ensures that the starting operation time of any process is non-negative, and the operation and end operation time is greater than 0, and formula (7) ensures that a machine can only have one process operating at the same time;
[0132] S3, set the encoding and decoding based on improved NSGA-III for forced same machine operation constraint, and then encode the process and machine; the improved NSGA-III is a genetic algorithm, and the encoding and decoding mode of the original NSGA-III genetic algorithm is not completely the same;
[0133] The improved NSGA-III encoding mode is: considering that the process sequencing and machine selection problems need to be solved, therefore, the encoding is set to consist of two layers of integer sequences, the upper layer is to represent the process encoding sequence (denoted as OPlan), and the lower layer is to represent the corresponding machine encoding sequence (denoted as MPlan, the machine set is {1, 2, …, M}), the process encoding in the improved NSGA-III is represented by the corresponding process O ij of the workpiece, the subscript of the process O ij is the workpiece i∈{1,2,…,N} and its appearance frequency j∈{1,2,…,N i}, the gene row of a process encoding represents a chromosome in the improved NSGA-III, the combined process number of forced same machine operation is represented by N+f, f≤c, f represents the frequency of the combined process in the process encoding, and c represents the total number of combined processes; combined with the encoding mode shown in the example of Figure 2 , Figure 2 In the example, workpieces 1-6 involve processes 1-10, but there are only 8 genes in the corresponding encoding because O 12 and O 22 are combined processes, O 32 and O 42 are combined processes, so they are numbered as 7 and 8 respectively;
[0134] The improved NSGA-III decoding mode adopts the insertion type greedy decoding under the forced same machine operation constraint, including the following steps:
[0135] S31, set the matrix MP={MP[1], MP[2], …, MP[M]} of the end time of the immediately preceding process of all machines, the matrix JP={JP[1], JP[2], …, JP[N]} of the end time of the immediately preceding process of all workpieces, and then initialize all elements in MP and JP to 0, and set the time of starting the first process as t=1;
[0136] S32, obtain the workpiece number corresponding to the process code sequence OPlan[t], 1≤t≤ON, determine the process O corresponding to the workpiece IJ , obtain the machine sequence number k corresponding to each process O IJ in the machine code sequence MPlan, and obtain the working time T IJ on the machine sequence number k on the process O IJk , and then calculate the maximum value A ij of the end working time of the immediately preceding process of the process O IJ = max{E i(j-1)}, O ij ∈O IJ ;
[0137] S33, check the idle time interval [t_s, t_e] of the machine k where the process O IJ is located, t_s is the lower limit of the interval, and t_e is the upper limit of the interval;
[0138] If max(as IJ ,t_s)+T IJk ≤i_e,O ij ∈O IJ , then S IJ =max(as IJ ,t_s) and E IJ =S IJ +T IJk , at this time, if (S IJ =t_s)∧(E IJ =t_e), delete the interval [t_s, t_e], if (S IJ =t_s)∧(E IJ <t_e), update [t_s, t_e]=[E IJ ,t_e], if (t_s<S IJ )∧(E IJ =t_e), update [t_s, t_e]=[t_s, S IJ ], if (t_s<S IJ )∧(E IJ <t_e), update [t_s, t_e]=[t_s, S IJ ] and insert the new [t_s', t_e']=[E IJt_e], JP[i] = E IJ , i e I.
[0139] If max(as IJ , t_s) + T IJk < i_e, O ij < i e I, then IJ E IJ = S IJ + T IJk , if as IJ > MP'[k], then add a new idle time interval [i_s, i_e] = [MP[k], as IJ ] on machine k, MP[k] = E IJ , JP[i] = E IJ , i e I.
[0140] S34, execute t = t + 1, if t < ON, return to execute step S32, otherwise end the decoding step.
[0141] S4, initialize the population based on the hybrid selection mechanism and the reference point optimization strategy fused by the improved NSGA-III; the hybrid selection mechanism and the reference point optimization strategy fused by the improved NSGA-III are used to improve the uniformity of population distribution on the Pareto front and the individual diversity at the same time, and three strategies of global selection (GS), local selection (LS) and random selection (RS) are used to generate the initial population in machine coding hybrid, which is not completely the same as the initialization method of the original NSGA-III genetic algorithm.
[0142] The process of population initialization includes:
[0143] S41, initialize individuals to generate an initial population, and the process includes:
[0144] S411, generate new and empty set of process coding sequence OPlan, machine coding sequence MPlan and operation time sequence TPlan respectively.
[0145] S412, if the length of process coding sequence OPlan is equal to , execute step S415, otherwise select all processes O ij that are irrelevant to the forced same-machine operation process, insert i into any position of process coding sequence OPlan.
[0146] S413, if the combined process O IJ that is forced to operate on the same machine has no predecessor combined process, insert the corresponding code N+f, f≤c of the combined process into process coding sequence OPlan at random, otherwise insert the code of combined process O IJ The encoding corresponding to the predecessor combination process is in the front, and the combination process O IJ Insert the corresponding encodings N+1, N+2,..., N+c into any feasible position in the process encoding sequence OPlan in the order where the encoding corresponding to the combination process O is in the back;
[0147] S414. Sequentially determine whether there is a predecessor combination process for the combination process O IJ , i∈I in the current process encoding sequence OPlan;
[0148] When workpiece i has no predecessor combination process, at this time, find the position L of the combination process O IJ in the process encoding sequence OPlan c ;
[0149] If the combination process O IJ ={O pq , O yz}(p, y represent the corresponding workpiece numbers, q, z represent the corresponding process numbers), then randomly insert q-1 p's and z-1 y's into the position before the position L in the process encoding sequence OPlan, and insert N c -q+1 p's and N p -z+1 y's randomly into the position after the position L in the process encoding sequence OPlan. For the combination process O y with multiple workpieces ={O c , O IJ , O ij , O hg , O pq ,..., O yz}, sequentially insert each process in the combination process O IJ into the process encoding sequence OPlan in the same way as described above according to the corresponding workpiece numbers;
[0150] If there is a workpiece in the combination process O IJ that has a predecessor combination process, directly find the predecessor combination process O IJ of the combination process O I′J′ . For the predecessor combination process O I′J′ ={O ij , O hg}, the combination process O IJ ={O<, L c1 , L c2 , L c1 , L c2 , L h , L i , L y , L c1 , L c2 , L IJ , L ij , L hg , L pq , L yz , L IJ , L IJ , L l
[0151] S415, for the combination process O IJ in the process coding sequence OPlan, determine its corresponding optional machine set, the process is: set a random number r = Rand(0, 1), if r < 0.05, select the machine in the optional machine set that makes the current load minimum, if r < 0.1, select the machine in the optional machine set that has the minimum job time, otherwise randomly select from the optional machine set, then form the machine coding sequence MPlan, and determine the job time of each process to generate the job time sequence TPlan;
[0152] S42, screen the population by fusing hybrid selection mechanism and reference point optimization strategy, the process includes:
[0153] S421, use three strategies of global selection (GS), local selection (LS) and random selection (RS) to generate a population consisting of 2xPS individuals, set the set for storing Pareto front individuals as Where PS represents the population size;
[0154] S422, according to the insertion type greedy decoding method set in step S3, obtain a feasible scheduling scheme and calculate the values of the four objective functions f1, f2, f3, f4 corresponding to the individual in step S1, sort the population according to the values of the four objective functions and divide the individuals into different levels, output the Pareto front set (F1, F2, F3,...F l), where F represents the individual of Pareto front, F subscript represents the individual of the first Pareto front, and the lower ranked (F1, F2,..., F l ) is sequentially stored in R until |R|≥PS, if |R|=PS, R is output, and then the screening of the initial population is ended, otherwise, set R=F1∪F2,...,∪F l-1 , and then the next step S423 is executed;
[0155] S423, creating a reference point: defining a reference point z=(z1, z2, z3, z4) on a four-dimensional hyperplane, constructing a combination of three-dimensional X, X∈{0 / H, 1 / H,...,(H+2) / H}, and H is the number of segments on each target, and the embodiment is preferably set to 5, and the number of reference point set Z on the four-dimensional hyperplane containing the reference point z is ( for the number of combinations), for each coordinate value x ij ∈X, let x ij =x ij -(j-1) / H and H=5, for each coordinate value z ij ∈Z, x ij ∈X, the coordinate value of each reference point z in the four objective function direction (C max , ML, TD, TE) is obtained: z i1 =x i1 -0, z i2 =x i2 -x i1 , z i3 =x i3 -x i2 , z i4 =1-x i3 ;
[0156] S424, adaptive standardization is performed to reduce the influence of different dimensions of each target: the intercept of the hyperplane on the four target coordinate system is determined, and the corresponding standardization is the value of the individual in the population corresponding to the four objective functions f1, f2, f3, f4 divided by the intercept of the hyperplane on the four target coordinate system, which is calculated as follows:
[0157]
[0158] wherein a represents the intercept;
[0159] S425, creating a mapping relationship between the population individual and the reference point: constructing each reference point and the origin For each individual, the cosine distance between the rays between the individual and each reference point is calculated using the four standardized objective functions. This yields the reference point π(r), (r∈R) with the smallest distance between each individual in the population, and the distance d(r), (r∈R) between the individual and the reference point π(r) is calculated.
[0160] S426. Using the niche conservation operation, select the best individuals from the population: Set k=1; sift through the low-level Pareto front set (F1, F2, ..., F) in the reference point set Z. l From the set of reference points J that appear less frequently in the Pareto front, a reference point j′ is randomly selected from the set of reference points J to obtain the low-level Pareto front F. l The set of individuals Ind closest to the reference point j′ j′ ={r:π(r)=j′,r∈F l};like And the reference point j′ lies in the low-level Pareto front set (F1, F2, ..., F l If the frequency of a reference point appearing in the frontier of ) is 0, then from Ind j′ Choose d(r∈R) t The smallest individual ind, R t =R t ∪ind, when the reference point j′ is in the lower-order Pareto front set (F1,F2,...,F... l If the frequency of a reference point appearing in the frontier of ) is not 0, then from Ind j′ Select any individual ind, R t =R t ∪ind, then set k = k + 1, Z = Z / j′, and then return to retrieve the individual set Ind. j′ ={r:π(r)=j′,r∈F l The process of selecting individuals continues until the selection of individuals for the entire population is completed; if... Then set Z = Z / j′, k = k + 1, and then return to retrieve the individual set Ind. j′ ={r:π(r)=j′,r∈F l The process of selecting individuals proceeds to the next individual selection step, until the individual selection of the population is completed.
[0161] S5. Under the constraint of forced same-machine operation, genetic operations are performed based on the improved NSGA-III to perform chromosome crossover mutation on the population and generate a new generation of population; the chromosome crossover mutation operation of the improved NSGA-III is not exactly the same as the chromosome crossover mutation of the original NSGA-III genetic algorithm.
[0162] Combination Figure 3 ,Figure 4 An example of chromosomal crossover variation is shown. The chromosomal crossover variation process based on the improved NSGA-III includes:
[0163] S51. Crossing the process codes: Considering the mandatory same-machine operation constraint, the original IPOX crossover cannot meet the process code crossover operation of high-dimensional multi-objective generalized job shop scheduling with mandatory same-machine operation. Therefore, IPOX is extended to ensure that all individuals generated by the iterative update population meet the mandatory same-machine operation constraint requirements.
[0164] The steps are as follows: First, construct the workpiece set J1 with combined operations and the corresponding workpiece set J2 without combined operations; copy the workpieces contained in J1 by parent P1 to child C1, and the workpieces contained in J2 by parent P2 to child C2, while preserving the position of the workpieces; copy the workpieces contained in J2 by parent P2 to child C1, and the workpieces contained in J1 by parent P1 to child C2, while preserving the order of the workpieces.
[0165] S52. Cross-code the machine codes: To increase population diversity, only change the machines used in the process. Select all processes into set B with a set cross-code rate. Find the machines corresponding to the same process in set B in P1 and P2. Then, swap the machines of the corresponding processes in set B to generate offspring C1' and C2'.
[0166] S53. Mutate the crossover process codes: During mutation, the selected machine for each process remains unchanged. First, divide P into c+1 segments using the combined process as the dividing point. Find the number of segments c′ with a gene length greater than or equal to 2 in the process code, and calculate r = Rand(c′). Then, select the r-th segment with a gene length greater than or equal to 2 in the process code for mutation. Randomly select two positions in the r-th segment and mutate the processes O at those two positions. ij O i′k′ Interchange, and obtain all process sets O of workpieces i and i′ in segment r in P respectively. i O i′ Determine O i O i′ The corresponding machine set M in P i M i′ Machine set M i M i′ The machines in the process are sequentially assigned to the corresponding processes of workpieces i and i′ in the r-th segment, generating child C;
[0167] S54. Mutate the machine code after crossover: Randomly select a position on the chromosome after crossover, and randomly select another machine from the available machine set that is different from the current one;
[0168] After the aforementioned crossover and mutation operations, a new generation of population is generated;
[0169] S6, non-dominated sorting is performed on the new generation, and the offspring is selected based on the reference point selection strategy; in this embodiment, the non-dominated sorting and the reference point selection strategy of step S6 are performed in sequence, and the same operations as steps S422, S423, S424, S425 and S426 are performed;
[0170] S7, it is judged whether the offspring individual selected in step S6 meets the termination condition, i.e., whether the maximum iteration number of the population is reached, if yes, step S8 is performed, otherwise, steps S5 and S6 are performed in sequence and the step S7 is returned;
[0171] S8, after the maximum iteration number of the population is reached, the process code and the machine code are decoded according to the decoding mode of step S3, and the multi-objective optimization result is output, the related process and machine scheduling Gantt chart is given, and the scheduling optimization of the generalized job shop is completed.
[0172] As one of the use scenarios of this embodiment, the following case is taken as an example: in an electronic product detection workshop, three types of products, unmanned aerial vehicles, vehicle navigation devices and mobile phones, are taken as examples, wherein the corresponding to-be-tested prototypes of unmanned aerial vehicles, vehicle navigation devices and mobile phones are divided into 4, 7 and 7 groups (each group is regarded as a workpiece), and corresponding process routes are designed for each workpiece. The specific process routes and product detection information are shown in Table 2:
[0173] Table 2: Detection process information corresponding to each product grouping workpiece
[0174]
[0175]
[0176] Among them, the forced same-machine operation process of the unmanned aerial vehicle is the alternating salt spray test of workpieces 1 and 2, and the forced same-machine operation processes of the vehicle navigation device and the mobile phone are the drop impact test of workpieces 1 and 2 after grouping and the dust test of workpieces 3 and 4. In the electronic product detection workshop, the workshop fixed power is 43kW, and the power information of the machine is shown in Table 3:
[0177] Table 3: Power information of the machine
[0178]
[0179]
[0180] The final scheduling Gantt chart obtained for this use scenario is shown in Figure 5 .
[0181] In a preferred mode of the embodiment, all method corresponding steps are realized by programming with Matlab R2018b software, and are run on a computer configured as a 64-bit Windows 10 operating system, an Intel(R) Core(TM) i5-7300HQ CPU@2.50GHz processor and a 12G machine RAM, and the population size PS and the maximum iteration number IterMax of the improved NSGA-III are respectively set to 100 and 80, and the crossover rate and the mutation rate of the improved NSGA-III are respectively set to 0.8 and 0.2.
[0182] Compared with the prior art, the embodiment has the beneficial effects that:
[0183] The algorithm in the prior art cannot be directly applied to solve the high-dimensional multi-objective generalized job shop scheduling problem with forced same-machine operation, and the function of efficiently scheduling the high-dimensional multi-objective generalized job shop under the condition of forced same-machine operation is realized.
[0184] The above embodiment is a preferred embodiment of the present application, but the embodiments of the present application are not limited by the above embodiment, and any change, modification, substitution, combination, simplification made without departing from the spirit and principle of the present application should be an equivalent replacement mode, and all are included in the protection scope of the present application.
Claims
1. A generalized job shop scheduling method based on an improved NSGA-III, characterized in that, The steps include the following: S1. Construct a high-dimensional multi-objective generalized job shop scheduling mathematical model with mandatory co-operation; the mathematical model is constructed based on four objectives: maximum completion time, total machine load, total delay, and total energy consumption, and is based on mixed integer programming. The mathematical symbols in the mathematical model are defined as follows: i, h represent workpiece numbers, i, h ∈ {1, 2, ..., N}; j, g represent process numbers, j, g ∈ {1, 2, ..., N}. i }; k represents the machine number, k∈{1,2,…,M}; N represents the total number of workpieces; M represents the total number of machines; H i Represents the total number of operations for workpiece i; I, H represent the workpiece set indices corresponding to the combined operations; J, G represent the operation set indices corresponding to the combined operations; U represents an infinite real number; O ij O represents the j-th process of workpiece i; IJ Indicates a combination process, O IJ ={O ij O hg O pq ,...,O yz }; JS IJ Indicates the combination process O IJ Corresponding workpiece set; OS IJ Indicates the combination process O IJ Corresponding process set; T IJk Indicates the combination process O IJ The operation time on machine k; T ijk Indicates process O ij The operation time on machine k; T i Indicates the delivery time of workpiece i; MS k This indicates the boot time of machine k; ME k P represents the boot time of machine k; k This represents the operating power of machine k; P represents the no-load power of machine k; g E represents the fixed power of the workshop. t Indicates the energy consumption transferred in a single process of a workpiece; C i S represents the completion time of workpiece i; IJ Indicates the combination process O IJ Start time of the operation; S ij It is process O ij Start time of work; E IJ Indicates the combination process O IJ End time of the task; E ij Indicates process O ij End time of the task; E busy E represents the total energy consumption during machine operation time. idle E represents the total energy consumption during the machine's idle time. tran E represents the total energy consumption for transferring the workpiece; innate Indicates the inherent energy consumption of the workshop; X IJk Indicates the combination process O IJ A value of 1 indicates operation on machine k, and 0 indicates operation elsewhere; X ijk Indicates process O ij A value of 1 indicates operation on machine k, and 0 indicates operation elsewhere; Y IJHG Indicates the combination process O IJ Prior to O HG The value is 1 for assignments and 0 otherwise; Z i(j-1)k Indicates process O ij The immediate preceding process O i(j-1) A value of 1 indicates a job performed on machine k, and a value of 0 indicates a job performed elsewhere. The steps of constructing the mathematical model based on the mixed integer programming method include: S11. Construct the objective function f1 representing the minimization of the maximum completion time as shown in the following equation: f1=C max ={maxC i },i∈{1,2,…,N}; S12. Construct the objective function f2 representing the minimization of the total machine load ML as shown in the following equation: S13. Construct the objective function f3, which represents minimizing the total delay TD, as shown in the following equation: S14. Construct the objective function f4 to represent minimizing the total energy consumption TE, since the total energy consumption TE is mainly composed of the total energy consumption E during machine operation time. busy Total energy consumption during machine idle time E idle Total energy consumption for workpiece transfer E tran and inherent energy consumption of the workshop E innate The objective function f4, which consists of four parts and minimizes the total energy consumption TE, is shown in the following equation: f4=TE=min(E busy +E idle +E tran +E innate ), E busy The total energy consumption of all machines performing operations on the workpiece is calculated as follows: E idle The total energy consumption of all machines in standby mode (i.e., no-load operation) is calculated as follows: E tran The total energy consumption for transferring the workpiece is calculated as follows: E innate The inherent energy consumption of the workshop is calculated as follows: E innate =P g C max ; S2. Determine the constraints of the constructed mathematical model; the constraints of the mathematical model are shown in the following formulas: Among them, Equation (1) ensures that the operation process is not interrupted, Equation (2) ensures that the completion time of any workpiece does not exceed the maximum completion time, Equation (3) ensures that the start time of the current operation is not less than the end time of the preceding operation or the set of preceding operations, Equation (4) ensures that the start time of any operation is not greater than its end time, Equation (5) ensures that any operation is performed only once on the machine, Equation (6) ensures that the start time of any operation is non-negative and the operation and end time are greater than 0, and Equation (7) ensures that only one operation can be performed on a machine at the same time. S3. For the mandatory same-machine operation constraint, set up encoding and decoding based on the improved NSGA-III, and then encode the process and machine; the improved NSGA-III encoding method is as follows: The encoding is defined as a two-level integer sequence: the upper level is the process code sequence OPlan, and the lower level is the corresponding machine code sequence MPlan. The machine set is {1,2,...,M}. Each gene in the process code is associated with the process O corresponding to the workpiece. ij Indicates that process O ij The subscripts are workpiece i∈{1,2,…,N} and its operation j∈{1,2,…,N}. i }, the gene arrangement of a process code represents a chromosome in an improved NSGA-III, and the combined process number of forced same-machine operation is represented by N+f, f≤c, where f represents the frequency of the combined process in the process code and c represents the total number of combined processes; S4. Population initialization is performed based on the hybrid selection mechanism and reference point selection strategy integrated into the improved NSGA-III. S5. Under the constraint of mandatory same-machine operation, genetic operations are performed based on the improved NSGA-III to perform chromosome crossover mutation on the population and generate a new generation of population. S6. Perform non-dominated sorting on the new generation population, and then select the best offspring based on the reference point selection strategy. S7. Determine whether the selected offspring individuals meet the termination condition, i.e. whether the maximum number of iterations of the population has been reached. If it meets the condition, proceed to the next step; otherwise, return to the step of crossover mutation to generate a new generation of population. S8. Based on the improved NSGA-III decoding method, decode the process code and machine code, and output the relevant process and machine scheduling Gantt chart.
2. The generalized job shop scheduling method based on the improved NSGA-III according to claim 1, characterized in that, The improved NSGA-III decoding method employs insert-based greedy decoding under forced co-operation constraints, including the following steps: S31. Set the matrix MP = {MP[1],MP[2],...,MP[M]} of the immediate preceding process end time of all machines and the matrix JP = {JP[1],JP[2],...,JP[N]} of the immediate preceding process end time of all workpieces, and then initialize all elements in MP and JP to 0; S32. Obtain the workpiece number corresponding to the process code sequence OPlan[t], 1≤t≤ON, and determine the process O corresponding to the workpiece. IJ Obtain each combination process O in the machine-coded sequence MPlan. IJ The corresponding machine number k is obtained, and the combination process O is acquired. IJ The job time T at machine number k IJk Then calculate process O ij Maximum time A for the completion of the preceding process IJ =max{e i(j-1) },O ij ∈O IJ ; S33, Inspection and assembly process O IJ The idle time interval of machine k is [t_s, t_e], where t_s is the lower limit of the interval and t_e is the upper limit of the interval; If max(A IJ ,t_s)+T IJk ≤t_e,O ij ∈O IJ , then S IJ =max(A IJ ,t_s), E IJ =S IJ +T IJk , at this time, if (S IJ =t_s)∧(E IJ =t_e), delete the interval [t_s,t_e], if (S IJ =t_s)∧(E IJ <t_e), update [t_s,t_e]=[E IJ ,t_e], if (t_s<S IJ )∧(E IJ =t_e), update [t_s,t_e]=[t_s,S IJ , if (t_s<S IJ )∧(E IJ <t_e), update [t_s,t_e]=[t_s,S IJ and insert a new idle time interval [t_s′,t_e′]=[E IJ ,t_e], JP[i]=E IJ , i∈I; If max(A) does not exist IJ ,t_s)+T IJk ≤t_e,O ij ∈O IJ ,but E IJ =S IJ +T IJk At this time, if A IJ If MP[k] is greater than 0, then an idle time interval [t_s′,t_e′] = [MP[k],as] is added to machine k. IJ MP[k] = E IJ JP[i] = E IJ ,i∈I; S34. Execute t = t + 1. If t < ON, return to step S32; otherwise, end the decoding step.
3. The generalized job shop scheduling method based on the improved NSGA-III according to claim 2, characterized in that, The population initialization process includes: S41. Perform individual initialization to generate the initial population; S42. The population is screened using a fusion-mixed selection mechanism and a reference point selection strategy.
4. The generalized job shop scheduling method based on the improved NSGA-III according to claim 3, characterized in that, The process of generating the initial population includes: S411. Generate new, empty set operation code sequence OPlan, machine code sequence MPlan, and job time sequence TPlan respectively; S412. If the length of the process code sequence OPlan is equal to Then proceed to step S415; otherwise, select all processes O that are unrelated to the mandatory same-machine operation process. ij Insert i at any position in the process code sequence OPlan; S413, If a combined process requiring simultaneous operation on the same machine is required... IJ If there is no preceding combination process, then its corresponding code N+f, f≤c, is randomly inserted into the process code sequence OPlan; otherwise, the combination process O is followed. IJ The code corresponding to the precursor assembly process is in the preceding assembly process O. IJ The corresponding codes N+1, N+2, ..., N+c are inserted into any feasible position in the process code sequence OPlan in the order of their respective codes. S414. Sequentially determine the combined processes O in the current process code sequence OPlan. IJ Does i∈I have a predecessor combination process? When workpiece i has no preceding assembly process, the assembly process O is found. IJ Position L in the process coding sequence OPlan c ; If the combination process is O IJ ={O pq O yz }, then q-1 p and z-1 y are randomly inserted into position L of the process coding sequence OPlan. c The previous position, N p -q+1 p, N y -z+1 y elements are randomly inserted into the process coding sequence OPlan at position L. c The subsequent position; for combined processes with multiple workpieces O IJ ={O ij O hg O pq ,...,O yz }, sequentially combine process O IJ Each process step inserts the process code sequence OPlan according to the corresponding workpiece number in the same manner as described above in this section; If there is a workpiece with a predecessor combination process in the combined process O IJ then directly find the predecessor combination process O IJ of the combined process O I′J′ For the predecessor combination process O I′J′ ={O ij ,O hg}, combined process O IJ ={O iq ,O yz} and j < q, there are predecessor combination process O I′J′ , combined process O IJ 's respective positions L c1 , L c2 in the process coding sequence OPlan and L c1 < L c2 At this time, insert j - 1 i's, g - 1 h's, and z - 1 y's into the process coding sequence OPlan at the positions before L c1 , L c2 respectively, insert q - j - 1 i's into the process coding sequence OPlan at the positions between L c1 , L c2 respectively, and insert N h - g + 1 h's, N i - q + 1 i's, N y - z + 1 y's into the process coding sequence OPlan at the positions after L c1 , L c2 respectively; for the combined process O IJ ={O ij ,O hg ,O pq ,...,O yz}, insert each process in the combined process O IJ into the process coding sequence OPlan in the same way as described above according to the corresponding workpiece numbers; S415, For the combined operations O in the operation coding sequence OPlan IJ The process of determining the corresponding set of available machines is as follows: set a random number r = Rand(0,1). If r < 0.05, select the machine with the minimum current load from the set of available machines. If r < 0.1, select the machine with the minimum operation time from the set of available machines. Otherwise, randomly select from the set of available machines. Then form the machine code sequence MPlan and determine the operation time of each process to generate the operation time sequence TPlan.
5. The generalized job shop scheduling method based on the improved NSGA-III according to claim 4, characterized in that, The process of screening the population includes: S421. Using three strategies—global selection, local selection, and random selection—generate a population of 2 × PS individuals. Set the set used to store Pareto frontier individuals as follows: Where PS represents the population size; S422. Based on the insertion-based greedy decoding method set in step S3, obtain feasible scheduling schemes and calculate the values of the four objective functions f1, f2, f3, and f4 corresponding to each individual in step S1. Perform non-dominated sorting of the population based on the values of the four objective functions to classify individual levels, and output the Pareto front set (F1, F2, F3, ... F4) for each level. l ), where F represents an individual on the Pareto front, and the subscript of F indicates which Pareto front individual it is. The lower-level individuals (F1, F2, ..., F...) are grouped together. l The sets are sequentially stored in R until |R|≥PS. If |R|=PS, then output R and end the initial population selection; otherwise, set R=F1∪F2,...,∪F l-1 Then proceed to the next step, S423; S423. Creating Reference Points: Define reference points z = (z1, z2, z3, z4) on the four-dimensional hyperplane, and construct combinations of three-dimensional X, X ∈ {0 / H, 1 / H, ..., (H+2) / H}, where H is the number of segments on each target. The number of reference points z contained in the set Z of reference points on the four-dimensional hyperplane is the number of combinations. For the value x in the o-th dimension of the u-th vector in three-dimensional X uo Let x ∈X. uo =x uo -(o-1) / H, for each coordinate value z uo ∈Z、x uo ∈X, obtain each reference point z u In the four target directions (C max Coordinates of (ML, TD, TE): z u1 =x u1 -0、z u2 =x u2 -x u1 z u3 =x u3 -x u2 z u4 =1-x u3 ; S424. Perform adaptive standardization to reduce the influence of different dimensions of each objective: Determine the intercepts of the hyperplane in the four objective coordinate systems, and standardize them accordingly by dividing the values of the four objective functions f1, f2, f3, and f4 for each individual in the population by the intercepts of the hyperplane in the four objective coordinate systems, as shown in the following formula: Where a represents the intercept; S425. Create a mapping relationship between population individuals and reference points: Construct the relationship between each reference point and the origin. For each individual, the cosine distance between the rays between the individual and each reference point is calculated using the four standardized objective functions. This yields the reference point π(r), (r∈R) with the smallest distance between each individual in the population, and the distance d(r), (r∈R) between the individual and the reference point π(r) is calculated. S426. Using the niche conservation operation, select the best individuals from the population: Set k=1; sift through the low-level Pareto front set (F1, F2, ..., F) in the reference point set Z. l From the set of reference points J that appear less frequently in the Pareto front, a reference point j′ is randomly selected from the set of reference points J to obtain the low-level Pareto front F. l The set of individuals Ind closest to the reference point j′ j′ ={r:π(r)=j′,r∈F l };like And the reference point j′ lies in the low-level Pareto front set (F1, F2, ..., F l If the frequency of a reference point appearing in the frontier of ) is 0, then from Ind j′ Choose d(r∈R) t The smallest individual ind, R t =R t ∪ind, when the reference point j′ is in the lower-order Pareto front set (F1,F2,...,F... l If the frequency of a reference point appearing in the frontier of ) is not 0, then from Ind j′ Select any individual ind, R t =R t ∪ind, then set k = k + 1, Z = Z / j′, and then return to retrieve the individual set Ind. j′ ={r:π(r)=j′,r∈F l The process of selecting individuals continues until the selection of individuals for the entire population is completed; if... Then set Z = Z / j′, k = k + 1, and then return to retrieve the individual set Ind. j′ ={r:π(r)=j′,r∈F l The process of selecting individuals proceeds to the next individual selection step, until the individual selection of the population is completed.
6. The generalized job shop scheduling method based on the improved NSGA-III according to claim 5, characterized in that, The process of chromosomal crossover variation based on the improved NSGA-III includes: S51. Cross-code the process: First, construct the workpiece set J1 with combined processes and the corresponding workpiece set J2 without combined processes; copy the workpieces contained in J1 by parent P1 to child C1, and the workpieces contained in J2 by parent P2 to child C2, while preserving the position of the workpieces; copy the workpieces contained in J2 by parent P2 to child C1, and the workpieces contained in J1 by parent P1 to child C2, while preserving the order of the workpieces. S52. Cross-code the machine code: only change the machine used for the process, select all processes into set B with a set cross-rate, find the machine corresponding to the same process in set B in P1 and P2, and then swap the machine in set B for the corresponding process in P1 and P2 to generate offspring C1' and C2'. S53. Mutate the crossover process codes: During mutation, the selected machine for each process remains unchanged. First, divide P into c+1 segments using the combined process as the dividing point. Find the number of segments c′ with a gene length greater than or equal to 2 in the process code, and calculate r = Rand(c′). Then, select the r-th segment with a gene length greater than or equal to 2 in the process code for mutation. Randomly select two positions in the r-th segment and mutate the processes O at those two positions. ij O i′j′ Interchange, and obtain all process sets O of workpieces i and i′ in segment r in P respectively. i O i′ Determine O i O i′ The corresponding machine set M in P i M i′ Machine set M i M i′ The machines in the process are sequentially assigned to the corresponding processes of workpieces i and i′ in the r-th segment, generating child C; S54. Mutate the machine code after crossover: Randomly select a position on the chromosome after crossover, and randomly select another machine from the available machine set that is different from the current one.
Citation Information
Patent Citations
Multi-target flexible job shop scheduling method based on migration bird flock algorithm and cross fusion
CN113792494A
Dynamic flexible workshop scheduling optimization method for ship block manufacturing
CN116859832A