A multi-objective job shop scheduling method considering workpiece quality and variable processing time

By optimizing process sequencing and resource allocation with an improved cultural gene algorithm based on collaborative classification, the problems of unstable production efficiency and quality caused by worker learning and machine deterioration in flexible job shop scheduling with dual resource constraints are solved, achieving efficient resource utilization and stable product quality.

CN119809223BActive Publication Date: 2025-09-30NANJING UNIV OF INFORMATION SCI & TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411868117.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-09-30
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

In the dual-resource-constrained flexible job shop scheduling problem, the autonomous learning ability of worker resources and the changes in machine processing time lead to unstable production efficiency and product quality. Existing technologies are difficult to effectively solve the problems of resource waste and scheduling complexity.

Method used

An improved genetic algorithm based on collaborative classification is adopted, combined with workpiece quality and variable processing time. Through collaborative search mechanism, idle time window optimization and learning-based reallocation strategy, process sequencing and resource allocation are optimized to avoid rework and improve resource utilization.

Benefits of technology

It achieves the stability of workpiece quality and optimization of processing time, improves production efficiency and resource utilization, reduces resource waste, and meets the company's goal of reducing costs and increasing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119809223B_ABST
    Figure CN119809223B_ABST
Patent Text Reader

Abstract

The present invention discloses a multi-objective workshop scheduling method considering workpiece quality and variable processing time, which belongs to the technical field of workshop production scheduling optimization; the method comprises: adopting a cultural gene algorithm based on collaborative classification to solve a scheduling model; adopting heuristic hybrid initialization to obtain a high-quality initial population; adding dynamic monitoring of the rework process to the plug-in active decoding according to the model to ensure that the rework process meets the tight scheduling; adding a collaborative search operator on the basis of the hybrid individual update strategy to improve the global search capability in the later stage of iteration; in view of the characteristic of non-fixed processing time, proposing an plug-in optimization based on idle time window to improve the utilization rate of idle time in the scheduling scheme; adopting classified local search in the local search stage, bringing elite individuals into the multi-neighborhood search based on the key process to improve the search capability, adopting K-means clustering to generate representative individuals and introducing a learning-based hybrid redistribution strategy to accelerate individual evolution while ensuring population diversity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of workshop production scheduling optimization, and in particular relates to a multi-objective workshop scheduling method considering workpiece quality and variable processing time. Background Art

[0002] Given the production management and control requirements of Industry 4.0, production scheduling in flexible job-shops currently faces numerous challenges. Scheduling planning, resource allocation, and product transportation and maintenance have become more complex and multidimensional than ever before. The Dual Resource Constrained Flexible Job-shop Scheduling Problem (DRCFJSP) refers to the mutual influence and constraints between two or more shared resources (such as machines and workers) in a production workshop. This scheduling problem is more consistent with the actual production model of most enterprises, and scheduling planning for this production model is also more complex and difficult.

[0003] In DRCFJSP, different workers often have different autonomous learning abilities, which significantly impacts production efficiency. Designing an appropriate production scheduling plan that considers these factors is more aligned with actual production. Similarly, the processing time of a process can be extended due to wear and aging of the machine itself or due to the process flow.

[0004] Due to the participation of worker resources, DRCFJSP has a higher quality of finished products. However, due to the differences in machine processing accuracy and worker operation level, the quality of products is often uneven, resulting in waste of resources, which is not in line with the company's ultimate goal of reducing costs, increasing efficiency and achieving profitability. Summary of the Invention

[0005] In view of the deficiencies of the prior art, the present invention aims to provide a multi-objective workshop scheduling method that takes into account workpiece quality and variable processing time, thereby solving the problems in the prior art.

[0006] The purpose of the present invention can be achieved through the following technical solutions:

[0007] The multi-objective shop scheduling method considering workpiece quality and variable processing time includes the following steps:

[0008] S1, establish a multi-objective dual-resource constraint flexible job shop scheduling model considering workpiece quality and variable processing time, and propose an improved cultural gene algorithm based on collaborative classification to solve it;

[0009] S2, determine the parameters of the improved cultural gene algorithm based on collaborative classification, including: population size popsize, maximum number of iterations maxgen, crossover probability pc and mutation probability pm;

[0010] S3, determine the individual coding method based on the processing data. A single individual includes four layers of gene sequences: process sorting OS, machine selection MS, worker selection WS and process rework PR;

[0011] S4, OS sequence is randomly initialized, MS sequence and WS sequence are initialized with quality-preserving GLR mixture to generate the initial population R1(t) as the parent population;

[0012] S5, for each individual in the parent population R1(t), a real-time monitoring plug-in active decoding method with rework considerations is used to generate an active scheduling plan. The three target values ​​of the individual are recorded according to the scheduling plan, and the individuals in the population R1(t) are fast non-dominated sorted. The individuals with dominance level 1 are saved to construct the frontier solution set.

[0013] S6, the parent population R1(t) is used to generate the branch population R2(t) through the Jaya operator;

[0014] S7, the parent population R1(t) is used to generate the branch population R3(t) through the genetic operator;

[0015] S8, after mixing R1(t), R2(t) and R3(t), perform fast non-dominated sorting, arrange all individuals in order of dominance, save the first popsize individuals to form the offspring population R1'(t) and replace the parent population, obtain the updated parent population R1(t), and update the frontier solution set at the same time;

[0016] S9, judge whether the individual in the frontier solution set has changed, if so, go to S11, otherwise go to S10;

[0017] S10, R2(t) and R3(t) are used in a collaborative search operator to generate a branch population R4(t), and R1(t) and R4(t) are mixed to perform a fast non-dominated sort, and all individuals are arranged in order of dominance level. The first popsize individuals are saved to form the child population R1'(t) and replace the parent population to obtain the updated parent population R1(t), and the frontier solution set is updated at the same time;

[0018] S11, implement the idle time window-based insertion optimization for all individuals in the parent population R1(t), and update the population R1(t);

[0019] S12, implement the K-means clustering algorithm on the parent population R1(t) to extract the branch population R5(t), apply the learning-type hybrid redistribution operation to the individuals in R5(t), and update R5(t); at the same time, perform a fast non-dominated sorting on the individuals in the parent population R1(t), select the individuals with the highest dominance level according to the population percentage to generate the branch population R6(t), perform a multi-neighborhood search operation based on the key process on R6(t), and update R6(t);

[0020] S13, after mixing R1(t), R5(t) and R6(t), perform fast non-dominated sorting, arrange all individuals in order of dominance, save the first popsize individuals to form the offspring population R1'(t) and replace the parent population to obtain the updated parent population R1(t), and update the frontier solution set at the same time;

[0021] S14, determine whether the current number of iterations t reaches the set number of iterations. If not, t=t+1, repeat S5-S13. If so, output the frontier solution set in the population as the optimal solution set.

[0022] Beneficial effects of the present invention:

[0023] 1. Based on DRCFJSP, the present invention further considers the learning effect of workers, the deterioration effect of machines and the rework mechanism of the process, and specifically designs an improved cultural gene algorithm based on collaborative classification for solution; first, in view of the characteristic of secondary rework of precision processes in the model, a rework process processing mechanism is added based on active decoding to avoid the generation of illegal solutions.

[0024] 2. Based on the hybrid individual update based on the improved Jaya operator and genetic operator, a collaborative search mechanism is constructed to expand the population search range while improving the continuous search efficiency.

[0025] 3. In view of the dynamic changes of processing time in the model, a plug-in optimization based on idle time window is designed to improve resource utilization by compressing the idle time window.

[0026] 4. In the local search phase, individuals in the population are classified and searched. K-means clustering is used to generate representative individuals for all individuals in the population, and the individuals are optimized through a learning-based redistribution strategy to reduce individual homogeneity while improving the individual evolution level. Individuals with a dominance level of 1 are further converged through multi-neighborhood search of key processes. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0028] Figure 1 Schematic diagram of the scheduling method of the present invention;

[0029] Figure 2 Schematic diagram of an encoding example of the present invention;

[0030] Figure 3 This is a schematic diagram of the IPOX cross of the present invention;

[0031] Figure 4 This is a schematic diagram of the RPX crossover of the present invention;

[0032] Figure 5 Schematic diagram of OS sequence update of discrete Jaya of the present invention;

[0033] Figure 6 Schematic diagram of the update of MS and WS sequences of discrete Jaya of the present invention;

[0034] Figure 7 This is a schematic diagram of the OS sequence collaborative update of the present invention;

[0035] Figure 8 Schematic diagram of the collaborative update of MS and WS sequences of the present invention;

[0036] Figure 9 This is a schematic diagram of the idle time window-based plug-in optimization update of the present invention;

[0037] Figure 10 Schematic diagram of the optimal solution set of the present invention. DETAILED DESCRIPTION

[0038] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making any creative efforts shall fall within the scope of protection of the present invention.

[0039] Example 1

[0040] like Figure 1 As shown in FIG, the multi-objective shop scheduling method considering workpiece quality and variable processing time includes the following steps:

[0041] S1, establish a multi-objective dual-resource constraint flexible job shop scheduling model considering workpiece quality and variable processing time, and propose an improved cultural gene algorithm based on collaborative classification to solve it;

[0042] The multi-objective DRCFJSP considering workpiece quality and variable processing time can be described as: w workers operate m machines to process n workpieces, and any workpiece J i There is a certain η i Each process requires the simultaneous allocation of machines and workers. Machines and workers vary, and only after these resources are fully allocated can the process begin. The standard processing time for a process varies across machines. The actual processing time is determined by three factors: the standard processing time, the machine's deterioration effect, and the worker's skill level, which is subject to learning.

[0043] First, the process determines the standard processing time through the assigned machine, and the degree of deterioration of the machine is judged to obtain the processing time after deterioration. The deterioration effect of the machine refers to the phenomenon that in actual processing, the processing time of the process is extended due to the process flow or the wear and aging of the machine itself. Considering that in actual production, the linear deterioration effect will cause the processing time of the subsequent process to be extended indefinitely, the deterioration effect model adopts a step-by-step deterioration effect and a piecewise function with an upper limit to describe the actual processing time, which will be the processing time of the machine after deterioration. It can be expressed as the standard processing time T ijk With penalty time PT ijk The specific expression is as follows:

[0044]

[0045] In the formula, the cumulative processing time AT is recorded after the machine starts processing k , the cumulative processing time reaches the lower limit of the deterioration threshold Previous penalty time PT ijk =0, within the upper and lower limits of the deterioration threshold, the penalty time PT ijk It increases linearly and reaches the upper limit of the deterioration threshold After that, the penalty time PT ijk Constant and unchanging.

[0046] Secondly, the worker's current skill level is determined through the learning effect, and the actual processing time is calculated based on the deteriorated machine processing time and the worker's current skill level. This invention uses five factors, namely the worker's initial skill level, job difficulty, learning ability, number of operation repetitions, and skill upper limit, to derive the following improved learning effect model:

[0047] β=lg(γ kl ) / lg2

[0048]

[0049] Among them, β represents the learning factor, γ kl W l To M k The learning rate, γ kl ∈[0,1],T ijkl Indicates process O ij In M k W l The actual processing time of the operation, T ijk Indicates process O ij In M k Standard processing time on W l Operation M k Initial skill level, W l Operation M k The skill limit, F is the incompressible factor, expressed as the man-machine ratio, r kl W l Operation M k The cumulative number of times;

[0050] Because machine performance decreases in steps and workers' skill levels improve dynamically, the actual processing time of a process changes dynamically. The same batch of processing tasks includes both precision and standard workpieces. All processes for precision workpieces have quality requirements. If these requirements are not met, the original process will be immediately reworked, using the same workers and machines as the original process. Processing machines are also divided into CNC machines and standard machines. The processing accuracy of CNC machines is related only to the machine itself, while the processing accuracy of standard machines is related to both the machine and the worker.

[0051] The multi-objective solution for scheduling objectives, which considers workpiece quality and variable processing time, is to determine the processing order of all processes, efficiently allocate machines and workers to each process within the range of the optional flexible resource set, and avoid secondary rework of the process as much as possible to obtain the optimal scheduling solution. The mathematical description is as follows:

[0052] Construct a flexible job shop scheduling model with dynamic processing time and dual resource constraints considering workpiece quality. The objective function is:

[0053] min(f1)=min(max(C i ))

[0054]

[0055] The above three formulas represent the three objective functions of the scheduling model, which are to minimize the maximum completion time of all workpieces, minimize the total energy consumption of machines, and minimize the total worker cost. Among them, f1, f2, and f3 represent the first, second, and third objective functions of the scheduling model, n represents the total number of workpieces, m represents the total number of machines, w represents the total number of workers, i = 1, 2, 3, ..., n represents the workpiece index, and j = 1, 2, 3, ..., η i represents the process index, k=1,2,3,…,m represents the machine index, l=1,2,3,…,w represents the worker index, η i represents the total number of processes for the i-th workpiece, T ijkl Indicates O ij In M k W l Processing time for processing, Indicates M k No-load energy consumption, Indicates M k Load energy consumption, CM k Indicates M k Completion time, X ijkl =1 indicates process O ij Processed by worker l on machine k, otherwise X ijkl =0,wc l W l The unit cost, C i represents the completion time of job i.

[0056] The constraints of the flexible job shop scheduling model with dynamic processing time and dual resource constraints considering workpiece quality are set as follows:

[0057] Process O ij Mass calculation during machining:

[0058]

[0059] The processing time of the rework operation is constrained by the quality threshold:

[0060]

[0061] The rework process is the subsequent process of the original process and meets the sequence constraints of the processes:

[0062]

[0063] The rework process uses the same machines and workers as the original process:

[0064]

[0065] The machining process of the workpiece cannot be interrupted:

[0066]

[0067] There are sequence constraints for the processes in the same workpiece:

[0068]

[0069] The same machine can only process one workpiece at any one time:

[0070] ST ij +α(1-Y i'j'ijk )≥CT i'j'

[0071] The same worker can only process one workpiece at any one time:

[0072] ST ij +α(1-Z i'j'ijl )≥CT i'j'

[0073] Any process can only be performed by one worker on one machine:

[0074]

[0075] The start time and completion time of any process are greater than or equal to 0:

[0076] ST ij ≥0, CT ij ≥0

[0077] Where i'=1,2,3,…,n represents the workpiece index, j'=1,2,3,…,η i Indicates the process index, Indicates O ij Secondary rework process, express In M k W l Processing time for processing, express The start time, express Completion time, ρ k Indicates M k Machining accuracy, ε l W l Processing accuracy, Q ij Indicates O ij Processing quality, QT ij Indicates O in precision workpiece ij The quality threshold, λ ij Indicates O ij Rework factor, ST ijIndicates process O ij Start time, CT ij Indicates process O ij Completion time, ST i(j+1) Indicates process O i(j+1) Start time, CT i'j' Indicates process O i'j' Completion time, α represents an infinite integer, Y i'j'ijk =1 indicates process O ij With O i'j' Processing on machine k and process O i'j' Before O ij Processing, other cases Y i'j'ijk =0, Z i'j'ijl =1 indicates process O ij With O i'j' Processed by worker 1 and process O i'j' Before O ij Processing, other cases Z i'j'ijl =0,H k =1 means M k It is an ordinary machine, otherwise H k =1 / ε l , U i =1 means J i It is a precision workpiece, otherwise U i =∞,Re ij =1 means Q ij U i ≤QT ij , other casesRe ij =0, express In M k By W l Processing, other situations

[0078] S2, determine the parameters of the improved genetic algorithm based on collaborative classification, including the population size popsize, the maximum number of iterations maxgen, the crossover probability pc, and the mutation probability pm;

[0079] Taking DMK06 of moderate complexity as an example, we designed L9 (4 3 ) level, running each of the nine combinations 20 times. The signal-to-noise ratio (S / N) of each parameter combination was compared, and the average S / N ratio for each parameter was calculated. The algorithm achieved optimal performance when the parameters were set to popsize = 200, pm = 0.1, pc = 0.8, and maxgen = 200.

[0080] S3, determines the individual coding method based on the processing data in the production instance. A single individual includes four layers of gene sequences: process sorting OS, machine selection MS, worker selection WS, and process rework PR;

[0081] like Figure 2 As shown in the figure, the present invention adopts a four-segment coding method to express individual information. The first segment is the operation sequencing (OS), which is used to determine the order of workpiece processing. The elements in each gene bit represent the workpiece number, and different times of the same element appearing represent different processes in the same workpiece. The second segment is the machine selection (MS), which indicates the processing machine assigned to the process. Each gene bit represents the processing machine corresponding to each process after all processes are arranged in sequence, and the elements in the gene bit represent the machine number. The third segment is the worker selection (WS), which indicates the processing worker selected for the process. Each gene bit represents the operator of the processing machine corresponding to each process after all processes are arranged in sequence, and the elements in the gene bit represent the worker number. The fourth segment is the process rework (PR), which indicates the process that needs to be reworked. The gene bit represents the rework information of each process after all processes are arranged in sequence. The element "1" in the gene bit indicates that the machine and worker selected for the process did not meet the accuracy requirements and secondary rework is required, and "0" indicates that the process is processed normally.

[0082] S4, OS sequence is randomly initialized, MS sequence and WS sequence are initialized with quality-preserving GLR mixture to generate the initial population R1(t) as the parent population;

[0083] When generating the initial population R1(t), the OS code is generated by random selection, and the MS sequence and WS sequence adopt the quality-preserving GLR initialization method that combines global selection (GS), local selection (LS) and random selection (RS). During the initialization stage, the changes in processing time caused by learning effect and deterioration effect are considered, and the quality of precision workpieces is guaranteed. The usage ratio of the three initialization methods is 6:3:1.

[0084] S5, for each individual in the parent population R1(t), a real-time monitoring plug-in active decoding method with rework considerations is used to generate an active scheduling plan. The three target values ​​of the individual are recorded according to the scheduling plan, and the individuals in the population R1(t) are fast non-dominated sorted. The individuals with dominance level 1 are saved to construct the frontier solution set.

[0085] A real-time monitoring plug-in active decoding method considering rework is adopted to distinguish the various idle times brought by dual flexible resources, implement different left-shift insertion strategies, and recalculate the processing time of the process in the current scheduling plan after the left-shift insertion, and perform a left-shift immediately ahead, thereby generating an active scheduling plan, reasonably arranging the rework process for it, and calculating the corresponding multiple objective functions.

[0086] Specifically, the process of real-time monitoring plug-in active decoding includes:

[0087] Step 1: Traverse the process O in the OS sequence in order ij , and O in MS and WS sequences ij Corresponding processing machine M k and worker W l , analyze the PR sequence, if the corresponding value is 1, generate a rework process

[0088] Step 2: Analyze M k and W l There are four types of working states, state 1 is M k and W l Not started, status 2 is M k There is an idle period [MFST k ,MFCT k ], state 3 is W l There is an idle period [WFST l ,WFCT l ], state 4 is M k and W l There is free space [MSFT k ,MFCT k ] and [WFST l ,WFCT l ], status 2, 3, 4 need to record M k and W l Processing time [MST k ,MCT k ] and [WST l ,WCT l ], determine whether there is an idle period for left shift insertion, if so, go to step 3, otherwise, go to step 4.

[0089] Step 3: According to M k and W l The state is O ij Provide the earliest start time, if O ij The first process of the workpiece is to make its CT i(j-1) Exists and is 0, state 1 ST ij =CT i(j-1), State 2, ST ij =max(MFST k ,WCT l ,CT i(j-1) ), in state 3, ST ij =max(WFST l ,MCT k ,CT i(j-1) ), in state 4, ST ij =max(max(MFST k ,WFST l ),CT i(j-1) ), O ij The completion time is CT ij =ST ij +T ijkl After the left shift insertion is executed, the processing time of the completed process is recalculated according to the learning and deterioration effect formula, and the immediate left shift is performed to update ST and CT;

[0090] Step 4: According to M k and W l The state is O ij Provide the earliest start time ST ij =max(MCT k ,WCT l ,CT i(j-1) ), if O ij The first process of the workpiece is to make its CT i(j-1) Exists and is 0, the completion time is CT ij =ST ij +T ijkl .

[0091] Step 5: Determine whether there is a rework process. If so, arrange it to be processed after the original process.

[0092] Step 6: Record O ij The start time of ST ij =ST(O ij ) and completion time CT ij =CT(O ij ), if rework exists, record it. Determine whether the OS sequence has been traversed. If so, go to step 7, otherwise go to step 1.

[0093] Step 7: Set ST and ST according to the start time of all processes (including rework processes) re With completion time sets CT and CT re , calculate the three objective functions of the scheduling plan and output them.

[0094] S6, the parent population R1(t) is used to generate the branch population R2(t) through the Jaya operator;

[0095] In the process of using discrete Jaya operator to generate branch population R2(t) for population R1(t), X best is a randomly selected individual from the frontier solution set, X worst is a randomly selected individual from the Pareto-worst individuals in the current population;

[0096] like Figure 5 As shown: The update process of OS sequence is: delete the parent individual P i With X worst The same element at the same position generates the intermediate individual temp, delete X best The same element as temp, and finally X best The remaining elements in the sequence are assigned to temp to generate the child individual C i .

[0097] like Figure 6 As shown: The update process of MS and WS sequences is: delete the parent individual P i With X worst The same element at the same position generates the intermediate individual temp, and X best The element at the corresponding position is assigned to temp to generate the child individual C i .

[0098] Parent individual P i and the worst individual X worst The element values ​​of all gene positions may be completely identical or completely different. When the values ​​are completely identical, the parent individual P is reset using the initialization rule S4 of the present invention to generate the child individual C. i ; When completely different, P i With X worst and X best Each performs an improved precedence operation crossover (IPOX) and selects the best offspring individual as C i ; When they are not exactly the same, execute the Jaya update operator.

[0099] S7, the parent population R1(t) is used to generate the branch population R3(t) through the genetic operator;

[0100] like Figure 3 and Figure 4As shown in the figure, the genetic operators include selection, random parent crossover, and multi-level mutation. Ternary tournament selection is used as the selection operator. For the crossover operator, IPOX is used for the OS sequence, while random probability crossover (RPX) is used for both the MS and WS sequences. For the mutation operator, interchange mutation is used for the OS sequence, while random replacement mutation is used for the MS and WS sequences.

[0101] S8, after mixing R1(t), R2(t) and R3(t), perform fast non-dominated sorting, arrange all individuals in order of dominance, save the first popsize individuals to form the offspring population R1'(t) and replace the parent population, obtain the updated parent population R1(t), and update the frontier solution set at the same time;

[0102] When saving the first popsize individuals to form the offspring population R1'(t), the selection rule is: give priority to individuals with high Pareto levels, and give priority to individuals with high crowding in the same level. After the selection is completed, R1'(t) is assigned to the parent population R1(t); the population sizes of R1(t), R2(t), R3(t) and R1'(t) are all the same.

[0103] S9, determine whether the individual in the frontier solution set has changed. If so, go to S11, otherwise go to S10.

[0104] S10, such as Figure 7 and Figure 8 As shown: R2(t) and R3(t) are used in a collaborative search operator to generate a branch population R4(t), R1(t) and R4(t) are mixed for fast non-dominated sorting, all individuals are arranged in order of dominance, the first popsize individuals are saved to form the child population R1'(t) and replace the parent population to obtain the updated parent population R1(t), and the frontier solution set is updated at the same time;

[0105] S11, implement idle window-based insertion optimization for all individuals in the parent population R1(t), and update the population R1(t);

[0106] like Figure 9 As shown in the figure: when the idle time window-based insertion optimization is adopted for all individuals in the population R1(t), the separated idle time windows are integrated by right-shifting the non-critical processes in the scheduling scheme, and then all processes are traversed to search for processes that can be inserted and shifted left to perform left shift insertion. After the traversal is completed, all processes are implemented with tight front scheduling, which can effectively achieve the reduction of idle time and the improvement of resource utilization.

[0107] S12, implement the K-means clustering algorithm on the parent population R1(t) to extract the branch population R5(t), apply the learning-type hybrid redistribution operation to the individuals in R5(t), and update R5(t); at the same time, perform a fast non-dominated sorting on the individuals in the parent population R1(t), select the individuals with the highest dominance level according to the population percentage to generate the branch population R6(t), perform a multi-neighborhood search operation based on the key process on R6(t), and update R6(t);

[0108] When using the learning hybrid redistribution operation for individuals in R5(t), there are four redistribution operators: L1-L4:

[0109] L1: Randomly select a process on the machine with the largest maximum completion time, traverse the optional machines of the process in ascending order of completion time, replace the element value of the corresponding position of the process in the MS sequence, and select the optional worker with the shortest processing time for the process, replace the element value of the corresponding position in the WS sequence, and update the PR sequence to obtain a new individual;

[0110] L2: Randomly select a process from the workers with the longest cumulative processing time, traverse the optional workers of this process in ascending order of cumulative processing time, replace the element value of the corresponding position of the process in the WS sequence, and select the optional machine with the shortest processing time, update the element value of the corresponding position in the MS sequence, and update the PR sequence to obtain a new individual;

[0111] L3: Extract the machine with the lowest energy consumption, randomly select a process that can be processed by the machine with the lowest energy consumption on the machines other than this machine, replace the optional machine of this process with the machine with the lowest energy consumption, replace the element value of the corresponding position of this process in the MS sequence, and select the optional worker with the shortest processing time for this process, replace the element value of the corresponding position in the WS sequence, and update the PR sequence to obtain a new individual;

[0112] L4: Extract the worker with the minimum total worker cost, randomly select a process that can be processed by the worker with the minimum cost from the workers other than this worker, replace the optional worker of this process with the worker with the minimum total worker cost, replace the element value of the corresponding position of this process in the WS sequence, and select the optional machine with the shortest processing time for this process, replace the element value of the corresponding position of the MS sequence, and update the PR sequence to obtain a new individual.

[0113] A fast non-dominated sorting is performed on the population R1(t). After sorting R1(t), individuals with a dominance level of 1 are subjected to a knowledge-driven variable neighborhood search. The maximum number of iterations of the local search is set, and the variable neighborhood search is implemented using a threshold method. First, multiple neighborhood structures are defined, each corresponding to a method of changing individual information. During the search process, the current individual is substituted into different neighborhood structures to try to generate a new individual. After substituting the decoding operator, the new individual is evaluated through non-adaptive sorting. If the new individual is better than the current individual, the current individual is accepted and updated. Otherwise, another neighborhood structure is selected for trial. After all neighborhood structures are tried once, the number of iterations is increased by one. The search ends when the maximum number of iterations is met, and the optimal individual found is output. There are three neighborhood structures N1-N3 in total, and the operations performed by each neighborhood structure are as follows:

[0114] N1: Shift the non-critical processes in the scheduling plan to the right to integrate idle time; after disrupting the order of processes on the critical path, traverse all optional workers of the critical processes and check whether the process can be inserted by the worker by shifting left. If so, stop traversal after executing the insertion and generate a new individual; otherwise, select the worker with the lowest worker cost to replace and generate a new individual.

[0115] N2: Traverse the key blocks in the critical path. If the key block contains more than two processes, randomly extract the middle process of the key block to replace the first process and the last process of the block to generate a new individual.

[0116] N3: Randomly select one of the machine and worker constraints, randomly extract a key process on the machine (or worker) with the largest maximum completion time, analyze the optional machines (or workers) of the selected process, replace the processing machine (or worker) of the process with the optional machine (or worker) with the smallest maximum completion time, and generate a new individual.

[0117] S13, after mixing R1(t), R5(t) and R6(t), perform fast non-dominated sorting, arrange all individuals in order of dominance, save the first popsize individuals to form the offspring population R1'(t) and replace the parent population, obtain the updated parent population R1(t), and update the frontier solution set at the same time;

[0118] S14, determine whether the current number of iterations t reaches the set number of iterations. If not, t=t+1, repeat S5-S13. If so, output the frontier solution set in the population as the optimal solution set.

[0119] Example 2

[0120] In this embodiment, a specific production example is given, and the scheduling method of the present invention is used to solve the production example;

[0121] Production Example: Based on the actual production data of an aviation equipment manufacturing company, the aviation structural parts production example DHKQ01 was obtained after simplification and organization. Table 1 shows the resource constraint information of the process in the DHKQ01 example. The workshop has 6 workers and 8 pieces of equipment, which are divided into 4 equipment groups. Each group corresponds to different equipment and workers. This production workshop needs to process 8 aviation structural parts. The process flow of each structural part is different. The specific process and equipment processing information are shown in Table 2. The workers in this production workshop have different initial skill levels for operating different equipment, and different workers have different learning rates and skill level limits. The corresponding relationship between machines and workers is shown in Table 3. The 8 pieces of equipment in the workshop have different no-load energy consumption and loaded energy consumption. The unit time cost of the 6 workers also varies, as shown in Table 4.

[0122] Table 1 Optional machines and workers information for the process

[0123]

[0124] Table 2DHKQ01 workpiece processing information

[0125]

[0126]

[0127] Table 2DHKQ01 processing information (continued)

[0128]

[0129] Table 3 Worker attributes

[0130]

[0131] Table 4 Machine attribute table

[0132]

[0133]

[0134] The scheduling method of the present invention solves the frontier solution set generated by the production instance and can obtain the corresponding three-dimensional point diagram as shown in the following figure: Figure 10 As shown, the x-axis represents the maximum completion time, the y-axis represents the total energy consumption of the machine, and the z-axis represents the total cost of the workers. Figure 10 It can be seen that the solutions obtained by the algorithm of the present invention are uniformly dense and closer to the origin than other algorithms, which verifies the effectiveness of ICMA in solving actual production cases.

[0135] Throughout this specification, references to terms such as "one embodiment," "example," or "specific example" indicate that the specific features, structures, materials, or characteristics described in conjunction with that embodiment or example are included in at least one embodiment or example of the present invention. In this specification, schematic representations of these terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.

[0136] The basic principles, main features, and advantages of the present invention are shown and described above. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The above embodiments and descriptions are merely illustrative of the principles of the present invention. Various changes and modifications may be made to the present invention without departing from the spirit and scope of the present invention, and such changes and modifications fall within the scope of the invention as claimed.

Claims

1. A multi-objective shop scheduling method considering workpiece quality and variable processing time, characterized in that: The following steps are involved: S1, establish a multi-objective dual-resource constraint flexible job shop scheduling model considering workpiece quality and variable processing time, and propose an improved cultural gene algorithm based on collaborative classification to solve it; S2, determine the parameters of the improved cultural gene algorithm based on collaborative classification, including: population size popsize, maximum number of iterations maxgen, crossover probability pc and mutation probability pm; S3, determine the individual coding method based on the processing data. A single individual includes four layers of gene sequences: process sorting OS, machine selection MS, worker selection WS and process rework PR; S4, OS sequence is randomly initialized, MS sequence and WS sequence are initialized with quality-preserving GLR mixture to generate the initial population R1(t) as the parent population; S5, for each individual in the parent population R1(t), a real-time monitoring plug-in active decoding method with rework considerations is used to generate an active scheduling plan. The three target values ​​of the individual are recorded according to the scheduling plan, and the individuals in the population R1(t) are fast non-dominated sorted. The individuals with dominance level 1 are saved to construct the frontier solution set. S6, the parent population R1(t) is used to generate the branch population R2(t) through the Jaya operator; S7, the parent population R1(t) is used to generate the branch population R3(t) through the genetic operator; S8, after mixing R1(t), R2(t) and R3(t), perform fast non-dominated sorting, arrange all individuals in order of dominance, save the first popsize individuals to form the offspring population R1'(t) and replace the parent population, obtain the updated parent population R1(t), and update the frontier solution set at the same time; S9, judge whether the individual in the frontier solution set has changed, if so, go to S11, otherwise go to S10; S10, R2(t) and R3(t) are used in a collaborative search operator to generate a branch population R4(t), and R1(t) and R4(t) are mixed to perform a fast non-dominated sort, and all individuals are arranged in order of dominance level. The first popsize individuals are saved to form the child population R1'(t) and replace the parent population to obtain the updated parent population R1(t), and the frontier solution set is updated at the same time; S11, implement the idle time window-based insertion optimization for all individuals in the parent population R1(t), and update the population R1(t); S12, implement the K-means clustering algorithm on the parent population R1(t) to extract the branch population R5(t), apply the learning-type hybrid redistribution operation to the individuals in R5(t), and update R5(t); at the same time, perform a fast non-dominated sorting on the individuals in the parent population R1(t), select the individuals with the highest dominance level according to the population percentage to generate the branch population R6(t), perform a multi-neighborhood search operation based on the key process on R6(t), and update R6(t); S13, after mixing R1(t), R5(t) and R6(t), perform fast non-dominated sorting, arrange all individuals in order of dominance, save the first popsize individuals to form the offspring population R1'(t) and replace the parent population, obtain the updated parent population R1(t), and update the frontier solution set at the same time; S14, determine whether the current number of iterations t reaches the set number of iterations. If not, t=t+1, repeat S5-S13. If so, output the frontier solution set in the population as the optimal solution set.

2. The multi-objective shop scheduling method considering workpiece quality and variable processing time according to claim 1 is characterized in that: The objective function of the multi-objective dual-resource flexible job shop scheduling model considering workpiece quality and variable processing time is: min(f1)=min(max(C i )) Where f1, f2, f3 represent the first, second, and third objective functions of the scheduling model, n represents the total number of workpieces, m represents the total number of machines, w represents the total number of workers, i = 1, 2, 3, ..., n represents the workpiece index, j = 1, 2, 3, ..., η i represents the process index, k=1,2,3,…,m represents the machine index, l=1,2,3,…,w represents the worker index, η i represents the total number of processes for the i-th workpiece, T ijkl Indicates O ij In M k W l Processing time for processing, Indicates M k No-load energy consumption, Indicates M k Load energy consumption, CM k Indicates M k Completion time, X ijkl =1 indicates process O ij Processed by worker l on machine k, otherwise X ijkl =0,wc l W l The unit cost, C i represents the completion time of workpiece i; The constraints of the multi-objective dual-resource flexible job shop scheduling model considering workpiece quality and variable processing time include: Process O ij Mass calculation during machining: The processing time of the rework operation is constrained by the quality threshold: The rework process is the subsequent process of the original process and meets the sequence constraints of the processes: The rework process uses the same machines and workers as the original process: The machining process of the workpiece cannot be interrupted: There are sequence constraints for the processes in the same workpiece: The same machine can only process one workpiece at any one time: ST ij +α(1-Y i'j'ijk )≥CT i'j' The same worker can only process one workpiece at any one time: ST ij +α(1-Z i'j'ijl )≥CT i'j' Any process can only be performed by one worker on one machine: The start time and completion time of any process are greater than or equal to 0: ST ij ≥0,CT ij ≥0 Where i'=1,2,3,…,n represents the workpiece index, j'=1,2,3,…,η i Indicates the process index, Indicates O ij Secondary rework process, express In M k W l Processing time for processing, express The start time, express Completion time, ρ k Indicates M k Machining accuracy, ε l W l Processing accuracy, Q ij Indicates O ij Processing quality, QT ij Indicates O in precision workpiece ij The quality threshold, λ ij Indicates O ij Rework factor, ST ij Indicates process O ij Start time, CT ij Indicates process O ij Completion time, ST i(j+1) Indicates process O i(j+1) Start time, CT i'j' Indicates process O i'j' Completion time, α represents an infinite integer, Y i'j'ijk =1 indicates process O ij With O i'j' Processing on machine k and process O i'j' Before O ij Processing, other cases Y i'j'ijk =0, Z i'j'ijl =1 indicates process O ij With O i'j' Processed by worker 1 and process O i'j' Before O ij Processing, other cases Z i'j'ijl =0,H k =1 means M k It is an ordinary machine, otherwise H k =1 / ε l , U i =1 means J i It is a precision workpiece, otherwise U i =∞,Re ij =1 means Q ij U i ≤QT ij , other casesRe ij =0, express In M k By W l Processing, other situations 3. The multi-objective shop scheduling method considering workpiece quality and variable processing time according to claim 1 is characterized in that: S3 uses a four-segment coding method to express the individual information in the population. The first segment is the process sorting coding sequence OS, which is used to determine the order of workpiece processing; the second segment is the machine selection coding sequence MS, which indicates the processing machine assigned to the process; the third segment is the worker selection coding sequence WS, which indicates the processing worker selected for the process; and the fourth segment is the process rework sequence PR, which indicates whether the process requires secondary rework.

4. The multi-objective shop scheduling method considering workpiece quality and variable processing time according to claim 1 is characterized in that: In S4, the MS and WS sequences use an improved GLR initialization method based on global selection GS, local selection LS, and random selection RS, with a ratio of 6:3:

1.

5. The multi-objective shop scheduling method considering workpiece quality and variable processing time according to claim 1 is characterized in that: In S5, real-time monitoring plug-in active decoding considering rework is adopted to distinguish the various idle times brought by dual flexible resources, implement different left-shift insertion strategies, and recalculate the processing time of the process in the current scheduling plan after the left-shift insertion, and perform a left-shift immediately ahead, thereby generating an active scheduling plan, reasonably arranging the rework process for it, and calculating the corresponding multiple objective functions.

6. The multi-objective shop scheduling method considering workpiece quality and variable processing time according to claim 1 is characterized in that: In the process of using discrete Jaya operator to generate branch population R2(t) for population R1(t), X best is a randomly selected individual from the frontier solution set, X worst is a randomly selected individual from the Pareto-worst individuals in the current population; The update process of OS sequence is as follows: delete the parent individual P i With X worst The same element at the same position generates the intermediate individual temp, delete X best The same element as temp, and finally X best The remaining elements in the sequence are assigned to temp to generate the child individual C i ; The update process of MS and WS sequences is as follows: delete the parent individual P i With X worst The same element at the same position generates the intermediate individual temp, and X best The element at the corresponding position is assigned to temp to generate the child individual C i ; Update process for extreme cases: parent individual P i and the worst individual X worst The element values ​​of all gene positions are exactly the same or completely different. When exactly the same occurs, the parent individual P is reset using the initialization rule in S4 to generate the child individual C. i ; When completely different, P i With X worst and X best Execute IPOX once each and select the best offspring individual as C i ; When they are not exactly the same, execute the Jaya update operator.

7. The multi-objective shop scheduling method considering workpiece quality and variable processing time according to claim 1 is characterized in that: The genetic operators include three operations: selection, random parent crossover and multi-level mutation. Among them, ternary tournament selection is used as the selection operator. Regarding the random parent crossover operator, IPOX is used for the OS sequence, and RPX is used for the MS and WS sequences. Regarding the multi-level mutation operator, the interchange mutation method is used for the OS sequence, and the random replacement mutation is used for the MS and WS sequences.

8. The multi-objective shop scheduling method considering workpiece quality and variable processing time according to claim 1 is characterized in that: When the idle time window-based insertion optimization is adopted for all individuals in the population R1(t), the separated idle time windows are integrated by right-shifting the non-critical processes in the scheduling scheme, and then all processes are traversed to search for processes that can be inserted left-shifted and perform left-shift insertion. After the traversal is completed, all processes are implemented in tight-front scheduling.

9. The multi-objective shop scheduling method considering workpiece quality and variable processing time according to claim 1, characterized in that: When using the learning hybrid redistribution operation for individuals in R5(t), the following four redistribution operators are included: L1: Randomly select a process on the machine with the largest maximum completion time, traverse the optional machines of the process in ascending order of completion time, replace the element value of the corresponding position of the process in the MS sequence, and select the optional worker with the shortest processing time for the process, replace the element value of the corresponding position in the WS sequence, and update the PR sequence to obtain a new individual; L2: Randomly select a process from the workers with the longest cumulative processing time, traverse the optional workers of this process in ascending order of cumulative processing time, replace the element value of the corresponding position of the process in the WS sequence, and select the optional machine with the shortest processing time, update the element value of the corresponding position in the MS sequence, and update the PR sequence to obtain a new individual; L3: Extract the machine with the lowest energy consumption, randomly select a process that can be processed by the machine with the lowest energy consumption on the machines other than this machine, replace the optional machine of this process with the machine with the lowest energy consumption, replace the element value of the corresponding position of this process in the MS sequence, and select the optional worker with the shortest processing time for this process, replace the element value of the corresponding position in the WS sequence, and update the PR sequence to obtain a new individual; L4: Extract the worker with the minimum total worker cost, randomly select a process that can be processed by the worker with the minimum cost from the workers other than this worker, replace the optional worker of this process with the worker with the minimum total worker cost, replace the element value of the corresponding position of this process in the WS sequence, and select the optional machine with the shortest processing time for this process, replace the element value of the corresponding position of the MS sequence, and update the PR sequence to obtain a new individual.

10. The multi-objective shop scheduling method considering workpiece quality and variable processing time according to claim 9, characterized in that: In S12, a fast non-dominated sorting is performed on the population R1(t). After sorting R1(t), individuals with a dominance level of 1 are subjected to a knowledge-driven variable neighborhood search. The maximum number of iterations of the local search is set, and the variable neighborhood search is implemented using a threshold method. First, multiple neighborhood structures are defined, each corresponding to a method of changing individual information. During the search, the current individual is substituted into different neighborhood structures to try to generate a new individual. After the decoding operator is substituted, the new individual is evaluated through non-adaptive sorting. If the new individual is better than the current individual, the current individual is accepted and updated. Otherwise, another neighborhood structure is selected for trial. After all neighborhood structures are tried once, the number of iterations is increased by one. The search ends when the maximum number of iterations is met, and the optimal individual found is output. The neighborhood structures include the following three types: N1: Shift the non-critical processes in the scheduling plan to the right to integrate idle time; after disrupting the order of processes on the critical path, traverse all the optional workers of the critical processes to check whether the process can be inserted by a worker by shifting left. If so, execute the insertion and stop traversal to generate a new individual; Otherwise, the worker with the smallest worker cost is selected for replacement to generate a new individual; N2: Traverse the key blocks in the critical path. If the key block contains more than two processes, randomly extract the middle process of the key block to replace the first process and the last process of the block to generate a new individual. N3: Randomly select one of the machine and worker constraints, randomly extract a key process on the machine or worker with the largest maximum completion time, analyze the optional machines or workers of the selected process, replace the processing machine or worker of the process with the optional machine or worker with the smallest maximum completion time, and generate a new individual.