Flexible job shop energy-saving scheduling method based on learning multi-population evolutionary algorithm
By optimizing machine selection and processing sequence through a learning-based multi-population evolutionary algorithm, the problem of unreasonable production plans in flexible job shop scheduling was solved, and an efficient and energy-saving production plan was achieved.
Patent Information
- Application Number
- CN202210962880.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-11
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2042-08-11
AI Technical Summary
The existing flexible job shop scheduling algorithm cannot find a reasonable production and processing plan within a limited time, and fails to effectively utilize historical elite individual information, resulting in the production plan being unable to meet the needs of the enterprise.
A multi-objective energy-saving scheduling model for flexible job shops is constructed based on a learning-based multi-population evolutionary algorithm. The probability matrix and priority matrix are combined to store historical elite individual information. The machine selection and processing sequence are optimized through the learning-based multi-population evolutionary algorithm to obtain a production plan with short time consumption and low energy consumption.
The production efficiency of the flexible operation workshop is improved, energy consumption is reduced, a more comprehensive production and processing plan is obtained, and the algorithm is prevented from falling into local optimality.
Smart Images

Figure CN115271515B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of flexible job shop energy-saving scheduling, and specifically relates to a flexible job shop energy-saving scheduling method based on a learning-type multi-population evolutionary algorithm. Background Art
[0002] The job shop scheduling problem (JSP) has proven to be of great significance to the manufacturing industry. As an extension of the JSP, the flexible job shop scheduling problem (FJSP) takes into account machine flexibility, making the scheduling model more realistic in the manufacturing environment. Furthermore, the rapid growth of energy demand with economic development is a significant global issue. According to statistics, the manufacturing industry alone consumes nearly one-third of the world's energy. Due to energy crises, environmental pollution, and the need for sustainable development, energy prices and environmental degradation costs are also increasing. Balancing manufacturing efficiency and energy consumption has become a key issue facing business decision makers.
[0003] Some existing solutions use multi-objective optimization algorithms to schedule production in flexible job shops. However, because FJSP is a more complex NP-hard problem, these algorithms cannot find a richer and more reasonable production and processing solution within the limited search time. Furthermore, these algorithms do not adequately handle historical elite individuals to obtain useful information to guide the evolution of the population. As a result, the resulting production and processing solutions fail to meet the requirements of flexible job shop management. Summary of the Invention
[0004] In order to address the shortcomings of the above-mentioned existing technologies, the present invention proposes a flexible job shop energy-saving scheduling method based on a learning multi-population evolutionary algorithm, in order to obtain a production plan with short production time and low energy consumption for production and processing, thereby reducing the manufacturing cycle and manufacturing costs of manufacturing enterprises.
[0005] In order to achieve the above-mentioned object, the present invention adopts the following technical solutions:
[0006] The flexible job shop energy-saving scheduling method based on a learning multi-population evolutionary algorithm of the present invention is characterized by being performed in the following steps:
[0007] Step 1: According to the actual production and processing requirements, construct the workpiece set Ω to be processed as shown in formula (1);
[0008]
[0009] In formula (1), i represents the index of the workpiece in the set of workpieces to be processed Ω; n represents the total number of workpieces in the set of workpieces to be processed Ω; J i represents the i-th workpiece in the set of workpieces to be processed Ω; O i,j Represents the i-th workpiece Ji The jth process; j represents the index of the process; n i Represents the i-th workpiece J i The total number of processes;
[0010] Step 2: Use equations (2) and (3) to construct the maximum completion time C of the set of workpieces to be processed Ω. max And the total energy consumption TEC:
[0011]
[0012]
[0013] In formula (2) and formula (3), C i Represents the i-th workpiece J i The time it takes to complete the processing; k represents the index of the machine; m represents the total number of machines; T i,j,k Represents the i-th workpiece J i The jth process O i,j Processing time on the kth machine; w i,j,k Represents the i-th workpiece J i The jth process O i,j Processing power on the kth machine;
[0014] Step 3: Set corresponding constraints according to actual production conditions and minimize the maximum completion time C max and total energy consumption TEC as the target, and then use formula (4) to build a multi-objective flexible job shop energy-saving scheduling model:
[0015]
[0016] In formula (4), S i,j Represents the i-th workpiece J i The jth process O i,j Processing start time; S i′,j′ Represents the i′th workpiece J i′ The j′th process O i′,j′ Processing start time; X i,j,k Represents the i-th workpiece J i The jth process O i,j Is it processed on the kth machine? If so, let X i,j,k is 1, otherwise, let X i,j,k is 0; S i,j+1 Represents the i-th workpiece J i The processing start time of the j+1th process; C i,j Represents the i-th workpiece J i The jth process O i,j Time for processing to be completed; Yi,j,i,j′,k Indicates the i-th job J on the k-th machine i The jth process O i,j Is it before the i′th workpiece J i′ The j′th process O i′,j′ Processing, if so, then let Y i,j,i′,j′,k is 1, otherwise, let Y i,j,i,j′,k is 0; f1 represents the first target value, f2 represents the second target value; let the two-dimensional space where the first target value f1 and the second target value f2 are distributed be the target space;
[0017] Step 4: Based on the set of workpieces to be processed Ω, a learning multi-population evolutionary algorithm is used to solve the multi-objective flexible job shop energy-saving scheduling model to obtain a set of production and processing plans;
[0018] Step 5: Select a desired production and processing plan from a group of production and processing plans to produce and process the workpiece set Ω.
[0019] The flexible job shop energy-saving scheduling method of the present invention is also characterized in that step 4 is performed according to the following process:
[0020] Step 4.1, define and initialize the current generation t = 0, let the t-th generation population be denoted as P t , set the population size to N, the reference vector set to V, and the maximum number of iterations to t max ;
[0021] Step 4.2: Based on the set of workpieces to be processed Ω, use equations (5) and (6) to initialize the t-generation probability matrix B with dimensions G×L×m. t and the t-generation priority matrix D with dimension G×L t :
[0022]
[0023]
[0024] In formula (5) and formula (6), represents the t-th generation population P t The probability that the lth process of the gth subpopulation chooses the kth machine; It is a two-dimensional matrix of L×m, which represents the probability matrix of machine selection for all processes in the g-th subpopulation; represents the t-th generation population P t The processing priority of the lth process in the gth subpopulation; It is a one-dimensional matrix of 1×L, which represents the processing priority matrix of all processes in the g-th subpopulation; G represents the number of subpopulations, and G is equal to the number of vectors in the reference vector set V. The subpopulation corresponds one-to-one with the vectors in the reference vector set V; g represents the index of the subpopulation; L represents the total number of processes; l represents the index of the total number of processes L, and n ε Represents the εth workpiece J ε The total number of processes; V g represents the reference vector corresponding to the g-th subpopulation; V g,1 Represents the first element of the reference vector corresponding to the g-th subpopulation; V g,2 Represents the second element of the reference vector corresponding to the g-th subpopulation;
[0025] Step 4.3, probability matrix B t All row vectors of the probability matrix of all subpopulations in are normalized to obtain the normalized probability matrix B ′t ; represents the probability matrix of machine selection for all processes in the g-th subpopulation after unitization; Represents the t-generation population P after unitization t The probability that the lth process of the gth subpopulation chooses the kth machine;
[0026] Step 4.4: Use roulette wheel to select the tth generation population P t The probability matrix corresponding to the g-th subpopulation and priority matrix Generate N / G individuals from the normalized probability matrix B ′t and the priority matrix D t Initialize N individuals in the t-th generation population in, represents the t-th generation population P t No. individual;
[0027] Step 4.5, initialize a set A;
[0028] Step 4.6: Get the t-th generation population P t All non-dominated individuals in are added to set A;
[0029] Step 4.7: For the t-th generation population P t The two target values of all individuals in are normalized to obtain the normalized t-generation population in, represents the normalized t-generation population P ′t No. individuals; after normalization, Individual The two target values are and After normalization, Individual The target vector for
[0030] Step 4.8: Calculate the t-th generation population P after normalization in the target space according to formula (7): ′t Middle Individual The target vector The reference vector corresponding to the subpopulation g in the reference vector set V V The cosine of the angle g And the normalized t-generation population P ′t Middle Individual It is assigned to the subpopulation to which the reference vector with the smallest cosine value belongs, so that the normalized t-generation population p ′t Divide into G subpopulations Let the gth subpopulation of the tth generation population be The τth individual in Let the gth subpopulation of the tth generation population be The τth individual The target vector is
[0031]
[0032] In formula (7), represents the normalized t-generation population P ′t Middle Individual The target vector The module length of |V g | represents the reference vector V corresponding to the g-th subpopulation g Length of the module;
[0033] Step 4.9: Use formula (8) to calculate the g-th subpopulation of the t-th generation population The τth individual The fitness value of Thus, according to the g-th subpopulation The fitness value of each individual in the subpopulation is selected, and the individuals with smaller fitness values are selected as elite individuals; thus, the t-th generation elite population P is obtained. *,t ;
[0034]
[0035] Step 4.10: For the t-th generation elite population P *,tThe δth elite individual in the gth subpopulation First, a random number rd is generated. If rd is less than the second element value V of the reference vector corresponding to the g-th subpopulation, g,2 , the elite individuals are trained by randomly adjusting the machine selection of a key operation Search to generate a new individual Otherwise, for elite individuals Optimize the processing energy consumption and adjust a random process to the machine with the lowest energy consumption, thus generating a new individual
[0036] If the new individual Pareto-dominated elite individuals The new individual is retained If elite individuals Pareto dominated new individuals Elite individuals are retained Otherwise, retain the elite individuals and new individuals Thus, the updated t-generation elite population P is obtained **,t ;
[0037] Step 4.11: Calculate the updated elite population P of the tth generation **,t The average probability that all elite individuals in the g-th subpopulation choose the k-th machine in the l-th process is Calculate the updated elite population P of the tth generation **,t The average processing priority of the lth process of all elite individuals in the gth subpopulation
[0038] Step 4.12: Use equations (10) and (11) to calculate the probability matrix B of the tth generation. ′t and the priority matrix D of generation t t Update and get the probability matrix B of the t+1 generation ′t+1 and the priority matrix D of the t+1th generation t+1 ;
[0039]
[0040]
[0041] In formula (10) and formula (11), R represents the learning rate of new knowledge; represents the t+1 generation population P t+1 The probability that the lth process of the gth subpopulation chooses the kth machine; represents the t+1 generation population P t+1The processing priority of the lth process in the gth subpopulation;
[0042] Step 4.13: Use roulette wheel to select the t+1 generation population P t+1 The knowledge matrix corresponding to the g-th subpopulation and Generate N / (2×G) offspring individuals, so as to obtain the probability matrix B of the t+1 generation ′t+1 and the priority matrix D t+1 Generate N / 2 offspring individuals as the offspring population and record them as Θ;
[0043] Step 4.14: Merge the elite population P **,t and the offspring population Θ as the first t +1 generation population P t+1 ;
[0044] Step 4.15: Get the t+1 generation population P t+1 All non-dominated individuals in , and then add them to set A, and remove the dominated individuals in set A;
[0045] Step 4.16: If t = t max , then output all non-dominated individuals stored in set A as a set of production and processing plans. Otherwise, assign t+1 to t and return to step 4.7.
[0046] Compared with the prior art, the present invention has the following beneficial effects:
[0047] 1. Based on the actual production situation of the flexible operation workshop, the present invention sets up multiple constraints, establishes a multi-objective optimization model for the total energy consumption cost and maximum completion time required for the production of the flexible operation workshop, and designs a learning multi-population evolutionary algorithm to solve the multi-objective optimization model, and obtains a group of optional production and processing plans with short time consumption and low energy consumption for enterprise decision makers to choose, thereby improving the production efficiency of the flexible operation workshop and reducing the energy consumption required for production in the flexible operation workshop.
[0048] 2. The present invention proposes a subpopulation-based elite retention strategy in the learning multi-population evolutionary algorithm, which evenly retains half of the individuals in each subpopulation as elite individuals, so that the population has better convergence and diversity, avoids the algorithm from falling into local optimality, and thus obtains a more comprehensive generation and processing solution.
[0049] 3. The present invention proposes two local optimization operators in the learning multi-population evolutionary algorithm and selects the two local optimization operators through reference vectors, thereby improving the overall convergence of the algorithm and obtaining a better generation and processing plan.
[0050] 4. The present invention develops a probability matrix and a priority matrix to store the characteristic information of historical elite individuals to guide the evolutionary direction of the population, so that the algorithm can adaptively adjust the direction of population optimization based on the elite individual information obtained in the search, thereby obtaining a more comprehensive and better generation and processing plan. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 This is a flow chart of the scheduling method of the present invention;
[0052] Figure 2 This is a flow chart of the learning multi-population evolutionary algorithm of the present invention. DETAILED DESCRIPTION
[0053] In this embodiment, the flexible job shop problem can be described as follows: each workpiece to be processed contains one or more processes, the process sequence of each workpiece is known, each process can be completed on one or more machines, and the processing time will vary depending on the selected processing machine. The scheduling plan needs to determine the processing sequence of the processes and the selection of machines so that the maximum completion time and total energy consumption of the entire scheduling system are optimized. Specifically, if Figure 1 As shown in the figure, a flexible job shop energy-saving scheduling method based on a learning multi-population evolutionary algorithm is carried out in the following steps:
[0054] Step 1: According to the actual production and processing requirements, construct the workpiece set Ω to be processed as shown in formula (1);
[0055]
[0056] In formula (1), i represents the index of the workpiece in the set of workpieces to be processed Ω; n represents the total number of workpieces in the set of workpieces to be processed Ω; J i represents the i-th workpiece in the set of workpieces to be processed Ω; O i,j Represents the i-th workpiece J i The jth process; j represents the index of the process; n i Represents the i-th workpiece J i The total number of processes;
[0057] Step 2: Use equations (2) and (3) to construct the maximum completion time C of the set of workpieces to be processed Ω. max And the total energy consumption TEC:
[0058]
[0059]
[0060] In formula (2) and formula (3), C i Represents the i-th workpiece J iThe time it takes to complete the processing; k represents the index of the machine; m represents the total number of machines; T i,j,k Represents the i-th workpiece J i The jth process O i,j Processing time on the kth machine; w i,j,k Represents the i-th workpiece J i The jth process O i,j Processing power on the kth machine;
[0061] Step 3: Set corresponding constraints according to actual production conditions.
[0062] Constraint 1, That is, the processing of the process cannot be interrupted and must be completed in one go.
[0063] Constraint 2, C i,j ≤S i,j+1 , that is: a process within the same workpiece can only be started after the previous process is completed.
[0064] Constraint 3, C i,j ≤C max , that is: the processing completion time of all processes cannot exceed the maximum completion time.
[0065] Constraint 4, (S i,j +T i,j,k )×Y i,j,i′,j′,k ≤S i′,j′ That is, for processes processed on the same machine, the subsequent process can only be started after the previous process is completed.
[0066] Constraint 5, That is: each process can only be processed on one machine.
[0067] And minimize the maximum completion time C max and total energy consumption TEC as the target, and then use formula (4) to build a multi-objective flexible job shop energy-saving scheduling model:
[0068]
[0069] In formula (4), S i,j Represents the i-th workpiece J i The jth process O i,j Processing start time; S i′,j′ Represents the i′th workpiece J i′ The j′th process O i,j′ Processing start time; X i,j,k Represents the i-th workpiece J i The jth process O i,jIs it processed on the kth machine? If so, let X i,j,k is 1, otherwise, let X i,j,k is 0; S i,j+1 Represents the i-th workpiece J i The processing start time of the j+1th process; C i,j Represents the i-th workpiece J i The jth process O i,j Time for processing to be completed; Y i,j,i,j′,k Indicates the i-th job J on the k-th machine i The jth process O i,j Is it before the i′th workpiece J i′ The j′th process O i′,j′ Processing, if so, then let Y i,j,i′,j′,k is 1, otherwise, let Y i,j,i,j′,k is 0; f1 represents the first target value, f2 represents the second target value; let the two-dimensional space where the first target value f1 and the second target value f2 are distributed be the target space;
[0070] Step 4: Based on the set of workpieces to be processed Ω, a learning-based multi-population evolutionary algorithm is used to solve the multi-objective flexible job shop energy-saving scheduling model to obtain a set of production and processing plans; specifically, Figure 2 As shown;
[0071] Step 4.1, define and initialize the current generation t = 0, let the t-th generation population be denoted as P t , set the population size to N, the reference vector set to V, and the maximum number of iterations to t max ;
[0072] Step 4.2: Based on the set of workpieces to be processed Ω, use equations (5) and (6) to initialize the t-generation probability matrix B with dimensions G×L×m. t and the t-generation priority matrix D with dimension G×L t :
[0073]
[0074]
[0075] In formula (5) and formula (6), represents the t-th generation population P t The probability that the lth process of the gth subpopulation chooses the kth machine; It is a two-dimensional matrix of L×m, which represents the probability matrix of machine selection for all processes in the g-th subpopulation; represents the t-th generation population P tThe processing priority of the lth process in the gth subpopulation; It is a one-dimensional matrix of 1×L, which represents the processing priority matrix of all processes in the g-th subpopulation; G represents the number of subpopulations, and G is equal to the number of vectors in the reference vector set V. The subpopulation corresponds one-to-one with the vectors in the reference vector set V; g represents the index of the subpopulation; L represents the total number of processes; l represents the index of the total number of processes L, and n ε Represents the εth workpiece J ε The total number of processes; V g represents the reference vector corresponding to the g-th subpopulation; V g,1 Represents the first element of the reference vector corresponding to the g-th subpopulation; V g,2 Represents the second element of the reference vector corresponding to the g-th subpopulation;
[0076] Step 4.3, probability matrix B t All row vectors of the probability matrix of all subpopulations in are normalized to obtain the normalized probability matrix B ′t ; represents the probability matrix of machine selection for all processes in the g-th subpopulation after unitization; Represents the t-generation population P after unitization t The probability that the lth process of the gth subpopulation chooses the kth machine;
[0077] Step 4.4: Use roulette wheel to select the tth generation population P t The probability matrix corresponding to the g-th subpopulation and priority matrix Generate N / G individuals from the normalized probability matrix B ′t and the priority matrix D t Initialize N individuals in the t-th generation population in, represents the t-th generation population P t No. individual;
[0078] Step 4.5, initialize a set A;
[0079] Step 4.6: Get the t-th generation population P t All non-dominated individuals in are added to set A;
[0080] Among them, any two individuals and Their target vectors are expressed as and If the individual Pareto dominant individuals There are only two cases (1) and (2) and If the individual Individuals are not Pareto dominated by any other individuals. are non-dominant individuals;
[0081] Step 4.7: For the t-th generation population P t The two target values of all individuals in are normalized to obtain the normalized t-generation population in, represents the normalized t-generation population P ′t No. individuals; after normalization, Individual The two target values are and After normalization, Individual The target vector for
[0082] Step 4.8: Calculate the t-th generation population P after normalization in the target space according to formula (7): ′t Middle Individual The target vector The reference vector V corresponding to the subpopulation g in the reference vector set V g The cosine of the angle And the normalized t-generation population P ′t Middle Individual It is assigned to the subpopulation to which the reference vector with the smallest cosine value belongs, so that the normalized t-generation population P ′t Divide into G subpopulations Let the gth subpopulation of the tth generation population be The τth individual in Let the gth subpopulation of the tth generation population be The τth individual The target vector is
[0083]
[0084] In formula (7), represents the normalized t-generation population P ′t Middle Individual The target vector The module length of |V g | represents the reference vector V corresponding to the g-th subpopulation g Length of the module;
[0085] Step 4.9: Use formula (8) to calculate the g-th subpopulation of the t-th generation population The τth individual The fitness value of Thus, according to the g-th subpopulation The fitness value of each individual in the subpopulation is selected, and the individuals with smaller fitness values are selected as elite individuals; thus, the t-th generation elite population P is obtained. *,t ;
[0086]
[0087] Step 4.10: For the t-th generation elite population P *,t The δth elite individual in the gth subpopulation First, a random number rd is generated. If rd is less than the second element value V of the reference vector corresponding to the g-th subpopulation, g,2 , the elite individuals are trained by randomly adjusting the machine selection of a key operation Search to generate a new individual Otherwise, for elite individuals Optimize the processing energy consumption and adjust a random process to the machine with the lowest energy consumption, thus generating a new individual
[0088] If the new individual Pareto-dominated elite individuals The new individual is retained If elite individuals Pareto dominated new individuals Elite individuals are retained Otherwise, retain the elite individuals and new individuals Thus, the updated t-generation elite population P is obtained **,t ;
[0089] Step 4.11: Calculate the updated elite population P of the tth generation **,t The average probability that all elite individuals in the g-th subpopulation choose the k-th machine in the l-th process is Calculate the updated elite population P of the tth generation **,t The average processing priority of the lth process of all elite individuals in the gth subpopulation
[0090] Step 4.12: Use equations (10) and (11) to calculate the probability matrix B of the tth generation. ′t and the priority matrix D of generation t t Update and get the probability matrix B of the t+1 generation ′t+1 and the priority matrix D of the t+1th generation t+1 ;
[0091]
[0092]
[0093] In formula (10) and formula (11), R represents the learning rate of new knowledge; represents the t+1 generation population P t+1 The probability that the lth process of the gth subpopulation chooses the kth machine; represents the t+1 generation population P t+1 The processing priority of the lth process in the gth subpopulation;
[0094] Step 4.13: Use roulette wheel to select the t+1 generation population P t+1 The knowledge matrix corresponding to the g-th subpopulation and Generate N / (2×G) offspring individuals, so as to obtain the probability matrix B of the t+1 generation ′t+1 and the priority matrix D t+1 Generate N / 2 offspring individuals as the offspring population and record them as Θ;
[0095] Step 4.14: Merge the elite population P **,t and the offspring population Θ as the t+1 generation population P t+1 ;
[0096] Step 4.15: Get the t+1 generation population P t+1 All non-dominated individuals in , and then add them to set A, and remove the dominated individuals in set A;
[0097] Step 4.16: If t = t max , then output all non-dominated individuals stored in set A as a set of production and processing plans. Otherwise, assign t+1 to t and return to step 4.7.
[0098] Step 5: Select a desired production and processing plan from a group of production and processing plans to produce and process the workpiece set Ω.
[0099] In summary, this method uses probability matrices and priority matrices to store the characteristic information of historical elite individuals, and uses the search results of the population for adaptive learning; the generation of offspring individuals is guided by the probability matrix and priority matrix, thereby guiding the evolutionary direction of the population, thereby obtaining a more comprehensive and better generation and processing plan.
Claims
1. A flexible job shop energy-saving scheduling method based on a learning multi-population evolutionary algorithm, characterized by Proceed as follows: Step 1: According to the actual production and processing requirements, construct the workpiece set Ω to be processed as shown in formula (1); In formula (1), i represents the index of the workpiece in the set of workpieces to be processed Ω; n represents the total number of workpieces in the set of workpieces to be processed Ω; J i represents the i-th workpiece in the set of workpieces to be processed Ω; O i,j Represents the i-th workpiece J i The jth process; j represents the index of the process; n i Represents the i-th workpiece J i The total number of processes; Step 2: Use equations (2) and (3) to construct the maximum completion time C of the set of workpieces to be processed Ω. max And the total energy consumption TEC: In formula (2) and formula (3), C i Represents the i-th workpiece J i The time it takes to complete the processing; k represents the index of the machine; m represents the total number of machines; T i,j,k Represents the i-th workpiece J i The jth process O i,j Processing time on the kth machine; w i,j,k Represents the i-th workpiece J i The jth process O i,j Processing power on the kth machine; Step 3: Set corresponding constraints according to actual production conditions and minimize the maximum completion time C max and total energy consumption TEC as the target, and then use formula (4) to build a multi-objective flexible job shop energy-saving scheduling model: In formula (4), S i,j Represents the i-th workpiece J i The jth process O i,j Processing start time; S i′,j′ Represents the i′th workpiece J i′ The j′th process O i′,j′ Processing start time; X i,j,k Represents the i-th workpiece J i The jth process O i,j Is it processed on the kth machine? If so, let X i,j,k is 1, otherwise, let X i,j,k is 0; S i,j+1 Represents the i-th workpiece J i The processing start time of the j+1th process; C i,j Represents the i-th workpiece J i The jth process O i,j Time for processing to be completed; Y i,j,i′,j′,k Indicates the i-th job J on the k-th machine i The jth process O i,j Is it before the i′th workpiece J i′ The j′th process O i′,j′ Processing, if so, then let Y i,j,i′,j′,k is 1, otherwise, let Y i,j,i,j′,k is 0; f1 represents the first target value, f2 represents the second target value; let the two-dimensional space where the first target value f1 and the second target value f2 are distributed be the target space; Step 4: Based on the set of workpieces to be processed Ω, a learning multi-population evolutionary algorithm is used to solve the multi-objective flexible job shop energy-saving scheduling model to obtain a set of production and processing plans; Step 5: Select a desired production and processing plan from a group of production and processing plans to produce and process the workpiece set Ω.
2. The flexible job shop energy-saving scheduling method according to claim 1, characterized in that: Described step 4 is carried out as follows: Step 4.1, define and initialize the current generation t = 0, let the t-th generation population be denoted as P t , set the population size to N, the reference vector set to V, and the maximum number of iterations to t max ; Step 4.2: Based on the set of workpieces to be processed Ω, use equations (5) and (6) to initialize the t-generation probability matrix B with dimensions G×L×m. t and the t-generation priority matrix D with dimension G×L t : In formula (5) and formula (6), represents the t-th generation population P t The probability that the lth process of the gth subpopulation chooses the kth machine; It is a two-dimensional matrix of L×m, which represents the probability matrix of machine selection for all processes in the g-th subpopulation; represents the t-th generation population P t The processing priority of the lth process in the gth subpopulation; It is a one-dimensional matrix of 1×L, which represents the processing priority matrix of all processes in the g-th subpopulation; G represents the number of subpopulations, and G is equal to the number of vectors in the reference vector set V. The subpopulation corresponds one-to-one with the vectors in the reference vector set V; g represents the index of the subpopulation; L represents the total number of processes; l represents the index of the total number of processes L, and n ε Represents the εth workpiece J ε The total number of processes; V g represents the reference vector corresponding to the g-th subpopulation; V g,1 Represents the first element of the reference vector corresponding to the g-th subpopulation; V g,2 Represents the second element of the reference vector corresponding to the g-th subpopulation; Step 4.3, probability matrix B t All row vectors of the probability matrix of all subpopulations in are normalized to obtain the normalized probability matrix B′ t ; represents the probability matrix of machine selection for all processes in the g-th subpopulation after unitization; Represents the t-generation population P after unitization t The probability that the lth process of the gth subpopulation chooses the kth machine; Step 4.4: Use roulette wheel to select the tth generation population P t The probability matrix corresponding to the g-th subpopulation and priority matrix Generate N / G individuals from the normalized probability matrix B′ t and the priority matrix D t Initialize N individuals in the t-th generation population in, represents the t-th generation population P t No. individual; Step 4.5, initialize a set A; Step 4.6: Get the t-th generation population P t All non-dominated individuals in are added to set A; Step 4.7: For the t-th generation population P t The two target values of all individuals in are normalized to obtain the normalized t-generation population in, represents the normalized t-generation population P′ t No. individuals; after normalization, Individual The two target values are and After normalization, Individual The target vector for Step 4.8: Calculate the first population P′t of the tth generation after normalization of the target space according to formula (7). Individual The target vector The reference vector V corresponding to the subpopulation g in the reference vector set V g The cosine of the angle And the normalized t-generation population P′ t Middle Individual It is assigned to the subpopulation to which the reference vector with the smallest cosine value belongs, so that the normalized t-generation population P′ t Divide into G subpopulations Let the gth subpopulation of the tth generation population be The τth individual in Let the gth subpopulation of the tth generation population be The τth individual The target vector is In formula (7), represents the normalized t-generation population P′ t Middle Individual The target vector The module length of |V g | represents the reference vector V corresponding to the g-th subpopulation g Length of the module; Step 4.9: Use formula (8) to calculate the g-th subpopulation of the t-th generation population The τth individual The fitness value of Thus, according to the g-th subpopulation The fitness value of each individual in the subpopulation is selected, and the individuals with smaller fitness values are selected as elite individuals; thus, the t-th generation elite population P is obtained. *,t ; Step 4.10: For the t-th generation elite population P *,t The δth elite individual in the gth subpopulation First, a random number rd is generated. If rd is less than the second element value V of the reference vector corresponding to the g-th subpopulation, g,2 , the elite individuals are trained by randomly adjusting the machine selection of a key operation Search to generate a new individual Otherwise, for elite individuals Optimize the processing energy consumption and adjust a random process to the machine with the lowest energy consumption, thus generating a new individual If the new individual Pareto-dominated elite individuals The new individual is retained If elite individuals Pareto dominated new individuals Elite individuals are retained Otherwise, retain the elite individuals and new individuals Thus, the updated t-generation elite population P is obtained **,t ; Step 4.11: Calculate the updated elite population P of the tth generation **,t The average probability that all elite individuals in the g-th subpopulation choose the k-th machine in the l-th process is Calculate the updated elite population P of the tth generation **,t The average processing priority of the lth process of all elite individuals in the gth subpopulation Step 4.12: Use equations (10) and (11) to calculate the probability matrix B′ of the tth generation. t and the priority matrix D of generation t t Update and get the probability matrix B′ of the t+1 generation t+1 and the priority matrix D of the t+1th generation t+1 ; In formula (10) and formula (11), R represents the learning rate of new knowledge; represents the t+1 generation population P t+1 The probability that the lth process of the gth subpopulation chooses the kth machine; represents the t+1 generation population P t+1 The processing priority of the lth process in the gth subpopulation; Step 4.13: Use roulette wheel to select the t+1 generation population P t+1 The knowledge matrix corresponding to the g-th subpopulation and Generate N / (2×G) offspring individuals, so as to obtain the probability matrix B′ of the t+1 generation t+1 and the priority matrix D t+1 Generate N / 2 offspring individuals as the offspring population and record them as Θ; Step 4.14: Merge the elite population P **,t and the offspring population Θ as the t+1 generation population P t+1 ; Step 4.15: Get the t+1 generation population P t+1 All non-dominated individuals in , and then add them to set A, and remove the dominated individuals in set A; Step 4.16: If t = t max , then output all non-dominated individuals stored in set A as a set of production and processing plans. Otherwise, assign t+1 to t and return to step 4.7.