An Adaptive Snow Goose Optimization Method for Multi-Objective Dual-Resource Flexible Workshop Scheduling Considering Worker Fatigue
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-27
- Publication Date
- 2026-08-14
AI Technical Summary
这要求经过特殊培训的工人在不同设备上执行特定任务,但受高昂工资成本、训练有素劳动力短缺及劳动力成本上升的影响,工人资源普遍有限,且存在知识技能与操作熟练度的差异,给设备与工人的匹配分配带来挑战
[0118](1)本发明基于雪雁算法,结合新的种群初始化方法、交叉变异算子和强化学习,得到了一种优秀有效的求解考虑工人疲劳的多目标双资源柔性车间调度问题的优化方法。相对于现有技术,获得的解的质量大幅提高,更符合实际需求,提高了使用价值,减少了生产成本,适于实际应用;
Smart Images

Figure CN122573007A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of workshop scheduling technology, and specifically designs a multi-objective dual-resource flexible workshop scheduling adaptive snow goose optimization method that takes into account worker fatigue. Background Technology
[0002] Flexible workshop scheduling, as a core technology of intelligent manufacturing, breaks through the rigid limitations of traditional production by integrating process planning and equipment allocation. This effectively improves output efficiency and resource utilization, adapts to dynamic production demands, and continuously drives the upgrading of manufacturing systems. Human-machine collaboration has evolved from a focus in high-end manufacturing to a crucial driver of manufacturing transformation and upgrading, with the collaborative operation of workers and equipment remaining an indispensable core element. This requires specially trained workers to perform specific tasks on different machines. However, due to high wage costs, a shortage of skilled labor, and rising labor costs, worker resources are generally limited, and differences in knowledge, skills, and operational proficiency pose challenges to the matching and allocation of equipment and workers. Furthermore, worker fatigue is unavoidable in human-machine collaboration models. Prolonged fatigue not only affects health, safety, and work efficiency but may also lead to serious safety accidents and economic losses. This reality, which demands both flexible production and constraints on worker resources and safety, has prompted academia and industry to focus on the flexible job shop scheduling problem that simultaneously considers both equipment and worker resource constraints—specifically, the dual-resource-constrained flexible job shop scheduling problem with worker fatigue (DRC-FJSP-WF). Previous research in this area has largely focused on maximizing completion time as the optimization objective. However, with the rise of green manufacturing concepts and increased emphasis on worker health, optimizing both total energy consumption and maximum worker fatigue has become an inevitable trend in actual production.
[0003] Currently, most researchers studying DRC-FJSP employ intelligent optimization algorithms to solve the problem, which is a highly effective method. Considering that the latest Snow Geese Algorithm (SGA) has few hyperparameters and strong optimization capabilities, combining it with reinforcement learning can effectively guide the search process and improve the quality of the solution. Therefore, designing a multi-objective, dual-resource flexible shop floor scheduling adaptive Snow Geese optimization method that considers worker fatigue is essential. Application prospects
[0004] This method proposes an optimized solution for the multi-objective, dual-resource flexible workshop scheduling problem that considers worker fatigue. It aligns with the Industry 5.0 development concepts of human-machine collaboration, green efficiency, and safe sustainability. Its application scenarios cover various manufacturing fields with flexible operation requirements and reliance on human-machine collaboration, such as machinery manufacturing, automotive parts processing, electronic device production, and aerospace parts processing. In actual industrial production, this method can be directly embedded into enterprise production scheduling management systems, providing precise scheduling schemes for production planning. It can improve equipment utilization, shorten production cycles, and reduce total energy consumption while effectively controlling worker fatigue, ensuring production safety and worker occupational health, and reducing enterprise safety accident rates and labor costs. Furthermore, the algorithm framework of this method can be modularly extended, adjusting parameters and optimizing rules based on the production characteristics of different manufacturing enterprises (such as different process constraints and resource allocation). It can also achieve data interoperability and linkage with enterprise management systems, helping manufacturing enterprises achieve intelligent, refined, and green upgrades in production scheduling. In the context of manufacturing transformation and upgrading, it has broad industrial application space and market promotion value. Summary of the Invention
[0005] The purpose of this invention is to provide an adaptive snow goose optimization method for multi-objective dual-resource flexible shop floor scheduling that considers worker fatigue. Most dual-resource flexible shop floor scheduling problems only consider workers as a resource, without treating them as a constraint in the scheduling process—that is, ensuring that worker fatigue does not exceed a fatigue limit during processing—and without considering the maximum worker fatigue value as an optimization objective. This research, based on the snow goose algorithm and reinforcement learning, proposes a dual-resource flexible shop floor scheduling method with the objectives of maximum completion time, maximum worker fatigue value, and total energy consumption. This method improves production efficiency while aligning with the core concepts of sustainable development and people-centeredness in the context of Industry 5.0, effectively enhancing the model's applicability and feasibility in real-world production scenarios.
[0006] To achieve the above objectives, the technical solution adopted in this method is as follows:
[0007] An adaptive snow goose optimization method for multi-objective dual-resource flexible shop floor scheduling considering worker fatigue is characterized by the following steps:
[0008] (1) Establish a mathematical model for the multi-objective dual-resource flexible workshop scheduling problem oriented towards maximum completion time, maximum worker fatigue value, and total energy consumption, and clarify the problem parameters, decision variables, objective function and constraints;
[0009] (2) Initialize parameters and generate an initial population using a population initialization strategy based on a hybrid strategy;
[0010] (3) Perform crossover and mutation operations on the population to obtain a new population;
[0011] (4) Based on the current population state, dynamically select actions to update the population using Q-learning, and calculate reward values to update the Q-table;
[0012] (5) Based on the maximum completion time, the maximum fatigue value of workers and the total energy consumption, perform non-dominated sorting and crowding calculation, select the next generation population, and determine whether the algorithm has reached the number of iterations. If it has, output the solution set; if it has not, go to (3).
[0013] In step (1), establishing a mathematical model requires specifying the problem parameters, decision variables, objective function, and constraints:
[0014] The objective function includes calculating the maximum completion time, the maximum worker fatigue value, and the total energy consumption. The maximum completion time is the maximum time to complete all processed workpieces, the maximum worker fatigue value is the maximum fatigue value among all workers throughout the entire production cycle, and the total energy consumption includes the processing energy consumption and idle energy consumption of the equipment.
[0015] The constraints are set as follows:
[0016] 1. Each workpiece and each process can only be processed once by a specific worker on a specific machine;
[0017] 2. The time at which a certain process of a certain workpiece is completed by a certain worker on the corresponding machine, minus the time at which the process begins, should equal the time that process is completed by that worker on the corresponding machine.
[0018] 3. The next process can only begin after the previous process is completed for the same workpiece;
[0019] 4. If two processes are performed on the same machine, the start time of the later process must be greater than or equal to the end time of the earlier process.
[0020] 5. Each machine can only process one process at a time;
[0021] 6. A worker can only handle one process at any given time.
[0022] In step (2), the initialization of the three-layer encoding specifically includes the following rules:
[0023] The entire initialization process is divided into three core parts: process sequencing code generation, machine selection code generation, and worker selection code generation;
[0024] Process sorting and encoding generation strategy: Generate a random floating-point number vector for all processes, where each random number represents the priority of the corresponding process. By sorting the vector in ascending order, the index of the process is obtained, thereby constructing a completely random and legal process processing sequence.
[0025] The machine selects an encoding generation strategy, which consists of three hybrid heuristic rules:
[0026] The first group accounts for 40% of the population size. When assigning a machine to each process, the algorithm will pre-calculate the predicted completion time of the process on all available machines, that is, the current completion time of the machine in the time array plus the processing time of the process on the machine, and select the machine that can make the predicted completion time the earliest, while updating the time array to the completion time of each machine at the current moment.
[0027] The second group, comprising 40% of the population, is given priority in assigning machines with the lowest processing energy consumption.
[0028] The third group, comprising 20% of the population, randomly selects one machine from the pool of available machines for each process.
[0029] Worker selection coding generation strategy: After machine allocation is determined, workers are assigned to each process in the order of the process. For each process, workers are selected from the list of available workers for its assigned machines. 50% of the workers are assigned to the workers with the shortest processing time, and the other 50% are randomly selected from the set of available workers.
[0030] In step (3), the process sorting code of the population is subjected to POX crossover, and the machine selection code is subjected to uniform crossover. At the same time, single-point mutation is used during machine crossover to obtain a new population. Specifically, the steps are as follows:
[0031] a) Divide the process into two non-empty sets, such as and ;
[0032] b) Find the parent individual Middle set The location information of the intermediate process is used to insert the process into the child individual in its original position. middle;
[0033] c) Find the parent individual Middle set The coding order of the intermediate process is used to insert the code into the offspring individual in sequence. The offspring are obtained in the middle. The encoding;
[0034] d) Randomly select parent individuals from the population. ;
[0035] e) Randomly generate a set whose length is the same as the total number of processes. The set consists of 0s and 1s;
[0036] f) The mutation position is determined by random number probability, and the codes at other positions are uniformly crossed;
[0037] g) in Select from and set The code at position 0 is copied to the offspring. Select the set at the corresponding position. The code at position 1 is copied to the offspring. At the corresponding position;
[0038] h) in Select from and set The code at position 0 is copied to the offspring. Select the set at the corresponding position. The code at position 1 is copied to the offspring. At the corresponding position;
[0039] i) The worker selection (WS) code changes synchronously with the machine selection (MS). If the MS undergoes a mutation operation, the WS randomly selects a worker to be processed based on the mutated MS.
[0040] In step (4), the population is updated by dynamically selecting actions based on the current population state and Q-learning, and the reward value is calculated to update the Q table.
[0041] Furthermore, population status specifically includes the following rules:
[0042] Dimension one represents the Pareto front diversity state, and its metric is the average Euclidean distance of the current Pareto front solution set in the standardized three-dimensional target space. The larger this value, the wider the distribution range of the solution set, and the better the diversity performance; the algorithm records the historical maximum value of the diversity index during operation. ) and minimum value ( Based on this, diversity levels are classified, and the classification rules are as follows:
[0043] Poor diversity (state value 0): Current diversity ;
[0044] Diversity is moderate (state value is 1): Current diversity ;
[0045] Good diversity (state value 2): Current diversity ;
[0046] The standardized formula is:
[0047]
[0048] in, Individual The The standardized target value for each objective. It refers to population size. Individual The The target value of each objective;
[0049] Average Euclidean Distance The calculation formula is:
[0050]
[0051] in, It is the target dimension.
[0052] Dimension two is the Pareto front convergence, which is measured by the change in the hypervolume (HV) index. Discretization of this dimension is achieved using a convergence stall counter. Specifically, if the HV of the current generation is greater than that of the previous generation, the counter is reset to 0; otherwise, it is incremented by 1. Convergence levels are then determined based on this, according to the following rules:
[0053] Converging (state value 0): ;
[0054] Convergence slows down (state value is 1): ;
[0055] Convergence stalled (state value 2): .
[0056] Furthermore, the actions that Q-learning can choose from specifically include the following four rules:
[0057] Action 0 (SGA Global Exploration Action): Performs a complete exploration phase update of the SGA. This operator stratifies the population and applies a complex perturbation formula based on the global optimum, population centroid, and worst solution.
[0058] ① The speed update rule is universal for all snow geese and is executed before the position update, resulting in the next generation population's individual speed matrix. The updated model is as follows:
[0059]
[0060] in, It is the current iteration number. This is the current population individual velocity matrix. , It is the first The generation The velocity vector of each individual, It refers to population size. It's the inertia weight, which varies with the number of iterations. The nonlinear weight that is increased and then decreased is used to adjust inertia. The formula for the inertia weight is as follows:
[0061]
[0062] in, Indicates the total number of iterations. It is a natural constant. Based on Newton's second law, Considering the position of the optimal solution in the current iteration and current individual location Individuals can be represented by the following formula. acceleration :
[0063]
[0064]
[0065] in, It is pi;
[0066] ② Different update formulas are used to modify the positions of different types of snow geese. The position update formulas are as follows:
[0067] The elite group consists of the top 20% of the population, ranked from best to worst fitness.
[0068]
[0069] The worst group is the bottom 20% of the population in terms of fitness, from best to worst:
[0070]
[0071] The remaining individuals comprise the middle 60% of the population, ranging from the best to the worst fitness:
[0072]
[0073] in, This indicates the position of the snow goose with the lowest ranking after sorting by fitness. , It is a random number generation function with a range of [0, 1], defined as follows:
[0074]
[0075]
[0076]
[0077] : Weighted centroid position, according to the first The fitness of all individuals is calculated using a weighted average, as shown in the following formula:
[0078]
[0079] in, Individual i is in the iteration number of Adaptability at that time It refers to population size.
[0080] Action 1 (SGA local exploitation action): Individuals move closer to the current global optimum:
[0081] Using Brownian motion to fine-tune the high-frequency position of an individual is a classic convergent behavior, as shown in the following formula:
[0082]
[0083] in, For the individual's new position, For the original position of the individual, This is the current optimal solution. The formula for updating Brownian motion [1];
[0084] Action 2 (Lévy Flight): Perturb the current solution using a long-tailed random step size generated by the Lévy distribution:
[0085] Lévy flight produces occasional long jumps, helping the algorithm escape local optima without completely disrupting the existing structure. The position perturbation formula is as follows:
[0086]
[0087] in, It's the Lévy Index, set... , is a classic value that strikes a good balance between exploration and utilization[2]; It is the step scaling factor, which is adaptively adjusted through a stall check operation, i.e., the value of the counter. The adaptive adjustment rule is when counter is greater than 10. The value is 0.06, and counter is greater than 5 and less than or equal to 10. When the value is 0.03, and counter is less than or equal to 5. The value is 0.01;
[0088] Action 3 (Partial Reboot): Retain a very small number of elite individuals and reinitialize the rest:
[0089] To maximize the optimization efficiency of restarting, a reverse learning mechanism is introduced [3], as shown in the following formula:
[0090]
[0091] in, The current optimal solution A completely symmetric inverse solution in space. It is small-range Gaussian noise.
[0092] Furthermore, the rewards specifically include the following three rules:
[0093] Performance Bonus Based on the degree of hypervolume (HV) improvement, the reward calculation formula is as follows:
[0094]
[0095] in, It is the first The oversized population;
[0096] Individual progress reward Calculating the next generation population using the coverage index C Dominating the previous generation of population The proportion is calculated using the following formula:
[0097]
[0098] Icebreaking Rewards When the algorithm is in a convergence stagnation state ( If an action successfully increases the HV value, a large fixed reward is given to enhance the value of that action in difficult situations. The calculation formula is as follows:
[0099]
[0100] In step (5), the initial population is sorted by non-dominated order and crowding is calculated, and it is determined whether the algorithm has reached the termination condition.
[0101] Furthermore, the rules for non-dominated sorting are as follows:
[0102] Non-dominated sorting re-categorizes each individual according to their dominance and non-dominance relationships, proposes crowding degree and crowding degree comparison operators, and uses them as the winning criteria in peer comparisons after quicksort; after non-dominated sorting, the results are... A non-inferior frontier (using) (represented by the following expression), each non-dominated front satisfies the following properties:
[0103] (1) After non-dominated sorting, each individual in the population is independent of the others;
[0104] (2) The population size remains unchanged before and after the non-dominated sorting; Indicates population size;
[0105] (3) After non-dominated sorting, the population is divided into A non-dominated frontier; where > indicates a dominance relationship, if Then it means Dominate .
[0106] The steps for non-dominated sorting are:
[0107] Step 1: Find all of the population Individuals, store them in the current set. ;in, To dominate individuals within a population The number of individual solutions;
[0108] Step 2: For the current set For each individual ind, examine the set of individuals it governs. ,Record Each individual in of ;in, The set of solution individuals governed by the individual ind;
[0109] Step 3: If Then store the individual ind into another set. Finally, This serves as a first-level set of non-dominated individuals, and all individuals within this set are assigned the same non-dominated order. Then continue with Perform the above-mentioned grading operation and assign the corresponding non-dominated order until all individuals have been graded.
[0110] Furthermore, the formula for calculating congestion is as follows:
[0111]
[0112] and These are the second and first solutions to the problem S, respectively. The function value on the function, and They are Maximum and minimum values of a function The functions are different objective functions;
[0113] Furthermore, the rules for ranking individual crowding levels are as follows:
[0114] (1) The more superior individuals in the non-dominated layer are ranked first, that is, the non-dominated order of individuals. The smaller value comes first;
[0115] (2) If two individuals have the same dominance level, the individual with greater crowding should be placed first.
[0116] After sorting by crowding level, the population is updated according to its size.
[0117] Compared with the prior art, the present invention has the following beneficial effects:
[0118] (1) Based on the Xueyan algorithm, this invention combines a new population initialization method, crossover and mutation operators, and reinforcement learning to obtain an excellent and effective optimization method for solving the multi-objective dual-resource flexible workshop scheduling problem that considers worker fatigue. Compared with the prior art, the quality of the obtained solution is greatly improved, which is more in line with actual needs, increases its use value, reduces production costs, and is suitable for practical applications;
[0119] (2) This invention has strong practical value and can be used to solve the problem of flexible workshop with multiple objectives and dual resources that takes into account worker fatigue. It is suitable for obtaining the optimal scheduling scheme in a dual-resource production environment that takes into account worker fatigue. Compared with the prior art, it is more in line with actual needs and has strong scalability and practicality. Experimental Results and Analysis
[0120] The experimental test cases selected the classic Brandimarte and combined it with the actual production scenario to build a dual-resource test case that considers worker fatigue. By adding key dimensions such as machine energy consumption information, worker processing information, worker fatigue factor, worker processing efficiency and worker fatigue recovery, 12 new datasets were generated, which are called EB datasets.
[0121] The experiment compared this method with the improved gray wolf optimization algorithm (SS-GWO) [4], the enhanced non-dominated sorting genetic algorithm (NSGA-II) [5], and the non-dominated hierarchy-based meme algorithm (MANL) [6], and used the maximum completion time (MT), total energy consumption (TE), and maximum worker fatigue value (MF) as the basic evaluation indicators. The convergence curves of the four algorithms obtained by running on the dataset EB00 are shown in the figure. Figure 2 The scheduling Gantt chart obtained by this method is as follows: Figure 3 .from Figure 2It can be observed that, for the maximum completion time objective, the Q-ISGA curve decreases rapidly, converges quickly in the initial stage, and eventually stabilizes at the minimum value, significantly outperforming other algorithms. For the total energy consumption objective, Q-ISGA decreases rapidly in the early stage and eventually reaches the minimum energy consumption level. For the maximum worker fatigue objective, Q-ISGA rapidly reduces the worker fatigue value during the iteration process and eventually stabilizes at the minimum value. Experimental results show that Q-ISGA exhibits superior convergence and final performance for all objectives. Compared with existing scheduling optimization algorithms, it can significantly reduce the maximum completion time, total energy consumption, and maximum worker fatigue value, proving its effectiveness and superiority in the dual-resource flexible shop floor scheduling problem, and simultaneously taking into account production efficiency, energy consumption, and worker health. Attached Figure Description
[0122] Figure 1 This is a flowchart of the process of the present invention;
[0123] Figure 2 The convergence curve obtained by running on the dataset EB00;
[0124] Figure 3 This is the scheduling Gantt chart obtained by this method on the dataset EB00.
[0125] References
[0126] [1] S. Saleem, I. Animasaun, S.-J. Yook, QM Al-Mdallal, NA Shah,M. Faisal, 2022. Insight into the motion of water conveying three kinds of nanoparticles shapes on a horizontal surface: significance of thermo-migration and Brownian motion, Surf. Interfaces 30 (2022) 101854.
[0127] [2]
[0128] [3] Tizhoosh, H. R, 2005. Opposition-Based Learning: A New Scheme forMachine Intelligence. International Conference on Computational Intelligencefor Modelling, Control and Automation and International Conference onIntelligent Agents, Web Technologies and Internet Commerce (CIMCA-IAWTIC'06),Vienna, Austria, 695-701.
[0129] [4] Zhou K, Tan C, Zhao Y, et al, 2024. Research on Solving FlexibleJob Shop Scheduling Problem Based on Improved Gwo Algorithm Ss-Gwo[J]. NeuralProcessing Letters, 56: 26.
[0130] [5] Tan W, Yuan X, Wang J, et al, 2021. A Fatigue-Conscious DualResource Constrained Flexible Job Shop Scheduling Problem by Enhanced Nsga-II: An Application from Casting Workshop[J]. Computers & IndustrialEngineering, 160: 107557.
[0131] [6] Han K, Gong W, 2025. Memetic Algorithm Based on Non-DominatedLevels for Flexible Job Shop Scheduling Problem with Learn-Forgetting Effectand Worker Cooperation[J]. Computers & Industrial Engineering, 200: 110845. Detailed Implementation
[0132] The present invention will be further described below with reference to the accompanying drawings and embodiments. The embodiments of the present invention include, but are not limited to, the following embodiments.
[0133] Example 1
[0134] like Figure 1 As shown, the multi-objective dual-resource flexible workshop scheduling adaptive snow goose optimization method considering worker fatigue provided in this embodiment includes the following specific steps:
[0135] Step (1): Establish a mathematical model for the multi-objective dual-resource flexible job shop scheduling problem, considering maximum completion time, maximum worker fatigue, and total energy consumption, and clarify the problem parameters, decision variables, objective function, and constraints:
[0136]
[0137] Objective function:
[0138] 1. Maximum completion time (MT):
[0139]
[0140] 2. Total Energy (TE): Energy consumption during operation can be divided into several stages, namely, working state and idle state. Therefore, production energy consumption considers the processing energy consumption and idle energy consumption of the equipment.
[0141]
[0142]
[0143]
[0144] 3. Maximum worker fatigue value (MF): The maximum fatigue value of all workers in the worker set, i.e., the maximum fatigue index of all workers throughout the entire production cycle.
[0145]
[0146]
[0147] Constraints:
[0148] 1. Each workpiece and each process can only be processed once by a single worker on a single machine:
[0149]
[0150] 2. For a given workpiece, the time at which a certain process is completed by a certain worker on the corresponding machine, minus the time at which the process begins, should equal the time that worker spends on that process on the corresponding machine.
[0151]
[0152] 3. The next process can only begin after the previous process is completed for the same workpiece:
[0153]
[0154] 4. If two processes are performed on the same machine, the start time of the later process must be greater than or equal to the end time of the earlier process.
[0155]
[0156] 5. A worker can only handle one process at any given time:
[0157]
[0158] 6. Workers Operating the machine Processing time:
[0159]
[0160] 7. Workers Operating the machine The rest time before operation is equal to the time after operating the machine. To operate the machine The previous interval, assuming the worker operates first Then operate :
[0161]
[0162] 8. Workers Operating the machine Fatigue value after:
[0163]
[0164] 9. Workers Operating the machine Previous fatigue value:
[0165]
[0166] 10. The upper limit of worker fatigue:
[0167]
[0168] Step (2): Initialize parameters. Use a hybrid initialization strategy to generate the initial population. The task attributes and their rules are as follows:
[0169] The initial population uses a three-segment encoding mechanism of equal length. The entire initialization process is divided into three core parts: process order encoding generation, machine selection encoding generation, and worker selection encoding generation.
[0170] The process sorting and coding generation strategy uses the random priority method: a random floating-point number vector is generated for all processes, where each random number represents the priority of the corresponding process. By sorting the vector in ascending order, the index of the process is obtained, thereby constructing a completely random and legal process processing sequence.
[0171] The machine selects an encoding generation strategy, which consists of three hybrid heuristic rules:
[0172] The first group accounts for 40% of the population size. When assigning a machine to each process, the algorithm will pre-calculate the predicted completion time of the process on all available machines, that is, the current completion time of the machine in the time array plus the processing time of the process on the machine, and select the machine that can make the predicted completion time the earliest, while updating the time array to the completion time of each machine at the current moment.
[0173] The second group, comprising 40% of the population, is given priority in assigning machines with the lowest processing energy consumption.
[0174] The third group, comprising 20% of the population, randomly selects one machine from the pool of available machines for each process.
[0175] Worker selection coding generation strategy: After machine allocation is determined, workers are assigned to each process in the order of the process. For each process, workers are selected from the list of available workers for its assigned machines. 50% of the workers are assigned to the workers with the shortest processing time, and the other 50% are randomly selected from the set of available workers.
[0176] Step (3): Perform crossover and mutation operations on the population to obtain a new population. The task attributes and rules are as follows:
[0177] The population is subjected to POX crossover using process-ordered encoding and uniform crossover using machine-selected encoding. Simultaneously, single-point mutation is employed during machine crossover to obtain a new population. The specific steps include:
[0178] a) Divide the process into two non-empty sets, such as and ;
[0179] b) Find the parent individual Middle set The location information of the intermediate process is used to insert the process into the child individual in its original position. middle;
[0180] c) Find the parent individual Middle set The coding order of the intermediate process is used to insert the code into the offspring individual in sequence. The offspring are obtained in the middle. The encoding;
[0181] d) Randomly select parent individuals from the population. ;
[0182] e) Randomly generate a set whose length is the same as the total number of processes. The set consists of 0s and 1s;
[0183] f) The mutation position is determined by random number probability, and the codes at other positions are uniformly crossed;
[0184] g) in Select from and set The code at position 0 is copied to the offspring. Select the set at the corresponding position. The code at position 1 is copied to the offspring. At the corresponding position;
[0185] h) in Select from and set The code at position 0 is copied to the offspring. Select the set at the corresponding position. The code at position 1 is copied to the offspring. At the corresponding position;
[0186] i) The worker selection (WS) code changes synchronously with the machine selection (MS). If the MS undergoes a mutation operation, the WS randomly selects a worker to be processed based on the mutated MS.
[0187] Step (4): Based on the current population state, dynamically select actions to update the population using Q-learning, and calculate reward values to update the Q-table. The task attributes and rules are as follows:
[0188] Population status specifically includes the following rules:
[0189] Dimension one represents the Pareto front diversity state, and its metric is the average Euclidean distance of the current Pareto front solution set in the standardized three-dimensional target space. The larger this value, the wider the distribution range of the solution set, and the better the diversity performance; the algorithm records the historical maximum value of the diversity index during operation. ) and minimum value ( Based on this, diversity levels are classified, and the classification rules are as follows:
[0190] Poor diversity (state value 0): Current diversity ;
[0191] Diversity is moderate (state value is 1): Current diversity ;
[0192] Good diversity (state value 2): Current diversity ;
[0193] The standardized formula is:
[0194]
[0195] in, Individual The The standardized target value for each objective. It refers to population size. Individual The The target value of each objective;
[0196] Average Euclidean Distance The calculation formula is:
[0197]
[0198] in, It is the target dimension.
[0199] Dimension two is the Pareto front convergence, which is measured by the change in the hypervolume (HV) index. Discretization of this dimension is achieved using a convergence stall counter. The specific criterion is: if the HV of the current generation is greater than that of the previous generation, the counter is reset to 0; otherwise, the counter is incremented by 1. Convergence levels are then determined accordingly, with the following rules:
[0200] Converging (state value 0): ;
[0201] Convergence slows down (state value is 1): ;
[0202] Convergence stalled (state value 2): .
[0203] Q-learning offers the following specific rules for selectable actions:
[0204] Action 0 (SGA Global Exploration Action): Performs a complete exploration phase update of the SGA. This operator stratifies the population and applies a complex perturbation formula based on the global optimum, population centroid, and worst solution.
[0205] ① The speed update rule is universal for all snow geese and is executed before the position update, resulting in the next generation population's individual speed matrix. The updated model is as follows:
[0206]
[0207] in, It is the current iteration number. This is the current population individual velocity matrix. , It is the first The generation The velocity vector of each individual, It refers to population size. It's the inertia weight, which varies with the number of iterations. The nonlinear weight that is increased and then decreased is used to adjust inertia. The formula for the inertia weight is as follows:
[0208]
[0209] in, Indicates the total number of iterations. It is a natural constant. Based on Newton's second law, Considering the position of the optimal solution in the current iteration and current individual location Individuals can be represented by the following formula. acceleration :
[0210]
[0211]
[0212] in, It is pi;
[0213] ② Different update formulas are used to modify the positions of different types of snow geese. The position update formulas are as follows:
[0214] The elite group consists of the top 20% of the population, ranked from best to worst fitness.
[0215]
[0216] The worst group is the bottom 20% of the population in terms of fitness, from best to worst:
[0217]
[0218] The remaining individuals comprise the middle 60% of the population, ranging from the best to the worst fitness:
[0219]
[0220] in, This indicates the position of the snow goose with the lowest ranking after sorting by fitness. , It is a random number generation function with a range of [0, 1], defined as follows:
[0221]
[0222]
[0223]
[0224] : Weighted centroid position, according to the first The fitness of all individuals is calculated using a weighted average, as shown in the following formula:
[0225]
[0226] in, Individual i is in the iteration number of Adaptability at that time It refers to population size.
[0227] Action 1 (SGA local exploitation action): Individuals move closer to the current global optimum:
[0228] Using Brownian motion to fine-tune the high-frequency position of an individual is a classic convergent behavior, as shown in the following formula:
[0229]
[0230] in, For the individual's new position, For the original position of the individual, This is the current optimal solution. The formula for updating Brownian motion [1];
[0231] Action 2 (Lévy Flight): Perturb the current solution using a long-tailed random step size generated by the Lévy distribution:
[0232] Lévy flight produces occasional long jumps, helping the algorithm escape local optima without completely disrupting the existing structure. The position perturbation formula is as follows:
[0233]
[0234] in, It's the Lévy Index, set... , is a classic value that strikes a good balance between exploration and utilization[2]; It is the step scaling factor, which is adaptively adjusted through a stall check operation, i.e., the value of the counter. The adaptive adjustment rule is when counter is greater than 10. The value is 0.06, and counter is greater than 5 and less than or equal to 10. When the value is 0.03, and counter is less than or equal to 5. The value is 0.01;
[0235] Action 3 (Partial Reboot): Retain a very small number of elite individuals and reinitialize the rest:
[0236] To maximize the optimization efficiency of restarting, a reverse learning mechanism is introduced [3], as shown in the following formula:
[0237]
[0238] in, The current optimal solution A completely symmetric inverse solution in space. It is small-range Gaussian noise.
[0239] The rewards specifically include the following rules:
[0240] Performance Bonus Based on the degree of hypervolume (HV) improvement, the reward calculation formula is as follows:
[0241]
[0242] in, It is the first The oversized population;
[0243] Individual progress reward Calculating the next generation population using the coverage index C Dominating the previous generation of population The proportion is calculated using the following formula:
[0244]
[0245] Icebreaking Rewards When the algorithm is in a convergence stagnation state ( If an action successfully increases the HV value, a large fixed reward is given to enhance the value of that action in difficult situations. The calculation formula is as follows:
[0246]
[0247] Step (5): Based on the maximum completion time, the maximum worker fatigue value, and the total energy consumption, perform non-dominated sorting and crowding calculation, select the next generation population, and determine whether the algorithm has reached the required number of iterations. If it has, output the solution set; otherwise, proceed to step (3). The task attributes and their rules are as follows:
[0248] Non-dominated sorting re-categorizes each individual according to their dominance and non-dominance relationships, proposes crowding degree and crowding degree comparison operators, and uses them as the winning criteria in peer comparisons after quicksort; after non-dominated sorting, the results are... A non-inferior frontier (using) (represented by the following expression), each non-dominated front satisfies the following properties:
[0249] (1) After non-dominated sorting, each individual in the population is independent of the others;
[0250] (2) The population size remains unchanged before and after the non-dominated sorting; Indicates population size;
[0251] (3) After non-dominated sorting, the population is divided into A non-dominated frontier; where > indicates a dominance relationship, if Then it means Dominate .
[0252] The steps for non-dominated sorting are:
[0253] Step 1: Find all of the population Individuals, store them in the current set. ;in, To dominate individuals within a population The number of individual solutions;
[0254] Step 2: For the current set For each individual ind, examine the set of individuals it governs. ,Record Each individual in of ;in, The set of solution individuals governed by the individual ind;
[0255] Step 3: If Then store the individual ind into another set. Finally, This serves as a first-level set of non-dominated individuals, and all individuals within this set are assigned the same non-dominated order. Then continue with Perform the above-mentioned grading operation and assign the corresponding non-dominated order until all individuals have been graded.
[0256] The formula for calculating congestion is as follows:
[0257]
[0258] and These are solutions The second solution and the first solution are in The function value on the function, and They are Maximum and minimum values of a function The functions are different objective functions;
[0259] The rules for ranking individuals by crowding are as follows:
[0260] (1) The more superior individuals in the non-dominated layer are ranked first, that is, the non-dominated order of individuals. The smaller value comes first;
[0261] (2) If two individuals have the same dominance level, the individual with greater crowding should be placed first.
[0262] After sorting by crowding level, the population is updated according to its size.
[0263] The above embodiments are merely preferred embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any changes made based on the design principles of the present invention, or any non-creative modifications made thereon, shall fall within the scope of protection of the present invention.
Claims
1. A multi-objective, dual-resource flexible shop scheduling adaptive snow goose optimization method considering worker fatigue, characterized in that, Includes the following steps: (1) Establish a mathematical model for the multi-objective dual-resource flexible work shop scheduling problem based on the maximum completion time, maximum worker fatigue value, and total energy consumption, and clarify the problem parameters, decision variables, objective function and constraints; (2) Initialize parameters and use a population initialization strategy based on a hybrid strategy to generate an initial population; the population initialization rule is: the encoding mechanism of the initial population adopts a three-segment encoding of the same length, each segment representing the process sequence information, machine selection information and worker selection information respectively, wherein the worker selection information is the processing worker selected from the set of available workers according to the machine selected according to the process. (3) Perform crossover and mutation operations on the population to obtain a new population; (4) Based on the current population state, dynamically select actions to update the population using Q-learning, and calculate reward values to update the Q-table; (5) Based on the maximum completion time, the maximum fatigue value of workers and the total energy consumption, perform non-dominated sorting and crowding calculation, select the next generation population, and determine whether the algorithm has reached the number of iterations. If it has, output the solution set; if it has not, go to (3).
2. The multi-objective dual-resource flexible workshop scheduling adaptive snow goose optimization method considering worker fatigue as described in claim 1, characterized in that, Establish a mathematical model for a multi-objective, dual-resource flexible workshop that takes into account worker fatigue; In step (1), the problem parameters, decision variables, objective function, and constraints of the mathematical model are as follows: Objective function: ①Maximum completion time (MT): ; in, Indicates workpiece The completion time, It is a workpiece The overall process, Indicates the workpiece index; ② Total Energy (TE) of the workshop: Energy consumption during operation can be divided into several stages, namely working state and idle state. Therefore, production energy consumption considers the processing energy consumption and idle energy consumption of the equipment: ; ; ; in, Indicates total processing energy consumption. Indicates total idle energy consumption. A value of 1 indicates a process. In the machine Workers Process it; otherwise, the value is 0. It is a machine Processing power, Indicate process exist Upper Classic Theoretical processing time Indicates machine The no-load power, Indicate process The start time, Indicate process Completion time, A value of 1 indicates a process. Prior to By machine The process must be completed and the two processes must be adjacent; otherwise, the value is 0. Indicates the total number of workpieces. It is a workpiece The overall process, Indicates the workpiece index. Indicates the process index. This represents the total number of machines. R represents the machine index, and R represents the total number of workers. Indicates the worker index; ③ Maximum worker fatigue index (MF): The maximum fatigue value of all workers in the worker set, that is, the maximum fatigue index of all workers throughout the entire production cycle. ; ; in, Indicates the number of workers throughout the entire processing cycle The maximum fatigue value, Indicates workers Operating the machine The fatigue value after that, Indicates worker index, Indicates machine index; Constraints: a) Each workpiece and each process can only be processed once by a certain worker on a certain machine: ; in, A value of 1 indicates a process. In the machine Workers Process it; otherwise, the value is 0. This represents the total number of machines. R represents the machine index, and R represents the total number of workers. Indicates worker index, Indicates the workpiece index. Indicates the process index; b) The time at which a certain process of a certain workpiece is completed by a certain worker on the corresponding machine, minus the time at which the process begins, should equal the time that process is completed by that worker on the corresponding machine: ; in, Indicate process Completion time, Indicate process The start time, Indicate process exist Upper Classic Theoretical processing time A value of 1 indicates a process. In the machine Workers Process it; otherwise, the value is 0. This represents the total number of machines. R represents the machine index, and R represents the total number of workers. Indicates worker index, Indicates the workpiece index. Indicates the process index; c) The previous process must be completed before the next process can begin on the same workpiece: ; in, Indicate process The start time, Indicate process Completion time, Indicates the workpiece index. Indicates the process index; d) If two processes are performed on the same machine, the start time of the later process must be greater than or equal to the end time of the earlier process: ; in, Indicate process Completion time, Indicate process The start time, It is a sufficiently large positive number. A value of 1 indicates a process. Prior to By machine The process must be completed and the two processes must be adjacent; otherwise, the value is 0. Indicates the workpiece index. Indicates the process index; e) A single worker can only handle one process at any given time: ; in, Indicate process Completion time, Indicate process The start time, It is a sufficiently large positive number. A value of 1 indicates a process. Prior to By workers The process must be completed and the two processes must be adjacent; otherwise, the value is 0. Indicates the workpiece index. Indicates the process index; f) Workers Operating the machine Processing time: ; in, Indicates workers Operating the machine Working hours Indicate process exist Upper Classic Theoretical processing time A value of 1 indicates a process. In the machine Workers Process it; otherwise, the value is 0. Indicates the total number of workpieces. It is a workpiece The overall process, Indicates the workpiece index. Indicates the process index. Indicates machine index, Indicates the worker index; g) Workers Operating the machine The rest time before operation is equal to the time after operating the machine. To operate the machine The previous interval, assuming the worker operates first Then operate : ; in, Indicates workers Operating the machine The length of rest before, Indicate process Completion time, Indicate process The start time, A value of 1 indicates a process. In the machine Workers Process it; otherwise, the value is 0. A value of 1 indicates a process. In the machine Workers Process it; otherwise, the value is 0. A value of 1 indicates a worker Operate the machine first Then operate Otherwise, it is 0. Indicates the total number of workpieces. It is a workpiece The overall process, Indicates the workpiece index. Indicates the process index. This represents the total number of machines. Indicates machine index, Indicates the worker index; h) Workers Operating the machine Fatigue value after: ; in, Workers Operating the machine The fatigue value after that, Workers Operating the machine Previous fatigue value Indicates workers Operating the machine Working hours Indicates workers The cumulative fatigue rate; i) workers Operating the machine Previous fatigue value: ; in, Workers Operating the machine Previous fatigue value Workers Operating the machine The fatigue value after that, A value of 1 indicates a worker Operate the machine first Then operate Otherwise, it is 0. Indicates workers Operating the machine The length of rest before, Indicates workers The fatigue recovery rate; j) The upper limit of worker fatigue: ; in, Workers Operating the machine The fatigue value after that, This indicates the worker's fatigue threshold. Indicates machine index, This represents the worker index.
3. The adaptive snow goose optimization method for multi-objective dual-resource flexible workshop scheduling considering worker fatigue as described in claim 1, characterized in that, Generate the initial three-layer code; In step (2), the initialization of the three-layer encoding specifically includes the following rules: The initial population uses a three-segment encoding mechanism of equal length. The entire initialization process is divided into three core parts: process order encoding generation, machine selection encoding generation, and worker selection encoding generation. The process sorting and coding generation strategy uses the random priority method: a random floating-point number vector is generated for all processes, where each random number represents the priority of the corresponding process. By sorting the vector in ascending order, the index of the process is obtained, thereby constructing a completely random and legal process processing sequence. The machine selects an encoding generation strategy, which consists of three hybrid heuristic rules: The first group accounts for 40% of the population size. When assigning a machine to each process, the algorithm will pre-calculate the predicted completion time of the process on all available machines, that is, the current completion time of the machine in the time array plus the processing time of the process on the machine, and select the machine that can make the predicted completion time the earliest, while updating the time array to the completion time of each machine at the current moment. The second group, comprising 40% of the population, is given priority in assigning machines with the lowest processing energy consumption. The third group, comprising 20% of the population, randomly selects one machine from the pool of available machines for each process. Worker selection coding generation strategy: After machine allocation is determined, workers are assigned to each process in the order of the process. For each process, workers are selected from the list of available workers for its assigned machines. 50% of the workers are assigned to the workers with the shortest processing time, and the other 50% are randomly selected from the set of available workers.
4. The multi-objective dual-resource flexible workshop scheduling adaptive snow goose optimization method considering worker fatigue as described in claim 1, characterized in that, A new population can be obtained by performing crossover and mutation operations on the existing population. In step (3), the process ordering codes of the population are subjected to POX crossover, and the machine selection codes are subjected to uniform crossover. At the same time, single-point mutation is used during machine crossover. Specifically, the steps include: a) Divide the process into two non-empty sets, such as and ; b) Find the parent individual Middle set The location information of the intermediate process is used to insert the process into the child individual in its original position. middle; c) Find the parent individual Middle set The coding order of the intermediate process is used to insert the code into the offspring individual in sequence. The offspring are obtained in the middle. The encoding; d) Randomly select parent individuals from the population. ; e) Randomly generate a set whose length is the same as the total number of processes. The set consists of 0s and 1s; f) The mutation position is determined by random number probability, and the codes at other positions are uniformly crossed; g) in Select from and set The code at position 0 is copied to the offspring. Select the set at the corresponding position. The code at position 1 is copied to the offspring individual. At the corresponding position; h) in Select from and set The code at position 0 is copied to the offspring. Select the set at the corresponding position. The code at position 1 is copied to the offspring individual. At the corresponding position; i) The worker selection (WS) code changes synchronously with the machine selection (MS). If the MS undergoes a mutation operation, the WS randomly selects a worker to be processed based on the mutated MS.
5. The multi-objective dual-resource flexible workshop scheduling adaptive snow goose optimization method considering worker fatigue as described in claim 1, characterized in that, In step (4), the current population state is calculated, and the population is updated by dynamically selecting actions in conjunction with Q-learning. Then, the reward value is calculated to update the Q table.
6. The multi-objective dual-resource flexible workshop scheduling adaptive snow goose optimization method considering worker fatigue as described in claim 5, characterized in that, In step (4), the population state specifically includes the following rules: Dimension one represents the Pareto front diversity state, and its metric is the average Euclidean distance of the current Pareto front solution set in the standardized three-dimensional target space. The larger this value, the wider the distribution range of the solution set, and the better the diversity performance; the algorithm records the historical maximum value of the diversity index during operation. ) and minimum value ( Based on this, diversity levels are classified, and the classification rules are as follows: Poor diversity (state value 0): Current diversity ; Diversity is moderate (state value is 1): Current diversity ; Good diversity (state value 2): Current diversity ; The standardized formula is: ; in, Individual The The standardized target value for each objective. It refers to population size. Individual The The target value of each objective; Average Euclidean Distance The calculation formula is: ; in, It is the target dimension; Dimension two is the Pareto front convergence, which is measured by the change in the hypervolume (HV) index. Discretization of this dimension is achieved using a convergence stall counter. Specifically, if the HV of the current generation is greater than that of the previous generation, the counter is reset to 0; otherwise, it is incremented by 1. Convergence levels are then determined based on this, according to the following rules: Converging (state value 0): ; Convergence slows down (state value is 1): ; Convergence stalled (state value 2): .
7. The adaptive snow goose optimization method for multi-objective dual-resource flexible workshop scheduling considering worker fatigue as described in claim 5, characterized in that, In step (4), the actions that Q-learning can select specifically include the following rules: Action 0 (SGA Global Exploration Action): Performs a complete exploration phase update of the SGA. This operator stratifies the population and applies a complex perturbation formula based on the global optimum, population centroid, and worst solution. ① The speed update rule is universal for all snow geese and is executed before the position update, resulting in the next generation population's individual speed matrix. The updated model is as follows: ; in, It is the current iteration number. This is the current population individual velocity matrix. , It is the first The generation The velocity vector of each individual, It refers to population size. It's the inertia weight, which varies with the number of iterations. The nonlinear weight that is increased and then decreased is used to adjust inertia. The formula for the inertia weight is as follows: ; in, Indicates the total number of iterations. It is a natural constant. Based on Newton's second law, Considering the position of the optimal solution in the current iteration and current individual location Individuals can be represented by the following formula. acceleration : ; ; in, It is pi; ② Different update formulas are used to modify the positions of different types of snow geese. The position update formulas are as follows: The elite group consists of the top 20% of the population, ranked from best to worst fitness. ; The worst group is the bottom 20% of the population in terms of fitness, from best to worst: ; The remaining individuals comprise the middle 60% of the population, ranging from the best to the worst fitness: ; in, This indicates the position of the snow goose with the lowest ranking after sorting by fitness. , It is a random number generation function with a range of [0, 1], defined as follows: ; ; ; : Weighted centroid position, according to the first The fitness of all individuals is calculated using a weighted average, as shown in the following formula: ; in, Individual At the iteration number Adaptability at that time It refers to population size; Action 1 (SGA local exploitation action): Individuals move closer to the current global optimum: Using Brownian motion to fine-tune the high-frequency position of an individual is a classic convergent behavior, as shown in the following formula: ; in, For the individual's new position, For the original position of the individual, This is the current optimal solution. Update the formula for Brownian motion; Action 2 (Lévy Flight): Perturb the current solution using a long-tailed random step size generated by the Lévy distribution: Lévy flight produces occasional long jumps, helping the algorithm escape local optima without completely disrupting the existing structure. The position perturbation formula is as follows: ; in, It's the Lévy Index, set... It is a classic value that strikes a good balance between exploration and utilization; It is the step scaling factor, which is adaptively adjusted through a stall check operation, i.e., the value of the counter. The adaptive adjustment rule is when counter is greater than 10. The value is 0.06, and counter is greater than 5 and less than or equal to 10. When the value is 0.03, and counter is less than or equal to 5. The value is 0.01; Action 3 (Partial Reboot): Retain a very small number of elite individuals and reinitialize the rest: To maximize the optimization efficiency of restarting, a reverse learning mechanism is introduced, as shown in the following formula: ; in, The current optimal solution A completely symmetric inverse solution in space. It is small-range Gaussian noise.
8. The multi-objective dual-resource flexible workshop scheduling adaptive snow goose optimization method considering worker fatigue as described in claim 5, characterized in that, In step (4), the rewards specifically include the following rules: Performance Bonus Based on the degree of hypervolume (HV) improvement, the reward calculation formula is as follows: ; in, It is the first The oversized population; Individual progress reward Calculating the next generation population using the coverage index C Dominating the previous generation of population The proportion is calculated using the following formula: ; Icebreaking Rewards When the algorithm is in a convergence stagnation state ( If an action successfully increases the HV value, a large fixed reward is given to enhance the value of that action in difficult situations. The calculation formula is as follows: 。 9. The multi-objective dual-resource flexible workshop scheduling adaptive snow goose optimization method considering worker fatigue as described in claim 1, characterized in that, Perform non-dominated sorting and crowding calculation on the initial population, and determine whether the algorithm has reached the termination condition; Step (5) involves performing non-dominated sorting and crowding calculation on the initial population, specifically including the following steps: ① Find all of the population Individuals, store them in the current set. ;in, To dominate individuals within a population The number of individual solutions; ②For the current set For each individual ind, examine the set of individuals it governs. ,Record Each individual in of ;in, The set of solution individuals governed by the individual ind; ③If Then store the individual ind into another set. Finally, This serves as a first-level set of non-dominated individuals, and all individuals within this set are assigned the same non-dominated order. Then continue with Perform the above-mentioned grading operation and assign the corresponding non-dominated order until all individuals have been graded; ④ Calculate the congestion level using the following formula: ; and These are the second and first solutions to the problem S, respectively. The function value on the function, and They are Maximum and minimum values of a function The functions are different objective functions; ⑤ Sort individuals by crowding level, according to the following rules: a) The more superior individuals in the non-dominated layer are ranked first, i.e., the non-dominated order of individuals. The smaller value comes first; b) If two individuals have the same dominance level, the individual with higher crowding level comes first; After sorting by crowding level, the population is updated according to its size.