Intelligent scheduling optimization method for complex process

By using an autoencoder neural network to reduce the dimensionality of the high-dimensional population in the evolutionary algorithm, the high computational complexity in the scheduling optimization problem of large-scale complex processes is solved, and a high-quality scheduling optimization scheme can be obtained in a finite time.

CN115238995BActive Publication Date: 2025-12-09BEIJING UNIV OF CHEM TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210876529.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-25
Publication Date
2025-12-09
Estimated Expiration
2042-07-25

AI Technical Summary

Technical Problem

Existing technologies suffer from high computational complexity and difficulty in solving large-scale complex process scheduling optimizations, making it difficult to obtain high-quality scheduling optimization solutions within a limited time.

Method used

An autoencoder neural network is used to reduce the dimensionality of the high-dimensional population in the evolutionary algorithm. The main features of the population encoding vector are extracted by the autoencoder neural network and efficiently searched in the low-dimensional space. Combined with the evolutionary algorithm, a higher-quality scheduling optimization scheme is obtained in a limited time.

Benefits of technology

By reducing the dimensionality of the search space, the efficiency and quality of scheduling optimization are significantly improved, and a better scheduling scheme can be obtained within a limited time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115238995B_ABST
    Figure CN115238995B_ABST
Patent Text Reader

Abstract

The application discloses an intelligent scheduling optimization method for a complex process, wherein the method comprises the following steps: determining the number of workpieces and the number of machines according to actual conditions, generating an original population containing P vectors, each vector representing a scheme of assigning all workpieces to various machines and the processing sequence of each workpiece under the scheme, mapping the population to a Euclidean space by adopting one-hot encoding, training a self-encoding neural network and performing dimension reduction on the one-hot encoding vectors to generate a low-dimensional population, respectively adopting an evolutionary algorithm to iterate the original population and the low-dimensional population to generate temporary populations, performing dimension increase on the low-dimensional temporary population by using a decoding module of the self-encoding neural network, evaluating the scheduling performance indexes of individuals in the temporary populations, reserving part of the individuals according to a greedy criterion and generating a child population. The method combines machine learning and swarm intelligence, can effectively search a high-dimensional solution space of combinatorial optimization, and can effectively solve the scheduling optimization problem of a complex process.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of complex process scheduling optimization, and particularly relates to an intelligent scheduling optimization method for a complex process. BACKGROUND

[0002] As an indispensable part of a complex production process, workpiece optimization scheduling has been a hot research topic. Reasonable workpiece scheduling is of great significance to improve production efficiency and reduce enterprise cost. In actual complex processes, such as a semiconductor production line, usually more than 1000 combined devices are included. From a mathematical point of view, such a problem belongs to a large-scale combinatorial optimization problem, and the corresponding mathematical programming model is a mixed integer programming model. The scheduling optimization problem is an NP-hard problem. Therefore, it has high solving difficulty and strong research value.

[0003] At present, in the field of complex process scheduling optimization, there are mainly three types of algorithms: accurate algorithm, heuristic rule and meta-heuristic algorithm: (1) The accurate algorithm expresses the problem by a mathematical programming model, and solves the linear programming and integer programming model by simplex method and branch and bound method respectively. Although the optimal solution can be obtained in theory, the calculation time is too long to meet the actual demand, and it is usually only suitable for small-scale problems; (2) The heuristic rule can be quickly solved, but it has strong dependence on the scheduling environment and scheduling target, poor universality, and it is difficult to guarantee the quality of the solution; (3) The meta-heuristic algorithm is a global search algorithm, and usually a satisfactory solution can be obtained within a certain time; as a branch of meta-heuristic algorithm, evolutionary algorithm (such as genetic algorithm, particle swarm algorithm, cuckoo algorithm) is often used to solve complex process scheduling optimization problem due to its strong portability. However, in practical application, due to the geometric growth of search space and a large number of discrete complex constraints, such algorithms may fail, resulting in a significant decline in performance within a limited time or even unable to obtain an optimal solution.

[0004] In summary, for large-scale complex process scheduling optimization problems, it is a challenging task to design corresponding scheduling optimization algorithms, and the problem needs to be solved by designing and proposing efficient algorithms. SUMMARY

[0005] The present application provides an intelligent scheduling optimization method for a complex process. The method uses a self-encoding neural network to reduce the dimension of a high-dimensional population, which can effectively solve the large-scale machine allocation and workpiece sorting sub-problems, and further obtain a higher-quality scheduling optimization scheme within a limited time.

[0006] To achieve the above objectives, this invention introduces an autoencoder neural network to reduce the dimensionality of the high-dimensional population of the evolutionary algorithm. This allows for the extraction of key features from the encoded vectors within the population and enables efficient searching in the low-dimensional space, significantly reducing the search space of the original problem. Consequently, higher-quality scheduling optimization solutions can be obtained within a limited time. The method specifically includes the following steps: initializing the evolutionary algorithm population and setting parameters; mapping the algorithm population to Euclidean space using one-hot encoding; training the autoencoder neural network and reducing the dimensionality of the one-hot encoded vectors to generate a low-dimensional population; iteratively generating temporary populations by applying the evolutionary algorithm to both the original population and the low-dimensional population; increasing the dimensionality of the low-dimensional temporary population using the decoding module of the autoencoder neural network; evaluating the scheduling performance indicators of each individual in the temporary population, retaining some individuals according to a greedy criterion, and generating a progeny population. This method integrates machine learning and evolutionary algorithms, effectively searching the high-dimensional solution space of combinatorial optimization, and thus effectively solving scheduling optimization problems involving complex processes.

[0007] Furthermore, the specific steps of this invention are as follows:

[0008] Step 1: Determine the number of workpieces and machines based on the actual situation, initialize the evolutionary algorithm population, and generate an original population containing P vectors, denoted as X(0)={x1(0),...,x P (0)}, where a vector x u (0), u=1,...,P represents a scheme in which all workpieces are assigned to various machines, and the processing sequence of each workpiece under this scheme;

[0009] Step 2: Perform R iterations on the initialized evolutionary population X(0) using an evolutionary algorithm, recording all R generations of populations X(0),...,X(R) generated during the iteration process; use one-hot encoding to map all individuals in these R populations to Euclidean space, obtaining P·R one-hot encoded vectors, which are used as training data to train the autoencoder neural network Q. This network includes an encoding module Q. E and decoding module Q D ;

[0010] Step 3: In the iteration process from generation (R+1) onwards, the evolutionary algorithm population X(R) obtained in the Rth iteration is regarded as the initial population, and an additional population V(R) = X(R) is generated, called the low-dimensional population. The t-th generation population and the t-th generation low-dimensional population are denoted as X(t) and V(t) respectively. Let the current iteration number be t (t≥R). In the iteration process of the t-th generation population: First, the low-dimensional population V(t) is mapped to Euclidean space through one-hot encoding to obtain... Secondly, the Q encoding module of the trained autoencoder neural network is used. E right Dimensionality reduction, generating a low-dimensional population Again, X(t) and V(t) are iterated with evolutionary algorithm respectively, to generate X'(t) and V'(t) Finally, the decoding module Q of the trained auto-encoding neural network is used to decode D map to the original solution space, to obtain V'(t), that is, from the t th generation population X(t) and V(t), two temporary populations X'(t) and V'(t) are obtained;

[0011] Step 4: Evaluate the scheduling performance indicators of each individual in X'(t) and V'(t), and retain part of the individuals according to the greedy criterion and generate the (t+1) th generation population X(t+1) and V(t+1), and iterate repeatedly until the termination algorithm condition is met, that is, the optimal intelligent scheduling scheme X(T) is obtained, where T is the maximum number of iterations.

[0012] Step 1 further comprises: according to the preset population size parameter P, P real number vectors are randomly generated according to uniform distribution, denoted as the original population X(0)={x u (0),...,x P (0)}; wherein x u (0) represents the u th real number vector;

[0013] Each vector has a length of 2N, N is the number of workpieces, and each vector includes two segments, wherein the front half of the vector is denoted as is a real number between 0 and 1, used to represent the machine allocation scheme of the i th workpiece, and the specific process of the machine allocation scheme is: according to the number of machines M, the interval of 0 to 1 is evenly divided into M segments, wherein the index number of the j th segment is j, and if the size of is within the j th segment, it means that the i th workpiece is allocated to the j th machine;

[0014] The latter half of the vector is denoted as is a real number between 0 and 1, used to represent the processing priority of the i th workpiece, and the specific process of the workpiece sorting scheme is: if is greater than and workpiece i and workpiece k are allocated to the same machine for processing, workpiece i is processed first; otherwise, workpiece k is processed first.

[0015] Step 2 further comprises the following steps:

[0016] Step 2.1: After generating the initial population X(0) according to step 1, the evolutionary algorithm is iterated R times (usually R≤10), and the population of each iteration is recorded to obtain P·R individual vectors, each individual vector includes a machine allocation part x​​A and workpiece ordering part x S ;

[0017] Step 2.2: For machine assignment part individual vector x A , its corresponding one-hot encoding y A is represented by the following formula

[0018]

[0019] wherein, represents the (M·i+j-M)th element in one-hot encoding y A , represents the ith element in x A , M represents the number of machines, and j represents the machine index number;

[0020] For workpiece ordering part individual vector x S , its corresponding one-hot encoding y S is represented by the following formula

[0021]

[0022] wherein, represents the (N·i+j-N)th element in one-hot encoding y S , z i is the ith element in vector z, N represents the number of workpieces, and z = {z1,..., z N} is the vector composed of the index values returned by sorting the elements in x S in ascending order.

[0023] Step 2.3: Concatenate the two vectors to obtain the one-hot encoding vector, i.e. y = [y M ; y S ], and perform the above steps on each individual to obtain P·t one-hot encoding vectors.

[0024] Step 2.4: Set the dimension of the hidden layer of the auto-encoding neural network to L, L < 2N, and use the obtained one-hot encoding vectors as the training set to train the auto-encoding neural network, including encoding module Q E and decoding module Q D .

[0025] Step 4 further comprises the following steps:

[0026] Step 4.1: Evaluate the scheduling performance indicators of each individual in the temporary population X'(t) and V'(t) obtained in step 3;

[0027] Step 4.2: Reserve P individuals with the best scheduling performance in the temporary populations X'(t) and V'(t) according to the greedy criterion, to form the offspring candidate population, denoted as O(t+1);

[0028] Step 4.3: Select P individuals with the best scheduling performance in the populations X(t) and O(t+1) as the offspring population X(t+1) of X(t);

[0029] Step 4.4: Select P individuals with the best scheduling performance in the populations V(t) and O(t+1) as the offspring population V(t+1) of V(t);

[0030] Step 4.5: iteratively evolve the population X(t) using the evolutionary algorithm, and iteratively evolve the population V(t) using the evolutionary algorithm and the trained auto-encoding neural network Q, until the algorithm termination condition t≥T is met, where T is a preset maximum number of iterations, and output the best scheduling scheme in the current population.

[0031] Advantages:

[0032] The low-dimensional population constructed by the auto-encoding neural network can efficiently search in the low-dimensional space containing the main features of the encoding vectors, greatly reducing the search space of the original problem, and the population has strong global search ability; the original high-dimensional population has strong local search ability, and the combination of the two can more effectively and efficiently optimize the solution space of the problem. BRIEF DESCRIPTION OF DRAWINGS

[0033] The accompanying drawings, which form a part of this specification, are included to provide a further understanding of the present application, and are incorporated in and constitute a part of this specification. The embodiments of the present application, and their

[0034] Figure 1 is a flowchart of the intelligent scheduling optimization method in the present application;

[0035] Figure 2 is a schematic diagram of obtaining a scheduling scheme from the encoding vectors of the evolutionary population in the present application;

[0036] Figure 3 is a schematic diagram of individual vectors in the evolutionary algorithm population V and the one-hot encoding vector population Y in the present application;

[0037] Figure 4 (a) is a performance comparison diagram of several different comparative algorithms on the DAFJS instance;

[0038] Figure 4 (b) is a performance comparison diagram of several different comparative algorithms on the YFJS instance. DETAILED DESCRIPTION

[0039] For better understanding of the technical solutions of the present application, the embodiments of the present application are further described below in combination with the drawings and specific examples.

[0040] A small-scale problem including 4 workpieces (N=4) and 3 machines (M=3) is taken as an example.

[0041] Step 1:

[0042] In this example, the number of workpieces is 4 and the number of machines is 3. According to the preset population size parameter P, an original population including P vectors is generated, as shown in the following formula: Figure 2 It is assumed that one of the vectors x={0.2, 0.1, 0.8, 0.6, 0.7, 0.2, 0.3, 0.5}, which is composed of a machine allocation part vector x A and a workpiece ordering part vector x S : x A ={0.2, 0.1, 0.8, 0.6} and x S ={0.7, 0.2, 0.3, 0.5}, represents a scheme of allocating all workpieces to machines and the processing order of each workpiece under this scheme.

[0043] Step 2:

[0044] The evolutionary algorithm is used to perform R iterations on the initialized evolutionary algorithm population X(0), and all R generation populations X(0),...,X(R) generated in the iteration process are recorded. The one-hot encoding is used to map all individuals in the R populations to the Euclidean space respectively, obtaining P·R one-hot encoding vectors. Taking the above randomly generated vector x={0.2, 0.1, 0.8, 0.6, 0.7, 0.2, 0.3, 0.5} as an example, the process of converting it into a one-hot encoding vector y is shown in the following formula: Figure 3

[0045] For the machine allocation part vector x A , the one-hot encoding vector {1, 0, 0} represents machine 1, {0, 1, 0} represents machine 2, and so on; for the workpiece ordering part vector x S , the one-hot encoding vector represents the index value obtained by ascending ordering. The dimension of the hidden layer of the network Q is set to L, and the network Q is trained using the generated training data set. The network Q includes an encoding module Q E and a decoding module Q D .

[0046] Step 3:

[0047] ​In the iterations from generation (R+1) onwards, the evolutionary population X(R) obtained in the Rth iteration is considered as the initial population, and an additional population V(R) = X(R) is generated, called the low-dimensional population. The generation t population and the generation t low-dimensional population are denoted as X(t) and V(t), respectively. Let the current iteration number be t (t≥R). In the iteration process of the generation t population: First, the low-dimensional population V(t) is mapped to Euclidean space using one-hot encoding to obtain... Secondly, the Q encoding module of the trained autoencoder neural network is used. E right Dimensionality reduction, generating a low-dimensional population Again, for X(t) and Each uses an evolutionary algorithm to iterate, generating X'(t) and... Finally, the trained autoencoder neural network decoding module Q is used. D Will Mapping to the original solution space, we obtain V'(t), which means obtaining two temporary populations X'(t) and V'(t) from the t-th generation population X(t) and V(t);

[0048] Step 4:

[0049] To evaluate the scheduling performance metrics of each individual in X'(t) and V'(t), let's take the encoded vector x = {0.2, 0.1, 0.8, 0.6, 0.7, 0.2, 0.3, 0.5} as an example to illustrate the process of evaluating scheduling performance metrics:

[0050] For the machine-assigned partial vector x A The actual machine allocation scheme is calculated using a roulette wheel method. For example, the machine allocation vector element value corresponding to workpiece 1 is 0.2, which belongs to the interval [0, 0.33), so it is assigned to machine 1. For the workpiece sorting part vector x S Sort the workpieces in ascending order and return their index values. For different workpieces assigned to the same machine, the smaller the index value, the higher the processing priority. For example, if workpiece 1 and workpiece 2 are both assigned to machine 1, since the index value of the workpiece sorting vector element corresponding to workpiece 1 is 4 and the index value of the workpiece sorting vector element corresponding to workpiece 2 is 1, then workpiece 2 is the first workpiece to be processed on machine 1 (1-1), and workpiece 1 is the second workpiece to be processed on machine 1 (1-2). Thus, a feasible scheduling scheme is obtained: Machine 1: Workpiece 2 and workpiece 1 are processed sequentially; Machine 2: Workpiece 4; Machine 3: Workpiece 3. Let's assume the scheduling objective is the maximum completion time. We can calculate the completion time of each machine based on the known workpiece processing time and take the maximum value of the completion times of the three machines as the maximum completion time.

[0051] According to the greedy criterion, P individuals with the best scheduling performance index (the shortest maximum completion time) in the temporary populations X'(t) and V'(t) are reserved to form a candidate offspring population, denoted as O(t+1); P individuals with the best scheduling performance index in the populations X(t) and O(t+1) are selected as the offspring population X(t+1) of the population X(t); P individuals with the best scheduling performance index in the populations V(t) and O(t+1) are selected as the offspring population V(t+1) of the low-dimensional population V(t); the population X(t) is repeatedly iterated by using the evolutionary algorithm, and the low-dimensional population V(t) is repeatedly iterated by using the evolutionary algorithm and the trained self-encoding neural network Q, until the algorithm termination condition t >= T is met, where T is a preset maximum iteration number, and the best scheduling scheme in the current population is output.

[0052] Algorithm comparison results;

[0053] The following two evolutionary algorithms are selected as the comparison experimental methods: the cuckoo search algorithm (CS) and the intelligent scheduling optimization method (ACS) of the present application. The two algorithms are independently run 10 times on the benchmark dataset, and the objective function values of the best scheduling schemes obtained are averaged, and the results are shown in Table 1. Figure 4

[0054] The Wilcoxon signed rank test results of the objective function values obtained by multiple simulations are shown in the following table:

[0055]

[0056] The present application has the following excellent properties:

[0057] Comparing the method of the present application with the cuckoo search algorithm, it can be found that there is no significant performance difference between the two on small-scale problems, but on large-scale problems, the method of the present application can obviously obtain scheduling solutions with better performance. The self-encoding neural network is used to reduce the dimension of the high-dimensional population, which helps the cuckoo algorithm to search efficiently in the low-dimensional solution space. By reducing the search space of the original problem, a scheduling optimization scheme with higher quality can be obtained within a limited time.​

Claims

1. A method for intelligent scheduling optimization of complex processes, characterized in that, Comprising the following steps: Step 1: Determine the number of workpieces and the number of machines according to the actual situation, initialize the population of the evolutionary algorithm, generate an original population containing P vectors, denoted as X(0)={x1(0),...,xP(0)}, where a vector xP(0),u=1,...,P represents a scheme in which all workpieces are assigned to each machine, and the processing order of each workpiece under this scheme; P (0)}. u (0),u=1,...,P represents a scheme in which all workpieces are assigned to each machine, and the processing order of each workpiece under this scheme; Step 2: Perform R iterations on the initialized original population X(0) using the evolutionary algorithm, and record all R generations of populations X(0),...,X(R) produced during the iteration process; map all individuals in the R populations to the Euclidean space respectively using one-hot encoding to obtain P·R one-hot encoding vectors as training data to train the auto-encoding neural network Q, which includes an encoding module Q E and a decoding module Q D ; Step 3: In the iteration process from generation (R+1) onwards, the evolutionary algorithm population X(R) obtained in the Rth iteration is regarded as the initial population, and an additional population V(R) = X(R) is generated, called the low-dimensional population. The t-th generation population and the t-th generation low-dimensional population are denoted as X(t) and V(t) respectively, where the current iteration number is t (t≥R). In the iteration process of the t-th generation population: First, the low-dimensional population V(t) is mapped to Euclidean space through one-hot encoding to obtain... Secondly, the Q encoding module of the trained autoencoder neural network is used. E right Dimensionality reduction, generating a low-dimensional population Again, for X(t) and Each uses an evolutionary algorithm to iterate, generating X'(t) and... Finally, the trained autoencoder neural network decoding module Q is used. D Will Mapping to the original solution space, we obtain V'(t), which means obtaining two temporary populations X'(t) and V'(t) from the t-th generation population X(t) and V(t); Step 4: Evaluate the scheduling performance indicators of each individual in X'(t) and V'(t), retain part of the individuals according to the greedy criterion and generate the (t+1) generation population X(t+1) and V(t+1), and iterate repeatedly until the termination algorithm condition is met, i.e. the optimal intelligent scheduling scheme X(T) is obtained, wherein T is the maximum number of iterations.

2. The intelligent scheduling optimization method of complex processes according to claim 1, characterized in that, Comprising the following steps: Step 1 further comprises: according to a preset population size parameter P, generating P real number vectors in a uniform distribution, denoted as an original population X(0) = {x1(0),... xP(0)}, wherein xP(0) represents the u-th real number vector. u (0),...,x P (0)}. u (0) represents the u-th real number vector. Each vector length is 2N, N is the number of jobs, each vector includes two parts, the former half of the vector is denoted as is a real number between 0 and 1, which is used to represent the machine allocation scheme of the i-th job, and the specific process of the machine allocation scheme is as follows: the interval of 0 to 1 is evenly divided into M segments according to the number of machines M, wherein the index number of the j-th segment is j, and if the size of is within the range of the j-th segment, it indicates that the i-th job is allocated to the j-th machine. The latter half of the vector is denoted as is a real number between 0 and 1, representing the processing priority of the ith job, and the specific process of the job scheduling scheme is: if is less than and job i and job k are assigned to the same machine for processing, job i is processed before job k; otherwise, job k is processed before job i.

3. The method for intelligent scheduling optimization of complex processes according to claim 2, wherein, Comprising the following steps: Step 2 further comprises the following steps: Step 2.1 : After the original population X(0) is generated according to Step 1, the swarm intelligence algorithm is executed for R times, and the population of each iteration is recorded to obtain P-R individual vectors, each of which includes a machine allocation part x A and a workpiece sequencing part x S ; Step 2.2: For machine assignment part individual vector x A , its corresponding one-hot encoding y is represented by the following formula A : wherein, represents one-hot encoding y A the (M*i + j - M)th element in x represents the ith element in x A M represents the number of machines, and j represents the machine index number; For the workpiece sequencing part individual vector x S , its corresponding one-hot encoding y S is represented by the following formula: wherein, represents one-hot encoding y S the (N · i + j - N)th element in vector z i is the ith element in vector z, N represents the number of workpieces, z = {z1,..., z N} is a vector composed of index values returned after elements in x S are sorted in ascending order; Step 2.3: Concatenate the two vectors to get the one-hot encoded vector, i.e., y = [y M ; y S ] for each individual. Step 2.3: Concatenate the two vectors to get the one-hot encoded vector, i.e., y = [y M ; y S ] for each individual. Step 2.4: Set the dimension of the hidden layer of the auto-encoder neural network as L, L < 2N, and train the auto-encoder neural network with the obtained one-hot encoded vector as the training set, including the encoding module Q E and the decoding module Q D .

4. The intelligent scheduling optimization method of complex processes according to claim 3, characterized in that, Comprising the following steps: Step 4 further comprises the following steps: Step 4.1: Evaluate the scheduling performance indicators of each individual in the temporary population X'(t) and V'(t) obtained in step 3; Step 4.2: Retain the P individuals with the best scheduling performance indicators in the temporary population X'(t) and V'(t) according to the greedy criterion to form the candidate offspring population, denoted as O(t+1); Step 4.3: Select the P individuals with the best scheduling performance indicators in the population X(t) and O(t+1) as the offspring population X(t+1) of X(t); Step 4.4: Select the P individuals with the best scheduling performance indicators in the population V(t) and O(t+1) as the offspring population V(t+1) of the low-dimensional population V(t); Step 4.5: Use the evolutionary algorithm to iterate the population X(t) repeatedly, and use the evolutionary algorithm and the trained self-encoding neural network Q to iterate the low-dimensional population V(t) repeatedly until the algorithm termination condition t≥T is met, wherein T is the preset maximum number of iterations, and the best scheduling scheme in the current population is output.

Citation Information

Patent Citations

  • Closed-loop scheduling optimization method for complex production process

    CN110989538A

  • Real-Time Production Scheduling with Deep Reinforcement Learning and Monte Carlo Tree Research

    US20210278825A1