A multi-layer learning-assisted multi-objective fuzzy flexible job shop scheduling method

By employing a multi-layered learning-assisted approach, combined with multi-swarm evolution and simulated annealing optimization particle swarm optimization algorithms, the problems of local optima and insufficient information utilization in multi-objective fuzzy flexible job shop scheduling are solved, achieving more efficient scheduling optimization.

CN120370851BActive Publication Date: 2026-02-10GUANGZHOU INSTITUTE OF TECHNOLOY XIDIAN UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510237117.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-01
Publication Date
2026-02-10
Estimated Expiration
2045-03-01

AI Technical Summary

Technical Problem

Existing multi-objective fuzzy flexible job shop scheduling algorithms have shortcomings in terms of slow convergence speed and difficulty in handling complex Pareto fronts, as well as insufficient information utilization, making it difficult to effectively solve the multi-objective fuzzy flexible job shop scheduling problem.

Method used

A multi-layered learning assistance approach is adopted. By constructing an external shared archive A to store co-evolutionary information, and combining short-term individual evolutionary information, long-term population evolutionary information, and co-evolutionary information, a multi-layered learning strategy and simulated annealing method are designed to optimize the particle swarm optimization algorithm, avoid local optima, and accelerate the approach to the Pareto front.

Benefits of technology

It improves the exploration efficiency and convergence speed of multi-objective fuzzy flexible job shop scheduling, avoids fitness allocation problems, enhances the optimization efficiency and solution quality of the algorithm, and can find high-quality solutions faster.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120370851B_ABST
    Figure CN120370851B_ABST
Patent Text Reader

Abstract

This invention discloses a multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance, relating to the field of job shop scheduling technology. The method includes the following steps: constructing and initializing two populations to generate particles; constructing an external shared archive; building a queue for each particle; calculating the position fitness of the particles; enqueuing the particle positions into the queues; and selecting the position of the particle with the best dominant fitness in each population and assigning it the value gBest. q Update the external shared archive; select the position with the best dominant fitness in each particle queue, denoted as spBest. p q The particle position and velocity are updated using a multi-layer learning strategy; crossover and mutation operations are performed on the population to complete the population update; the updated positions are enqueued into the queue; and gBest is updated. q ; Simulated annealing method for gBest q Apply perturbations; update the external shared archive. Repeat the iteration until completion. This ultimately improves the exploration efficiency and convergence speed of multi-objective Pareto fronts.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of workshop scheduling technology, and in particular to a multi-objective fuzzy flexible job workshop scheduling method with multi-layer learning assistance. Background Technology

[0002] The multi-objective fuzzy flexible job shop scheduling problem is a complex and important optimization task in modern manufacturing. It involves scheduling multiple jobs across multiple machines; specifically, it assigns multiple jobs to a set of machines for processing. Each job consists of a series of operations, and each operation can choose one machine from a specific set as its execution machine. The execution time varies depending on the machine chosen. The goal of multi-objective fuzzy flexible job shop scheduling is to find a reasonable sequence of job operations and determine the execution machine for each operation, in order to optimize multiple fuzzy and conflicting objectives under specific constraints, such as reducing total completion time, increasing machine utilization, and lowering production costs. With the manufacturing industry's increasing pursuit of flexibility and efficiency, solving the multi-objective fuzzy flexible job shop scheduling problem has become crucial for improving production efficiency.

[0003] Early research focused on utilizing multi-objective evolutionary information to address the multi-objective fuzzy flexible job shop scheduling problem, such as tabu search-based multi-objective evolutionary algorithms, Pareto dominance-based multi-objective evolutionary algorithms, and improved hybrid particle swarm optimization algorithms. These algorithms treat multiple objectives as a whole and use Pareto dominance to evaluate solutions. However, these algorithms cannot accurately rank solutions in the objective space using dominance relationships, thus limiting their evolutionary efficiency. Therefore, subsequent research has focused on decomposing the multi-objective optimization problem into multiple scalar subproblems, where all solutions can be compared based on single-objective function values. Inspired by decomposition-based multi-objective evolutionary algorithms, decomposition-based adaptive hybrid algorithms, decomposition-based hybrid variable neighborhood memory algorithms, and reinforcement learning-based multi-objective evolutionary algorithms have been proposed to solve the multi-objective fuzzy flexible job shop scheduling problem.

[0004] However, due to the fuzziness and complexity of the scheduling objectives in the multi-objective fuzzy flexible job shop scheduling problem, traditional algorithms still have many limitations, specifically the following shortcomings:

[0005] (1) Local optima and slow convergence speed: When solving the multi-objective fuzzy flexible job shop scheduling problem, the existing multi-objective evolutionary algorithm is prone to getting stuck in local optima due to the fuzziness and complexity of the evolutionary objectives, and the convergence speed is slow, which makes the optimization process inefficient and difficult to find a high-quality solution quickly.

[0006] (2) Difficulty in handling complex Pareto fronts: Due to the complex shape of the Pareto front in the multi-objective fuzzy flexible job shop scheduling problem, existing algorithms may have defects in the coverage of the Pareto front and the distribution of solutions, and may get stuck in local optima when dealing with complex objective relationships.

[0007] (3) When using multi-objective evolutionary information, most existing multi-objective evolutionary algorithms use the overall objective fitness to handle multi-objective problems. However, due to the conflict between objectives, it is difficult to determine whether one solution is better than another, which leads to the fitness allocation problem and slows down the convergence speed of the algorithm.

[0008] (4) Insufficient information utilization: Existing algorithms lack a mechanism to effectively utilize historical evolutionary information during the evolution process, which makes it impossible for the algorithms to make full use of past experience to improve search efficiency when facing complex workshop scheduling problems, ultimately affecting the quality of the solution. Summary of the Invention

[0009] To address the problems existing in the prior art, this invention provides a multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance, which can improve the exploration efficiency of multi-objective Pareto fronts and increase the convergence speed based on historical evolution information.

[0010] The technical solution of this invention is implemented as follows:

[0011] A multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance is disclosed. The job shop contains multiple machines for executing multiple jobs. Each job comprises multiple operation steps, and a machine executes only one operation step at a time. The order in which the multiple machines execute these operation steps is denoted as a scheduling sequence. The multi-objective fuzzy flexible job shop scheduling problem involves arranging multiple jobs on a set of machines for processing. Each job consists of a series of operations, and each operation can select one machine from a specific set as its execution machine. The execution time of the operation varies depending on the machine selected. The objective of multi-objective fuzzy flexible job shop scheduling is to find a reasonable order of job operations and determine the execution machine for each operation, thereby optimizing multiple fuzzy and conflicting objectives under specific constraints. The job processing time in the problem is represented by fuzzy values ​​to accommodate the uncertainties within the job shop.

[0012] The specific constraints in the fuzzy flexible job shop scheduling problem are as follows:

[0013] (1) Each machine can only process one operation at a time.

[0014] (2) Each operation can only be processed by one machine.

[0015] (3) In a job, the operation cannot be started until all the preceding operations are completed.

[0016] (4) Machine failures and interruptions are not considered.

[0017] The method includes the following steps:

[0018] S1. Construct two populations, including the first population and the second population, and initialize each population to generate N particles; construct an external shared archive A and initialize it as an empty set, and initialize the crossover probability pr. c and mutation probability pr m For the p-th particle in the q-th population, the velocity is randomly initialized. and location The position of each particle corresponds to the encoding of a scheduling sequence; for each particle, a queue of length G is constructed. The queue is a first-in-first-out queue; the external shared archive A is used to store the location;

[0019] Particle Swarm Optimization (PSO) is an evolutionary computation technique, also known as the bird flocking algorithm. PSO simulates birds in a flock by designing massless particles that have only two attributes: velocity and position. Velocity represents the speed of movement, and position represents the direction of movement.

[0020] Position represents the particle's current candidate solution in the solution space, directly corresponding to the potential answer to the optimization problem (such as scheduling schemes, parameter combinations, etc.). Velocity characterizes the particle's exploration direction and pace in the solution space, essentially a dynamic adjustment mechanism of the search strategy, determining how to migrate from the current solution to a better one.

[0021] S2. Calculate the position fitness of each particle; the position fitness includes a first fitness and a second fitness; set the position of each particle... Enqueue to the queue

[0022] The first population uses the first fitness as the dominant fitness, and the second population uses the second fitness as the dominant fitness. The position of the particle with the best dominant fitness is selected in each population. The value is assigned to the globally optimal position gBest. q The term "optimal" refers to the maximum or minimum dominance fitness. When comparing the dominance fitness of particles in each population, only one fitness level is used as the standard. Dominance fitness corresponds to an optimization objective. A larger or smaller dominance fitness indicates better optimization of the population in that objective direction. The definition of optimal dominance fitness (larger or smaller) depends on the specific circumstances and application, such as the selected objective and objective function.

[0023] Update the external shared archive A;

[0024] S3, Each of the particles is respectively from the queue In the process, the position with the best dominant fitness is selected and denoted as the individual's short-term historical best position. A multi-layered learning strategy is employed, utilizing the individual's short-term historical best position. The global optimal position gBest q And the external shared archive A, update the position of the particle. and speed

[0025] S4. Perform crossover and mutation operations on the two populations respectively to update the populations; calculate the position fitness of each particle;

[0026] S5. Update the position of each particle. Enqueue to the queue For the population, select the particle with the best dominant fitness. If the particle's dominant fitness is greater than or less than the global optimal position gBest, then... q If the optimal fitness is achieved, the particle's position will be replaced with gBest. q The "greater than / less than" here corresponds one-to-one with the "maximum or minimum" above. If "maximum" is selected in the previous context, then "greater than" is selected here; otherwise, if "minimum" is selected in the previous context, then "less than" is selected here.

[0027] Simulated annealing is used to determine the global optimal position gBest. q To perform a disturbance;

[0028] S6. Update the external shared archive A;

[0029] S7. Repeat S3 to S6 until the preset termination condition is reached; preferably, the preset termination condition is to stop iterating when the preset number of iterations is reached.

[0030] In S2 and S6, the external shared archive A is updated using an elite learning strategy and a neighborhood search strategy.

[0031] The final external shared archive A contains the positions of all particles, which is the solution to the entire algorithm, also known as the Pareto front.

[0032] This invention proposes a multi-population algorithm for co-evolution, employing multiple populations to evolve multiple objectives, with each population corresponding to only one objective. The algorithm constructs an external shared archive A to store the co-evolutionary information of all populations, then combines the evolutionary information of individual populations with the co-evolutionary information to guide particles to efficiently approach the entire Pareto front, thereby avoiding fitness assignment problems and improving optimization efficiency.

[0033] In particular, a multi-layered information learning strategy is introduced, innovatively combining short-term individual evolutionary information, long-term population evolutionary information, and co-evolutionary information. This avoids the algorithm getting trapped in local optima and accelerates its approach to the Pareto front. Furthermore, the introduction of short-term individual evolutionary information reduces the risk of particles getting trapped in single-objective optima, thus significantly enhancing the co-evolutionary ability of multiple populations.

[0034] As a further optimization of the above solution, the speed and the position All are multidimensional codes;

[0035] The multi-layer learning strategy affects speed. and location The update is represented as:

[0036]

[0037] Where r1, r2, and r3 are all random numbers; c1, c2, and c3 are all preset acceleration coefficients; and ω is a preset inertia weight. This means that for the p-th particle in the q-th population, the d-th dimension is encoded at a randomly selected position from the external shared archive A. They represent gBest q The d-th dimension encoding.

[0038] L1, L2, and L3 constitute a three-layer learning strategy, which learns the direction of optimization from the individual's short-term historical best position, the global best position, and the external shared archive, respectively, and updates the speed value.

[0039] Preferably, if external shared archive A is empty, then another one is selected. Alternative If the current update is for particles from the first population, then in L3, the gBest of the second population is selected, i.e.: Similarly, or for

[0040] In existing technical methods, the optimal position of an individual historical position is used across all historical algebras. To update the particles, each generation uses particles. Information to update external archives. And once If updates stop, external archives will also stop updating. In this situation, the population may prematurely fall into a single-objective local optimum.

[0041] The single-population particles designed in this invention should be based on single-target evolutionary information ( gBest q Driven by information from multiple objectives and co-evolutionary mechanisms (external shared archive A), individuals approach the Pareto front, rather than being limited solely by the optimal information of their own population. Based on this idea, this invention employs a memory-constrained method to obtain short-term historical evolutionary information of individuals from the last G generations. Instead of the individual historical best position in the traditional particle swarm optimization algorithm In this way, some stubborn local optima of historical information will be forgotten, while The solution will be selected from the solutions generated in the most recent G generation, which will guide the particle to approach the Pareto front.

[0042] As a further optimization of the above scheme, the encoding of the position of a particle includes two sequences: an initial step sequence and a machine allocation sequence, the length of which is the same as the total number of operation steps; the encoded value of each dimension of the sequence is a random non-negative decimal.

[0043] The encoded value of the initial step sequence represents the scheduling weight of the operation step;

[0044] The encoded value of the machine allocation sequence corresponds to the machine assigned to each of the operation steps.

[0045] As a further optimization of the above scheme, the decoding of the encoding is also included;

[0046] The initial step sequence is represented as follows:

[0047] OS = {O 1,1 O 1,2 O 1,j O2, 1, ..., O 2,j O i,j ...}; where O i,j The encoding value corresponding to the j-th operation step of the i-th job; the number of operation steps for each job may be the same or different;

[0048] The initial step sequence is decoded as follows:

[0049] A1. Construct the final step sequence; construct a temporary queue for each job, and enqueue the code value of each operation step of the job into the temporary queue in sequence; the head of the temporary queue corresponds to the code value of the first operation step of a job;

[0050] A2. Compare the O values ​​at the head of all temporary queues. i,j Select the largest one and move it to the final step sequence;

[0051] A3. Repeat step A2 until all temporary queues are cleared;

[0052] The total number of machines is N. M The machine allocation sequence is represented as follows:

[0053] MA = {m1, m2, ..., m} h ...}; where m h This represents the h-th encoded value of the machine-assigned sequence;

[0054] The decoding of the machine-allocated sequence is: m h =(round(m) h )mod N M )+1, that is, select the m-th... h Each machine performs the operation steps; where round() means rounding to the nearest integer and mod means modulo.

[0055] The decoded machine allocation sequence corresponds one-to-one with the final step sequence, and a machine is allocated for each operation step, which is a scheduling sequence.

[0056] As a further optimization of the above scheme, after decoding, the indicator variable D is calculated. ijk ,Right now:

[0057]

[0058] D ijk Indicates operation step O i,j Is it on the k-th machine M? k If the above is executed, the value is 1; otherwise, it is 0.

[0059] The first fitness f1 and the second fitness f2 are calculated as follows:

[0060]

[0061] in, For O i,j The fuzzy end time; For O i,j The fuzzy running time of the k-th machine; f1 represents the maximum completion time of the scheduling sequence; f2 represents the total machine load for executing the scheduling sequence;

[0062] In the first population, the first fitness f1 is the smallest, which means the dominant fitness is the best;

[0063] In the second population, the second fitness f2 is the smallest, which means the dominant fitness is the best.

[0064] In this invention, a smaller fitness value indicates a better quality particle solution. The first group focuses on optimizing the maximum completion time, while the second group focuses on optimizing the total machine load. Fuzzy numbers are used to adapt to the uncertainties in workshop production. Fuzzy numbers are mathematical tools in fuzzy mathematics used to describe uncertain or fuzzy quantities. They extend traditional real numbers into fuzzy sets with membership functions, better aligning with the fuzzy semantics of human language. After decoding and confirming the scheduling sequence, the fuzzy end time and fuzzy running time can be calculated. Commonly used fuzzy number representations include triangular fuzzy numbers and trapezoidal fuzzy numbers. By minimizing the two main objectives of maximum completion time and total machine load, workshop production costs are reduced and machine utilization is improved.

[0065] As a further optimization of the above scheme, the crossover operation is as follows:

[0066] S4-1. For a population, randomly select two particles and denote them as parent particles; delete the parent particles from the population.

[0067] S4-2. On the initial step sequence of the two parent particles, select the same random multiple positions to exchange the code values; on the machine allocation sequence of the two parent particles, select the same random multiple positions to exchange the code values; thus obtaining two child particles; that is, perform multi-point crossover and exchange the codes of the two sequences at the same positions.

[0068] S4-3, Repeat S4-1 and S4-2 until the number of particles in the population is 0;

[0069] S4-4, Store all offspring particles into the population.

[0070] As a further optimization of the above scheme, the mutation operation is as follows:

[0071] S4-5. For each particle; on the initial step sequence of the particle, randomly select two positions to exchange the encoding values; on the machine allocation sequence of the particle, randomly select one encoding value for decoding to obtain machine encoding i, that is, the i-th machine;

[0072] Generate a fixed code for each machine; the fixed code is a non-negative decimal; randomly select a fixed code that does not belong to the i-th machine and replace the selected code value.

[0073] Specifically, assuming there are 3 machines, 3 fixed codes are generated, namely 3.14, 6.67, and 8.01. Assuming the selected code value is 1.6, after decoding, it gets 3 (i.e. the 3rd machine). Then, the fixed code 6.67 of the 2nd machine is selected and replaced with 1.6.

[0074] As a further optimization of the above scheme, the simulated annealing method is as follows:

[0075] B1. For each population, obtain the individual short-term historical best position of all particles. Get each Advantages of adaptability;

[0076] B2. According to the inverse ratio of each of the aforementioned advantages in fitness, for each Assign sampling probabilities; using a roulette wheel strategy and the aforementioned sampling probabilities, select one... Recorded as spBest qt Since the invention prioritizes low-quality animals based on low-dominance fitness, the probability allocation aims to maximize the probability of animals with low-dominance fitness, thus finding animals of relatively high quality (not necessarily the absolute best). If the highest fitness is considered the best quality, then there is no need to allocate according to the inverse ratio.

[0077] B3. Calculate the state acceptance function g, i.e.:

[0078]

[0079] in, They represent spBest respectively qt gBest q , Advantages of adaptability; T gen Represents the temperature in the gen-th iteration;

[0080] Temperature is calculated as follows:

[0081]

[0082] in, For the original gBest q The optimal adaptability; ф is a preset constant; λ is a preset attenuation factor;

[0083] gBest is only true when g is within a preset range. q =spBest qt .

[0084] Simulated annealing typically starts at a higher temperature and gradually decreases during the process.

[0085] As a further optimization of the above scheme, the storage space size of the external shared archive A is denoted as NA; the number of locations of the external shared archive A is denoted as na;

[0086] The external shared archive A is updated as follows:

[0087] C1. Set two empty sets S and S', and store all... The location in the external shared archive A is added to the set S;

[0088] C2. Execute an elite learning strategy on the location of the external shared archive A to obtain a new location and add it to the set S;

[0089] C3. Perform deduplication on set S; store all non-dominated solutions in set S into set S'; clear the external shared archive A; a non-dominated solution is an individual in the solution set that is not dominated by any other solution. If the fitness of particle A is greater than / less than that of particle B, then particle A and particle B have a dominant / dominated relationship; otherwise, they have a non-dominated relationship, i.e., they are non-dominated solutions to each other.

[0090] C4. If the number of positions in set S' is less than or equal to NA, then all positions in set S' are transferred and stored in external shared archive A, and the storage space size of external shared archive A is set to na.

[0091] Otherwise, sort all positions in set S' and select the top NA positions to store in the external shared archive A;

[0092] C5. Perform a neighborhood search strategy on the external shared archive A;

[0093] The elite learning strategy is as follows:

[0094] Archive s,x =Archive s,x +(X max,x -X min,x )×Gaussian(0,1);

[0095] Archive s,x This represents the x-th dimension encoding of the s-th position in external shared archive A; x is a random value; X max,x and X min,x These represent the upper and lower bounds of the position in the x-th dimension, respectively; Gaussian(0,1) is the probability density function of a normally distributed random variable with a mean of 0 and a standard deviation of 1.

[0096] Neighborhood search strategies can be used to optimize location solutions, generating higher-quality solutions. By sharing information in archive A, each population can utilize not only its own single-objective evolutionary information but also multi-objective co-evolutionary information provided by all populations, thus helping the population approach the Pareto front more quickly. Therefore, the quality and diversity of solutions in the archive are crucial for improving algorithm performance.

[0097] The above ranking was achieved using a non-dominated ranking method and a density estimation index, namely:

[0098] E1. Perform fast non-dominated solution sorting on the solutions in S' to obtain set F. Fast non-dominated sorting is a key step in multi-objective optimization used to hierarchically divide the solution set, commonly seen in algorithms such as NSGA-II. Its core idea is to divide all solutions into multiple non-dominated fronts (Pareto Fronts) according to their dominance relationship through traversal comparison. The first layer of fronts is the globally optimal solution set, and subsequent fronts are successively the suboptimal solution sets.

[0099] E2. Select the i-th subset from set F, denoted as Fi. i The initial value of i is 1, and the subset F i The number of particles in the medium is denoted as NF;

[0100] E3. If NF + na ≤ NA, then subset F i All particles are stored in the external shared archive A; i = i + 1, execute E2; if na < NA and NF + na > NA, then execute E4;

[0101] E4, subset F i The particles in the data are sorted by crowding distance, and a portion of them are selected and stored in an external shared archive A, such that na = NA; the crowding distance sorting process is as follows:

[0102] E4-1, For subset F i For the particles in the array, select a target value (first fitness or second fitness) and sort them from smallest to largest. The largest target value is max, and the smallest target value is min. The crowding distance between the two corresponding particles is set to infinity inf.

[0103] E4-2. Among the remaining particles, for each particle, let 'f' be the current particle; the target value of the current particle is denoted as ff. j The current particle's crowding distance CD j for:

[0104]

[0105] E4-3, Subset F iFor each particle in the process, the sum of the multiple crowding distances obtained from multiple targets is the final crowding distance of the particle.

[0106] E4-4, subset F is arranged according to the crowding distance. i In the particle sorting, the greater the crowding distance, the higher the ranking, and the more preferentially it is stored in the external shared archive A.

[0107] As a further optimization of the above scheme, a fixed code is generated for each machine; the fixed code is a non-negative decimal.

[0108] The neighborhood search strategy is as follows:

[0109] D1. Decode the location of the external shared archive A to obtain the scheduling sequence;

[0110] D2. Find the last executed operation step in the scheduling sequence, denoted as O. df ,df represents the dimension to which it belongs;

[0111] Find the machine M with the shortest completion time. a That is, satisfying the constraints Select machine M a The fixed encoding, replace m df The encoded value;

[0112] D3. Find the machine M with the highest workload in the scheduling sequence. b That is, satisfying the constraints In the scheduling sequence, machine M was found. b Let O be a random one of the operation steps to be executed. db ,db represents the dimension; select machine M b Replace m with the fixed code of any other machine. db The encoded value.

[0113] Neighborhood search can reduce the load on the machine with the highest workload.

[0114] Compared with the prior art, the present invention achieves the following beneficial effects:

[0115] (1) This invention proposes a multi-population algorithm for co-evolution, which uses multiple populations to evolve multiple objectives, with each population corresponding to only one objective. The algorithm constructs an external shared archive A to store the co-evolutionary information of all populations, and then combines the evolutionary information of a single population with the co-evolutionary information to guide particles to efficiently approach the entire Pareto front, thereby avoiding the fitness assignment problem and improving optimization efficiency.

[0116] (2) This invention proposes a multi-layer information learning strategy to innovatively combine short-term individual evolutionary information, long-term population evolutionary information, and co-evolutionary information, thereby avoiding the algorithm from getting trapped in local optima and accelerating its approach to the Pareto front. This invention designs a memory-constrained method that uses short-term individual evolutionary information from the last G generations to guide particle search through hierarchical learning, integrating single-objective evolutionary information and multi-objective co-evolutionary information provided by multiple populations.

[0117] (3) This invention proposes a diversity enhancement strategy based on simulated annealing, which combines the solution generation strategy of genetic algorithm and the solution replacement strategy of simulated annealing to improve the diversity of the population and help the population escape local optima. Based on the diversified solutions generated by genetic algorithm, simulated annealing algorithm is used to accept worse solutions with a certain probability when searching for the optimal solution, so that the algorithm is less likely to get stuck in local optima during the iteration process.

[0118] (4) This invention proposes a co-evolutionary information update mechanism, which introduces elite learning strategy and neighborhood search strategy to update external shared archives, thereby improving the quality of co-evolutionary information among different populations and promoting populations to explore more Pareto optimal solutions.

[0119] With the combined effect of the above strategies, the algorithm proposed in this invention has achieved excellent results in solving the fuzzy flexible job shop scheduling problem. Attached Figure Description

[0120] Figure 1 This is a flowchart illustrating a multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance provided in an embodiment of the present invention;

[0121] Figure 2 This is a schematic diagram of the decoding process provided in an embodiment of the present invention;

[0122] Figure 3 This is a schematic diagram of scheduling sequence allocation provided in an embodiment of the present invention;

[0123] Figure 4 This is a schematic diagram illustrating the optimization direction of historical information in the prior art provided by this embodiment of the invention and in this embodiment. Detailed Implementation

[0124] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions in the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0125] like Figure 1As shown, this embodiment provides a multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance. The shop has multiple machines for executing multiple jobs; each job includes multiple operation steps, and a machine executes only one operation step at a time. The order in which multiple machines execute these operation steps is denoted as a scheduling sequence. The multi-objective fuzzy flexible job shop scheduling problem involves arranging multiple jobs on a set of machines for processing. Each job consists of a series of operations, and each operation can select one machine from a specific set as its execution machine. The execution time varies depending on the machine selected. The goal of multi-objective fuzzy flexible job shop scheduling is to find a reasonable order of job operations and determine the execution machine for each operation, thereby optimizing multiple fuzzy and conflicting objectives while satisfying specific constraints. The job processing time in the problem is represented by fuzzy values ​​to accommodate the uncertainties within the shop.

[0126] The specific constraints in the fuzzy flexible job shop scheduling problem are as follows:

[0127] (1) Each machine can only process one operation at a time.

[0128] (2) Each operation can only be processed by one machine.

[0129] (3) In a job, the operation cannot be started until all the preceding operations are completed.

[0130] (4) Machine failures and interruptions are not considered.

[0131] The method includes the following steps:

[0132] S1. Construct two populations, including the first population and the second population, and initialize each population to generate N particles; construct an external shared archive A and initialize it as an empty set, and initialize the crossover probability pr. c and mutation probability pr m For the p-th particle in the q-th population, the velocity is randomly initialized. and location The position of a particle corresponds to the encoding of a scheduling sequence; in this embodiment, velocity... and location All are multidimensional codes;

[0133] In this embodiment, the encoding of a particle's position includes two sequences: an initial step sequence and a machine allocation sequence. The length of each sequence is the same as the total number of operation steps. The encoded value of each dimension of the sequence is a random non-negative decimal.

[0134] The encoded values ​​of the initial step sequence represent the scheduling weights of the operation steps;

[0135] The encoded value of the machine-assigned sequence corresponds to the machine assigned to each operation step.

[0136] For each particle, construct a queue of length G. The queue is a first-in-first-out queue; external shared archive A is used to store locations;

[0137] Particle Swarm Optimization (PSO) is an evolutionary computation technique, also known as the bird flocking algorithm. PSO simulates birds in a flock by designing massless particles that have only two attributes: velocity and position. Velocity represents the speed of movement, and position represents the direction of movement.

[0138] Position represents the particle's current candidate solution in the solution space, directly corresponding to the potential answer to the optimization problem (such as scheduling schemes, parameter combinations, etc.). Velocity characterizes the particle's exploration direction and pace in the solution space, essentially a dynamic adjustment mechanism of the search strategy, determining how to migrate from the current solution to a better one.

[0139] S2. Calculate the position fitness of each particle; position fitness includes first fitness and second fitness;

[0140] In this embodiment, the encoding is first decoded, as detailed below.

[0141] The initial step sequence is represented as

[0142] OS = {O 1,1 O 1,2 O 1,j O2, 1, ..., O 2,j O i,j ...}; where O i,j The encoding value corresponding to the j-th operation step of the i-th job; the number of operation steps for each job may be the same or different;

[0143] The initial step sequence is decoded as follows:

[0144] A1. Construct the final step sequence; construct a temporary queue for each job, and enqueue the code value of each operation step of the job into the temporary queue in sequence; the head of the temporary queue corresponds to the code value of the first operation step of a job.

[0145] A2. Compare the O values ​​at the head of all temporary queues. i,j Select the largest one and move it to the final step sequence;

[0146] A3. Repeat step A2 until all temporary queues are cleared;

[0147] The total number of machines is NM The machine allocation sequence is represented as MA = {m1, m2, ..., m}. h ...}; where m h This represents the h-th encoded value in the machine-assigned sequence;

[0148] The decoding of the machine-assigned sequence is: m h =(round(m) h )mod N M )+1, that is, select the m-th... h Each machine performs the operation steps; where round() means rounding to the nearest integer and mod means modulo.

[0149] The decoded machine allocation sequence corresponds one-to-one with the final step sequence, assigning a machine to each operation step, thus forming a scheduling sequence. For example... Figure 2 and Figure 3 As shown, we now have an operation sequence string of length 8, i.e., O 11 =3.1, O 12 =2.1, O 21 =2.8, O 22 =2.4, O 31 =2.7, O 32 =2.4, O 41 =2.3, O 42 =2.2, corresponding to four jobs J1 to J4 respectively, each job has two operation steps; the steps of each job form a queue in sequence, with the queue head being (3.1)O respectively. 11 (2.8)O 21 (2.7)O 31 and (2.3)O 41 .

[0150] During decoding, the head of the queue is compared, and the one with the largest value is added to the final step sequence, resulting in {(3.1)O}. 11 At this point, the head of each of the four queues becomes (2.1)O. 13 (2.8)O 21 (2.7)O 31 and (2.3)O 41 ; and so on, repeating the above operations, the final sequence of steps is {(3.1)O} 11 (2.8)O 21 (2.7)O 31 (2.4)O 22 (2.4)O 32 (2.3)O 41 (2.2)O 42 (2.1)O 12}

[0151] The machine assigns 8 codes to the string: 0.3, 1.6, 3.9, 0.6, 2.5, 4.5, 5.8, and 6.7; after decoding, they are 1, 1, 1, 2, 2, 2, 1, and 2.

[0152] After integration, the scheduling sequence O can be obtained. 11 (1) O 21 (1) O 31 (1) O 22 (2) O 32 (2) O 41 (2) O 42 (1) O 12 (2); “O” 11 (1) indicates that the first operation step of the first job is executed by the first machine; the scheduling order of the first machine M1 is O. 11 (1) O 21 (1) O 31 (1) O 42 (1); The scheduling order of the second machine M2 is O 22 (2) O 32 (2) O 41 (2) O 12 (2).

[0153] In this embodiment, after decoding, the indicator variable D is calculated. ijk ,Right now:

[0154]

[0155] D ijk Indicates operation step O i,j Is it on the k-th machine M? k If the above is executed, the value is 1; otherwise, it is 0.

[0156] The calculation of the first fitness f1 and the second fitness f2 is as follows:

[0157]

[0158] in, For O i,j The fuzzy end time; For O i,j The fuzzy running time of the k-th machine; f1 represents the maximum completion time of a scheduling sequence; f2 represents the total load of the machines executing a scheduling sequence;

[0159] In the first group, the first fitness f1 is the smallest, which means the dominant fitness is the best;

[0160] In the second population, the second fitness f2 is the smallest, which means the dominant fitness is the best.

[0161] In this invention, a smaller fitness value indicates a better quality particle solution. The first group focuses on optimizing the maximum completion time, while the second group focuses on optimizing the total machine load. Fuzzy numbers are used to adapt to the uncertainties in workshop production. Fuzzy numbers are mathematical tools in fuzzy mathematics used to describe uncertain or fuzzy quantities. They extend traditional real numbers into fuzzy sets with membership functions, better aligning with the fuzzy semantics of human language. After decoding and confirming the scheduling sequence, the fuzzy end time and fuzzy running time can be calculated. Commonly used fuzzy number representations include triangular fuzzy numbers and trapezoidal fuzzy numbers. By minimizing the two main objectives of maximum completion time and total machine load, workshop production costs are reduced and machine utilization is improved.

[0162] The position of each particle Join the queue

[0163] The first population uses the first fitness as the dominant fitness, and the second population uses the second fitness as the dominant fitness. The position of the particle with the best dominant fitness is selected from each population. Assign the value to the globally optimal position gBest q The optimal fitness is defined as either the maximum or minimum dominance fitness. When comparing the dominance fitness of particles in a population, only one fitness level is used as the standard. Dominance fitness corresponds to an optimization objective. A larger or smaller dominance fitness indicates that the population is better optimized in that objective direction. The definition of whether a larger or smaller dominance fitness is optimal depends on the specific circumstances and application, such as the selected objective and objective function.

[0164] Update external shared archive A;

[0165] S3, Each particle is drawn from the queue. In the process, the position with the best dominant fitness is selected and denoted as the individual's short-term historical best position. Employing a multi-layered learning strategy, it utilizes the individual's short-term historical best position. Global optimal position gBest q Share archive A with external databases and update particle positions. and speed Multi-layer learning strategies affect speed and location The update is represented as:

[0166]

[0167] Where r1, r2, and r3 are all random numbers; c1, c2, and c3 are all preset acceleration coefficients; and ω is a preset inertia weight. This means that for the p-th particle in the q-th population, the d-th dimension is encoded at a randomly selected position from the external shared archive A. They represent gBest q The d-th dimension encoding.

[0168] L1, L2, and L3 constitute a three-layer learning strategy, which learns the direction of optimization from the individual's short-term historical best position, the global best position, and the external shared archive, respectively, and updates the speed value.

[0169] Preferably, if external shared archive A is empty, then another one is selected. Alternative If the current update is for particles from the first population, then in L3, the gBest of the second population is selected, i.e.: Similarly, or for

[0170] like Figure 4 As shown, the dark circle (X1) and light circles (X2, X3, X4) represent solutions generated during evolution in a single population. In the population optimizing objective 2, if the best historical position of an individual across all generations is used... To update the particles, then the particles' It will most likely remain at the single-objective optimal position X1 generated in all historical generations, and will not accept newly generated solutions that perform slightly worse in single-objective optimization but better in multi-objective optimization, such as X2, X3, or X4. This is because we use particles in each generation. Information to update external archives, once If updates stop, external archives will also stop updating. In this situation, the population may prematurely fall into a single-objective local optimum.

[0171] The single-population particles designed in this invention should be based on single-target evolutionary information ( gBest q Driven by information from multiple objectives and co-evolutionary mechanisms (external shared archive A), individuals approach the Pareto front, rather than being limited solely by the optimal information of their own population. Based on this idea, this invention employs a memory-constrained method to obtain short-term historical evolutionary information of individuals from the last G generations. Instead of the individual historical best position in the traditional particle swarm optimization algorithm In this way, some stubborn local optima of historical information will be forgotten, while The solution will be selected from the solutions generated in the most recent G generation, which will guide the particle to approach the Pareto front.

[0172] S4. Perform crossover and mutation operations on the two populations respectively to complete the population update;

[0173] In this embodiment, the crossover operation is as follows:

[0174] S4-1. For a population, randomly select two particles and denote them as parent particles; delete the parent particles from the population.

[0175] S4-2. On the initial step sequence of the two parent particles, select the same random multiple positions to exchange the code values; on the machine allocation sequence of the two parent particles, select the same random multiple positions to exchange the code values; thus obtaining two child particles; that is, perform multi-point crossover and exchange the codes of the two sequences at the same positions.

[0176] S4-3, Repeat S4-1 and S4-2 until the number of particles in the population is 0;

[0177] S4-4, Store all offspring particles into the population.

[0178] In this embodiment, the mutation operation is as follows:

[0179] S4-5. For each particle, randomly select two positions on the particle's initial step sequence to exchange the encoding values; randomly select one encoding value on the particle's machine assignment sequence to decode, obtaining machine encoding i, i.e., the i-th machine.

[0180] Generate a fixed code for each machine; the fixed code is a non-negative decimal; randomly select a fixed code that does not belong to the i-th machine and replace the selected code value.

[0181] Specifically, assuming there are 3 machines, 3 fixed codes are generated, namely 3.14, 6.67, and 8.01. Assuming the selected code value is 1.6, after decoding, it gets 3 (i.e. the 3rd machine). Then, the fixed code 6.67 of the 2nd machine is selected and replaced with 1.6.

[0182] Calculate the position fitness of each particle;

[0183] S5. Update the position of each particle. Join the queue For the population, select the particle with the best dominant fitness. If the dominant fitness of the particle is greater than or less than the global optimal position gBest... q If the optimal fitness is achieved, the particle's position will be replaced with gBest. q The "greater than / less than" here corresponds one-to-one with the "maximum or minimum" above. If "maximum" is selected in the previous context, then "greater than" is selected here; otherwise, if "minimum" is selected in the previous context, then "less than" is selected here.

[0184] Using the simulated annealing method, perturb the globally optimal position gBest q ; In this embodiment, the simulated annealing method is as follows:

[0185] B1. For each population, obtain the individual short-term historical optimal positions of all particles Obtain each dominant fitness;

[0186] B2. According to the inverse ratio of each dominant fitness, allocate sampling probabilities for each ; Using the roulette wheel strategy and sampling probabilities, select one denoted as spBest qt ; Since in this invention, the smaller the dominant fitness, the better the quality, when allocating probabilities, the smaller the dominant fitness, the greater the allocated probability, to find a relatively better (not necessarily the best) If the larger the dominant fitness is considered the best quality, there is no need to allocate according to the inverse ratio.

[0187] B3. Calculate the state acceptance function g, that is:

[0188]

[0189] Where, respectively represent the dominant fitness of spBest qt , gBest q , ; T gen represents the temperature at the gen-th iteration;

[0190] The calculation of the temperature is:

[0191]

[0192] Where, is the dominant fitness of the initial gBest q ; ф is a preset constant; λ is a preset attenuation factor;

[0193] Only when g is in a preset interval, such as rand(0,1) < g, gBest q = spBest qt .

[0194] Simulated annealing usually starts from a relatively high temperature and the temperature gradually decreases during the evolution process.

[0195] S6. Update the external shared archive A;

[0196] S7. Repeat S3 to S6 until a preset end condition is reached; Preferably, the preset end condition is to reach a preset number of iterations, that is, stop iterating.

[0197] In S2 and S6, an elite learning strategy and a neighborhood search strategy are used to update the external shared archive A.

[0198] In this embodiment, the storage space size of external shared archive A is denoted as NA; the number of locations of external shared archive A is denoted as na;

[0199] The update for external shared archive A is as follows:

[0200] C1. Set two empty sets S and S', and store all... Add the location in the externally shared archive A to the collection S;

[0201] C2. Execute the elite learning strategy on the location of the external shared archive A to obtain the new location and add it to the set S;

[0202] Elite learning strategies include:

[0203] Archive s,x =Archive s,x +(X max,x -X min,x )×Gaussian(0,1);

[0204] Archive s,x This represents the x-th dimension encoding of the s-th position in external shared archive A; x is a random value; X max,x and X min,x These represent the upper and lower bounds of the position in the x-th dimension, respectively; Gaussian(0,1) is the probability density function of a random variable that follows a normal distribution with a mean of 0 and a standard deviation of 1.

[0205] C3. Perform deduplication on set S; store all non-dominated solutions in set S into set S'; clear the external shared archive A; a non-dominated solution is an individual in the solution set that is not dominated by any other solution. If the fitness of particle A is greater than / less than that of particle B, then particle A and particle B have a dominant / dominated relationship; otherwise, they have a non-dominated relationship, i.e., they are mutually non-dominated solutions.

[0206] C4. If the number of positions in set S' is less than or equal to NA, then all positions in set S' are transferred and stored in external shared archive A, and the storage space size of external shared archive A is set to na.

[0207] Otherwise, sort all positions in set S' and select the top NA positions to store in the external shared archive A;

[0208] The above ranking was achieved using a non-dominated ranking method and a density estimation index, namely:

[0209] E1. Perform fast non-dominated solution sorting on the solutions in S' to obtain set F. Fast non-dominated sorting is a key step in multi-objective optimization used to hierarchically divide the solution set, commonly seen in algorithms such as NSGA-II. Its core idea is to divide all solutions into multiple non-dominated fronts (Pareto Fronts) according to their dominance relationship through traversal comparison. The first layer of fronts is the globally optimal solution set, and subsequent fronts are successively the suboptimal solution sets.

[0210] E2. Select the i-th subset from set F, denoted as Fi. i The initial value of i is 1, and the subset F i The number of particles in the medium is denoted as NF;

[0211] E3. If NF + na ≤ NA, then subset F i All particles are stored in the external shared archive A; i = i + 1, execute E2; if na < NA and NF + na > NA, then execute E4;

[0212] E4, subset F i The particles in the data are sorted by crowding distance, and a portion of them are selected and stored in an external shared archive A, such that na = NA; the crowding distance sorting process is as follows:

[0213] E4-1, For subset F i For the particles in the array, select a target value (first fitness or second fitness) and sort them from smallest to largest. The largest target value is max, and the smallest target value is min. The crowding distance between the two corresponding particles is set to infinity inf.

[0214] E4-2. Among the remaining particles, for each particle, let 'f' be the current particle; the target value of the current particle is denoted as ff. j The current particle's crowding distance CD j for:

[0215]

[0216] E4-3, Subset F i For each particle in the process, the sum of the multiple crowding distances obtained from multiple targets is the final crowding distance of the particle.

[0217] E4-4, subset F is arranged according to the crowding distance. i In the particle sorting, the greater the crowding distance, the higher the ranking, and the more preferentially it is stored in the external shared archive A.

[0218] C5. Perform a neighborhood search strategy on the external shared archive A; in this embodiment, a fixed code is generated for each machine; the fixed code is a non-negative decimal.

[0219] The neighborhood search strategy is as follows:

[0220] D1. Decode the location of the external shared archive A to obtain the scheduling sequence;

[0221] D2. Find the last executed operation step in the scheduling sequence, denoted as O. df ,df represents the dimension to which it belongs;

[0222] Find the machine M with the shortest completion time. a That is, satisfying the constraints Select machine M a The fixed encoding, replace m df The encoded value;

[0223] D3. Find the machine M with the highest workload in the scheduling sequence. b That is, satisfying the constraints In the scheduling sequence, machine M was found. b Let O be a random one of the operation steps to be executed. db ,db represents the dimension; select machine M b Replace m with the fixed code of any other machine. db The encoded value.

[0224] Neighborhood search strategies can be used to optimize location solutions, generating higher-quality solutions. Neighborhood search can also reduce the load on the machine with the heaviest workload.

[0225] By sharing information from archive A externally, each population can utilize not only its own single-objective evolutionary information but also the multi-objective co-evolutionary information provided by all populations, thereby helping the population approach the Pareto front more quickly. Therefore, the quality and diversity of solutions in the archive are crucial for improving the algorithm's performance.

[0226] The final external shared archive A contains the positions of all particles, which is the solution to the entire algorithm, also known as the Pareto front.

[0227] This invention proposes a multi-population algorithm for co-evolution, employing multiple populations to evolve multiple objectives, with each population corresponding to only one objective. The algorithm constructs an external shared archive A to store the co-evolutionary information of all populations, then combines the evolutionary information of individual populations with the co-evolutionary information to guide particles to efficiently approach the entire Pareto front, thereby avoiding fitness assignment problems and improving optimization efficiency.

[0228] In particular, a multi-layered information learning strategy is introduced, innovatively combining short-term individual evolutionary information, long-term population evolutionary information, and co-evolutionary information. This avoids the algorithm getting trapped in local optima and accelerates its approach to the Pareto front. Furthermore, the introduction of short-term individual evolutionary information reduces the risk of particles getting trapped in single-objective optima, thus significantly enhancing the co-evolutionary ability of multiple populations.

[0229] Based on the disclosure and teachings of the foregoing specification, those skilled in the art can make changes and modifications to the above embodiments. Therefore, the present invention is not limited to the specific embodiments disclosed and described above, and some modifications and changes to the present invention should also fall within the protection scope of the claims of the present invention. Furthermore, although some specific terms are used in this specification, these terms are only for convenience of explanation and do not constitute any limitation on the present invention.

Claims

1. A multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance, wherein the job shop has multiple machines for executing multiple jobs; each job includes multiple operation steps, and a machine executes only one operation step at a time; the order in which the multiple machines execute the multiple operation steps is scheduled is denoted as a scheduling sequence; characterized in that, The method includes the following steps: S1. Construct two populations, including the first population and the second population, and initialize each population with N particles; construct an external shared archive A and initialize it as an empty set; for the p-th particle of the q-th population, randomly initialize its velocity. and location The position of each particle corresponds to the encoding of a scheduling sequence; for each particle, a queue of length G is constructed. The queue is a first-in-first-out queue; the external shared archive A is used to store the location; S2. Calculate the position fitness of each particle; the position fitness includes a first fitness and a second fitness; set the position of each particle... Enqueue to the queue The first population uses the first fitness as the dominant fitness, and the second population uses the second fitness as the dominant fitness. The position of the particle with the best dominant fitness is selected in each population. The value is assigned to the globally optimal position gBest. q The term "optimal" refers to the maximum or minimum fitness of the dominant factor. Update the external shared archive A; S3, Each of the particles is respectively from the queue In the process, the position with the best dominant fitness is selected and denoted as the individual's short-term historical best position. A multi-layered learning strategy is employed, utilizing the individual's short-term historical best position. The global optimal position gBest q And the external shared archive A, update the position of the particle. and speed S4. Perform crossover and mutation operations on the two populations respectively to update the populations; calculate the position fitness of each particle; S5. Update the position of each particle. Enqueue to the queue For the population, select the particle with the best dominant fitness. If the particle's dominant fitness is greater than or less than the global optimal position gBest, then... q If the optimal fitness is achieved, the particle's position will be replaced with gBest. q ; Simulated annealing is used to determine the global optimal position gBest. q To perform a disturbance; S6. Update the external shared archive A; S7. Repeat S3 to S6 until the preset termination condition is met; In S2 and S6, the external shared archive A is updated using an elite learning strategy and a neighborhood search strategy.

2. The multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance as described in claim 1, characterized in that, The speed and the position All are multidimensional codes; The multi-layer learning strategy affects speed. and location The update is represented as: Where r1, r2, and r3 are all random numbers; c1, c2, and c3 are all preset acceleration coefficients; and ω is a preset inertia weight. This means that for the p-th particle in the q-th population, the d-th dimension is encoded at a randomly selected position from the external shared archive A. They represent gBest q The d-th dimension encoding.

3. The multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance as described in claim 1, characterized in that, The position encoding of a particle comprises two sequences: an initial step sequence and a machine allocation sequence, the length of which is the same as the total number of operation steps; the encoded value of each dimension of the sequence is a random non-negative decimal. The encoded value of the initial step sequence represents the scheduling weight of the operation step; The encoded value of the machine allocation sequence corresponds to the machine assigned to each of the operation steps.

4. The multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance according to claim 3, characterized in that, It also includes decoding the encoding; The initial step sequence is represented as OS = {O 1,1 O 1,2 O 1,j O2, 1, ..., O 2,j O i,j ...}; Among them, O i,j The encoding value corresponding to the j-th operation step of the i-th job; the number of operation steps for each job may be the same or different; The initial step sequence is decoded as follows: A1. Construct the final step sequence; construct a temporary queue for each job, and enqueue the code value of each operation step of the job into the temporary queue in sequence; the head of the temporary queue corresponds to the code value of the first operation step of a job; A2. Compare the O values ​​at the head of all temporary queues. i,j Select the largest one and move it to the final step sequence; A3. Repeat step A2 until all temporary queues are cleared; The total number of machines is N. M The machine allocation sequence is represented as MA = {m1, m2, ..., m}. h ...}; where m h This represents the h-th encoded value of the machine-assigned sequence; The decoding of the machine-allocated sequence is: m h =(round(m) h )mod N M )+1, that is, select the m-th... h Each machine performs the operation steps; where round() means rounding to the nearest integer and mod means modulo. The decoded machine allocation sequence corresponds one-to-one with the final step sequence, and a machine is allocated for each operation step, which is a scheduling sequence.

5. The multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance according to claim 4, characterized in that, After decoding, calculate the indicator variable D. ijk ,Right now: D ijk Indicates operation step O i,j Is it on the k-th machine M? k If the above is executed, the value is 1; otherwise, it is 0. The first fitness f1 and the second fitness f2 are calculated as follows: in, For O i,j The fuzzy end time; For O i,j The fuzzy running time of the k-th machine; f1 represents the maximum completion time of the scheduling sequence; f2 represents the total machine load for executing the scheduling sequence; In the first population, the first fitness f1 is the smallest, which means the dominant fitness is the best; In the second population, the second fitness f2 is the smallest, which means the dominant fitness is the best.

6. The multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance according to claim 3, characterized in that, The crossover operation is as follows: S4-1. For a population, randomly select two particles and denote them as parent particles; delete the parent particles from the population. S4-2. On the initial step sequence of the two parent particles, select the same random multiple positions to exchange the code values; on the machine allocation sequence of the two parent particles, select the same random multiple positions to exchange the code values; thus obtaining two child particles. S4-3, Repeat S4-1 and S4-2 until the number of particles in the population is 0; S4-4, Store all offspring particles into the population.

7. The multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance according to claim 6, characterized in that, The mutation operation is as follows: S4-5. For each particle; on the initial step sequence of the particle, randomly select two positions to exchange the encoding values; on the machine allocation sequence of the particle, randomly select one encoding value for decoding to obtain machine encoding i, that is, the i-th machine; Generate a fixed code for each machine; the fixed code is a non-negative decimal; randomly select a fixed code that does not belong to the i-th machine and replace the selected code value.

8. The multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance according to claim 5, characterized in that, The simulated annealing method is as follows: B1. For each population, obtain the individual short-term historical best position of all particles. Get each Advantages of adaptability; B2. According to the inverse ratio of each of the aforementioned advantages in fitness, for each Assign sampling probabilities; using a roulette wheel strategy and the aforementioned sampling probabilities, select one... Recorded as spBest qt ; B3. Calculate the state acceptance function g, i.e.: in, They represent spBest respectively qt gBest q , Advantages of adaptability; T gen Represents the temperature in the gen-th iteration; Temperature is calculated as follows: in, For the original gBest q The optimal adaptability; ф is a preset constant; λ is a preset attenuation factor; gBest is only true when g is within a preset range. q =spBest qt .

9. A multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance as described in claim 5, characterized in that, The storage space size of the external shared archive A is denoted as NA; the number of locations of the external shared archive A is denoted as na; The external shared archive A is updated as follows: C1. Set two empty sets S and S', and store all... The location in the external shared archive A is added to the set S; C2. Execute an elite learning strategy on the location of the external shared archive A to obtain a new location and add it to the set S; C3. Perform deduplication on set S; store all non-dominated solutions in set S into set S'; clear the external shared archive A; C4. If the number of positions in set S' is less than or equal to NA, then all positions in set S' are transferred and stored in external shared archive A, and the storage space size of external shared archive A is set to na. Otherwise, sort all positions in set S' and select the top NA positions to store in the external shared archive A; C5. Perform a neighborhood search strategy on the external shared archive A; The elite learning strategy is as follows: Archive s,x =Archive s,x +(X max,x -X min,x )×Gaussian(0,1); Archive s,x This represents the x-th dimension encoding of the s-th position in external shared archive A; x is a random value; X max,x and X min,x These represent the upper and lower bounds of the position in the x-th dimension, respectively; Gaussian(0,1) is the probability density function of a normally distributed random variable with a mean of 0 and a standard deviation of 1.

10. A multi-objective fuzzy flexible job shop scheduling method with multi-layer learning assistance as described in claim 9, characterized in that, A fixed code is generated for each machine; the fixed code is a non-negative decimal. The neighborhood search strategy is as follows: D1. Decode the location of the external shared archive A to obtain the scheduling sequence; D2. Find the last executed operation step in the scheduling sequence, denoted as O. df ,df represents the dimension to which it belongs; Find the machine M with the shortest completion time. a That is, satisfying the constraints Select machine M a The fixed encoding, replace m df The encoded value; D3. Find the machine M with the highest workload in the scheduling sequence. b That is, satisfying the constraints In the scheduling sequence, machine M was found. b Let O be a random one of the operation steps to be executed. db ,db represents the dimension; select machine M b Replace m with the fixed code of any other machine. db The encoded value.

Citation Information

Patent Citations

  • Job shop scheduling method based on solution credibility and double-file crowd-sourcing optimization

    CN113807611A

  • Distributed full-process job shop scheduling method based on genetic algorithm and terminal

    CN116596293A