Fast Non-dominated Sorting Genetic Algorithm for Dynamic Equivalent Parallel Machine Scheduling Problem

Through the fast non-dominant sorting genetic algorithm, combined with dynamic programming decoding and adaptive mutation strategies, the multi-objective optimization problem in dynamic equivalent parallel machine scheduling is solved, efficient scheduling in a dynamic environment is achieved, and the utilization rate of parallel machine is improved and the drag-off rate is reduced.

CN114565290BActive Publication Date: 2025-06-27WENZHOU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210202320.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-03
Publication Date
2025-06-27
Estimated Expiration
2042-03-03

AI Technical Summary

Technical Problem

The prior art is difficult to effectively solve the multi-objective scheduling decisions in the dynamic equivalent parallel machine scheduling problem, especially in the environment where machine elastic prevention and maintenance and workpiece arrival time is uncertain, it is difficult to optimize the completion time and delivery time at the same time.

Method used

A fast non-dominant sorting genetic algorithm is proposed to generate initial populations through mixed heuristic rules and random rules, and combine dynamic programming-based decoding methods and adaptive probability cross-and-mutation strategies to perform multi-objective optimization, further improving the quality of solutions through neighborhood search.

Benefits of technology

It realizes a fast generation of near-optimal multi-objective scheduling scheme in a dynamic environment, improves the utilization rate of parallel machines, reduces the order drag rate, and can effectively balance the dual goals of completion time and delivery time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114565290B_ABST
    Figure CN114565290B_ABST
Patent Text Reader

Abstract

The present invention discloses a fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem, which is carried out according to the following steps: S1: Generate a population by mixing heuristic rules MODD, ATC, X-RM and a random method; S2: Calculate the objective values of the individuals in the population by a decoding method based on dynamic programming; S3: Determine whether the termination condition is satisfied; if so, end; otherwise, perform fast non-dominated sorting on the individuals in the population; S4: Generate an offspring population through genetic operators; S5: Combine the parent population and the offspring population to form a population of size 2N; S6: Perform fast non-dominated sorting on the individuals in the population, and determine the population by combining crowding degree calculation; S7: Perform neighborhood search on the individuals in the population to generate new solutions to replace the original redundant solutions. The present invention has the characteristics of improving the utilization rate of workshop machines and meeting the customer delivery date.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of computer integrated manufacturing, and particularly relates to a fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem. Background Art

[0002] With the continuous advancement of the "machine replacement" plan, the traditional "discrete" manufacturing environment has transformed into a distributed parallel machine operation environment, such as the lithography process in wafer production, the complex surface machining process in aerospace manufacturing, the converter steelmaking process in steel production, the printing and dyeing process in textile production, the task allocation in the cloud computing environment, etc. Parallel machine production has become the most common production form in enterprises.

[0003] The parallel machine scheduling problem (PMSP) is to allocate n jobs to m machines and determine the processing order of the jobs on the machines to optimize the pursued performance indicators. It is a very important scheduling optimization problem in production scheduling and has been proven to be an NP-hard problem. The parallel machines in PMSP are generally divided into three categories: equivalent machines, uniform speed machines, and unrelated machines. Currently, the research on PMSP mainly focuses on static problems (such as assuming that the machines are always available and the job arrival times are determined, etc.), and the proposed solution methods include exact methods (such as dynamic programming method, mathematical programming method), heuristic rules (such as LS, SPT, WSPT, LPT, etc.), stochastic neighborhood search algorithms (such as tabu search TS), and swarm intelligence algorithms (such as NSGA-II, cuckoo algorithm), etc.

[0004] Due to various dynamic factors in real production (such as machine failures or maintenance, random job arrivals, emergency orders, etc.), the traditional PMSP research based on static assumptions cannot meet the actual production needs, and it is urgent to study the equivalent parallel machine scheduling problem considering dynamic real factors. In addition, the production of multiple varieties in small batches or even single-piece production makes it increasingly difficult to meet the delivery dates, and it is urgent to study multi-objective scheduling methods that consider both the completion time and the delivery date. Summary of the Invention

[0005] The purpose of the present invention is to provide a fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem. The present invention can solve the problem of quickly generating multi-objective scheduling decisions in an environment considering machine flexible preventive maintenance and uncertain job arrival times, and at the same time has the characteristics of improving the job completion time and reducing the order delay rate.

[0006] The technical solution of the present invention:

[0007] A fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem is characterized by performing according to the following steps:

[0008] S1: Generate an initial population P of size N by mixing heuristic rules and random rules t , where the heuristic rules include MODD, ATC, and X-RM;

[0009] S2: Use a decoding method based on dynamic programming to calculate the makespan C of each individual max and the total tardiness time ∑T j ;

[0010] S3: Determine whether the termination condition is satisfied; if so, end; otherwise, perform fast non-dominated sorting on the individuals in the population P t ;

[0011] S4: Generate an offspring population Q through genetic operators of adaptive probability crossover and mutation and elitist selection strategy t ;

[0012] S5: Combine the parent population P t and the offspring population Q t to form a population R of size 2N t ;

[0013] S6: Perform decoding based on dynamic programming and fast non-dominated sorting on R t , and select non-dominated solution individuals layer by layer from the first layer r1 and put them into the new parent population P t+1 , until the population size reaches N; if the individuals selected from level r k cannot all be put in, calculate the crowding degree of the individuals in level r k and select the individuals with a larger crowding degree to put in;

[0014] S7: Perform neighborhood search on the individuals in the population P t+1 to generate new solutions to replace redundant solutions; let t = t + 1, and return to step S3.

[0015] In the above-mentioned fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem, the generation method of the initial population P in step S1 t is carried out according to the following steps:

[0016] Step 2.1: Problem description and objective definition: The dynamic equivalent parallel machine scheduling problem can be described as arranging n jobs in J = {J1, J2,..., J j ..., J n} to M = {M1, M2,..., M i ..., M m} equivalent parallel machines. The arrival time of job J j is r j , the due date is d j , and the processing time is pj and the completion time is C j and the delay time is T j = max{0, T j - d j} for workpiece J j The machining process cannot be interrupted; the machine needs to perform flexible preventive maintenance PM during production, that is, the continuous machining time or service age of the machine cannot exceed the limit value UT, and the duration of each maintenance is t. The optimization goal is to minimize the maximum completion time C max = max{C j} and the sum of workpiece delay times ∑T j ; The decision-making content is to determine the allocation and machining sequence of workpieces on the machine;

[0017] Step 2.2: Determine the quantity according to the proportions of MODD, ATC, X-RM, and random rules in the initial population, that is, N = n MODD + n ATC + n X-RM + n Random ;

[0018] Step 2.3: Initialize the completion time of each machine C1 = C2 = … = C m = 0, the earliest start time t1 = t2 = … = t m = 0, the service age Age1 = Age2 = … = Age m = 0, the sum of delay times ∑T j = 0, the set of scheduled workpieces SJ1 = SJ2 = … = SJ m = φ, the set of unscheduled workpieces USJ - {J1, J2, …, J n}}, the number of workpieces n, the maintenance limit value UT, the maintenance duration t, the population size N, the workpiece index j = 1, the machine index k = 1:

[0019] Step 2.4: Generate an initial solution set with a quantity of n MODD using the MODD rule, including the following steps;

[0020] Step 2.4.1: Judge whether USJ = {φ}, if so, end; otherwise, go to Step 2.4.2;

[0021] Step 2.4.2: Select J j ∈ USJ and go to Step 2.4.3;

[0022] Step 2.4.3: When the number of machines k ≤ m, go to Step 2.4.4; otherwise, go to Step 2.4.5

[0023] Step 2.4.4: Calculate the service age of the machine Age k = Age k+p j ; If Age k > UT, then t k = t k + t, Age k = p j , d′ jk = max{d j , max{r j , t k}+ p j}; Otherwise, Age k = Age k + p j , d′ jk = max{d j , max{r j , t k}+ p j}; Let k = k + 1, return to Step 2.4.3;

[0024] Step 2.4.5: For workpiece J j 's d′ j = min{d′ jk};

[0025] Step 2.4.6: Let j = j + 1, return to Step 2.4.2;

[0026] Step 2.4.7: Sort the workpieces according to the d′ j value of workpiece J j in USJ. The smaller the d′ j value, the higher the ranking; when the d′ j values are the same, the workpiece with an earlier due date is ranked first; if the due dates are the same, the workpiece with a smaller serial number is ranked first, and the sorting result π = {J [1] , J [2] , …, J [|USJ|]} is obtained;

[0027] Step 2.4.8: When k ≤ m, go to Step 2.4.9; otherwise, go to Step 2.4.11;

[0028] Step 2.4.9: When j ≤ |USJ|, go to Step 2.4.10;

[0029] Step 2.4.10: Judge whether r [j] ≤ t k holds; if it holds, then Age k = Age k + p [j] , if Age k > UT, then t k = t k + t, Agek = p [j] , C [j]k = max{r j , t k}+ p [j] ; Otherwise, Age k = Age k + p [j] , C [j]k = max{r j , t k}+ p [j] ;

[0030] Step 2.4.11: C [j]h = min{C [j]k}, arrange the first currently arrived workpiece J [j] in set π to machine h, and update C h = C [j]h , Age h , t h , SJ h = SJ h ∪J [j] , USJ = USJ / J [j] and ∑T j ; Return to Step 2.4.1;

[0031] Step 2.4.12: Loop through Steps 2.4.1 - 2.4.11 to generate an initial solution set of size n MODD ;

[0032] Step 2.5: Use the ATC rule to generate an initial solution set of size n ATC ;

[0033] Step 2.6: Use the X - RM rule to generate an initial solution set of size n X-RM ;

[0034] Step 2.7: Randomly assign n workpieces to m machines to generate an initial solution set of size n Random ;

[0035] Step 2.8: Combine the initial solution sets generated by the four rules of MODD, ATC, X - RM, and random rule to form the initial population P t .

[0036] In the aforementioned fast non - dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem, the method for generating an initial solution set of size n ATC in the ATC rule in Step 2.5 includes the method for generating an initial solution set of size n MODDSteps 2.4.1 - 2.4.6 and steps 2.4.8 - 2.4.12 in the initial solution set method, step 2.4.7 is: For workpiece J j The sorting index on machine k is

[0037] t k Refers to the current completion time of the machine where the workpiece can be scheduled, Indicates at time t k The average processing time of the remaining unscheduled workpieces, k is a parameter. For dynamic problems, k = 2; For workpiece J j Of π j = min{π jk}, The smaller the value of π j , The earlier the sorting; When the value of π j Is the same, the one with the earlier due date is arranged in the front; If the due dates are the same, the workpiece with the smaller serial number is arranged in the front.

[0038] In the aforementioned fast non - dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem, the method for generating an initial solution set of size n using the X - RM rule in step 2.5 includes the steps 2.4.1 - 2.4.6 and steps 2.4.8 - 2.4.12 in the method for generating an initial solution set of size n using the MODD rule. Step 2.4.7 is: For workpiece J X-RM The method for generating an initial solution set of size n MODD Steps 2.4.1 - 2.4.6 and steps 2.4.8 - 2.4.12 in the initial solution set method, step 2.4.7 is: For workpiece J j The sorting index on machine k is That is t k Refers to the current completion time of the machine where the workpiece can be scheduled, Indicates at time t k The average processing time of the remaining unscheduled workpieces, The value of B is determined to be 1.6 through pre - experiments; For workpiece J j Of θ j = min{θ jk}, The smaller the value of θ j , The earlier the sorting; When the value of θ j Is the same, the one with the earlier due date is arranged in the front; If the due dates are the same, the workpiece with the smaller serial number is arranged in the front.

[0039] In the aforementioned fast non - dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem, the decoding method of dynamic programming in S2 and S6 is carried out according to the following steps:

[0040] Step 3.1: Initialization. Divide each individual in the population into m segments, that is, m machines, and there are n i Workpieces on each machine. When decoding the sorting of workpieces on machine M i , Set the set of k - workpiece sorting on machine i as Δ k={J [1] , J [2] ,..., J [k]}, Δ k The set composed of the last g workpieces in Δ is Use Z0(Δ k ) and Z1(Δ k ) to represent the C max value and the ∑T j value of the sorting of k workpieces respectively. Then Z0(Δ 0 ) = 0, Z1(Δ 0 ) = 0. The C max value and the ∑T j value of the sorting of k workpieces are represented by the state function of the k-th stage, as shown in formula (1). The calculation methods of the C max value and the ∑T j value are shown in formulas (2) and (3);

[0041]

[0042]

[0043]

[0044] Step 3.2: Decoding and target value calculation based on dynamic programming, including the following steps:

[0045] Step 3.2.1: Initialize parameters; the set of completion times of machine M i is Z0(Δ 0 ) = 0, Z1(Δ 0 ) = 0. Assign values to the UT and t parameters, set the chromosome index h = 1 in the population, the machine index i = 1 in each chromosome, and the workpiece position index k = 1 on the machine;

[0046] Step 3.2.2: Judge whether the population number h > N holds; if so, end, otherwise go to the next step;

[0047] Step 3.2.3: Determine the set Δ k of the first k workpieces in front of each machine = {J [1] , J [2] ,..., J [k]};

[0048] Step 3.2.4: Starting from the workpiece position g = 1, calculate the C value and the T i value of the sorting of the workpieces in the workpiece set i according to the following method;

[0049] If g = 1, there are the following two cases:

[0050] If k = g, then

[0051] If k > g, then

[0052] If g > 1, there are the following two cases:

[0053] When Then:

[0054]

[0055]

[0056] When Then:

[0057]

[0058]

[0059] Step 3.2.5: Let g = g + 1; determine whether g is less than k. If so, return to Step 3.2.4; otherwise, go to the next step.

[0060] Step 3.2.6: Let k = k + 1 and determine whether k > n i holds; if so, let C i = Z0(Δ k ), MC = MC ∪ {C i}, T i = Z1(Δ k ); otherwise, return to Step 3.2.3.

[0061] Step 3.2.7: Let i = i + 1 and go to the next step;

[0062] Step 3.2.8: Determine whether the number of machines i > m holds. If so, go to the next step; otherwise, return to Step 3.2.3;

[0063] Step 3.2.9: Calculate C max = max{C i , C i ∈ MC}, Let h = h + 1 and return to Step 3.2.2.

[0064] In the above-mentioned fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem, the selection, crossover, and mutation methods in Step S4 are carried out according to the following steps:

[0065] Step 4.1: According to the hierarchical results of fast non-dominated sorting, use two selection rules, IC1 and IC2, to perform individual replication; Rule IC1 randomly selects half of the chromosomes from each level; Rule IC2 uses the tournament method to select individuals; Rule IC2 randomly selects three individuals each time for pairwise comparison and selects the two better individuals; Loop through IC1 and IC2 until N individuals are selected; Rule IC1 can increase the diversity of the population and prevent the algorithm from converging too quickly; The operation of Rule IC2 can reduce the loss of effective genes and better retain the best individuals;

[0066] Step 4.2: Adopt a dynamic adaptive crossover probability and use the two-point crossover method for crossover;

[0067] The calculation method of the adaptive crossover probability is where g represents the current number of iterations, G represents the total number of iterations, and p c is the basic crossover probability; According to the determined adaptive crossover probability, perform crossover in the way of two-point crossover; Randomly select a chromosome p x from the first layer of non-dominated sorting in the population N and a chromosome p y from other layers as the parents; Randomly select a segment of genes in the range of [1, n + m - 1] in each parent for exchange, and the remaining genes are determined by mapping; If the generated offspring is better than the parent p y , it is retained; Otherwise, retain the original two parent chromosomes;

[0068] Step 4.3: Adopt a dynamic adaptive mutation probability and use two mutation methods to perform individual mutation;

[0069] The calculation method of the adaptive mutation probability is where g represents the current number of iterations, G represents the total number of iterations, and pm is the basic mutation probability; According to the adaptive mutation probability, adopt two mutation methods, MO1 and MO2, which are respectively used for the mutation operations of the first 50% of the population generations and the last 50% of the population generations;

[0070] The MO1 operator randomly selects an individual and a segment of genes, and the length of the gene segment is Reverse the job order within the gene segment; The MO2 operator randomly selects an individual and exchanges two genes; If the randomly selected gene is 0, re-selection is required.

[0071] In the aforementioned fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem, the neighborhood search method in step S7 is carried out according to the following steps:

[0072] Step 5.1: Initialization; The individual serial number k = 1 in the population, and the population size is N;

[0073] Step 5.2: Calculate the maximum makespan MaxC of the individuals in the population max and the average value of the minimum makespan MinC max The sum of the maximum tardiness times and Max∑T j and the average value of the sum of the minimum tardiness times Min∑T j

[0074] Step 5.3: Judge whether k ≤ n k holds, where n k represents the quantity limit of the neighborhood search; if so, end; otherwise, go to the next step;

[0075] Step 5.4: Judge whether the objective value of the individual q k is satisfied If not, go to the next step; if so, randomly select one of the two M-neighborhood search methods to generate a new solution and compare it with the original solution. If the new solution is better than the original solution, replace the original solution with the new solution; otherwise, keep the original solution; the purpose of the M-neighborhood search method is to improve the C max objective, which is divided into two types: M-insertion and M-exchange;

[0076] M-insertion: Select the batch with wasted time from the machine with the minimum makespan, search for the workpiece with a processing time equal to or less than the maximum wasted time in the machine with the maximum makespan, and insert it into the selected batch of the machine with the minimum makespan;

[0077] M-exchange: Select the workpiece with a longer processing time from the machine with the maximum makespan and exchange it with the workpiece with a shorter processing time selected from the machine with the minimum makespan; the difference in the processing times of the exchanged jobs should be less than the difference in the completion times of the two machines;

[0078] Step 5.5: Judge whether the objective value of the k-th individual is satisfied; if not, go to the next step; if so, randomly select one of the two T-neighborhood search methods to generate a new solution and compare it with the original solution; if the new solution is better than the original solution, replace the original solution with the new solution; otherwise, keep the original solution; the purpose of the T-neighborhood search method is to improve the ∑T j objective, which is divided into two types: T-insertion and T-exchange;

[0079] T-insertion: On the premise of meeting the release time constraint, select the workpiece with the shortest processing time among the tardy workpieces and insert it one by one into the position before the workpiece with a due date larger than this workpiece;

[0080] ​​T - swap: On the premise of meeting the delivery time constraint, select the job with the longest processing time among the tardy jobs, and swap positions with the jobs whose due dates are smaller than this job one by one after it;

[0081] Step 5.6: Let k = k + 1, and return to Step 5.3.

[0082] Compared with the prior art, the present invention has the following beneficial effects:

[0083] The present invention can generate an equivalent parallel machine multi - objective scheduling scheme under the influence of various dynamic events such as the machine's need for flexible preventive maintenance and the random arrival of jobs, improve the utilization rate of parallel machines, and reduce the tardiness rate of orders.

[0084] For the double - objective of simultaneously considering the sum of completion time and tardiness time, the present invention proposes an initial solution generation method that combines heuristic rules and random methods to improve the search efficiency and solution quality; for the uncertainty of job and machine states in the dynamic equivalent parallel machine scheduling problem, the present invention establishes a decoding method based on dynamic programming to avoid different decoding results of the same individual in the population, ensure the rapid generation of a near - optimal production scheduling scheme, improve the utilization rate of machines, and reduce resource waste; for the symmetry of the equivalent parallel machine solution and the characteristics of easy generation of redundant solutions, the present invention designs a solution improvement method based on neighborhood search to achieve the balance between diversity and convergence. Brief Description of the Drawings

[0085] Figure 1 is the overall flowchart for solving the dynamic equivalent parallel machine scheduling problem by improving the fast non - dominated sorting genetic algorithm;

[0086] Figure 2 is a schematic diagram of the research problem;

[0087] Figure 3 is the flowchart for generating the initial solution;

[0088] Figure 4 is the schematic diagram of the dynamic programming decoding of the population individuals;

[0089] Figure 5 is the schematic diagram of the crossover operation;

[0090] Figure 6 is the schematic diagram of the mutation operation;

[0091] Figure 7 is the flowchart of the neighborhood search;

[0092] Figure 8 is the flowchart of M - insertion;

[0093] Figure 9 is the flowchart of M - swap;

[0094] Figure 10It is the T-insertion flowchart;

[0095] Figure 11 It is the T-swap flowchart;

[0096] Figure 12 It is the signal-to-noise ratio of a small-scale problem;

[0097] Figure 13 It is the signal-to-noise ratio of another small-scale problem. Specific implementation mode

[0098] The present invention will be further described below in conjunction with the accompanying drawings and embodiments, but it shall not be used as a basis for limiting the present invention.

[0099] Embodiment: An improved fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem, as Figure 1 shown, is carried out according to the following steps:

[0100] S1: Generate an initial population P of size N through the hybrid heuristic rules MODD (Modified due date), ATC (Apparent tardiness cost), X-RM (X-dispatch ATC), and random rules t .

[0101] S2: Use the decoding method based on dynamic programming to calculate the makespan C of each individual max and the total tardiness time sum ∑T j (Total Tardiness).

[0102] S3: Judge whether the termination condition is satisfied. If so, end; otherwise, perform fast non-dominated sorting on the individuals in the population P t .

[0103] S4: Generate an offspring population Q through genetic operators such as adaptive probability crossover and mutation, and elitist selection strategy t .

[0104] S5: Combine the parent population P t and the offspring population Q t to form a population R of size 2N t .

[0105] S6: Perform decoding based on dynamic programming and fast non-dominated sorting on R t , and select non-dominated solution individuals layer by layer from the first layer r1 and put them into the new parent population P t+1 , until the population size is N. If the individuals at the selected level r k cannot all be put in, then for r kCalculate the crowding degree of individuals in the layer, and select individuals with a large crowding degree to put in.

[0106] S7: For the population P t+1 Conduct neighborhood search on the individuals in it to generate new solutions to replace redundant solutions. Let t = t + 1, and return to step S3.

[0107] The initial population generation method in the said step s1 is carried out according to the following steps:

[0108] As Figure 2 shown, step 2.1: Problem description and goal definition. The dynamic equivalent parallel machine scheduling problem can be described as arranging n workpieces in J = {J1, J2,..., J j ..., J n} to M = {M1, M2,..., M i ..., M m} equivalent parallel machines. The arrival time of workpiece J j is r j , the due date is d j , the processing time is p j , the completion time is C j , the tardiness time is T j = max{0, C j - d j}, and the processing process of workpiece J j cannot be interrupted. The machine needs to perform flexible preventive maintenance PM during the production process, that is, the continuous processing time or service age of the machine cannot exceed the limit value UT, and the duration of each maintenance is t. The optimization goal is to simultaneously minimize the makespan C max = max{C j} and the sum of workpiece tardiness times ∑T j . The decision content is to determine the allocation and processing order of workpieces on the machines.

[0109] As Figure 3 shown, step 2.2: According to the quantities determined by MODD, ATC, X - RM and the random rule ratio in the initial population, that is, N = n MODD + n ATC + n X-RM + n Random , generate the initial population according to steps 2.3 - 2.7.

[0110] Step 2.3: Initialize the completion time of each machine C1 = C2 =... = C m = 0, the earliest start time t1 = t2 =... = t m = 0, the service age Age1 = Age2 =... = Age m = 0, the sum of tardiness times ∑T j= 0, the scheduled job set SJ1 = SJ2 = … = SJ m = φ, the unscheduled job set USJ = {J1, J2, …, J n}, the number of jobs n, the maintenance limit value UT, the maintenance duration t, the population size N, the job index j = 1, and the machine index k = 1.

[0111] Step 2.4: Generate an initial solution set of size n MODD using the MODD rule, including the following steps:

[0112] Step 2.4.1: Determine if USJ = {φ}? If so, end; otherwise, go to Step 2.4.2.

[0113] Step 2.4.2: Select J j ∈ USJ and go to Step 2.4.3.

[0114] Step 2.4.3: When the number of machines k ≤ m, go to Step 2.4.4; otherwise, go to Step 2.4.5.

[0115] Step 2.4.4: Calculate the age of the machine Age k = Age k + p j . If Age k > UT, then t k = t k + t, Age k = p j , d′ jk = max{d j , max{r j , t k}+ p j}; otherwise, Age k = Age k + p j , d′ jk = max{d j , max{r j , t k}+ p j [[ID=65}}. Let k = k + 1 and return to Step 2.4.3.

[0116] Step 2.4.5: The d′ j of job J j = min{d′ jk}.

[0117] Step 2.4.6: Let j = j + 1 and return to Step 2.4.2.

[0118] Step 2.4.7: According to the d′ of job J j in USJj Sort the workpieces by the value d′ j The smaller the value, the higher the sorting. When d′ j has the same value, the workpiece with an earlier due date is ranked first. If the due dates are the same, the workpiece with a smaller serial number is ranked first, and the sorting result π = {J [1] , J [2] , …, J [|USJ|]} is obtained.

[0119] Step 2.4.8: When k ≤ m, go to Step 2.4.9; otherwise, go to Step 2.4.11.

[0120] Step 2.4.9: When j ≤ |USJ|, go to Step 2.4.10.

[0121] Step 2.4.10: Judge whether r [j] ≤ t k holds. If it holds, then Age k = Age k + p [j] . If Age k > UT, then t k = t k + t, Age k = p [j] , C [j]k = max{r j , t k}+ p [j] ; otherwise, Age k = Age k + p [j] , C [j]k = max{r j , t k}+ p [j] .

[0122] Step 2.4.11: C [j]h = min{C [j]k}, arrange the first workpiece J [j] that has currently arrived in the set π to machine h, and update C h = C [j]h , Age h , t h , SJ h = SJ h ∪ J [j] , USJ = USJ / J [j] and ∑T j . Return to Step 2.4.1.

[0123] Step 2.4.12: Loop through Steps 2.4.1 - 2.4.11 to generate nMODD The initial solution set.

[0124] Step 2.5: Use the ATC rule to generate n ATC The initial solution set. The steps are the same as those for generating by the MODD rule, except that the sorting index of workpiece J j on machine k is t k which refers to the current completion time of the machine where the workpiece can be scheduled, indicating that at time t k the average processing time of the remaining unscheduled workpieces, k is a parameter, and for the dynamic problem, k = 2. For workpiece J j 's π j = min{π jk}, and the smaller the value of π j , the earlier the sorting. When the values of π j are the same, the one with an earlier due date is sorted in front. If the due dates are the same, the workpiece with a smaller serial number is sorted in front.

[0125] Step 2.6: Use the X - RM rule to generate n X-RM The initial solution set. The steps are also the same as those for the MODD rule, except that the sorting index of workpiece J j on machine k is i.e., t k which refers to the current completion time of the machine where the workpiece can be scheduled, indicating that at time t k the average processing time of the remaining unscheduled workpieces, and the B value is determined to be 1.6 through pre - experiments. For workpiece J j 's θ j = min{θ jk}, and the smaller the value of θ j , the earlier the sorting. When the values of θ j are the same, the one with an earlier due date is sorted in front. If the due dates are the same, the workpiece with a smaller serial number is sorted in front.

[0126] Step 2.7: Randomly assign n workpieces to m machines to generate n Random The initial solution set.

[0127] Step 2.8: Combine the initial solution sets generated by the MODD, ATC, X - RM, and random rules together to form the initial population.

[0128] The dynamic programming decoding in step s2 and step S6 is carried out according to the following steps:

[0129] Step 3.1: Initialization. Divide each individual in the population into m segments, that is, m machines, and there are n i workpieces on each machine. For machine Mi When decoding the job sequencing on it, the set of k-job sequences on machine i is set as Δ k ={J [1] , J [2] ,..., J [k]}. The set composed of the last g jobs in Δ k is Use Z0(Δ k ) and Z1(Δ k ) to represent the C max value and the ∑T j value of the k-job sequence respectively. Then Z0(Δ 0 ) = 0, Z1(Δ 0 ) = 0. The C max value and the ∑T j value of the k-job sequence are represented by the state function of the k-th stage. As shown in formula (1), the calculation methods of the C max value and the ∑T j value are as shown in formulas (2) and (3).

[0130]

[0131]

[0132]

[0133] As Figure 4 shown, Step 3.2: Decoding based on dynamic programming and calculation of the target value, including the following steps:

[0134] Step 3.2.1: Initialize parameters. The set of completion times of machine M i is Z0(Δ 0 ) = 0, Z1(Δ 0 ) = 0. Assign values to parameters such as UT and t, and set the chromosome index h = 1 in the population.

[0135]

[0136] If g > 1, there are the following two cases:

[0137] When Then:

[0138]

[0139]

[0140] When Then:

[0141]

[0142]

[0143] Step 3.2.5: Let \(g = g + 1\). Determine whether \(g\) is less than \(k\). If so, return to Step 3.2.4; otherwise, proceed to the next step.

[0144] Step 3.2.6: Let \(k = k + 1\) and determine whether \(k\gt n\) i holds. If so, let \(C\) i \(= Z_0(\Delta\) k ), \(MC = MC\cup\{C\) i \}, \(T\) i \(= Z_1(\Delta\) k ). Otherwise, return to Step 3.2.3.

[0145] Step 3.2.7: Let \(i = i + 1\) and proceed to the next step.

[0146] Step 3.2.8: Determine whether the number of machines \(i\gt m\) holds. If so, proceed to the next step; otherwise, return to Step 3.2.3.

[0147] Step 3.2.9: Calculate \(C\) max \(= \max\{C\) i , \(C\) i \in MC\}, let \(h = h + 1\) and return to Step 3.2.2.

[0148] The selection, crossover, and mutation in Step S4 are performed as follows:

[0149] Step 4.1: According to the hierarchical results of fast non - dominated sorting, use two selection rules, IC1 and IC2, for individual replication. Rule IC1 randomly selects half of the chromosomes from each level; Rule IC2 uses the tournament method to select individuals. Rule IC2 randomly selects three individuals each time for pairwise comparison and selects the two better individuals. Repeat the operations of IC1 and IC2 until \(N\) individuals are selected. Rule IC1 can increase the diversity of the population and prevent the algorithm from converging too quickly; the operation of Rule IC2 can reduce the loss of effective genes and better retain the best individuals.

[0150] As Figure 5 shown, Step 4.2: Adopt a dynamic adaptive crossover probability and use the two - point crossover method for crossover.

[0151] The calculation method of the adaptive crossover probability is where \(g\) represents the current number of iterations, \(G\) represents the total number of iterations to be performed, \(p\) cis the basic crossover probability. According to the determined adaptive crossover probability, two-point crossover is adopted for crossover. Randomly select a chromosome p from the first layer of non-dominated sorting in population N x and a chromosome p from other layers y as the parents; randomly select a segment of genes in the range of [1, n + m - 1] in each parent for exchange, and the remaining genes are determined by mapping; if the generated offspring is better than the parent p y , it is retained; otherwise, the original two parent chromosomes are retained.

[0152] As Figure 6 shown, step 4.3: Adopt a dynamic adaptive mutation probability and use two mutation methods for individual mutation.

[0153] The calculation method of the adaptive mutation probability is where g represents the current number of iterations, G represents the total number of iterations to be performed, and p m is the basic mutation probability. According to the adaptive mutation probability, two mutation methods, MO1 and MO2, are adopted for the mutation operations of the first 50% of the population and the last 50% of the population respectively.

[0154] The MO1 operator randomly selects an individual and a segment of genes, and the length of the gene segment is Reverse the order of the workpieces within the gene segment. The MO2 operator randomly selects an individual and exchanges two genes. If the randomly selected gene is 0, re-selection is required.

[0155] As Figure 7 shown, the neighborhood search in step S7 is carried out according to the following steps:

[0156] Step 5.1: Initialization. The individual serial number k = 1 in the population, and the population size is N.

[0157] Step 5.2: Calculate the average value of the maximum completion time MaxC max of the individuals in the population and the minimum maximum completion time MinC max , the average value of the maximum total tardiness time and Max∑T j and the minimum total tardiness time and Min∑T j .

[0158] Step 5.3: Judge whether k ≤ n k holds, where n k represents the quantity limit of the neighborhood search. If so, end; otherwise, go to the next step.

[0159] Step 5.4: Judge whether the objective value of individual q k meets If not, go to the next step. If so, randomly select one of the two M-neighborhood search methods to generate a new solution and compare it with the original solution. If the new solution is better than the original solution, replace the original solution with the new solution; otherwise, keep the original solution. The purpose of the M-neighborhood search method is to improve the C of the solution max objective, which is divided into two types: M-insertion and M-exchange.

[0160] As Figure 8 shown, M-insertion: Select the batch with wasted time from the machine with the minimum completion time, search for the workpiece with a processing time equal to or less than the maximum wasted time in the machine with the maximum completion time, and insert it into the selected batch of the machine with the minimum completion time.

[0161] As Figure 9 shown, M-exchange: Select the workpiece with a longer processing time from the machine with the maximum completion time and exchange it with the workpiece with a shorter processing time selected from the machine with the minimum completion time. The difference in processing time of the exchanged jobs should be less than the difference in completion time of the two machines.

[0162] Step 5.5: Judge whether the objective value of the k-th individual holds. If not, go to the next step. If so, randomly select one of the two T-neighborhood search methods to generate a new solution and compare it with the original solution. If the new solution is better than the original solution, replace the original solution with the new solution; otherwise, keep the original solution. The purpose of the T-neighborhood search method is to improve the ∑T of the solution j objective, which is divided into two types: T-insertion and T-exchange.

[0163] As Figure 10 shown, T-insertion: On the premise of meeting the release time constraint, select the workpiece with the shortest processing time among the tardy workpieces and insert it one by one into the position before the workpiece with a due date larger than this workpiece.

[0164] As Figure 11 shown, T-exchange: On the premise of meeting the release time constraint, select the workpiece with the longest processing time among the tardy workpieces and exchange its position one by one with the workpiece with a due date smaller than this workpiece after it.

[0165] Step 5.6: Let k = k + 1, and return to Step 5.3.

[0166] To verify the effectiveness of the proposed M-NGSA-II scheduling method in this application, combined with the parallel machine production scenario of a manufacturing enterprise, an experimental environment with three scales and multiple problems composed of different numbers of machines m, numbers of workpieces n, processing times p j as well as the maintenance interval UT and maintenance time t combinations is designed, as shown in Table 1. The arrival time r of the workpieces jSubject to a uniform distribution U[0, k×n×α / m], where k = [2.02, 3.03] and α = [0.4, 0.5, 0.6]. The due date d of the workpiece j obeys a uniform distribution where Q = [0.4, 0.5] and C = [0.4, 0.3].

[0167] Table 1 Experimental environment design

[0168]

[0169] Select 13 instances from the experimental problems shown in Table 1, generate an initial solution using a random method, decode using the full-load method, and determine the values of the M-NSGA-II algorithm parameters through signal-to-noise ratio analysis. For the four parameters affecting the performance of the M-NSGA-II algorithm: the population size Popsize, the number of iterations MaxGen, the crossover rate p c and the mutation rate p m , first conduct a preliminary experiment to determine the value range as shown in Table 2.

[0170] Table 2 Parameters and value ranges of the M-NSGA-II algorithm

[0171]

[0172] Take Popsize, MaxGen, p c and p m as control factors, with 3 levels for each factor. The number of orthogonal experiments is L9(3 4 ), take the objective function as the response variable, conduct 10 experiments under each parameter combination, and the total number of experiments is 13 * 9 * 10 = 1170. The experimental results for small-scale problems are shown in Table 3. Since there are 2 response variables, through the normalization of the signal-to-noise ratio of different response variables at different levels, the comprehensive signal-to-noise ratio at the final parameter level is obtained. The signal-to-noise ratios for small-scale problems are as Figure 12 and 13 shown.

[0173] Table 3 Experimental results of parameters for small-scale problems

[0174]

[0175] Analyze the NSGA-II algorithm according to the same method. The experimental parameters of the finally determined M-NSGA-II algorithm and NSGA-II algorithm are shown in Table 4.

[0176] Table 4 Experimental parameters of the M-NSGA-II algorithm and NSGA-II algorithm

[0177]

[0178] To verify the effectiveness of the dynamic programming decoding method, experiments were conducted on instances of problems with different scales, and the performance of the full-load and dynamic programming decoding methods based on the M-NSGA-II algorithm was compared. From the number N of Pareto optimal solutions d , the c matrix of the dominance situation of the solutions of the two methods, the inverted generational distance IGD of the distance between the solutions obtained by the algorithm and the optimal solutions, and the index Δ reflecting the solution distribution of the algorithm D1 . For each set of instance problems, 10 experiments were conducted, and the results are shown in Table 5. The optimal values are shown in bold font.

[0179] Table 5 Experimental results of different decoding methods of the M-NSGA-II algorithm

[0180]

[0181]

[0182] As shown in Table 5, for most instances, the performance indicators obtained by applying the dynamic programming decoding method are better than those of the full-load decoding method. Especially for large-scale problems with a large number of workpieces, this fully verifies the effectiveness of the dynamic programming decoding method. It should be noted that since the optimization objective of this paper is to minimize the makespan and the tardiness time sum of workpieces, minimizing the makespan implies minimizing the tardiness time sum of workpieces. Therefore, the number of Pareto solutions is limited.

[0183] To verify the influence of different heuristic rules MODD, ATC, X-RM and the initial solution generation method mixed with random rules on the algorithm performance, for typical instances of three-scale problems, using the dynamic programming decoding method, on the basis of preliminary experiments, four hybrid rules for generating initial solutions with different proportions of rules MODD, ATC, X-RM and random are designed, as shown in Table 6. Table 7 gives the number Nd of optimal solutions, the C matrix, IGD and Δ D1 values obtained by running the hybrid initial solution solving method 10 times for typical instance problems of three scales, where the best results are highlighted in bold.

[0184] Table 6 Hybrid rules for initial solution generation Unit: %

[0185]

[0186] It can be seen from the results that for the instance problems of the three scales, the hybrid rule H1 is better than the other three hybrid rules, and is better than the random rule or the single rule.

[0187] Table 7 Experimental results of different initial solution generation methods (M-NSGA-II)

[0188]

[0189] To compare the effects of neighborhood search, the initial solution was generated using the hybrid rule H1, and experiments were conducted on three typical problems of different scales. The dynamic programming decoding method was adopted, and each group of instances was experimented 10 times. The results are shown in Table 8.

[0190] Table 8 Algorithm performance results with or without neighborhood search

[0191]

[0192] It can be seen from the results that for the problem instances of the three scales, the solutions obtained by using neighborhood search are better than those without using neighborhood search, and there is little difference in terms of time efficiency.

[0193] The experimental results of the proposed M-NsGA-II algorithm and the basic NSGA-II algorithm under three-scale problems are shown in Table 9.

[0194] Table 9 Performance comparison of different algorithms

[0195]

[0196]

[0197] It can be seen from the results in Table 9 that the solution quality obtained by the M-NSGA-II algorithm, which improves the initial solution generation method, decoding method, and neighborhood search, is better than that of the NSGA-II algorithm in most problem instances, and the advantage of the M-NSGA-II algorithm becomes more obvious as the problem scale increases.

Claims

1. A fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem, characterized in that The following steps are carried out: S1: Generate an initial population P of size N by mixing heuristic rules and random rules t , where the heuristic rules include MODD, ATC, and X-RM; S2: Use the decoding method based on dynamic programming to calculate the makespan C of each individual max and the total tardiness sum ∑T j ; S3: Determine whether the termination condition is satisfied; if so, end; otherwise, perform fast non-dominated sorting on the individuals in population Pt; S4: Generate the offspring population Q through the genetic operators of adaptive probability crossover and mutation and the elite selection strategy t ; S5: Combine the parental population P t and the offspring population Q t to form a population R of size 2N t ; S6: Decode R t using dynamic programming and perform fast non-dominated sorting. Starting from the first layer r1, select non-dominated solution individuals layer by layer and put them into the new parental population P t+1 , until the population size reaches N; if not all individuals at level r k can be put in, calculate the crowding degree of individuals at level r k and select individuals with a large crowding degree to put in; S7: Conduct neighborhood search on the individuals in population P t+1 to generate new solutions to replace redundant solutions; let t = t + 1, and return to step S3; The initial population P in the step S1 t The generation method is carried out according to the following steps: Step 2.1: Problem Description and Objective Definition; The dynamic equivalent parallel machine scheduling problem can be described as arranging n jobs in J = {J1, J2, …, J j …, J n} onto M = {M1, M2, …, M i …, M m} equivalent parallel machines. The arrival time of job J j is r j , the due date is d j , the processing time is p j , the completion time is C j , and the tardiness is T j = max{0, C j - d j}. The processing of job J j cannot be interrupted. During the production process, the machine needs to perform flexible preventive maintenance PM, that is, the continuous processing time or age of the machine cannot exceed the limit value UT, and the duration of each maintenance is t. The optimization objective is to simultaneously minimize the makespan C max = max{C j} and the sum of job tardiness ∑T j ; The decision content is to determine the assignment and processing order of jobs on the machines; Step 2.2: Determine the quantity based on the proportions of MODD, ATC, X-RM, and the random rule in the initial population, i.e., N = n MODD + n ATC + n X-RM + n Random ; Step 2.3: Initialize the completion time of each machine C1 = C2 = … = C m = 0, the earliest start time t1 = t2 = … = t m = 0, the age Age1 = Age2 = … = Age m = 0, the sum of tardiness time ∑T j = 0, the set of scheduled jobs SJ1 = SJ2 = … = SJ m = φ, the set of unscheduled jobs USJ = {J1, J2, …, J n}, the number of jobs n, the maintenance limit value UT, the maintenance duration t, the population size N, the job index j = 1, the machine index k = 1: Step 2.4: Generate an initial solution set with a quantity of n MODD using the MODD rule, including the following steps; Step 2.4.1: Determine whether USJ = {φ}; if so, end; otherwise, go to Step 2.4.2; Step 2.4.2: Select J j ∈ USJ, go to Step 2.4.3; Step 2.4.3: When the number of machines k ≤ m, go to Step 2.4.4; otherwise, go to Step 2.4.5 Step 2.4.4: Calculate the service age Age of the machine k = Age k + p j ; If Age k > UT, then t k = t k + t, Age k = p j , d′ jk = max{d j , max{r j , t k}+ p j}; Otherwise, Age k = Age k + p j , d′ jk = max{d j , max{r j , t k}+ p j}; Let k = k + 1, and return to Step 2.4.3; Step 2.4.5: Workpiece J j of d' j = min{d' jk}; Step 2.4.6: Let j = j + 1, and return to Step 2.4.2; Step 2.4.7: Sort the workpieces according to the d′ j value of workpiece J in USJ j such that the workpiece with a smaller d′ j value is sorted earlier; when the d′ j values are the same, the one with an earlier due date is sorted earlier; if the due dates are the same, the workpiece with a smaller serial number is sorted earlier, obtaining the sorting result π = {J [1] , J [2] , …, J [|USJ|]}; Step 2.4.8: When k ≤ m, go to Step 2.4.9, otherwise, go to Step 2.4.11; Step 2.4.9: When j ≤ |USJ|, go to Step 2.4.10; Step 2.4.10: Determine whether r [j] ≤t k holds; if it holds, then Age k = Age k + p [j] , if Age k > UT, then t k = t k + t, Age k = p [j] , C [j]k = max{r j , t k}+ p [j] ; otherwise, Age k = Age k + p [j] , C [j]k = max{r j , t k}+ p [j] ; Step 2.4.11: C [j]h = min{C [j]k}, arrange the first currently arrived job J [j] in set π to machine h, and update C h = C [j]h , Age h , t h , SJ h = SJ h ∪ J [j] , USJ = USJ / J [j] and ∑T j ; Return to Step 2.4.1; Step 2.4.12: Loop through Steps 2.4.1 to 2.4.11 to generate an initial solution set of size n MODD ; Step 2.5: Generate an initial solution set with a quantity of n ATC ; Step 2.6: Generate an initial solution set with a quantity of n X-RM using the X-RM rule; Step 2.7: Randomly assign n workpieces to m machines to generate an initial solution set with a quantity of n Random ; Step 2.8: Combine the initial solution sets generated by the four rules of MODD, ATC, X-RM, and random rules to form the initial population P t ; The decoding method of dynamic programming in S2 and S6 is carried out according to the following steps: Step 3.1: Initialization. Each individual in the population is divided into m segments, that is, m machines, and there are n i workpieces on each machine. When decoding the sorting of workpieces on machine M i , set the set of the sorting of k workpieces on machine i as Δ k = {J [1] , J [2] , …, J [k]}. The set composed of the last g workpieces in Δ k is Use Z0(Δ k ) and Z1(Δ k ) to represent the C max value and ∑T j value of the sorting of k workpieces respectively. Then Z0(Δ 0 ) = 0, Z1(Δ 0 ) = 0. The C max value and ∑T j value of the sorting of k workpieces are represented by the state function of the kth stage, as shown in formula (1). The calculation methods of the C max value and ∑T j value are shown in formulas (2) and (3); Step 3.2: Decoding and objective value calculation based on dynamic programming, including the following steps: Step 3.2.1: Initialize parameters; Machine M i Set of completion times Z0(Δ 0 ) = 0, Z1(Δ 0 ) = 0, assign values to the UT and t parameters, set the chromosome index h = 1 in the population, the machine index i = 1 in each chromosome, and the workpiece position index k = 1 on the machine; Step 3.2.2: Determine whether the population size h > N holds; if so, end, otherwise go to the next step; Step 3.2.3: Determine the set Δ of the first k workpieces in front of each machine k ={J [1] , J [2] ,.., J [k]}; Step 3.2.4: Starting from the workpiece position g = 1, calculate the C value and T i value of the workpiece sorting in the i workpiece set according to the following method; If g = 1, there are the following two cases: If k = g, then If k > g, then If g > 1, there are the following two cases: When Then: When Then: Step 3.2.5: Let g = g + 1; determine whether g is less than k, if so, return to Step 3.2.4; otherwise go to the next step. Step 3.2.6: Let k = k + 1, and determine whether k > n i holds; if so, let C i = Z0(Δ k ), MC = MC ∪ {C i}, T i = Z1(Δ k ); otherwise, return to Step 3.2.

3. Step 3.2.7: Let i = i + 1, and go to the next step; Step 3.2.8: Determine whether the number of machines i > m holds, if so, go to the next step; Otherwise, return to Step 3.2.3; Step 3.2.9: Calculate C max = max{C i , C i ∈ MC}, Let h = h + 1, and return to Step 3.2.2; The selection, crossover and mutation methods in Step S4 are carried out according to the following steps: Step 4.1: According to the hierarchical results of fast non-dominated sorting, use two selection rules, IC1 and IC2, to perform individual replication; Rule IC1 randomly selects half of the chromosomes from each level; Rule IC2 uses the tournament method to select individuals; Rule IC2 randomly selects three individuals each time for pairwise comparison and selects the two superior individuals; Loop operations of IC1 and IC2 until N individuals are selected; Rule IC1 can increase the diversity of the population and prevent the algorithm from converging too fast; The operation of Rule IC2 can reduce the loss of effective genes and better retain the best individuals; Step 4.2: Use a dynamic adaptive crossover probability and perform crossover using the two-point crossover method; the calculation method of the adaptive crossover probability is where g represents the current number of iterations, G represents the total number of iterations to be performed, and p c is the basic crossover probability; according to the determined adaptive crossover probability, perform crossover in the two-point crossover manner; randomly select a chromosome p in the first layer of non-dominated sorting from the population N x and a chromosome p in other layers y as the parents; randomly select a segment of genes in [1, n + m - 1] in each parent for exchange, and the remaining genes are determined by mapping; if the generated offspring is better than the parent p y , then retain it; otherwise, retain the original two parent chromosomes; Step 4.3: Use dynamic adaptive mutation probability and perform individual mutation using two mutation methods; the calculation method of the adaptive mutation probability is where g represents the current number of iterations, G represents the total number of iterations to be performed, and p m is the basic mutation probability; according to the adaptive mutation probability, two mutation methods, MO1 and MO2, are adopted for the mutation operations of the first 50% of the generations of the population and the last 50% of the generations of the population respectively; The MO1 operator randomly selects an individual and a segment of genes, and the length of the gene segment is Reverse the order of the workpieces within the gene segment; the MO2 operator randomly selects an individual and exchanges two genes; if the randomly selected gene is 0, re-selection is required.

2. The fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem according to claim 1, wherein The number of ATC rules generated in step 2.5 is n ATC The method for generating the initial solution set including the number of MODD rules generated is n MODD Steps 2.4.1 - 2.4.6 and steps 2.4.8 - 2.4.12 in the method for generating the initial solution set, step 2.4.7 is: workpiece J j The sorting index on machine k is t k Refers to the current completion time of the machine where the workpiece can be arranged Indicates at time t k The average processing time of the remaining unarranged workpieces, k is a parameter. For dynamic problems, k = 2; workpiece J j 's π j = min{π jk}, the smaller the π j value, the earlier the sorting; when the π j values are the same, the one with the earlier due date is arranged in the front; if the due dates are the same, the workpiece with the smaller serial number is arranged in the front.

3. The fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem according to claim 2, wherein The number of X-RM rules generated in step 2.5 is n X-RM The method for generating the initial solution set including the number of MODD rules generated is n MODD Steps 2.4.1 - 2.4.6 and steps 2.4.8 - 2.4.12 in the method for generating the initial solution set, and step 2.4.7 is: workpiece J j The sorting index on machine k is That is t k Refers to the current completion time of the machine where the workpiece can be arranged Indicates at time t k The average processing time of the remaining unarranged workpieces, and the B value is determined to be 1.6 through preliminary experiments; workpiece J j The θ of j = min{θ jk}, θ j The smaller the θ value, the earlier the sorting; when the θ j values are the same, the one with an earlier due date is sorted first; if the due dates are the same, the workpiece with a smaller serial number is sorted first.

4. The fast non-dominated sorting genetic algorithm for the dynamic equivalent parallel machine scheduling problem according to claim 1, characterized in that The neighborhood search method in Step S7 is carried out according to the following steps: Step 5.1: Initialize; the individual serial number k = l in the population, and the population size N; Step 5.2: Calculate the average value of the maximum completion time MaxC of the individuals with the largest maximum completion time in the population max and the minimum completion time MinC max in the population Calculate the average value of the maximum total tardiness time Max∑T j and the minimum total tardiness time Min∑T j in the population Step 5.3: Determine whether k ≤ n k holds, where n k represents the number limit of neighborhood search; if so, end; otherwise, go to the next step; Step 5.4: Determine whether the target value of individual q k meets If not, go to the next step; if so, randomly select one of the two M-neighborhood search methods to generate a new solution and compare it with the original solution. If the new solution is better than the original solution, replace the original solution with the new solution; otherwise, retain the original solution. The purpose of the M-neighborhood search method is to improve the C max objective, which is divided into two types: M-insertion and M-exchange; M-insertion: Select the batch with wasted time from the machine with the minimum completion time, search for the workpiece with a processing time equal to or less than the maximum wasted time in the machine with the maximum completion time, and insert it into the selected batch of the machine with the minimum completion time; M-exchange: Select the workpiece with a longer processing time from the machine with the maximum completion time and exchange it with the workpiece with a shorter processing time selected from the machine with the minimum completion time; the difference in processing time of the exchanged jobs should be less than the difference in completion time of the two machines; Step 5.5: Determine the objective value of the k-th individual Is it true? If not, go to the next step; if so, randomly select one of the two T-neighborhood search methods to generate a new solution and compare it with the original solution; if the new solution is better than the original solution, replace the original solution with the new solution, otherwise keep the original solution; the purpose of the T-neighborhood search method is to improve the ∑T j objective, which is divided into two types: T-insertion and T-exchange; T-insertion: On the premise of meeting the release time constraint, select the workpiece with the shortest processing time among the tardy workpieces and insert it one by one into the position before the workpiece with a due date larger than this workpiece; T - swapping: On the premise of meeting the delivery time constraint, select the job with the longest processing time among the tardy jobs, and swap positions with the jobs whose due dates are smaller than that of this job one by one after it; Step 5.6: Let k = k + 1, and return to Step 5.3.

Citation Information

Patent Citations

  • Method for designing spatial information network routing strategy under SDN architecture

    CN110493131A

  • Method for solving shop energy-saving scheduling problem based on improved NSGA-II algorithm

    CN110543151A