Flexible manufacturing system multi-objective optimization scheduling method based on Petri network and improved NSGA-II

Through the Petri network and improved NSGA-II method, the scheduling complexity problem of flexible manufacturing system is solved, and the scheduling sequence that meets the optimization goals is quickly found, which improves production efficiency and machine utilization.

CN119781398APending Publication Date: 2025-04-08NANTONG UNIV
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411891204.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

The scheduling problems of flexible manufacturing systems are complex and difficult to solve. Especially when the scale is large, it is difficult for the prior art to quickly find a scheduling sequence that meets the optimization goals, resulting in low production efficiency, high energy consumption and low machine utilization.

Method used

Using the multi-objective optimization scheduling method of flexible manufacturing system based on Petri network and improved NSGA-II, we realize multi-objective optimization scheduling of flexible manufacturing system by building Petri network model and improving NSGA-II algorithm, and quickly find a scheduling sequence that meets the optimization goals.

Benefits of technology

It improves scheduling speed, increases machine utilization, reduces energy consumption, and increases production quantity, significantly improving the production efficiency of flexible manufacturing systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119781398A_ABST
    Figure CN119781398A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of production scheduling of a flexible manufacturing system, and particularly relates to a flexible manufacturing system multi-objective optimization scheduling method based on a Petri network and an improved NSGA-II. The method comprises the following steps: establishing a Petri net model, determining NSGA-II algorithm parameters, encoding and decoding, generating an initialized population, detecting and repairing chromosomes, calculating completion time, total energy consumption and a machine utilization rate and carrying out normalization, rapid non-dominated sorting and crowding degree sorting by visualizing processing procedures of workpieces in the flexible manufacturing system and machine occupation conditions among the workpieces; and carrying out genetic manipulation and outputting a Pareto optimal solution. All chromosomes are adjusted to control feasible chromosomes through a chromosome deadlock detection and repair method, and the chromosomes are decoded into a scheduling sequence. According to the method, the flexible manufacturing system is ensured to carry out optimal scheduling on the production process under the condition of no deadlock, the scheduling sequence meeting the optimization target requirement can be quickly found, the scheduling speed is improved, the machine utilization rate is increased, the energy consumption is reduced, and the production quantity is increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of production scheduling of flexible manufacturing systems, and in particular relates to a multi-objective optimization scheduling method for flexible manufacturing systems based on Petri nets and improved NSGA-II. Background Art

[0002] Flexible Manufacturing System (FMS) is an automated manufacturing system with CNC machine tools as the core, interconnected by various types of transportation equipment, and uniformly controlled and managed by a central computer. It can perform multiple production tasks at the same time and has a high degree of flexibility. With the continuous advancement of science and technology and the increasing diversification and personalization of customer needs, whether an enterprise can quickly respond to the dynamic changes of the market, produce a variety of high-quality, low-cost products, and effectively utilize shared resources such as robots, automatic guided vehicles and processing equipment has become a key factor in determining the market competitiveness of an enterprise. Therefore, flexible manufacturing systems that adapt to modern production models have received more and more attention and importance in the manufacturing industry.

[0003] In flexible manufacturing systems, it is crucial to develop an efficient scheduling plan. It can not only significantly improve production efficiency, but also reduce production costs, reasonably and evenly allocate resources, and thus improve the overall production efficiency of the enterprise. However, the scheduling problem of flexible manufacturing systems has been proven to be an NP (Non deterministic Polynomial) hard problem, especially when the scheduling scale is large, the problem becomes more complicated and difficult to solve. In addition, in the actual production process of the enterprise, various operations usually have strict process requirements, which is equivalent to introducing more constraints, further increasing the complexity of the scheduling problem. Therefore, the scheduling problem of flexible manufacturing systems has always been one of the hot topics in the field of manufacturing systems.

[0004] In the literature (Developing two multi-objective evolutionary algorithms for themulti-objective flexible job shop scheduling problem), Rahmati et al. proposed a flexible job shop scheduling method based on a non-dominated sorting genetic algorithm. By coordinating the relationship between various objective functions, the optimal solution set that makes each objective function reach the optimal function value as much as possible is found. However, in practical applications, it is found that the non-dominated sorting genetic algorithm has shortcomings, mainly manifested in the large amount of non-dominated sorting calculations and the weak algorithm selection ability during genetic operations. Summary of the invention

[0005] The purpose of the present invention is to overcome the shortcomings of the prior art and provide a multi-objective optimization scheduling method for a flexible manufacturing system based on Petri nets and improved NSGA-II for a flexible manufacturing system, which can quickly find a scheduling sequence that meets the optimization target requirements, improve the scheduling speed, increase the utilization rate of the machine, reduce energy consumption, and increase the production quantity.

[0006] In order to achieve the above-mentioned purpose, the present invention adopts the following technical solutions:

[0007] The multi-objective optimization scheduling method of flexible manufacturing system based on Petri net and improved NSGA-II includes the following steps:

[0008] S1. Modeling: According to the processing procedures of the workpieces in the flexible manufacturing system and the machine occupancy between the workpieces, a Petri net model (N, M0) and its association matrix A that can express the discrete parallel system are constructed, and the following symbols are defined:

[0009] N: A Petri net N = (P, T, F) consisting of circular nodes, square nodes and directed arcs, representing a flexible manufacturing system consisting of m machines and capable of processing n types of workpieces;

[0010] P: Place set Where P i0 =P is ∪P if represents the set of idle places, P is is the upload buffer of the i-th type of artifact, P if is the corresponding unload buffer, p ij represents the place corresponding to the jth operation of the i-th type of workpiece, P r Represents the collection of resource libraries;

[0011] T: transition set, consisting of all square nodes in N. Each transition t represents the end of the previous process and the beginning of the next process, and also represents the release of resources used by the previous process and the application of resources used by the next process;

[0012] F: a directed arc set, representing the processing flow of each workpiece in the system and the demand and release of resources for each processing step during the processing;

[0013] M: P→N is an identifier, N is a non-negative integer set, indicating the processing status of the system, and each number of the identifier represents the number of workpieces or resources contained in each library; M0 is the initial identifier, indicating that the system has not started processing, the workpiece is in the upload buffer, and the resources are not occupied;

[0014] A: The incidence matrix, which represents the changing pattern of the number of tokens in each repository under each transition in N. It is a matrix with |T| rows and |P| columns.

[0015] The flexible manufacturing system model comprehensively considers factors such as processing time, energy consumption and equipment utilization. Under the premise of satisfying process constraints, resource constraints and control constraints, that is, no deadlock, three optimization goals are established: completion time F1, total energy consumption F2 and machine utilization F3, namely:

[0016] F1=min{MakeSpan}

[0017] MakeSpan=max{C k}

[0018] F2=min{E}

[0019]

[0020] D pk (t) = D pk (t)+Jtime-Stime

[0021] F3=min{LB}

[0022]

[0023] Among them, C k is the completion time of the last process of the kth workpiece, k = 1, 2, ..., p; p is the total number of workpieces; Makespa n is the maximum time for all workpieces to be processed; E is the total processing energy consumption; For machine p k The total processing time; Stime and Jtime are the start processing time and end processing time of the machine when processing a certain workpiece; ST[p k ] and ET[p k ] are respectively machine p k The first processing start time and the last processing end time; is the processing power; is the standby power; is the no-load power; LB is the machine utilization rate;

[0024] S2. Determine the parameters of the NSGA-Ⅱ algorithm: Determine the various parameters used by the algorithm, including the population size Popsize, the maximum number of iterations Maxgen, the cross factor CrossFactor, and the mutation factor P m ,SelectFactor;

[0025] S3, encoding and decoding: First, number all the workpieces and processing paths to be processed respectively, and use the order of appearance of the workpiece serial number to represent the processing order. The number of times each workpiece appears in the code must be equal to the number of its processes; the code of the problem solution is the combination sequence of the workpiece number and the path number, called the gene sequence; the gene sequence is composed of the operation gene and the path gene, the operation gene is in the front, and the path gene is connected in sequence. The operation gene represents the workpiece processing order, and its total length is the total number of processes required to process all the workpieces; the path gene represents the path selection, and its total length is the total number of workpieces;

[0026] Through the above encoding, it is possible to directly decode in reverse, that is, to directly decode the sequence into a scheduling sequence that satisfies the operation constraints. For the same type of workpiece, if the processing path is different, the changes obtained during decoding are also different;

[0027] S4, generate the initialization population: the initial population consists of chromosomes of a fixed size, where the size is the population size determined in S2; check whether each randomly generated chromosome meets the coding requirements of S3, and if not, make corrections; where gen represents the number of iterations of the population, and gen=0 represents the 0th generation population, i.e., the initialization population;

[0028] S5, deadlock detection and repair: Combined with the association matrix A and the initial identifier M0, deadlock detection and repair are performed on the chromosome to ensure that the repaired gene sequence can meet resource constraints, processing order constraints and control constraints;

[0029] S6. Normalize the evaluation index: Select three explanatory factors, namely, completion time MakeSpan, total energy consumption E and machine utilization rate LB, to characterize the evaluation index of the flexible manufacturing system. Calculate the three indexes respectively and normalize them. The normalization formula is as follows:

[0030]

[0031] Among them, X is the original value of the evaluation index, X' is the normalized value of the evaluation index, min is the minimum function, and max is the maximum function;

[0032] S7, non-dominated sorting and crowding distance calculation: Combine the three indicators of completion time MakeSpan, total energy consumption E and machine utilization rate LB and the normalized value X' to perform fast non-dominated sorting on the individuals in the population and calculate the crowding distance of each individual in its layer;

[0033] S8, termination rule judgment: judge whether the termination rule is satisfied, that is, gen>Maxgen; if so, go to S11 and the program ends; if not, execute S9;

[0034] S9, Normalization of fitness value: The fitness value of an individual is calculated by its non-dominated layer and its crowding distance; to facilitate subsequent calculations, the fitness value is normalized, and the formula is as follows:

[0035]

[0036] Among them, Adapt is the fitness value of the individual, Adapt' is its corresponding normalized value, rank is the non-dominated layer where the current individual is located, d is the crowding distance of the current individual, λ, k1, k2 are constants;

[0037] S10, genetic operation: genetic operation includes selection operation, crossover operation and mutation operation; after the genetic operation is completed, all parent individuals and offspring obtained by genetic operation are merged into a new population, that is, gen=gen+1; return to S5 to perform feasibility detection and repair operations on each chromosome in the new population; re-execute S6-S7, starting from the first layer of non-dominated sorting, select Popsize individuals in turn, if the number of individuals in the first layer is less than Popsize, select from the second layer, and so on; if the number of individuals to be selected in the same layer is less than the total number of individuals in the layer, individuals with large crowding distance are selected first to facilitate maintaining the diversity of solutions;

[0038] S11. Output the optimal solution: Output the solution in the Pareto optimal frontier. After satisfying the termination rule of S8, output the scheduling sequence corresponding to the solution that meets the requirements to complete the optimal scheduling of the flexible manufacturing system.

[0039] As a preferred technical solution of the present invention, in S4, the improved Circle chaos mapping law is used to generate the initial population, improve the discreteness and uniformity of the sequence, and reduce the probability of occurrence of repeated numbers, thereby improving the search efficiency and maintaining the diversity of the search process. The specific formula is as follows:

[0040]

[0041] Among them, θ n is the phase of the nth iteration.

[0042] As a preferred technical solution of the present invention, in S5, the chromosome is deadlocked and repaired by combining the association matrix A and the initial identifier M0 to ensure that the repaired gene sequence can meet the control constraints and resource constraints. The specific steps are as follows:

[0043] S5-1: Set u=1 to record the transition number currently detected;

[0044] S5-2: Determine whether u is greater than the length of the transition sequence. If so, repair the gene sequence. Otherwise, set the uth transition in the transition sequence to t. α , execute S5-3;

[0045] S5-3: Check transition t α Is it enabled under the current flag? If it is enabled, execute S5-4. Otherwise, select t α The next transition after t is placed before this transition and t is updated. α , re-execute this step;

[0046] S5-4: Using the one-step-ahead method to determine the transition t α Is it allowed to trigger? If not allowed, select t α The next transition after t is placed before this transition and t is updated. α , re-execute S5-3; otherwise, execute S5-5;

[0047] S5-5: Determine the transition t α Whether the corresponding processing step meets the processing sequence constraint, if not, select t α The next transition after t is placed before this transition and t is updated. α , re-execute S5-3; otherwise, execute S5-6;

[0048] The workpiece processing sequence constraints are as follows:

[0049] Suppose there is a mark M0, under which t 11 Cannot be triggered. From S5-4 to S5-6, the transition that can be triggered under the current mark is t 22 , the workpiece whose index number in the encoding array corresponds to 13, which actually means the second process of the 13th workpiece. Insert this transition into the currently disabled transition t 11 Before, but now if the 16th index in the encoding array is also workpiece 13, the corresponding transition is t 21 , which actually means the first process of the 13th workpiece. At this time, after the repair, workpiece 13 first performs the second process and then the first process, which violates the processing order of the workpiece. Therefore, the workpiece processing order constraint is added during the repair transition to determine whether the workpiece corresponding to the selected transition meets the conditions:

[0050] Determine the index numbers corresponding to the currently disabled transition and the enabled transition selected in S5-4, respectively. The workpiece number corresponding to the selected enabled transition cannot appear between the workpiece numbers corresponding to the two index numbers in the encoding array.

[0051] S5-6: Triggering α , update the current flag, set u=u+1, and execute S5-2;

[0052] Repeat the above steps to complete chromosome deadlock detection and repair.

[0053] As a preferred technical solution of the present invention, in S7, the normalized values ​​X' of the completion time MakeSpan, the total energy consumption E and the machine utilization rate LB are combined to perform fast non-dominated sorting and crowding distance calculation. The specific steps are as follows:

[0054] S7-1, fast non-dominated sorting: For each individual, compare its normalized X' with the three normalized indices of the other individuals, and obtain the dominant individual of each individual according to the definition of dominance. The definition of dominance is as follows:

[0055]

[0056] where X' i (a) represents the normalized value of individual a on the i-th evaluation index, X' i (b) represents the normalized value of individual b on the i-th evaluation index. If the above inequality is satisfied, that is, for any evaluation index, X' i (a) are greater than or equal to X' i (b) and there exists at least one index such that X' i (a)>X' i (b), then individual a dominates individual b;

[0057] If there exists an index such that X' i (a) <X' i (b), then individuals a and b do not dominate each other; repeat the above steps to obtain the dominance relationship between any two individuals in the population;

[0058] Individuals that are not dominated by any individual are marked as the optimal individuals on the Pareto front and placed in the first layer. Then, for each individual, remove the individuals that have been stratified from the corresponding dominated individuals, update the dominance of the remaining individuals, and find a new non-dominated layer. Repeat the same operation to construct other non-dominated layers, thereby completing fast non-dominated sorting.

[0059] S7-2. Calculation of crowding distance: crowding distance is used to measure the distribution density of individuals in the target space. The larger the crowding distance, the sparser the area where the individual is located, which helps to maintain the diversity of solutions. For the individuals in each layer after non-dominated sorting, the numbers in each evaluation index are sorted in ascending order, and the distance between each individual and the adjacent individual under each index is calculated. The distance of each individual under all indicators is summed to obtain its crowding distance. The specific formula is as follows:

[0060]

[0061] Among them, d' ij is the distance between the jth individual and its neighboring individuals on each evaluation index, d jis the crowding distance of the jth individual, m is the total number of individuals in the current layer, j' is the rank of the jth individual in the i-th evaluation index, n is the number of evaluation indicators, X i (j) represents the value of the jth individual on the i-th evaluation index, and k3 and k4 are constants.

[0062] As a preferred technical solution of the present invention, in S10, genetic operations are performed on chromosomes in the population to obtain a new generation of populations. The genetic operations include selection, crossover and mutation. The specific steps are as follows:

[0063] S10-1, selection operation: Introduce the elite storage strategy to store the top 10% of the best population individuals in terms of fitness value. For the remaining population, the roulette selection method is used for selection. The probability of each individual being selected is proportional to its fitness value. The formula for the probability of individual selection and the cumulative probability of chromosomes is as follows:

[0064]

[0065] Randomly generate a random number rand in [0,1]. If Q(x i )≤rand means that the i-th individual is selected, and the process is repeated to obtain a population containing Selectnum×Popsize individuals;

[0066] S10-2, crossover operation: Generate a random number rand between [0,1]. If rand is less than the crossover factor CrossFactor, use the POX crossover method for every two chromosomes in the population; chromosomes p1 and p2 cross to generate two offspring c1 and c2. The crossover process is as follows:

[0067] S10-2-1: Randomly divide the artifact set into two non-empty subsets J1 and J2;

[0068] S10-2-2: copy the process of the workpiece in p1 that belongs to the workpiece in workpiece set J1 to c1, and copy the process of the workpiece in p2 that belongs to the workpiece in workpiece set J1 to c2, and keep their positions;

[0069] S10-2-3: copy the process of the workpiece in p1 that belongs to the workpiece in workpiece set J2 to c2, and copy the process of the workpiece in p2 that belongs to the workpiece in workpiece set J2 to c1, preserving their order;

[0070] S10-3, mutation operation: In order to avoid the overall quality of the population being reduced due to the mutation of excellent chromosomes, a linear adaptive mutation probability is used. By comparing the current chromosome fitness value with the current population fitness value, the different contributions of different chromosomes to the algorithm evolution are determined to ensure that excellent chromosomes can be inherited to the next generation. The linear adaptive mutation rate expression is as follows:

[0071]

[0072] Among them, f max represents the maximum fitness in the population, f avg Represents the average value of the population fitness, f m represents the fitness value of the mutant individual, k5 and k6 are constants;

[0073] Select a chromosome and generate a random number rand between [0,1]. If rand is less than the adaptive mutation rate, perform mutation operation on the individual. The operation is as follows: for the process code, randomly select two different types of workpieces in the chromosome and exchange the positions in the encoding array corresponding to their processing processes;

[0074] For the path code, since the second type of workpiece has two processing paths to choose from, when the chromosome mutates, the processing path of the second type of workpiece changes to another path;

[0075] S10-4. After the genetic operation is completed, all parent individuals and the offspring obtained through the genetic operation are merged into a new population, that is, gen=gen+1; return to S5 to perform feasibility detection and repair operations on each chromosome in the new population; re-execute S6 to S7, starting from the first layer of non-dominated sorting, select Popsize individuals in turn. If the number of individuals in the first layer is less than Popsize, select from the second layer, and so on; if the number of individuals to be selected in the same layer is less than the total number of individuals in the layer, individuals with a large crowding distance are selected first to facilitate maintaining the diversity of solutions.

[0076] The multi-objective optimization scheduling method for a flexible manufacturing system based on Petri net and improved NSGA-II of the present invention adopts the above technical solution and has the following technical effects compared with the prior art:

[0077] (1) Based on the Petri net model of the flexible manufacturing system, the present invention proposes a new scheduling strategy; through detection and repair, all chromosomes are adjusted to feasible chromosomes, and decoded into feasible scheduling sequences, ensuring that the flexible manufacturing system optimizes the production process without deadlock, and quickly finds the scheduling sequence that meets the optimization target requirements, thereby improving the scheduling speed, increasing the utilization rate of the machine, reducing energy consumption, and increasing the production quantity.

[0078] (2) The present invention optimizes and improves the NSGA-II algorithm during the design of the scheduling strategy. First, the improved Circle chaos mapping method is used to generate the initial population, so that the population distribution is more uniform. Secondly, the fast non-dominated sorting method is used to reduce redundant calculations and improve the calculation efficiency. In the selection operation of the legacy operation, the elite retention strategy and the roulette method are used to select the better individuals for operation according to the size of the fitness value. In the crossover operation, the POX (precedence operation crossover) crossover method is used to effectively expand the range of neighborhood solutions. In the mutation operation, a linear adaptive mutation operator is used. Since the chromosome gene is divided into two parts, the path gene and the process gene, the present invention performs mutation operations on these two parts at the same time, which makes the operation steps simple, the production efficiency is greatly improved, and the application environment is friendly. BRIEF DESCRIPTION OF THE DRAWINGS

[0079] Figure 1 A schematic diagram of a scheduling process involved in the present invention;

[0080] Figure 2 A Petri net model of a tool cutting production unit in an embodiment of the present invention;

[0081] Figure 3 This is a schematic diagram of POX cross operation;

[0082] Figure 4 This is a schematic diagram of process variation operation;

[0083] Figure 5 This is a schematic diagram of the path mutation operation;

[0084] Figure 6 It is the Pareto frontier distribution diagram;

[0085] Figure 7 This is the Gantt chart corresponding to a solution in the Pareto optimal frontier. DETAILED DESCRIPTION

[0086] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, some symbols in the embodiments of the present application are first explained to facilitate understanding by those skilled in the art.

[0087] like Figure 1 As shown, the multi-objective optimization scheduling method for a flexible manufacturing system based on Petri net and improved NSGA-II of the present invention specifically includes the following steps:

[0088] Step 1) (Modeling): According to the processing procedures of the workpieces in the flexible manufacturing system and the machine occupancy between the workpieces, a Petri net model (N, M0) and its association matrix A that can express the discrete parallel system are constructed, and the following symbols are defined:

[0089] N: A Petri net N = (P, T, F) consisting of circular nodes, square nodes and directed arcs, representing a flexible manufacturing system consisting of m machines and capable of processing n types of workpieces;

[0090] P: Place set Where P i0 =P is ∪P if represents the set of idle places, P is is the upload buffer of the i-th type of artifact, P if is the corresponding unload buffer, p ij represents the place corresponding to the jth operation of the i-th type of workpiece, P r Represents the collection of resource libraries;

[0091] T: transition set, consisting of all square nodes in N. Each transition t represents the end of the previous process and the beginning of the next process, and also represents the release of resources used by the previous process and the application of resources used by the next process;

[0092] F: a directed arc set, representing the processing flow of each workpiece in the system and the demand and release of resources for each processing step during the processing;

[0093] M:P→N is an identifier (N is a non-negative integer set), which indicates the processing status of the system. Each number of the identifier represents the number of workpieces or resources contained in each library. Among them, M0 is the initial identifier, which means that the system has not started processing, the workpiece is in the upload buffer, and the resources are not occupied;

[0094] A: The incidence matrix, which represents the changing pattern of the number of tokens in each repository under each transition in N. It is a matrix with |T| rows and |P| columns.

[0095] This paper comprehensively considers factors such as processing time, energy consumption and equipment utilization for the flexible manufacturing system model. Under the premise of meeting process constraints, resource constraints and control constraints (no deadlock), three optimization goals are established: completion time (F1), total energy consumption (F2) and machine utilization (F3), namely:

[0096] F1=min{MakeSpan}

[0097] MakeSpan=max{C k}

[0098] F2=min{E}

[0099]

[0100] F3=min{LB}

[0101]

[0102] Among them, C k is the completion time of the last process of the kth workpiece, k = 1, 2, ..., p (p is the total number of workpieces); Makespan is the maximum time for all workpieces to be processed. E is the total processing energy consumption; For machine p k The total processing time; Stime and Jtime are the start processing time and end processing time of the machine when processing a certain workpiece; ST[p k ] and ET[p k ] are respectively machine p k The first processing start time and the last processing end time; is the processing power; is the standby power; is the no-load power; LB is the machine utilization rate.

[0103] Step 2) (Determine NSGA-Ⅱ algorithm parameters): Determine the various parameters used by the algorithm, including population size Popsize, maximum number of iterations Maxgen, cross factor CrossFactor, and mutation factor P m ,SelectFactor;

[0104] Step 3) (Encoding and decoding): First, number all the workpieces to be processed and the processing paths (because the research object is a flexible manufacturing system, there can be multiple processing paths for each type of workpiece) respectively, and use the order of appearance of the workpiece serial number to represent the processing order. The number of times each workpiece appears in the code must be equal to the number of its processes. The encoding of the solution to the problem is the combined sequence of the workpiece number and the path number, called the gene sequence; the gene sequence is composed of the operation gene and the path gene, the operation gene is in the front, and the path gene is connected in sequence. The operation gene represents the workpiece processing order, and its total length is the total number of processes required to complete the processing of all workpieces; the path gene represents the path selection, and its total length is the total number of workpieces.

[0105] Through the above encoding scheme, reverse decoding can be directly performed, that is, the sequence can be directly decoded into a scheduling sequence that satisfies the operation constraints. For the same type of workpiece, if the processing path is different, the changes obtained during decoding are also different;

[0106] Step 4) (Generate initial population): The initial population consists of chromosomes of a fixed size, and the specific size is the population size determined in step 2). The initial population is generated using the improved Circle chaos mapping law to improve the discreteness and uniformity of the sequence and reduce the probability of repeated numbers, thereby improving the search efficiency and maintaining the diversity of the search process. The specific formula is as follows:

[0107]

[0108] Among them, θ n is the phase of the nth iteration.

[0109] Check whether each randomly generated chromosome meets the coding requirements of step 3). If not, make corrections; where gen represents the number of iterations of the population, and gen=0 represents the 0th generation population, i.e., the initialized population;

[0110] Step 5) (Deadlock detection and repair): Combine the association matrix A and the initial identifier M0 to perform deadlock detection and repair on the chromosome to ensure that the repaired gene sequence can meet the resource constraints, processing order constraints and control constraints. The specific steps are as follows:

[0111] Step 5-1): Set u=1 and record the transition number of the current detection;

[0112] Step 5-2): Determine whether u is greater than the length of the transition sequence. If so, repair the gene sequence. Otherwise, set the uth transition in the transition sequence to t. α , execute step 5-3);

[0113] Step 5-3): Check transition t α Is it enabled under the current flag? If it is enabled, execute step 5-4), otherwise select t α The next transition after t is placed before this transition and t is updated. α , re-execute this step;

[0114] Step 5-4): Use the one-step-ahead method to determine the transition t α Is it allowed to trigger? If not allowed, select t α The next transition after t is placed before this transition and t is updated. α , re-execute step 5-3); otherwise, execute step 5-5);

[0115] Step 5-5): Determine the transition t α Whether the corresponding processing step meets the processing sequence constraint, if not, select t α The next transition after t is placed before this transition and t is updated. α , re-execute step 5-3); otherwise, execute step 5-6);

[0116] The workpiece processing sequence constraints are as follows:

[0117] Assume that there is a mark M0, under which t 11 It cannot be triggered. From step 5-3) to step 5-4), we can get the transition that can be triggered under the current mark as t 22 , the workpiece whose index number in the encoding array corresponds to 13, which actually means the second process of the 13th workpiece. Insert this transition into the currently disabled transition t 11 Before, but now if the 16th index in the encoding array is also workpiece 13, the corresponding transition is t 21 , which actually means the first process of the 13th workpiece. At this time, after the repair, workpiece 13 first performs the second process and then the first process, which violates the processing order of the workpiece. Therefore, the workpiece processing order constraint is added during the repair transition to determine whether the workpiece corresponding to the selected transition meets the conditions:

[0118] Determine the index numbers corresponding to the currently disabled transition and the enabled transition selected in step 5-4), respectively. The workpiece number corresponding to the selected enabled transition cannot appear between the workpiece numbers corresponding to the two index numbers in the encoding array.

[0119] Step 5-6): Trigger t α , update the current flag, set u = u + 1, and execute step 5-2)

[0120] Repeat the above steps to complete the chromosome detection and repair.

[0121] Step 6) (Normalize the evaluation index): Select the completion time MakeSpan, total energy consumption E and machine utilization LB as three explanatory factors to characterize the evaluation index of the flexible manufacturing system, calculate the three indexes respectively and normalize them. The specific steps are as follows:

[0122] Step 6-1) (Calculate MakeSpan): Calculate the processing time of the flexible manufacturing system based on the time allocation principle of the Gantt chart, determine the idle time of the machine used in the current process, compare it with the estimated completion time of the previous process of the workpiece corresponding to the process, and take the larger value of the two as the start time of the current process, which is also the release time of the resources occupied by the previous process and the actual completion time of the previous process. The start time plus the operation time of the current process is the estimated completion time of the current process. After calculating all processes, the completion time of the last process of the system is the MakeSpan of the entire process sequence.

[0123] Step 6-2)) (Calculate total energy consumption E): The specific steps are as follows:

[0124] Step 6-2-1): Set i=1, and determine whether i is greater than the length of the transition sequence. If the condition is met, the calculation of the total energy consumption is completed, otherwise, execute step 7-2);

[0125] Step 6-2-2): Record the machine p currently used to process the workpiece k The start processing time STime and the end processing time JTime, let If p k For the first use, the start time of processing is ST[p k ]; if p k It is the last time to use, and the end time of processing is ET[p k ]. The total energy consumption formula is as follows:

[0126]

[0127] Among them, Makespan is the maximum time for all workpieces to be processed; For machine p k The total processing time; Stime and Jtime are the start processing time and end processing time of the machine when processing a certain workpiece; ST[p k ] and ET[p k ] are respectively machine p k The first processing start time and the last processing end time; is the processing power; is the standby power; is the no-load power;

[0128] Step 6-3) (Calculate machine utilization LB): The formula for machine utilization is as follows:

[0129]

[0130] Step 6-4) (Normalization of evaluation indicators): To facilitate subsequent calculations, the three evaluation indicators are normalized. The normalization formula is as follows:

[0131]

[0132] Among them, X is the original value of the evaluation index, X' is the normalized value of the evaluation index, min is the minimum function, and max is the maximum function.

[0133] Step 7) (Non-dominated sorting and crowding distance calculation): Combine the normalized values ​​X' of the completion time MakeSpan, total energy consumption E, and machine utilization rate LB to perform fast non-dominated sorting and crowding distance calculation. The specific steps are as follows:

[0134] Step 7-1) (Fast non-dominated sorting): For each individual, compare its normalized X' with the three normalized indices of the remaining individuals, and obtain the dominant individual of each individual according to the definition of dominance. The definition of dominance is as follows:

[0135]

[0136] where X' i (a) represents the normalized value of individual a on the i-th evaluation index, X' i (b) represents the normalized value of individual b on the i-th evaluation index. If the above inequality is satisfied, that is, for any evaluation index, X' i (a) are greater than or equal to X' i (b) and there exists at least one index such that X' i (a)>X' i (b), then individual a dominates individual b.

[0137] If there exists an index such that X' i (a) <X' i (b), then individuals a and b do not dominate each other; repeat the above steps to obtain the dominance relationship between any two individuals in the population.

[0138] Individuals that are not dominated by any individual are marked as Pareto optimal frontier individuals and put into the first layer; then, for each individual, remove the individuals that have been stratified from the corresponding dominated individuals, update the dominance of the remaining individuals, and find a new non-dominated layer. Repeat the same operation to construct other non-dominated layers, so as to complete the fast non-dominated sorting.

[0139] Step 7-2) (Crowding distance calculation): Crowding distance is used to measure the distribution density of individuals in the target space. The larger the crowding distance, the sparser the area where the individual is located, which helps to maintain the diversity of solutions. For the individuals in each layer after non-dominated sorting, sort the numbers in each evaluation index in ascending order, calculate the distance between each individual and the adjacent individual under each index, and sum the distances of each individual under all indicators to obtain its crowding distance. The specific formula is as follows:

[0140]

[0141] Among them, d' ij is the distance between the jth individual and its neighboring individuals on each evaluation index, d j is the crowding distance of the jth individual, m is the total number of individuals in the current layer, j' is the rank of the jth individual in the i-th evaluation index, n is the number of evaluation indicators, X i (j) represents the value of the jth individual on the i-th evaluation index, and k3 and k4 are constants.

[0142] Step 8) (termination rule judgment): determine whether the termination rule is met, that is, gen>Maxgen; if so, proceed to step 11), and the program ends; if not, proceed to step 9);

[0143] Step 9) (Normalization of fitness value): Calculate the fitness value of an individual by its non-dominated layer and its crowding distance. In order to facilitate subsequent calculations, the fitness value is normalized again, and the formula is as follows:

[0144]

[0145] Among them, Adapt is the fitness value of the individual, Adapt' is its corresponding normalized value, rank is the non-dominated layer where the current individual is located, d is the crowding distance of the current individual, and λ, k1, and k2 are constants.

[0146] Step 10) (Genetic Operation): Perform the three genetic operations of selection, crossover, and mutation on the current population to obtain a new generation of population. Execute steps 10-1) to 10-4). The specific steps are as follows:

[0147] Step 10-1) (Selection operation): Introduce an elite storage strategy to store the top 10% of the best population individuals in terms of fitness value. For the remaining population, the roulette wheel selection method is used for selection. The probability of each individual being selected is proportional to its fitness function value. The formula for the probability of individual selection and the cumulative probability of chromosomes is as follows:

[0148]

[0149] The number of selected individuals = population size Popsize × selection factor SelectFactor, and the selected chromosomes are processed in the next step;

[0150] Step 10-2) (Crossover operation): Generate a random number rand between [0,1]. If rand is less than the crossover factor CrossFactor, use the POX (precedence operation crossover) crossover method for every two chromosomes in the population. Chromosomes p1 and p2 cross to generate two offspring c1 and c2. The crossover process is as follows:

[0151] Step 10-2-1): randomly divide the workpiece set into two non-empty subsets J1 and J2;

[0152] Step 10-2-2): Copy the process of the workpiece in p1 that belongs to the workpiece in workpiece set J1 to c1, and copy the process of the workpiece in p2 that belongs to the workpiece in workpiece set J1 to c2, and keep their positions;

[0153] Step 10-2-3): Copy the processes in p1 that belong to the workpieces in workpiece set J2 to c2, and copy the processes in p2 that belong to the workpieces in workpiece set J2 to c1, preserving their order.

[0154] Step 10-3) (Mutation operation): In order to avoid the excellent chromosome mutation leading to the decline of the overall quality of the population, a linear adaptive mutation probability is used. By comparing the current chromosome fitness value with the current population fitness value, the different contributions of different chromosomes to the algorithm evolution are determined to ensure that the excellent chromosomes can be inherited to the next generation. The linear adaptive mutation rate expression is as follows:

[0155]

[0156] Among them, f max represents the maximum fitness in the population, f avg Represents the average value of the population fitness, f m represents the fitness value of the mutated individual, k5 and k6 are constants.

[0157] Select a chromosome and generate a random number rand between [0,1]. If rand is less than the adaptive mutation rate, perform mutation on the individual. The operation is as follows: For the process code, randomly select two different types of workpieces in the chromosome and exchange the positions in the encoding array corresponding to their processing processes. For the path code, since the second type of workpiece has two processing paths to choose from, when the chromosome mutates, the processing path of the second type of workpiece changes to another path.

[0158] Step 10-4): After the genetic operation is completed, all parent individuals and offspring obtained through the genetic operation are merged into a new population, that is, gen=gen+1; return to step 5) to perform feasibility detection and repair operations on each chromosome in the new population;

[0159] Re-execute step 6)-step 7), starting from the first layer of non-dominated sorting, select Popsize individuals in turn. If the number of individuals in the first layer is less than Popsize, select from the second layer, and so on. If the number of individuals to be selected in the same layer is less than the total number of individuals in the layer, give priority to individuals with a large crowding distance to maintain the diversity of solutions.

[0160] Step 11) (output optimal solution): Output the solution in the Pareto optimal frontier. After satisfying the termination rule of step 8), output the scheduling sequence corresponding to the solution that meets the requirements to complete the optimal scheduling of the flexible manufacturing system.

[0161] This embodiment is the application of the multi-objective optimization scheduling method of the flexible manufacturing system based on Petri net and improved NSGA-II in the tool cutting production unit. The tool cutting production unit uses cutting machine tools, handling robots and grinding machines to produce two types of tools; different tool processing sorting codes correspond to different maximum completion times. The optimization goal of its scheduling strategy is to achieve rapid optimization of completion time, total energy consumption and machine utilization based on the improved NSGA-II algorithm. The specific steps are as follows:

[0162] Step 1) (Modeling): Establish the Petri net model of the tool processing workshop: The tool processing workshop manufacturing system is composed of three machines: cutting machine tools, handling robots and grinding machine tools; the system can process three types of tools. The processing sequence of the first type of tools is handling, grinding, and handling. The processing sequence of the second type of tools is handling, cutting, handling, grinding, and handling. The processing sequence of the third type of tools is handling, grinding, handling, cutting, and handling. The second type of tools has two processing paths. For the same type of processing procedures, different machines can be selected for processing. The two processing paths are distinguished by the following subscripts. The processing capacities of the seven machines m1, m2, m3, m4, r1, r2, and r3 are 2, 2, 2, 2, 1, 2, 1, respectively. The number of three types of tools required for processing are 5, 10, and 5, respectively. Each type of tool blank enters the production line through the upload buffer for cutting and grinding, and leaves through the unloading buffer after processing. The corresponding Petri net model of the system is as follows: Figure 2 shown.

[0163] P i0 (i=1, 2, 3) is the idle library set, which represents the buffer for storing the i-th type of tool. The tool blanks are uploaded from the buffer P is Upload to the processing workshop for processing, and enter the unloading buffer after completing all processing sequences P if , P i0 The number of black dots indicates the number of blanks to be processed for this type of workpiece (when the number is large, the black dots are replaced by numbers);

[0164] P = {p ij , i = 1, 2, 3; j = 1, 2, 3, 4, 5} is the set of operation libraries, where p ij represents the jth operation process of the i-th type of tool, p ij The number of black dots indicates the number of tools currently in operation. ij The numbers outside indicate how long it takes the tool to complete the operation;

[0165] P r ={m i , i=1,2,3,4; r j,j=5,6,7} is the resource library, where m i and r j represents the i-th and k-th machines, m i and r j The number of black dots indicates the maximum capacity of the machine;

[0166] T={t ij , i = 1, 2, 3; j = 1, 2, 3, 4, 5, 6} is a transition set, where t ij Indicates the start of the jth operation of the i-th type tool, t ij+1 It indicates the end of the jth operation and the beginning of the j+1th operation of the i-th tool.

[0167] Specifically, 11 Indicates that the first type of tool blanks are uploaded from the buffer P 1s Entering the production line, p 11 The first operation process of the first type of tool is transport, which is completed by the transport robot r3 (from r3 to t 11 ,t 11 to p 11 The two arcs indicate the start, and p 11 to 12 ,t 12 The two arcs to r3 indicate completion), p 11 The number 8 marked next to it means that the operation takes 8 time units; Figure 2 p 1s 、p 2s 、p 3s The numbers in the table represent the number of blanks of the three types of tools, which are 5, 10, and 5 respectively. The black dots in m1, m2, m3, m4, r1, r2, and r3 represent their processing capacities of 2, 2, 2, 2, 1, 2, and 1 respectively. There are no black dots in other operation libraries, indicating that other operations have not started in the initial state. These black dots constitute the initial identification M0=5p 1s +10p 2s +5p 3s +2m1+2m2+2m3+2m4+r1+2r2+r3. Figure 2 The specific meaning of each symbol is shown in Table 1.

[0168] Table 1 Meaning of places and transitions in the Petri net model of tool processing workshop

[0169] Library meaning change meaning <![CDATA[p 1s ]]> Upload buffer for the first type of tool blanks <![CDATA[t 11 ]]> The first type of rough products are transported into the production line <![CDATA[p 11 ]]> Handling operations for the first type of tools <![CDATA[t 12 ]]> After transporting, grinding operation is carried out <![CDATA[p 12 ]]> Grinding operations for the first type of tools <![CDATA[t 13 ]]> After grinding, carry out the handling operation <![CDATA[p 13 ]]> Handling operations for the first type of tools <![CDATA[t 14 ]]> After transporting, enter the unloading buffer <![CDATA[p 1f ]]> Unloading buffer for finished tools of the first type <![CDATA[p 2s ]]> Upload buffer for the second type of tool blanks <![CDATA[t 21 ]]> The second type of rough products are transported into the production line <![CDATA[p 21 ]]> Handling operations for the second type of tools <![CDATA[t 22 、t 32 ]]> After transporting, cutting operation is carried out <![CDATA[p 22 、p 32 ]]> Cutting operations with the second type of tool <![CDATA[t 23 、t 33 ]]> Cutting is completed and the transportation operation is carried out <![CDATA[p 23 、p 33 ]]> Handling operations for the second type of tools <![CDATA[t 24 、t 34 ]]> After transporting, grinding operation is carried out <![CDATA[p 24 、p 34 ]]> Grinding operations for the second type of tools <![CDATA[t 25 、t 35 ]]> After grinding, carry out the handling operation <![CDATA[p 25 ]]> Handling operations for the second type of tools <![CDATA[t 26 ]]> After transporting, enter the unloading buffer <![CDATA[p 2f ]]> Unloading buffer for finished products of the second type of tools <![CDATA[p 3s ]]> Upload buffer for the third type of tool blanks <![CDATA[t 31 ]]> The third type of rough products are transported into the production line <![CDATA[p 31 ]]> The handling operation of the third type of tool <![CDATA[t 32 ]]> After transporting, grinding operation is carried out <![CDATA[p 32 ]]> Grinding operation of the third type of tool <![CDATA[t 33 ]]> After grinding, carry out the handling operation <![CDATA[p 33 ]]> The handling operation of the third type of tool <![CDATA[t 34 ]]> After transporting, cutting operation is carried out <![CDATA[p 34 ]]> Cutting operations with the third type of tool <![CDATA[t 35 ]]> Cutting is completed and the transportation operation is carried out <![CDATA[p 35 ]]> The handling operation of the third type of tool <![CDATA[t 36 ]]> After transporting, enter the unloading buffer <![CDATA[p 3f ]]> Unloading buffer for the third type of tooling products

[0170] Attached Figure 2 The Petri net shown can also be represented by the incidence matrix A as shown below:

[0171]

[0172] Step 2) (Determine NSGA-Ⅱ algorithm parameters): Determine the various parameters used by the algorithm, including population size Popsize, maximum number of iterations Maxgen, cross factor CrossFactor, and mutation factor P m ,SelectFactor;

[0173] Step 3) (Encoding and decoding): First, number all the workpieces to be processed and the processing paths (because the research object is a flexible manufacturing system, there can be multiple processing paths for each type of workpiece) respectively, and use the order of appearance of the workpiece serial number to represent the processing order. The number of times each workpiece appears in the code must be equal to the number of its processes. The encoding of the solution to the problem is the combined sequence of the workpiece number and the path number, called the gene sequence; the gene sequence is composed of the operation gene and the path gene, the operation gene is in the front, and the path gene is connected in sequence. The operation gene represents the workpiece processing order, and its total length is the total number of processes required to complete the processing of all workpieces; the path gene represents the path selection, and its total length is the total number of workpieces.

[0174] Through the above encoding scheme, reverse decoding can be directly performed, that is, the sequence can be directly decoded into a scheduling sequence that satisfies the operation constraints. For the same type of workpiece, if the processing path is different, the changes obtained during decoding are also different;

[0175] according to Figure 2 For the model shown, one possible encoding is π=(11,4,5,11,12,16,16,12,7,17,17,18,7,15,4,11,15,10,5,16,18,19,16,5,11,1,5,18,19,11,1,7,18,17,7,12,11,20,10,16,17,19,20,7,16,18,19,4,18,6,4,3,3,3,12,2,3,15,6,9,7,12,2,2,15,6,9,13,2,9,13,14,12,15 ,6,13,14,8,15,6,9,14,6,9,13,10,9,13,10,20,13,10,14,10,14,14,1,1,8,8,8,17,8,20,8,17,19,19,20,20,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1), the first 110 digits of the code are the process sequence. The digits in the process sequence represent the workpiece number, where digits 1 to 5 are the first type of workpiece, digits 6 to 15 are the second type of workpiece, and digits 16 to 20 are the third type of workpiece. The appearance of the first 11 in the process sequence means that the first operation of the rough product 11 starts, that is, t 21The appearance of the second 5 represents the second operation t of the blank 5. 12 Triggering, and so on, π can be decoded into the following transition sequence: a =

[0176] t 21 -t 11 -t 11 -t 22 -t 21 -t 41 -t 42 -t 22 -t 21 -t 41 -t 42 -t 41 -t 32 -t 21 -t 12 -t 23 -t 22 -t 21 -t 12 -t 43 -t 42 -t 41 -t 44 -t 13 -t 24 -t 11 -t 14 -t 43 -t 42 -t 25 -t 12 -t 33 -t 44 -t 43 -t 34 -t 23 -t 26 -t 41 -t 22 -t 45 -t 44 -t 43 -t 42 -t 35 -t 46 -t 45 -t 44 -t 13 -t 46 -t 21 -t 14 -t 11 -t 12 -t 13 -t 24 -t 11 -t 14 -t 23 -t 22 -t 21 -t 26 -t25 -t 12 -t 13 -t 24 -t 23 -t 22 -t 21 -t 14 -t 23 -t 22 -t 21 -t 26 -t 25 -t 24 -t 23 -t 22 -t 21 -t 26 -t 25 -t 24 -t 23 -t 26 -t 25 -t 24 -t 23 -t 26 -t 25 -t 24 -t 43 -t 26 -t 25 -t 24 -t 26 -t 25 -t 26 -t 13 -t 14 -t 22 -t 23 -t 24 -t 45 -t 25 -t 44 -t 26 -t 46 -t 45 -t 46 -t 45 -t 46 The last 20 numbers are the path selection sequence, which represents the number of processing paths selected by the 20 tools, and then step 4 is executed;

[0177] Step 4) (Generate initial population): The initial population consists of chromosomes of a fixed size, and the specific size is the population size determined in step 2). The initial population is generated using the improved Circle chaos mapping law to improve the discreteness and uniformity of the sequence and reduce the probability of repeated numbers, thereby improving the search efficiency and maintaining the diversity of the search process. The specific formula is as follows:

[0178]

[0179] Among them, θn is the phase of the nth iteration.

[0180] Check whether each randomly generated chromosome meets the coding requirements of step 3). If not, make corrections; where gen represents the number of iterations of the population, and gen=0 represents the 0th generation population, i.e., the initialized population;

[0181] Step 5) (Deadlock detection and repair): Combine the association matrix A and the initial identifier M0 to perform deadlock detection and repair on the chromosome to ensure that the repaired gene sequence can meet the resource constraints, processing order constraints and control constraints. The specific steps are as follows:

[0182] Step 5-1): Set u=1 and record the transition number of the current detection;

[0183] Step 5-2): Determine whether u is greater than the length of the transition sequence. If so, repair the gene sequence. Otherwise, set the uth transition in the transition sequence to t. α , execute step 5-3);

[0184] Step 5-3): Check transition t α Is it enabled under the current flag? If it is enabled, execute step 5-4), otherwise select t α The next transition after t is placed before this transition and t is updated. α , re-execute this step;

[0185] Step 5-4): Use the one-step-ahead method to determine the transition t α Is it allowed to trigger? If not allowed, select t α The next transition after t is placed before this transition and t is updated. α , re-execute step 5-3); otherwise, execute step 5-5);

[0186] The specific steps are as follows: Select a chromosome

[0187] π = 10, 18, 3, 4, 4, 1, 10, 6, 6, 13, 18, 17, 17, 19, 3, 13, 9, 5, 13, 14, 14, 2, 13, 9, 7, 20, 11, 11, 6, 7, 15, 13, 19, 7, 6, 11, 18, 10, 2, 14, 3, 14, 2, 10, 3, 17, 12, 4, 12, 9, 9, 10, 2, 8, 20, 18, 8, 18, 5, 1, 15, 14, 8, 9, 12, 12, 16, 19, 16, 20, 10, 12, 8, 7, 5, 15, 8, 7, 17, 17, 16, 15, 4, 6, 15, 14, 1, 16, 5, 11, 20, 17, 9, 16, 13, 16, 19, 12, 15, 18, 11, 20, 6, 19, 8, 20, 1, 19, 7, 11, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1

[0188] The corresponding transition sequence a =

[0189] t 21 -t 41 -t 11 -t 11 -t 12 -t 11 -t 22 -t 21 -t 22 -t 21 -t 42 -t 41 -t 42 -t 41 -t 12 -t 11 -t 22 -t 21 -t 23 -t 21 -t 32 -t 11 -t 24 -t 32 -t 21 -t 41 -t 21 -t 22 -t 23 -t 32 -t 21 -t 25 -t 42 -t 33 -t 24 -t 23 -t 43 -t 23 -t 12 -t 33 -t 13-t 34 -t 13 -t 24 -t 14 -t 43 -t 21 -t 13 -t 22 -t 33 -t 34 -t 25 -t 14 -t 21 -t 42 -t 44 -t 22 -t 45 -t 12 -t 12 -t 32 -t 35 -t 23 -t 35 -t 23 -t 24 -t 41 -t 43 -t 42 -t 43 -t 26 -t 25 -t 24 -t 34 -t 13 -t 33 -t 25 -t 35 -t 44 -t 45 -t 43 -t 34 -t 14 -t 25 -t 35 -t 26 -t 13 -t 44 -t 14 -t 24 -t 44 -t 46 -t 26 -t 45 -t 26 -t 46 -t 44 -t 26 -t 26 -t 46 -t 25 -t 45 -t 26 -t 45 -t 26 -t 46 -t 14 -t46 -t 26 -t 26 ,

[0190] Initial identification M0 = (5,0,0,0,0,10,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,2,2,2,2,1,2,1),

[0191] After judging the transition 21 -t 41 -t 11 -t 11 -t 12 -t 11 -t 22 -t 21 -t 22 -t 21 -t 42 -t 41 -t 42 -t 41 -t 12 back,

[0192] That is, M0[t 21 -t 41 -t 11 -t 11 -t 12 -t 11 -t 22 -t 21 -t 22 -t 21 -t 42 -t 41 -t 42 -t 41 -t 12 >M1,

[0193] Where M1=(2,1,2,0,0,7,1,2,0,0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,2,0,0,1,0). Now determine the transition t 11 Is it allowed to trigger, change t 11 The pre-operation library p 1s and the previous resource repository r2 both contain tokens, then transition t 11 Enable, trigger t 11 , that is, M1[t 11 >M2, M2=(1,2,2,0,0,7,1,2,0,0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,2,0,0,0,0), M2 is the deadlock indicator, then transition t 11It is not allowed to trigger under the marker M1. You need to select the enabling transition from the following transitions and put it in t 11 Before that, determine whether the transition is allowed to be triggered.

[0194] Step 5-5): Determine the transition t α Whether the corresponding processing step meets the processing sequence constraint, if not, select t α The next transition after t is placed before this transition and t is updated. α , re-execute step 5-3), otherwise execute step 5-6);

[0195] The specific constraints of workpiece processing sequence are as follows:

[0196] Assume that there is a mark M0, under which t 11 It cannot be triggered. From step 5-4) to step 5-6), we can get the transition that can be triggered under the current mark as t 22 , the workpiece whose index number in the encoding array corresponds to 13, which actually means the second process of the 13th workpiece. Insert this transition into the currently disabled transition t 11 Before, but now if the 16th index in the encoding array is also workpiece 13, the corresponding transition is t 21 , which actually means the first process of the 13th workpiece. At this time, after the repair, workpiece 13 first performs the second process and then the first process, which violates the processing order of the workpiece. Therefore, the workpiece processing order constraint is added during the repair transition to determine whether the workpiece corresponding to the selected transition meets the conditions:

[0197] Determine the index numbers corresponding to the currently disabled transition and the enabled transition selected in step 5-4), respectively. The workpiece number corresponding to the selected enabled transition cannot appear between the workpiece numbers corresponding to the two index numbers in the encoding array.

[0198] Step 5-6): Trigger t α , update the current flag, set u=u+1, and execute step 5-2);

[0199] Repeat the above steps to complete the chromosome detection and repair.

[0200] Step 6) (Normalize the evaluation index): Select the completion time MakeSpan, total energy consumption E and machine utilization LB as three explanatory factors to characterize the evaluation index of the flexible manufacturing system, calculate the three indexes respectively and normalize them. The specific steps are as follows:

[0201] Step 6-1) (Calculate MakeSpan): Calculate the processing time of the flexible manufacturing system based on the time allocation principle of the Gantt chart, determine the idle time of the machine used in the current process, compare it with the estimated completion time of the previous process of the workpiece corresponding to the process, and take the larger value of the two as the start time of the current process, which is also the release time of the resources occupied by the previous process and the actual completion time of the previous process. The start time plus the operation time of the current process is the estimated completion time of the current process. After calculating all processes, the completion time of the last process of the system is the MakeSpan of the entire process sequence.

[0202] Step 6-2) (Calculate total energy consumption E): The specific steps are as follows:

[0203] Step 6-2-1): Set i=1, and determine whether i is greater than the length of the transition sequence. If the condition is met, the calculation of the total energy consumption is completed, otherwise, execute step 6-2-2);

[0204] Step 6-2-2): Record the machine p currently used to process the workpiece k The start processing time STime and the end processing time JTime, let If p k For the first use, the start time of processing is ST[p k ]; if p k It is the last time to use, and the end time of processing is ET[p k ]. The total energy consumption formula is as follows:

[0205]

[0206] The power of each machine in this example is shown in Table 2:

[0207] Table 2 Machine power

[0208]

[0209] Step 6-3) (Calculate machine utilization): The formula for machine utilization is as follows:

[0210]

[0211] Step 6-4) (Normalization of evaluation indicators): To facilitate subsequent calculations, the three evaluation indicators are normalized. The specific formula is as follows:

[0212]

[0213] Where: X is the original value of the evaluation index, X' is the normalized value of the evaluation index, min is the minimum function, and max is the maximum function.

[0214] Step 7) (Non-dominated sorting and crowding distance calculation): Combine the normalized values ​​X' of the completion time MakeSpan, total energy consumption E, and machine utilization rate LB to perform fast non-dominated sorting and crowding distance calculation. The specific steps are as follows:

[0215] Step 7-1) (Fast non-dominated sorting): For each individual, compare its normalized X' with the three normalized indices of the remaining individuals, and obtain the dominant individual of each individual according to the definition of dominance. The definition of dominance is as follows:

[0216]

[0217] where X' i (a) represents the normalized value of individual a on the i-th evaluation index, X' i (b) represents the normalized value of individual b on the i-th evaluation index. If the above inequality is satisfied, that is, for any evaluation index, X' i (a) are greater than or equal to X' i (b) and there exists at least one index such that X' i (a)>X' i (b), then individual a dominates individual b.

[0218] If there exists an index such that X' i (a) <X' i (b), then individuals a and b do not dominate each other; repeat the above steps to obtain the dominance relationship between any two individuals in the population.

[0219] Individuals that are not dominated by any individual are marked as the best individuals on the Pareto front and placed in the first layer; then, for each individual, remove the individuals that have been stratified from the corresponding dominated individuals, update the dominance of the remaining individuals, and find a new non-dominated layer. Repeat the same operation to construct other non-dominated layers, thereby completing the fast non-dominated sorting.

[0220] Step 7-2) (Crowding distance calculation): Crowding distance is used to measure the distribution density of individuals in the target space. The larger the crowding distance, the sparser the area where the individual is located, which helps to maintain the diversity of solutions. For the individuals in each layer after non-dominated sorting, sort the numbers in each evaluation index in ascending order, calculate the distance between each individual and the adjacent individual under each index, and sum the distances of each individual under all indicators to obtain its crowding distance. The specific formula is as follows:

[0221]

[0222] Among them, d′ ijis the distance between the jth individual and its neighboring individuals on each evaluation index, d j is the crowding distance of the jth individual, m is the total number of individuals in the current layer, j' is the rank of the jth individual in the i-th evaluation index, n is the number of evaluation indicators, X i (j) represents the value of the jth individual on the i-th evaluation index. In this example, k3 and k4 are 5.

[0223] Step 8) (Termination rule judgment): Determine whether the termination condition gen>Maxgen is met, where gen is the number of iterations of the current population and Maxgen is the maximum number of iterations. If the termination condition is met, execute step 11), if not, execute step 9);

[0224] Step 9) (Normalization of fitness): Calculate the fitness value of the individual by its non-dominated layer and its crowding distance. In order to facilitate subsequent calculations, the fitness value is normalized as follows:

[0225]

[0226] Among them, Adapt is the fitness value of the individual, Adapt' is its corresponding normalized value, rank is the non-dominated layer where the current individual is located, d is the crowding distance of the current individual, λ, k1, k2 are constants; in this example, λ = 5, k1 = 0.1, k2 = 0.2.

[0227] Step 10) (Genetic Operation): Perform the three genetic operations of selection, crossover, and mutation on the current population to obtain a new generation of population. Execute steps 10-1) to 10-4). The specific steps are as follows:

[0228] Step 10-1) (Selection operation): Introduce an elite storage strategy to store the top 10% of the best population individuals in terms of fitness value. For the remaining population, the roulette wheel selection method is used for selection. The probability of each individual being selected is proportional to its fitness function value. The formula for the probability of individual selection and the cumulative probability of chromosomes is as follows:

[0229]

[0230] Randomly generate a random number rand in [0,1]. If Q(x i )≤rand means that the i-th individual is selected, and the process is repeated to obtain a population containing Selectnum×Popsize individuals. Here Selectnum is the selection factor, and Popsize is the population size. In this example, Selectnum is 0.3 and Popsize is 200.

[0231] Step 10-2): Crossover operation, generate a random number rand between [0,1]. If rand is less than the crossover factor CrossFactor, use the POX (precedence operation crossover) method for every two chromosomes in the population. Chromosomes p1 and p2 cross to generate two offspring c1 and c2. The POX crossover operation is shown in the figure below: Figure 3 As shown, the crossover process is as follows:

[0232] Step 10-2-1): randomly divide the workpiece set into two non-empty subsets J1 and J2;

[0233] Step 10-2-2): Copy the process of the workpiece in p1 that belongs to the workpiece in workpiece set J1 to c1, and copy the process of the workpiece in p2 that belongs to the workpiece in workpiece set J1 to c2, and keep their positions;

[0234] Step 10-2-3): Copy the processes in p1 that belong to the workpieces in workpiece set J2 to c2, and copy the processes in p2 that belong to the workpieces in workpiece set J2 to c1, preserving their order.

[0235] In this example, the cross factor CrossFactor is 0.7;

[0236] Step 10-3): Mutation operation. To avoid the degradation of the overall quality of the population due to the mutation of excellent chromosomes, a linear adaptive mutation probability is used. By comparing the current chromosome fitness value with the current population fitness value, the different contributions of different chromosomes to the algorithm evolution are determined to ensure that excellent chromosomes can be inherited to the next generation. The linear adaptive mutation rate expression is as follows:

[0237]

[0238] Among them, f max represents the maximum fitness in the population, f avg Represents the average value of the population fitness, f m represents the fitness value of the mutant individual, k5 and k6 are constants; in this example, k5=0.5 and k6=0.8.

[0239] Select a chromosome and generate a random number rand between [0,1]. If rand is less than the adaptive mutation rate, perform mutation on the individual. The operation is as follows: For the process code, randomly select two different types of workpieces in the chromosome and exchange the positions in the encoding array corresponding to their processing processes. For the path code, since the second type of workpiece has two processing paths to choose from, when the chromosome mutates, the processing path of the second type of workpiece changes to another path. The process mutation and path mutation are shown in the figure below. Figure 4 and Figure 5 shown.

[0240] Step 10-4): After the genetic operation is completed, all parent individuals and offspring obtained through the genetic operation are merged into a new population, that is, gen=gen+1; return to step 5) to perform feasibility detection and repair operations on each chromosome in the new population;

[0241] Re-execute step 6)-step 7), starting from the first layer of non-dominated sorting, select Popsize individuals in turn. If the number of individuals in the first layer is less than Popsize, select from the second layer, and so on. If the number of individuals to be selected in the same layer is less than the total number of individuals in the layer, give priority to individuals with a large crowding distance to maintain the diversity of solutions.

[0242] Step 11) (output optimal solution): Output the solution in the Pareto optimal frontier. After satisfying the termination rule of step 10), output the optimal or suboptimal scheduling sequence that meets the requirements to complete the optimal scheduling of the flexible manufacturing system.

[0243] The simulation parameters of this embodiment are set as follows: the number of evolutionary generations is 200, the number of individuals in the population is 200, and the Pareto frontier distribution after iteration is as follows: Figure 6 As shown, the final output is one of the chromosomes in the optimal Pareto frontier π=1,16,16,2,1,15,15,2,16,20,16,2,2,10,20,15,10,1,1,10,15,11,5,5,20,19,19,11,15,15,18,18,8,17,8,16,20,19,10,11,16,14,11,5,5,18,17,10,10,11,11,14,12,12,2 0,20,19,8,8,3,3,3,3,17,8,8,6,6,19,19,18,14,14,14,14,6,6,18,6,6,18,7,12,7,13,13,12,7,7,13,13,7,9,9,7,12,12,17,13,13,17,17,9,4,9,9,9,4,4,4,1,1,1,1,1,2,2,2,2,1,1,2,1,1,1,1,1,1.

[0244] Corresponding Transition Sequence

[0245] a=t 11 -t 41 -t 42 -t 11 -t 12 -t 21 -t 32 -t 12 -t 43-t 41 -t 44 -t 13 -t 14 -t 21 -t 42 -t 33 -t 32 -t 13 -t 14 -t 33 -t 34 -t 21 -t 11 -t 12 -t 43 -t 41 -t 42 -t 22 -t 35 -t 26 -t 41 -t 42 -t 21 -t 41 -t 32 -t 45 -t 44 -t 43 -t 34 -t 23 -t 46 -t 21 -t 24 -t 13 -t 14 -t 43 -t 42 -t 35 -t 26 -t 25 -t 26 -t 22 -t 21 -t 22 -t 45 -t 46 -t 44 -t 33 -t 34 -t 11 -t 12 -t 13 -t 14 -t 43 -t 35 -t 26 -t 21 -t 32 -t 45 -t 46 -t 44 -t 23 -t 24 -t 25 -t 26 -t33 -t 34 -t 45 -t 35 -t 26 -t 46 -t 21 -t 23 -t 32 -t 21 -t 32 -t 24 -t 33 -t 34 -t 33 -t 34 -t 35 -t 21 -t 32 -t 26 -t 25 -t 26 -t 44 -t 35 -t 26 -t 45 -t 46 -t 33 -t 11 -t 34 -t 35 -t 26 -t 12 -t 13 -t 14 . The corresponding Gantt chart is as follows Figure 7 shown.

[0246] By comparing with the traditional NSGA-II algorithm, the evaluation index corresponding to a solution in the Pareto optimal frontier obtained in this embodiment and the evaluation index corresponding to a solution in the Pareto optimal frontier obtained by the NSGA-II algorithm are shown in Table 3:

[0247] Table 3 Comparison of Pareto optimal solution algorithms

[0248]

[0249] The analysis shows that the improved NSGA-II algorithm used in the present invention has achieved the optimal values ​​in all three objectives, indicating that the improvement strategy adopted by the present invention has a significant effect on improving the algorithm's search ability in the solution space and its ability to escape from the local optimal value.

[0250] The specific implementation scheme described above further describes in detail the purpose, technical scheme and beneficial effects of the present invention. It should be understood that the above is only a specific implementation scheme of the present invention and is not intended to limit the scope of the present invention. Any equivalent changes and modifications made by any technician in the field without departing from the concept and principle of the present invention should fall within the scope of protection of the present invention.

Claims

1. A multi-objective optimization scheduling method for flexible manufacturing systems based on Petri nets and improved NSGA-II, characterized by: The following steps are involved: S1. Modeling: According to the processing procedures of the workpieces in the flexible manufacturing system and the machine occupancy between the workpieces, a Petri net model (N, M0) and its association matrix A that can express the discrete parallel system are constructed, and the following symbols are defined: N: A Petri net N = (P, T, F) consisting of circular nodes, square nodes and directed arcs, representing a flexible manufacturing system consisting of m machines and capable of processing n types of workpieces; P: Place set Where P i0 =P is ∪P if represents the set of idle places, P is is the upload buffer of the i-th type of artifact, P if is the corresponding unload buffer, p ij represents the place corresponding to the jth operation of the i-th type of workpiece, P r Represents the collection of resources; T: transition set, consisting of all square nodes in N. Each transition t represents the end of the previous process and the beginning of the next process, and also represents the release of resources used by the previous process and the application of resources used by the next process; F: directed arc set, representing the processing flow of each workpiece in the system and the demand and release of resources for each processing step during the processing; M: P→N is an identifier, N is a non-negative integer set, indicating the processing status of the system, and each number of the identifier represents the number of workpieces or resources contained in each library; M0 is the initial identifier, indicating that the system has not started processing, the workpiece is in the upload buffer, and the resources are not occupied; A: The incidence matrix, which represents the changing pattern of the number of tokens in each repository under each transition in N. It is a matrix with |T| rows and |P| columns. The flexible manufacturing system model comprehensively considers factors such as processing time, energy consumption and equipment utilization. Under the premise of satisfying process constraints, resource constraints and control constraints, that is, no deadlock, three optimization goals are established: completion time F1, total energy consumption F2 and machine utilization F3, namely: F1=min{MakeSpan} MakeSpan=max{C k } D pk (t)=D pk (t)+Jtime-Stime F3=min{LB Among them, C k is the completion time of the last process of the kth workpiece, k = 1, 2, ..., p; p is the total number of workpieces; Makespan is the maximum time for all workpieces to be processed; E is the total processing energy consumption; For machine p k The total processing time; Stime and Jtime are the start processing time and end processing time of the machine when processing a certain workpiece; ST[p k ] and ET[p k ] are respectively machine p k The first processing start time and the last processing end time; is the processing power; is the standby power; is the no-load power; LB is the machine utilization rate; S2. Determine the parameters of the NSGA-Ⅱ algorithm: Determine the various parameters used by the algorithm, including the population size Popsize, the maximum number of iterations Maxgen, the cross factor CrossFactor, and the mutation factor P m , SelectFactor; S3, encoding and decoding: First, number all the workpieces and processing paths to be processed respectively, and use the order of appearance of the workpiece serial number to represent the processing order. The number of times each workpiece appears in the code must be equal to the number of its processes; the code of the problem solution is the combination sequence of the workpiece number and the path number, called the gene sequence; the gene sequence is composed of the operation gene and the path gene, the operation gene is in the front, and the path gene is connected in sequence. The operation gene represents the workpiece processing order, and its total length is the total number of processes required to process all the workpieces; the path gene represents the path selection, and its total length is the total number of workpieces; Through the above encoding, it is possible to directly decode in reverse, that is, to directly decode the sequence into a scheduling sequence that satisfies the operation constraints. For the same type of workpiece, if the processing path is different, the changes obtained during decoding are also different; S4, generate the initialization population: the initial population consists of chromosomes of a fixed size, where the size is the population size determined in S2; check whether each randomly generated chromosome meets the coding requirements of S3, and if not, make corrections; where gen represents the number of iterations of the population, and gen=0 represents the 0th generation population, i.e., the initialization population; S5, deadlock detection and repair: Combined with the association matrix A and the initial identifier M0, deadlock detection and repair are performed on the chromosome to ensure that the repaired gene sequence can meet resource constraints, processing order constraints and control constraints; S6. Normalize the evaluation index: Select three explanatory factors, namely, completion time MakeSpan, total energy consumption E and machine utilization rate LB, to characterize the evaluation index of the flexible manufacturing system. Calculate the three indexes respectively and normalize them. The normalization formula is as follows: Among them, X is the original value of the evaluation index, X' is the normalized value of the evaluation index, min is the minimum function, and max is the maximum function; S7, non-dominated sorting and crowding distance calculation: Combine the three indicators of completion time MakeSpan, total energy consumption E and machine utilization rate LB and the normalized value X' to perform fast non-dominated sorting on the individuals in the population and calculate the crowding distance of each individual in its layer; S8, termination rule judgment: judge whether the termination rule is satisfied, that is, gen>Maxgen; if so, go to S11 and the program ends; if not, execute S9; S9, Normalization of fitness value: The fitness value of an individual is calculated by its non-dominated layer and its crowding distance; to facilitate subsequent calculations, the fitness value is normalized, and the formula is as follows: Among them, Adapt is the fitness value of the individual, Adapt' is its corresponding normalized value, rank is the non-dominated layer where the current individual is located, d is the crowding distance of the current individual, λ, k1, k2 are constants; S10, genetic operation: genetic operation includes selection operation, crossover operation and mutation operation; after the genetic operation is completed, all parent individuals and offspring obtained by genetic operation are merged into a new population, that is, gen=gen+1; return to S5 to perform feasibility detection and repair operations on each chromosome in the new population; re-execute S6-S7, starting from the first layer of non-dominated sorting, select Popsize individuals in turn, if the number of individuals in the first layer is less than Popsize, select from the second layer, and so on; if the number of individuals to be selected in the same layer is less than the total number of individuals in the layer, individuals with large crowding distance are selected first to facilitate maintaining the diversity of solutions; S11. Output the optimal solution: Output the solution in the Pareto optimal frontier. After satisfying the termination rule of S8, output the scheduling sequence corresponding to the solution that meets the requirements to complete the optimal scheduling of the flexible manufacturing system.

2. The multi-objective optimization scheduling method for flexible manufacturing system based on Petri net and improved NSGA-II according to claim 1 is characterized in that: In S4, the improved Circle chaos mapping law is used to generate the initial population, improve the discreteness and uniformity of the sequence, and reduce the probability of repeated numbers, thereby improving the search efficiency and maintaining the diversity of the search process. The specific formula is as follows: Among them, θ n is the phase of the nth iteration.

3. The multi-objective optimization scheduling method for flexible manufacturing system based on Petri net and improved NSGA-II according to claim 2 is characterized in that: In S5, the chromosome is deadlocked and repaired by combining the association matrix A and the initial identifier M0 to ensure that the repaired gene sequence can meet the control constraints and resource constraints. The specific steps are as follows: S5-1: Set u=1 to record the transition number currently detected; S5-2: Determine whether u is greater than the length of the transition sequence. If so, repair the gene sequence. Otherwise, set the uth transition in the transition sequence to t. α , execute S5-3; S5-3: Check transition t α Is it enabled under the current flag? If it is enabled, execute S5-4. Otherwise, select t α The next transition after t is placed before this transition and t is updated. α , re-execute this step; S5-4: Using the one-step-ahead method to determine the transition t α Is it allowed to trigger? If not allowed, select t α The next transition after t is placed before this transition and t is updated. α , re-execute S5-3; otherwise, execute S5-5; S5-5: Determine the transition t α Whether the corresponding processing step meets the processing sequence constraint, if not, select t α The next transition after t is placed before this transition and t is updated. α , re-execute S5-3; otherwise, execute S5-6; The workpiece processing sequence constraints are as follows: Suppose there is a mark M0, under which t 11 Cannot be triggered. From S5-4 to S5-6, the transition that can be triggered under the current mark is t 22 , the workpiece whose index number in the encoding array corresponds to 13, which actually means the second process of the 13th workpiece. Insert this transition into the currently disabled transition t 11 Before, but now if the 16th index in the encoding array is also workpiece 13, the corresponding transition is t 21 , which actually means the first process of the 13th workpiece. At this time, after the repair, workpiece 13 first performs the second process and then the first process, which violates the processing order of the workpiece. Therefore, the workpiece processing order constraint is added during the repair transition to determine whether the workpiece corresponding to the selected transition meets the conditions: Determine the index numbers corresponding to the currently disabled transition and the enabled transition selected in S5-4, respectively. The workpiece number corresponding to the selected enabled transition cannot appear between the workpiece numbers corresponding to the two index numbers in the encoding array. S5-6: Triggering α , update the current flag, set u=u+1, and execute S5-2; Repeat the above steps to complete chromosome deadlock detection and repair.

4. The multi-objective optimization scheduling method for flexible manufacturing system based on Petri net and improved NSGA-II according to claim 3 is characterized in that: In S7, the normalized values ​​X' of the completion time MakeSpan, total energy consumption E, and machine utilization LB are combined to perform fast non-dominated sorting and crowding distance calculation. The specific steps are as follows: S7-1, fast non-dominated sorting: For each individual, compare its normalized X' with the three normalized indices of the other individuals, and obtain the dominant individual of each individual according to the definition of dominance. The definition of dominance is as follows: where X' i (a) represents the normalized value of individual a on the i-th evaluation index, X' i (b) represents the normalized value of individual b on the i-th evaluation index. If the above inequality is satisfied, that is, for any evaluation index, X' i (a) are greater than or equal to X' i (b) and there exists at least one index such that X' i (a)>X' i (b), then individual a dominates individual b; If there exists an index such that X' i (a) <X' i (b), then individuals a and b do not dominate each other; repeat the above steps to obtain the dominance relationship between any two individuals in the population; Mark the individuals that are not dominated by any individual as the optimal individuals on the Pareto frontier and put them into the first layer; Then, for each individual, remove the stratified individuals from the corresponding dominant individuals, update the dominance of the remaining individuals, and find a new non-dominated layer; repeat the same operation to construct other non-dominated layers, so as to complete the fast non-dominated sorting; S7-2. Calculation of crowding distance: crowding distance is used to measure the distribution density of individuals in the target space. The larger the crowding distance, the sparser the area where the individual is located, which helps to maintain the diversity of solutions. For the individuals in each layer after non-dominated sorting, the numbers in each evaluation index are sorted in ascending order, and the distance between each individual and the adjacent individual under each index is calculated. The distance of each individual under all indicators is summed to obtain its crowding distance. The specific formula is as follows: Among them, d' ij is the distance between the jth individual and its neighboring individuals on each evaluation index, d j is the crowding distance of the jth individual, m is the total number of individuals in the current layer, j' is the rank of the jth individual in the i-th evaluation index, n is the number of evaluation indicators, X i (j) represents the value of the jth individual on the i-th evaluation index, and k3 and k4 are constants.

5. The multi-objective optimization scheduling method for flexible manufacturing system based on Petri net and improved NSGA-II according to claim 4 is characterized in that: In S10, genetic operations are performed on the chromosomes in the population to obtain a new generation of population. The genetic operations include selection, crossover and mutation. The specific steps are as follows: S10-1, selection operation: Introduce the elite storage strategy to store the top 10% of the best population individuals in terms of fitness value. For the remaining population, the roulette selection method is used for selection. The probability of each individual being selected is proportional to its fitness value. The formula for the probability of individual selection and the cumulative probability of chromosomes is as follows: Randomly generate a random number rand in [0,1]. If Q(x i )≤rand means that the i-th individual is selected, and the process is repeated to obtain a population containing Selectnum×Popsize individuals; S10-2, crossover operation: Generate a random number rand between [0,1]. If rand is less than the crossover factor CrossFactor, use the POX crossover method for every two chromosomes in the population; chromosomes p1 and p2 cross to generate two offspring c1 and c2. The crossover process is as follows: S10-2-1: Randomly divide the artifact set into two non-empty subsets J1 and J2; S10-2-2: copy the process of the workpiece in p1 that belongs to the workpiece in workpiece set J1 to c1, and copy the process of the workpiece in p2 that belongs to the workpiece in workpiece set J1 to c2, and keep their positions; S10-2-3: copy the process of the workpiece in p1 that belongs to the workpiece in workpiece set J2 to c2, and copy the process of the workpiece in p2 that belongs to the workpiece in workpiece set J2 to c1, preserving their order; S10-3, mutation operation: In order to avoid the overall quality of the population being reduced due to the mutation of excellent chromosomes, a linear adaptive mutation probability is used. By comparing the current chromosome fitness value with the current population fitness value, the different contributions of different chromosomes to the algorithm evolution are determined to ensure that excellent chromosomes can be inherited to the next generation. The linear adaptive mutation rate expression is as follows: Among them, f max represents the maximum fitness in the population, f avg Represents the average value of the population fitness, f m represents the fitness value of the mutant individual, k5 and k6 are constants; Select a chromosome and generate a random number rand between [0,1]. If rand is less than the adaptive mutation rate, perform mutation operation on the individual. The operation is as follows: for the process code, randomly select two different types of workpieces in the chromosome and exchange the positions in the encoding array corresponding to their processing processes; For the path code, since the second type of workpiece has two processing paths to choose from, when the chromosome mutates, the processing path of the second type of workpiece changes to another path; S10-4. After the genetic operation is completed, all parent individuals and the offspring obtained through the genetic operation are merged into a new population, that is, gen=gen+1; return to S5 to perform feasibility detection and repair operations on each chromosome in the new population; re-execute S6 to S7, starting from the first layer of non-dominated sorting, select Popsize individuals in turn. If the number of individuals in the first layer is less than Popsize, select from the second layer, and so on; if the number of individuals to be selected in the same layer is less than the total number of individuals in the layer, individuals with a large crowding distance are selected first to facilitate maintaining the diversity of solutions.

Citation Information

Cited By

  • Manufacturing system multi-objective decision-making method and system based on prediction model

    CN121094607A

  • A method and system for multi-objective decision making in manufacturing systems based on predictive models

    CN121094607B