Flexible workshop scheduling method based on non-dominated multi-objective optimization algorithm
Through the flexible workshop scheduling method based on the non-dominant multi-objective optimization algorithm, process arrangement and resource selection are optimized, non-economic indicators such as worker flexibility and energy consumption and carbon emissions are solved, and efficient flexible workshop production scheduling is achieved.
Patent Information
- Application Number
- CN202410427979.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-10
- Publication Date
- 2025-08-01
AI Technical Summary
The existing flexible workshop production scheduling problem failed to effectively consider workers' flexibility and non-economic indicators such as energy consumption and carbon emissions, resulting in high total energy consumption and long processing time.
A flexible workshop scheduling method based on non-dominant multi-objective optimization algorithm is adopted, and the scheduling scheme is optimized through three-layer coding mode, SPA-NSGA algorithm and fully active scheduling energy-saving strategy, and combined with local search strategies and SPA operator selection algorithms, the scheduling scheme is optimized.
It effectively reduces idle time, reduces energy consumption, improves processing efficiency, realizes a better scheduling strategy, and solves the multi-objective optimization problem of flexible operation workshops.
Smart Images

Figure CN120406326A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of job scheduling, and particularly relates to a flexible job-shop scheduling method based on a non-dominated multi-objective optimization algorithm. Background Art
[0002] The flexible job-shop scheduling problem (FJSP) is an optimization problem widely existing in modern manufacturing systems. In FJSP, only the flexibility of equipment is considered. However, in the actual production process, the flexibility of workers also generally exists. In addition, in the traditional job-shop scheduling problem, only economic indicators such as the final completion time and processing cost are considered, and related indicators such as energy consumption and carbon emissions are not concerned.
[0003] In fact, the processing completion time and energy consumption of processes are not only related to the selection of equipment, but also have an important relationship with the technical level of operating workers. The dual resource constrained flexible job-shop scheduling problem (DRCFJSP) takes the flexibility of workers into the scheduling problem model. Equally important are goals such as energy conservation and carbon emission reduction. Therefore, it is necessary to incorporate the flexibility of workers and goals such as energy conservation and carbon emission reduction into the consideration scope of multi-objective flexible job-shop scheduling to achieve energy conservation and emission reduction. Summary of the Invention
[0004] Aiming at the deficiencies of the prior art, the present invention proposes a flexible job-shop scheduling method based on a non-dominated multi-objective optimization algorithm, and the method includes:
[0005] S1: Construct a flexible job-shop scheduling model;
[0006] S2: Encode the scheduling scheme using a three-layer coding mode to obtain three scheduling vectors;
[0007] S3: According to the three scheduling vectors, use the SPA-NSGA algorithm to solve the scheduling model to obtain an optimal scheduling scheme;
[0008] S4: Use the optimal scheduling scheme to schedule the workshop to achieve efficient operation of the workshop.
[0009] Preferably, the flexible job-shop scheduling model includes: during the workshop processing, the constraint conditions are satisfied, that is, one workpiece is only processed by the same worker, one process is only processed by the same machine, one machine only processes one process within one time sequence, and the processing order of each process in each workpiece is fixed;
[0010] The maximum completion time of the workshop is expressed as:
[0011] F1 = max{Ci,j},i∈[1,n],j∈[1,n i ]
[0012] Among them, F1 represents the maximum completion time, represents the completion time of the jth process of workpiece i, n represents the total number of workpieces, n i represents the total number of processes for workpiece i;
[0013] The total energy consumption of the workshop is expressed as:
[0014] F2=E O +E I
[0015]
[0016]
[0017] Among them, F2 represents the total energy consumption, E O Indicates working energy consumption, E I represents no-load energy consumption, m represents the number of machines, p k Indicates machine M k The number of processes on Indicates machine M k Processing power, T i,j,k Indicates the use of machine M k For process O i,j Time required for processing, X i,j,k,t Indicates process O i,j Is it assigned to machine M? k Processing at the t-th position on the t-th position; Indicates machine M k No-load power, B k,t Indicates machine M k The start time of the process at the tth position.
[0018] Preferably, step S2 includes:
[0019] Randomly generate ps process sequence vectors according to the number of workpieces to be processed and the number of processes for each workpiece;
[0020] For each process in each process sequence vector, a processing machine is randomly selected from the candidate machine set to generate ps machine selection vectors;
[0021] For each machine in each machine selection vector, a worker is randomly selected from the set of available workers, generating ps worker selection vectors.
[0022] Preferably, the process of solving the scheduling model using the SPA-NSGA algorithm includes:
[0023] S31: Initialize the population. Take the three scheduling vectors corresponding to a scheduling scheme as an individual in the population, and generate a parental population with the size of ps.
[0024] S32: Select the mating pool. Perform crossover and mutation on the individuals in the mating pool to generate an offspring population.
[0025] S33: Merge the parental and offspring populations and delete the duplicate solutions among them.
[0026] S34: Sort the merged population using the fast non-dominated sorting and crowding distance algorithms, and retain the top ps solutions as the parental population for the next generation.
[0027] S35: Execute the full-active scheduling energy-saving strategy on the parental population to obtain a new parental population.
[0028] S36: Save the non-dominated solution set in the new parental population to the elite archive as elite solutions. Execute four different local search strategies on different elite solutions according to the selection probability, and save the elite solutions after successful execution.
[0029] S37: Use the SPA operator selection algorithm to correct the selection probability.
[0030] S38: Determine whether the number of iterations has reached the maximum number of iterations. If so, output the elite solutions as the optimal scheduling scheme; otherwise, return to step S31.
[0031] Furthermore, the process of executing the full-active scheduling energy-saving strategy on the parental population includes:
[0032] Under the condition of meeting the constraint conditions, arrange the subsequent processes on the earliest idle time period of the available processing machines to obtain the Gantt chart of the active scheduling solution.
[0033] Reverse the processing order of all processes in the Gantt chart of the active scheduling solution to obtain the reverse Gantt chart.
[0034] Under the condition of meeting the reversed processing order of the processes, arrange the subsequent processes on the earliest idle time period of the available processing machines to obtain the reverse Gantt chart of the full-active scheduling solution.
[0035] Reverse the processes in the reverse Gantt chart of the full-active scheduling solution to obtain the full-active scheduling solution, i.e., the new parental population.
[0036] Furthermore, the four local search strategies are respectively:
[0037] The first local search strategy: In the critical path, select the operation in the middle of the first critical block and insert it after the last operation; select the two middle operations of the middle critical block and insert them before the first operation and after the last operation of this critical block respectively; for the last critical block, randomly select any operation except the first operation and insert it before the first operation of this critical block.
[0038] The second local search strategy: Randomly select two operations on the critical path and exchange their processing orders.
[0039] The third local search strategy: Randomly select an operation on the critical path and randomly reselect a machine within its available machine range for processing.
[0040] The fourth local search strategy: Randomly select an operation on the critical path and randomly reassign a worker within its available worker selection range.
[0041] Furthermore, the process of correcting the selection probability using the SPA operator selection algorithm includes:
[0042] Take the true success rate of the previous round of iteration as the expected success rate of this round of iteration.
[0043] Divide the elite solutions into 4 subpopulations according to the selection probabilities of 4 local search strategies, and the 4 subpopulations respectively execute a corresponding local search strategy.
[0044] Count the number of successful executions and failed executions of the corresponding local search strategy in each subpopulation; store the successful and failed records in the first row of the memory, and at the same time delete the last row.
[0045] Update the true success rate of this round according to the total number of historical successful times and total number of failed times in the memory; calculate the unexpected popularity according to the true success rate and expected success rate of this round of iteration.
[0046] If the unexpected popularity is greater than 1, the probability increment value is 0.1, otherwise the probability increment value is 0; sum the true success rate of this round of iteration and the probability increment value and perform normalization processing as the selection probability of the local search strategy for the next round of iteration.
[0047] Furthermore, the formula for updating the true success rate is:
[0048]
[0049] Among them, SR i,t represents the true success rate of the i-th local search strategy in the t-th iteration round, S i,t-k represents the number of successful executions of the i-th local search strategy in the (t - k)-th iteration round, F i,t-kdenotes the number of failed executions of the \(i\)-th local search strategy in iteration round \(t - k\), and HRL represents the memory length.
[0050] Furthermore, the formula for calculating the unexpected popularity is:
[0051]
[0052] where SPD i,t denotes the unexpected popularity of the \(i\)-th local search strategy in iteration round \(t\), SR i,t denotes the true success rate of the \(i\)-th local search strategy in iteration round \(t\), and ER i,t denotes the expected success rate of the \(i\)-th local search strategy in iteration round \(t\).
[0053] The beneficial effects of the present invention are as follows: Based on the unexpected popularity algorithm (SPA), the present invention designs a local operator selection model to correct the problem that the population cannot discover small-weight but efficient operators in the operator selection decision, making the proportion of efficient operators larger and accelerating the algorithm convergence; the present invention designs an energy-saving strategy based on full active scheduling (FAS) decoding, which can effectively reduce the idle time, that is, reduce the completion time and effectively reduce the energy consumption; finally, the elite archive and the elite strategy in the evolution process collect the historical elite solutions, improve the utilization rate of historical solutions, and enhance the distribution of the population; the present invention can solve the multi-objective optimization scheduling problems such as high total energy consumption and long processing time in the flexible job shop to achieve a better scheduling strategy. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 is a flowchart of the flexible job shop scheduling method based on the non-dominated multi-objective optimization algorithm in the present invention;
[0055] Figure 2 is a schematic diagram of the three-layer coding mode in the present invention;
[0056] Figure 3 is a schematic diagram of the step flow of the full active scheduling energy-saving strategy in the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0057] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0058] The present invention proposes a flexible job shop scheduling method based on the non-dominated multi-objective optimization algorithm, as Figure 1 shown, the method includes the following contents:
[0059] S1: Construct a flexible job shop scheduling model.
[0060] Construct a model for the green scheduling problem of a flexible job shop with dual resource constraints, abbreviated as the flexible job shop scheduling model. Specifically:
[0061] During the machining process in the workshop, the constraint conditions are satisfied, that is, a workpiece is only processed by the same worker, a process is only processed by the same machine, a machine processes only one process within one time sequence, and the processing order of each process in each workpiece is fixed.
[0062] The total energy consumption of the workshop consists of the working energy consumption and the standby energy consumption of the workshop. The maximum value of the processing time and the idle time of each machine is the makespan.
[0063] The makespan of the workshop is expressed as:
[0064] F1 = max{C i,j}, i ∈ [1, n], j ∈ [1, n i
[0065] Among them, F1 represents the makespan, C i,ni represents the completion time of the j-th process of workpiece i, n represents the total number of workpieces, and n i represents the total number of processes of workpiece i.
[0066] The calculation model of the working energy consumption is as follows:
[0067]
[0068] The model of the no-load energy consumption is as follows:
[0069]
[0070] Therefore, the total energy consumption of the workshop is expressed as:
[0071] F2 = E O + E I
[0072] Among them, F2 represents the total energy consumption, E O represents the working energy consumption, E I represents the no-load energy consumption, m represents the number of machines, p k represents the number of processes on machine M k W Ok represents the processing power of machine M k T i,j,k represents the time required to process process O k using machine M i,j X i,j,k,t represents process O i,j Whether it is arranged to be processed at the t-th position on machine M, if yes, the value is 1, if no, the value is 0; W k is processed at the t-th position on, where the value is 1 for yes and 0 for no; W Ik represents the no-load power of machine M k B k,t represents machine M k The start processing time of the process at the t-th position.
[0073] S2: Encode the scheduling scheme using a three-layer coding mode to obtain three scheduling vectors.
[0074] The three-layer coding mode adopted by the present invention describes the solutions of DRCFJSP (Dual Resource Constrained Flexible Job Shop Scheduling Problem) as: operation sequencing (OS), machine selection (MS), and worker assignment (WA), and the lengths of OS and MS are equal to the total number of processes, and the length of WA is the same as the total number of workpieces; where the first part is the OS vector, and each gene digit represents the workpiece number, and the number of times the digit appears represents the number of the process of the workpiece; the second part is the MS vector, and each gene in MS corresponds to the gene at the same position in the first part, representing the processing machine number selected for the corresponding position process; the third part is the WA vector. In the flexible job shop scheduling model, the workpiece index corresponding to each position in WA is unchanged, and at the same time, the selected process corresponding to each position in the MS vector is always unchanged to ensure that no infeasible solution will be generated. For example, as Figure 2 shown, the figure contains 3 workpieces, 3 devices, and 2 workers. Each workpiece has two to three processes, and the sequence of the processes is fixed. The numbers in the figure represent the workpiece numbers, and the number of times the numbers appear represents the number of the process of the workpiece. The processing sequence in the figure is O 1,1 →O 3,1 →O 2,1 →O 3,2 →O 1,2 →O 1,3 →O 2,2 . Workpiece 1 and workpiece 3 are completed by worker 1, and workpiece 2 is completed by worker 2.
[0075] The process of encoding the scheduling scheme using a three-layer coding mode includes:
[0076] Randomly generate ps operation sequence vectors according to the number of workpieces to be processed and the number of processes of each workpiece; specifically: from generating O 1,1 →O 1,2 …O i,j →…O n,nisequence, and randomly shuffle the original processing sequence to generate OS1, then continue to randomly shuffle OS1 to generate OS2, and repeat the above operations until ps OS vectors are generated.
[0077] For each process in each process sequence vector, randomly select a processing machine from the set of alternative machines to generate ps machine selection vectors MS;
[0078] For each machine in each machine selection vector, randomly select a worker from the set of operable workers to generate ps worker selection vectors MA.
[0079] S3: According to the three scheduling vectors, use the SPA-NSGA algorithm to solve the scheduling model to obtain the optimal scheduling plan.
[0080] S31: Population initialization. Take the three scheduling vectors corresponding to a scheduling plan as an individual of the population and generate a parental population with the number of ps.
[0081] Set the maximum number of iterations, and the initial elite archive is empty; take the three scheduling vectors corresponding to a scheduling plan as an individual of the population, and generate the initial parental population according to the random initialization strategy for subsequent local search to obtain diverse solutions.
[0082] S32: Select the mating pool, perform crossover and mutation on the individuals in the mating pool to generate the offspring population.
[0083] Read the WA, OS, and MS codes, calculate the fitness of the population individuals, and select the mating pool according to the fitness using the tournament algorithm; specifically:
[0084] Perform fast non-dominated sorting on the population individuals, stratify the population according to the dominance relationship, calculate the sum of the Euclidean geometric distances between adjacent individuals of each individual in the objective function space within the non-dominated layer, that is, the crowding degree, and select individuals to enter the mating pool according to the non-dominated sorting of the fronts and the individual crowding degree. First, select individuals with a large crowding degree from the non-dominated layer of the fronts to enter the mating pool to maintain the convergence and diversity of the population individuals.
[0085] For the individuals in the mating pool, use evolutionary operators for crossover and mutation. The evolutionary operators include the crossover operator and mutation operator of the population; the crossover operator includes the process-based crossover operator and the universal crossover operator. The process-based crossover operator exchanges information by crossing two OS parental vectors, and the universal crossover operator simultaneously crosses two MS parental vectors and WA parental vectors; the mutation operator includes the two-point exchange operator and the random replacement operator. The two-point exchange operator performs mutation operations on the OS vector, and the random replacement operator randomly replaces the MS vector. After performing crossover and mutation on the individuals in the mating pool, generate the offspring population.
[0086] S33: Merge the parent and offspring populations and remove the duplicate solutions among them.
[0087] Merge the parent and offspring populations, remove the duplicate solutions among them, and obtain the merged population.
[0088] S34: Sort the merged population using the fast non-dominated sorting and crowding distance algorithms, and retain the top ps solutions as the parent population for the next generation.
[0089] Sort the merged population using the fast non-dominated sorting and crowding distance algorithms. The first solution in the sorted results has the minimum makespan and total energy consumption. Retain the top ps solutions as the parent population for the next generation.
[0090] S35: Execute the full active scheduling energy-saving strategy on the parent population to obtain a new parent population.
[0091] Most of the idle time in the feasible solutions obtained by ordinary decoding is not utilized, resulting in an increase in the standby energy consumption of the machines. Therefore, the present invention designs a full active scheduling energy-saving strategy to effectively reduce the idle time and lower the energy consumption. As Figure 3 shown, the full active scheduling energy-saving strategy introduces an insertion decoding method to obtain the active scheduling solution, and performs full active scheduling decoding based on the active scheduling solution to obtain the full active scheduling solution. Specifically:
[0092] Insertion decoding:
[0093] Under the condition of meeting the constraint conditions, arrange the subsequent processes on the earliest idle time period of the available machines to obtain the Gantt chart of the active scheduling solution. For example, in Figure 3-1 the process O 2,1 can be moved to the idle time period before the process O 1,2 , and the process O 3,3 can be moved to the idle time period before the process O 1,3 . In this way, C max will change from the original 16 to the current 13, improving the quality of the solution. The Gantt chart of the active scheduling solution obtained by insertion decoding is as shown in Figure 3-2 .
[0094] Full active scheduling decoding:
[0095] Based on the active scheduling solution, reverse the processing order of all processes, that is, reverse the processing order of all processes in the Gantt chart of the active scheduling solution to obtain the reverse Gantt chart; the processes are arranged in the Gantt chart by first arranging the subsequent processes and then the previous ones, and the processing order between processes is opposite to the original, as shown in Figure 3-3 .
[0096] Under the condition of meeting the requirement of reversing the processing order of the processes, arrange the subsequent processes on the earliest idle time period of the available machines to obtain the reverse Gantt chart of the full active scheduling solution, as shown inFigure 3 -4。
[0097] Reverse the operations in the reverse Gantt chart of the fully active scheduling solution to obtain the fully active scheduling solution, i.e., the new parent population, as Figure 3 -5; After the above-mentioned fully active scheduling decoding, the quality of the solution may be improved again.
[0098] S36: Save the non-dominated solution set in the new parent population to the elite archive as the elite solution, and perform four different local search strategies on different elite solutions according to the selection probability, and save the elite solution after successful execution.
[0099] Extract the non-dominated solution set from the new parent population and save it to the elite archive as the elite solution. Perform four different local search strategies on different elite solutions in the elite archive according to the selection probability. Specifically: divide the elite solutions into 4 sub-populations according to the selection probability of the 4 local search strategies, and each of the 4 sub-populations performs a corresponding local search strategy, and save the elite solution after successful execution; among them, if the elite solution after execution can dominate the one before execution (the maximum completion time and total energy consumption of the elite solution after execution are both less than those before execution), it means successful execution, and the elite solution after execution replaces the one before execution for saving; otherwise, it means execution failure. The initial selection probabilities of the 4 local search strategies are equal.
[0100] To improve the exploration ability of the population, local search is introduced into the update of the superior individuals. The present invention designs four local search operators, i.e., four local search strategies, for the critical path, which are respectively:
[0101] The first local search strategy: In the critical path, select the operation in the middle of the first critical block and insert it after the last operation; select the two middle operations of the middle critical blocks (the critical blocks except the first and last critical blocks) and insert them respectively before the first operation and after the last operation of this critical block, and so on; for the last critical block, randomly select any operation except the first operation and insert it before the first operation of this critical block; among them, in the field of job scheduling, there is no idle time for the tasks on the critical path, that is, their earliest start time and latest start time are the same, and the operation sequence on the critical path constitutes the maximum completion time of the project. Therefore, the critical path can most affect the final completion time. The adjacent operations on the same machine in the critical path are combined into a critical block.
[0102] The second local search strategy: Randomly select two operations on the critical path and exchange their processing order;
[0103] The third local search strategy: Randomly select an operation on the critical path and randomly reselect a machine within its optional machine range for processing;
[0104] Fourth local search strategy: Randomly select an operation on the critical path and randomly reassign a worker within the range of available workers for it.
[0105] S37: Use the SPA operator selection algorithm to correct the selection probability.
[0106] The performances of different operators are not the same at different stages. The operator that is most effective in the previous evolutionary stage may not be the most effective in the following evolutionary process. Therefore, the present invention adopts a local operator selection model based on SPA, namely the SPA operator selection algorithm, to discover the effective but less weighted operators that are not reused in the population. Specifically:
[0107] Take the true success rate of the previous round of iteration as the expected success rate of this round of iteration; the present invention needs to divide the allocation weights of operators according to the true success rate of the previous round. In the model, it is considered that each round of iteration is a new population. Then, verified by historical successful experiences, the SR of the previous round t-1 becomes the expected success rate ER of this round t .
[0108] Divide the elite solutions into 4 subpopulations according to the selection probabilities of 4 local search strategies, and the 4 subpopulations respectively execute a corresponding local search strategy.
[0109] In each subpopulation, count the number of successful executions and failed executions of the corresponding local search strategy (Si t and Fi t , i = 1, 2, 3, 4); Store the records of success and failure in the first row of the memory, and at the same time delete the last row (when the initial memory is not full, only store).
[0110] Update the true success rate of this round according to the total number of historical successful times and total number of failed times in the memory:
[0111]
[0112] Among them, SR i,t represents the true success rate of the i-th local search strategy in the t-th iteration round, S i,t-k represents the number of successful executions of the i-th local search strategy in the (t - k)-th iteration round, F i,t-k represents the number of failed executions of the i-th local search strategy in the (t - k)-th iteration round, and HRL represents the memory length.
[0113] Calculate the accidental popularity according to the true success rate and expected success rate of this round of iteration:
[0114]
[0115] Among them, SPD i,trepresents the unexpected popularity of the i-th local search strategy in iteration round t, SR i,t represents the true success rate of the i-th local search strategy in iteration round t, ER i,t represents the expected success rate of the i-th local search strategy in iteration round t.
[0116] If the unexpected popularity is greater than 1, the probability increase value is 0.1, otherwise the probability increase value is 0; the true success rate of this round of iteration and the probability increase value are summed and normalized as the selection probability of the local search strategy for the next round of iteration.
[0117] There are many local search operators in the shop scheduling problem. The traditional confidence-based operator selection model assigns selection probabilities based on the success rates of different operators. However, this model presents the following problem: because historical records are stored in a memory matrix, the historical selection answers may not be applicable to the current evolutionary generation, and there may be correct answers with a small proportion that need to be discovered. Therefore, the present invention uses SPA to improve the confidence-based operator selection model. During each round of evolution, the SPA algorithm is used to query whether each local search operator is valid or invalid. This method discovers local search operators that are valid but have a small proportion, and increases their allocation probability, allowing efficient operators to be used more frequently and accelerating algorithm convergence.
[0118] S38: Determine whether the number of iterations reaches the maximum number of iterations. If so, the elite solution is taken as the optimal scheduling solution and output. Otherwise, return to step S31.
[0119] Determine whether the number of iterations is greater than the maximum number of iterations. If so, output the Pareto optimal solution set, i.e., the elite solution in the elite archive, and end the algorithm. Otherwise, return to step S31 and continue iterative calculation.
[0120] S4: Use the optimal scheduling plan to schedule the workshop to achieve efficient work in the workshop.
[0121] Using the optimal scheduling solution to schedule the workshop can achieve the best trade-off between maximum completion time and total energy consumption, thus achieving efficient workshop operation. This method has been verified using multiple job shop scheduling problem examples, demonstrating its high solution quality and efficiency for solving flexible job shop scheduling problems.
[0122] In summary, the present invention designs a local operator selection model based on the Surprise Popularity Algorithm (SPA) to correct the problem that the population cannot discover small-weight but efficient operators in the operator selection decision, making the proportion of efficient operators larger and accelerating the algorithm convergence. The present invention designs an energy-saving strategy based on Full Active Scheduling (FAS) decoding, which can effectively reduce the idle time, that is, reduce the makespan and effectively reduce the energy consumption. Finally, the elite archive and the elite strategy in the evolutionary process collect the historical elite solutions, improve the utilization rate of historical solutions, and enhance the distribution of the population. The present invention can solve the multi-objective optimization scheduling problems such as high total energy consumption, high cost, and long processing time in the flexible job shop to achieve better decision-making options.
[0123] The above embodiments further elaborate on the purpose, technical solution, and advantages of the present invention. It should be understood that the above embodiments are only the preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made to the present invention within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A flexible job shop scheduling method based on a non-dominated multi-objective optimization algorithm, characterized in that Including: S1: Construct a flexible job-shop scheduling model; S2: Encode the scheduling scheme using a three-layer encoding mode to obtain three scheduling vectors; S3: According to the three scheduling vectors, use the SPA-NSGA algorithm to solve the scheduling model to obtain the optimal scheduling scheme; S4: Use the optimal scheduling scheme to schedule the workshop to achieve efficient operation of the workshop.
2. The flexible job shop scheduling method based on non-dominated multi-objective optimization algorithm according to claim 1, wherein The flexible job-shop scheduling model includes: During the workshop processing, the constraint conditions are satisfied, that is, one workpiece is only processed by the same worker, one process is only processed by the same machine, one machine only processes one process within one time sequence, and the processing order of each process in each workpiece is fixed; The makespan of the workshop is expressed as: F1 = max{C i,j}, where i ∈ [1, n], j ∈ [1, n i Among them, F1 represents the makespan, represents the completion time of the j-th operation of workpiece i, n represents the total number of workpieces, n i represents the total number of operations of workpiece i; The total energy consumption of the workshop is expressed as: F2 = E O +E I Among them, F2 represents the total energy consumption, E O represents the working energy consumption, E I represents the no-load energy consumption, m represents the number of machines, p k represents the number of processes on machine M k ; represents the processing power of machine M k ; T i,j,k represents the time required to process process O using machine M k ; X i,j represents whether process O i,j,k,t is arranged to be processed at the t-th position on machine M i,j ; k ; represents the no-load power of machine M k ; B k,t represents the start processing time of the process at the t-th position on machine M k .
3. A flexible job shop scheduling method based on a non-dominated multi-objective optimization algorithm according to claim 1, characterized in that, The step S2 includes: Randomly generate ps process sequence vectors according to the number of workpieces to be processed and the number of processes of each workpiece; For each process in each process sequence vector, randomly select a processing machine from the set of alternative machines to generate ps machine selection vectors; For each machine in each machine selection vector, randomly select a worker from the set of operable workers to generate ps worker selection vectors.
4. A flexible job shop scheduling method based on a non-dominated multi-objective optimization algorithm according to claim 1, characterized in that, The process of using the SPA-NSGA algorithm to solve the scheduling model includes: S31: Initialize the population. Take the three scheduling vectors corresponding to a scheduling scheme as an individual of the population and generate a parental population with the number of ps; S32: Select the mating pool, perform crossover and mutation on the individuals in the mating pool to generate an offspring population; S33: Merge the parental and offspring populations and delete the duplicate solutions among them; S34: Use the fast non-dominated sorting and crowding distance algorithms to sort the merged population, and retain the first ps solutions as the next-generation parental population; S35: Execute the full-active scheduling energy-saving strategy on the parental population to obtain a new parental population; S36: Save the non-dominated solution set in the new parental population to the elite archive as the elite solution, and perform four different local search strategies on different elite solutions according to the selection probability, and save the elite solutions after successful execution; S37: Use the SPA operator selection algorithm to correct the selection probability; S38: Judge whether the number of iterations reaches the maximum number of iterations. If so, take the elite solution as the optimal scheduling scheme and output it. Otherwise, return to step S31.
5. A flexible job shop scheduling method based on a non-dominated multi-objective optimization algorithm according to claim 4, characterized in that The process of executing the full-active scheduling energy-saving strategy on the parental population includes: Under the condition of satisfying the constraint conditions, arrange the subsequent processes on the earliest idle time period of the available processing machines to obtain the Gantt chart of the active scheduling solution; Reverse the processing order of all processes in the Gantt chart of the active scheduling solution to obtain the reverse Gantt chart; Under the condition of satisfying the reverse of the process processing order, arrange the subsequent processes on the earliest idle time period of the available processing machines to obtain the reverse Gantt chart of the full-active scheduling solution; Reverse the processes in the reverse Gantt chart of the full-active scheduling solution to obtain the full-active scheduling solution, that is, the new parental population.
6. A flexible job shop scheduling method based on a non-dominated multi-objective optimization algorithm according to claim 4, characterized in that The four local search strategies are respectively: The first local search strategy: In the critical path, select the operation in the middle of the first critical block and insert it after the last operation; select the two middle operations of the middle critical block and insert them before the first operation and after the last operation of this critical block respectively; for the last critical block, randomly select any operation except the first operation and insert it before the first operation of this critical block. The second local search strategy: Randomly select two operations on the critical path and exchange their processing orders. The third local search strategy: Randomly select an operation on the critical path and randomly reselect a machine within its optional machine range for processing. The fourth local search strategy: Randomly select an operation on the critical path and randomly reassign a worker within its optional worker selection range.
7. A flexible job shop scheduling method based on a non-dominated multi-objective optimization algorithm according to claim 4, characterized in that The process of correcting the selection probability using the SPA operator selection algorithm includes: Taking the true success rate of the previous round of iteration as the expected success rate of this round of iteration. Dividing the elite solutions into 4 sub-populations according to the selection probabilities of the 4 local search strategies, and each of the 4 sub-populations executes a corresponding local search strategy. Count the number of successful executions and failed executions of the corresponding local search strategy in each sub-population; store the records of success and failure in the first row of the memory, and at the same time delete the last row. Update the true success rate of this round according to the total number of historical successful times and total number of failed times in the memory; calculate the accidental popularity according to the true success rate and expected success rate of this round of iteration. If the accidental popularity is greater than 1, the probability increment value is 0.1, otherwise the probability increment value is 0; sum the true success rate of this round of iteration and the probability increment value and perform normalization processing as the selection probability of the local search strategy for the next round of iteration.
8. A flexible job shop scheduling method based on a non-dominated multi-objective optimization algorithm according to claim 7, characterized in that The formula for updating the true success rate is: where SR i,t represents the true success rate of the $i$-th local search strategy at iteration round $t$, $S i,t-k represents the number of successful executions of the $i$-th local search strategy at iteration round $t - k$, $F i,t-k represents the number of failed executions of the $i$-th local search strategy at iteration round $t - k$, and HRL represents the memory length.
9. A flexible job shop scheduling method based on a non-dominated multi-objective optimization algorithm according to claim 7, characterized in that, The formula for calculating the accidental popularity is: Among them, SPD i,t represents the unexpected popularity of the i-th local search strategy at iteration round t, SR i,t represents the true success rate of the i-th local search strategy at iteration round t, ER i,t represents the expected success rate of the i-th local search strategy at iteration round t.