Distributed hybrid flow shop scheduling method and system considering worker fatigue
By considering worker fatigue in distributed hybrid flow workshop scheduling and adopting a multi-objective evolution algorithm based on Q learning, the problems of resource constraints, worker fatigue and distribution constraints are solved, and the effect of simultaneously optimizing the maximum completion time and total energy consumption is achieved.
Patent Information
- Application Number
- CN202411841272.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2044-12-13
AI Technical Summary
The prior art is difficult to effectively solve the problems of resource constraints, worker fatigue and distribution constraints in distributed hybrid flow workshop scheduling, especially in minimizing maximum completion time and total energy consumption at the same time.
A distributed hybrid flow workshop scheduling method considering worker fatigue is proposed. By establishing a mathematical model and using a Q-learning-based multi-objective evolution algorithm (QMOEA) solution, a four-dimensional vector represents each solution, considering factory allocation, scheduling order, worker allocation and machine allocation, to optimize two conflicting goals.
The effect of simultaneously minimizing the maximum completion time and total energy consumption is achieved. Through cross-section, mutation and local reinforcement of search strategies, the quality of the algorithm's search ability and solution is improved, the evolution time is shortened, and the opportunity to find the global optimal solution is enhanced.
Smart Images

Figure CN119668221A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of workshop production scheduling, and in particular to a distributed hybrid flow workshop scheduling method and system taking worker fatigue into consideration. Background Art
[0002] The statements in this section merely provide background information related to the present invention and do not necessarily constitute prior art.
[0003] Scheduling is an important research topic, especially in some typical industrial production processes, such as steel production systems, semiconductor manufacturing systems, and prefabricated component production systems. There are many different types of scheduling problems in real industrial systems, such as flow shop scheduling problem (FSP), hybrid flow shop problem (HFS), job shop problem (JSP), and flexible job shop problem (FJSP). When dealing with scheduling problems, most existing literature takes into account deterministic factors, that is, assuming that the processing time of all processes is a deterministic value. However, the processing time of workpieces in real industrial environments is usually not deterministic.
[0004] With the development of global economic globalization, more and more companies adopt distributed production to improve production efficiency and reduce costs. Therefore, many researchers focus on distributed scheduling problems, such as distributed FSP, distributed HFS, distributed JSP and distributed FJSP. At the same time, more and more real production processes also consider problems such as resource shortages and worker fatigue. Therefore, in order to adapt to the real industrial environment, the processing time of each workpiece should be set to a fuzzy value rather than a deterministic value.
[0005] In addition, with the continuous demand for low carbon, relevant literature has also carried out research on machine processing energy consumption and standby energy consumption during processing. It is generally assumed that the faster the processing speed, the greater the energy consumption. Through the analysis of existing literature, we found that there are many realistic constraints in solving HFS. At present, there are few literatures that consider constraints such as resource constraints, worker fatigue and distributed constrained HFS (hereinafter referred to as DHFSPW). Summary of the invention
[0006] In order to solve the above problems, the present invention proposes a distributed hybrid flow shop scheduling method and system taking into account worker fatigue. The constraints of worker fatigue are taken into account, a mathematical model is established, and a multi-objective evolutionary algorithm based on Q-learning is used to solve it, which can simultaneously minimize the maximum completion time and total energy consumption.
[0007] In order to achieve the above object, the present invention adopts the following technical solution:
[0008] In a first aspect, the present invention provides a distributed hybrid flow shop scheduling method considering worker fatigue, comprising the following steps:
[0009] Define the distributed hybrid flow shop scheduling problem considering resource constraints and worker fatigue, and construct the desired objective function in the actual production process and the constraints that satisfy the problem;
[0010] Evenly distribute the workpieces to each factory, each machine in the factory, and each worker, and obtain the workpiece scheduling sequence, machine allocation vector, and worker allocation vector for each factory;
[0011] Perform a crossover operation on the workpiece scheduling sequence to obtain a first workpiece scheduling sequence, and perform a mutation operation on the machine allocation vector and the worker allocation vector to obtain a first machine allocation vector and a first worker allocation vector;
[0012] The first workpiece scheduling sequence of the key factory is operated to obtain a second workpiece scheduling sequence, the value of the objective function is calculated based on the second workpiece scheduling sequence, the first machine allocation vector and the first worker allocation vector, and the final workpiece scheduling sequence is output.
[0013] As an optional implementation, the crossover operation performed on the workpiece scheduling sequence includes BEC crossover and MC crossover;
[0014] The BEC crossover selects one parent from the parent population and another parent from the mating pool, and divides the elements of the scheduling sequences of the two parents according to the plant. If the number of elements in the scheduling sequences of the two parents is the same, the scheduling sequence elements of the parent selected from the mating pool are allocated to the offspring;
[0015] The MC crossover selects a parent from the parent population and another parent from the mating pool, and divides the elements of the scheduling sequences of the two parents according to the plants. If the number of elements in the scheduling sequences of the two parents is different, the parent selected from the mating pool is ignored, and two elements are randomly selected from the scheduling sequence of each plant in the parent population, and the two elements are mirrored.
[0016] As an optional implementation, the parent population is a workpiece scheduling sequence obtained by evenly distributing the workpieces to each factory, each machine in the factory and each worker, and the mating pool is a sequence of all workpieces obtained by arranging the workpieces in a certain order.
[0017] As an optional implementation, a mutation operation is performed on the machine allocation vector and the worker allocation vector, specifically:
[0018] All workpieces are divided into multiple parts according to the assigned factories. The workpieces in each part are sorted in descending order according to the processing time. The sorted workpieces are evenly distributed to each worker and machine. For the initially assigned machines and workers, if they match the sorted allocation, they remain unchanged, otherwise they will be allocated to other machines and workers.
[0019] As an optional implementation, operating the first workpiece scheduling sequence of the key factory includes:
[0020] Randomly select two artifacts in the key factory and perform a swap operation on the two artifacts;
[0021] Randomly select two workpieces in the critical plant and insert the first workpiece after the second workpiece;
[0022] Randomly select two artifacts in the key factory and perform mirroring operations on the two artifacts;
[0023] A subsequence formed by consecutive workpieces is randomly selected in the key factory, a workpiece is randomly selected outside the subsequence, and the selected workpiece is exchanged with the subsequence;
[0024] A subsequence formed by randomly selecting consecutive workpieces in the key factory, a workpiece is randomly selected outside the subsequence, and the selected workpiece is inserted into the subsequence;
[0025] Two subsequences formed by consecutive workpieces are randomly selected in the key factory, a workpiece is randomly selected outside the subsequence, and the two subsequences are mirrored around the selected workpiece.
[0026] As an optional implementation, the objective function of the distributed hybrid flow shop scheduling problem considering resource constraints and worker fatigue is to minimize the maximum completion time and total energy consumption simultaneously.
[0027] In a second aspect, the present invention provides a distributed hybrid flow shop scheduling system taking worker fatigue into consideration, comprising:
[0028] A model building module is configured to: define a distributed hybrid flow shop scheduling problem considering resource constraints and worker fatigue, and construct an objective function expected in an actual production process and constraints that satisfy the problem;
[0029] The initialization module is configured to: evenly distribute the workpieces to each factory, each machine in the factory, and each worker, and obtain the workpiece scheduling sequence, machine allocation vector, and worker allocation vector of each factory;
[0030] The global search module is configured to: perform a cross operation on the workpiece scheduling sequence to obtain a first workpiece scheduling sequence, perform a mutation operation on the machine allocation vector and the worker allocation vector to obtain a first machine allocation vector and a first worker allocation vector;
[0031] The local enhanced search module is configured to: operate the first workpiece scheduling sequence of the key factory to obtain the second workpiece scheduling sequence, calculate the value of the objective function based on the second workpiece scheduling sequence, the first machine allocation vector and the first worker allocation vector, and output the final workpiece scheduling sequence.
[0032] In a third aspect, the present invention provides an electronic device comprising a memory and a processor, and computer instructions stored in the memory and executed on the processor, wherein when the computer instructions are executed by the processor, the method described in the first aspect is performed.
[0033] In a fourth aspect, the present invention provides a computer-readable storage medium for storing computer instructions, wherein when the computer instructions are executed by a processor, the method described in the first aspect is performed.
[0034] In a fifth aspect, the present invention provides a computer program product, comprising a computer program, which, when executed by a processor, implements the method described in the first aspect.
[0035] Compared with the prior art, the present invention has the following beneficial effects:
[0036] The present invention proposes a distributed hybrid flow shop scheduling method and system considering worker fatigue. Taking into account resource constraints, worker fatigue constraints and distribution constraints, a mathematical model is established, and a multi-objective evolutionary algorithm based on Q learning is used to solve the problem. A four-dimensional vector is designed to represent each solution, while considering factory allocation, scheduling order, worker allocation and machine allocation, so as to optimize two conflicting goals at the same time. The initialization method based on multi-heuristic and random combination not only improves the population quality and obtains better solutions, but also improves the convergence of the population and shortens the evolution time of the algorithm. Through the two operations of crossover and mutation, the algorithm can explore different areas of the solution space, avoid premature convergence to the local optimum, and thus increase the chance of finding the global optimal solution. Enhanced local search based on key factories is used to further improve the search capability. The method disclosed in the present invention can simultaneously minimize the maximum completion time and total energy consumption. The experimental results show the competitive performance of the algorithm.
[0037] Advantages of additional aspects of the present invention will be given in part in the following description, and in part will become obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] The accompanying drawings in the specification, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.
[0039] Figure 1 A flow chart of a distributed hybrid flow shop scheduling method considering worker fatigue provided in Example 1 of the present invention;
[0040] Figure 2 This is an example of a solution of Embodiment 1 of the present invention;
[0041] Figure 3 It is an example of the two crossover methods of embodiment 1 of the present invention;
[0042] Figure 4 This is an example of the mutation method of Example 1 of the present invention;
[0043] Figure 5 This is an example of a local enhanced search representation according to Embodiment 1 of the present invention;
[0044] Figure 6 is a HV level diagram of the parameters αβγ of Example 1 of the present invention;
[0045] Figure 7 1 is an ANOVA performance comparison diagram of each index of the initialization strategy of Example 1 of the present invention, wherein (a) is an ANOVA performance comparison diagram of the RPI_HV index of the initialization strategy, and (b) is an ANOVA performance comparison diagram of the RPI_IGD index of the initialization strategy;
[0046] Figure 8 The ANOVA performance comparison diagrams of the various indicators of the crossover method of Example 1 of the present invention are shown in FIG. 1 , wherein (a) is an ANOVA performance comparison diagram of the crossover method RPI_HV indicator, and (b) is an ANOVA performance comparison diagram of the crossover method RPI_IGD indicator;
[0047] Fig. 9 The ANOVA performance comparison diagrams of the various indicators of the variation method of Example 1 of the present invention are shown in FIG. 1 , wherein (a) is an ANOVA performance comparison diagram of the variation method RPI_HV indicator, and (b) is an ANOVA performance comparison diagram of the variation method RPI_IGD indicator;
[0048] Fig.10 The ANOVA performance comparison diagrams of the various indicators of the local enhanced search strategy of Example 1 of the present invention are shown in FIG. 1 , wherein (a) is the ANOVA performance comparison diagram of the RPI_HV indicator of the local enhanced search strategy, and (b) is the ANOVA performance comparison diagram of the RPI_IGD indicator of the local enhanced search strategy;
[0049] Fig.11Graphs showing the ANOVA performance comparison results of various indicators of multiple algorithms in Example 1 of the present invention, wherein (a) is a graph showing the ANOVA performance comparison results of the RPI_HV indicator of multiple algorithms, and (b) is a graph showing the ANOVA performance comparison results of the RPI_IGD indicator of multiple algorithms;
[0050] Fig.12 EAF diagrams of the QMOEA of Example 1 of the present invention compared with other algorithms, wherein (a) is the EAF diagram of the QMOEA compared with ARMOEA, (b) is the EAF diagram of the QMOEA compared with CMOPSO, (c) is the EAF diagram of the QMOEA compared with GrEA, and (d) is the EAF diagram of the QMOEA compared with NSGAII;
[0051] Fig.13 The two examples of the present invention are solution graphs, where (a) is the 20x3x4 Pareto solution graph of the example, and (b) is the 60x4x3 Pareto solution graph of the example;
[0052] Fig.14 This is a 20x2x2 Gantt chart of the example of the present invention. DETAILED DESCRIPTION
[0053] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
[0054] It should be noted that the following detailed descriptions are exemplary and are intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those skilled in the art to which the present invention belongs.
[0055] It should be noted that the terms used herein are only for describing specific embodiments, and are not intended to limit exemplary embodiments according to the present invention. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that the terms "include" and "have" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0056] In the absence of conflict, the embodiments of the present invention and the features of the embodiments may be combined with each other.
[0057] Example 1
[0058] like Figure 1 As shown, this embodiment provides a distributed hybrid flow shop scheduling method considering worker fatigue, including the following steps:
[0059] S1 defines the distributed hybrid flow shop scheduling problem considering resource constraints and worker fatigue, and constructs the desired objective function in the actual production process and the constraints that satisfy the problem;
[0060] S2 evenly distributes the workpieces to each factory, each machine in the factory, and each worker, and obtains the workpiece scheduling sequence, machine allocation vector, and worker allocation vector for each factory;
[0061] S3 performs a cross operation on the workpiece scheduling sequence to obtain a first workpiece scheduling sequence, and performs a mutation operation on the machine allocation vector and the worker allocation vector to obtain a first machine allocation vector and a first worker allocation vector;
[0062] S4 operates the first workpiece scheduling sequence of the key factory to obtain a second workpiece scheduling sequence, calculates the value of the objective function based on the second workpiece scheduling sequence, the first machine allocation vector and the first worker allocation vector, and outputs a final workpiece scheduling sequence.
[0063] Consider a typical real production process in the steelmaking field, where there are multiple distributed plants, each of which usually has five stages or processes. The first process is to load the molten iron into a device called a torpedo car (TPC). Next, the TPC should be processed through the second and third refining stages. The fourth stage is the pouring process, and the last stage is the continuous casting process.
[0064] Based on the analysis of the actual steelmaking process, we study a special extension of HFS, which includes the following features: (1) there are f factories, each factory has m machines, and each machine is operated by a worker; there are j jobs, and each job has a certain number of operations to be processed without the need to preempt in a designated factory; (2) each job can select a suitable machine from a set of available machines for processing; (3) each job can select a worker from the idle workers to operate the machine; (4) each machine can only process one job at a time, and each workpiece can only be processed on one machine tool at the same time; (5) each machine needs a worker to cooperate with the processing; (6) each machine may encounter workers who are tired or even resting during processing, at which time the worker's efficiency is reduced; (7) the goal of this disclosure is to minimize the completion time and machine processing and standby energy consumption.
[0065] Based on this, there are five main tasks to solve this type of problem: (1) How to select a suitable factory for each workpiece; (2) How to select a suitable machine for each workpiece; (3) How to determine the start and completion time of each workpiece; (4) How to determine the scheduling sequence of workpieces; (5) How to assign corresponding workers to each machine.
[0066] The assumptions of the problem include:
[0067] (1) Each workpiece is assigned to a unique factory, and all its processes must be processed in this factory. Changing factories midway is not allowed;
[0068] (2) Each process of each workpiece requires the selection of only one available machine tool from a group of available machine tools;
[0069] (3) Every machine tool is available;
[0070] (4) Preemption is not allowed;
[0071] (5) The worker's fatigue function is known;
[0072] (6) Workers are allowed to rest;
[0073] (7) The number of workers at each stage is limited;
[0074] (8) If the worker required for the workpiece is occupied, it is necessary to wait until the processing is completed before continuing processing.
[0075] The parameters of the DHFSW problem model include:
[0076] i represents the workpiece, t represents the workpiece processing stage, j represents the machine, f represents the factory, w represents the worker, and o represents the machine operation.
[0077] n represents the number of workpieces, m represents the number of machines, s represents the number of stages, F represents the number of factories, T represents the number of workers, D represents the number of operations, P represents the number of i,t,w represents the processing time of workpiece i by worker w at stage t, PE i,t,w represents the energy consumption per unit time of workpiece i by worker w at stage t, V m,w,t,f represents the processing speed of machine m by worker w at stage t in factory f, D i,o represents the oth operation of workpiece i, IPE represents the theoretical production efficiency of the worker, APE represents the actual production efficiency of the worker, S i,t represents the start time of workpiece i in stage t, C i,t represents the end time of workpiece i at stage t, PEC j,t,w,f represents the processing energy consumption of worker w operating machine j in the tth stage of factory f, SEC j,t,w,f represents the standby energy consumption of machine j in the tth stage of factory f, and L represents a very large number.
[0078] x i,f is a 0 / 1 variable indicating whether workpiece i is assigned to factory f, y i,j,t,w,f is a 0 / 1 variable, indicating whether job i is assigned to worker w for processing on machine j at stage t in factory f, z i,i` ,j,t,w,f is a 0 / 1 variable indicating whether job i` is processed by a worker after job i is processed by worker w on machine j at stage t in factory f.
[0079] The objective function of the model is:
[0080] minC max (1)
[0081] minTEC=PE+SE(2)
[0082] The constraints of the model are:
[0083]
[0084]
[0085] Formulas (1)-(2) describe the two objectives of the problem, namely, the maximum completion time and the total energy consumption. Equation (3) ensures that each workpiece is assigned to only one factory. Equation (4) ensures that a machine and a worker can only process one workpiece at a time. Constraint (5) ensures that the workpiece start processing time must be in the first stage and greater than 0. Constraint (6) ensures the processing relationship between two consecutive workpieces on the same machine, where the start time of the subsequent job must be later than the completion time of the previous job. Constraint (7) describes the completion time of each operation. Constraints (8)-(10) indicate that a workpiece can only be processed by one machine and one worker at a time. Constraint (11) indicates that the completion time is the longest completion time of all workpiece processing. Equation (12) represents the energy consumption of the machine in the processing state. Equation (13) represents the energy consumption of the machine in the standby state. Equation (14) represents the total energy consumption of all machines in all factories. Constraints (15)-(17) represent binary decision variables.
[0086] Based on the multi-objective optimization function, a Q-learning-based multi-objective evolutionary algorithm (QMOEA) is adopted to solve the considered DHFSW problem. Firstly, the main framework of the proposed algorithm is described. Then, the encoding, decoding and heuristic algorithms for specific problems are given.
[0087] The main framework of the algorithm includes:
[0088] (1) An effective initialization heuristic algorithm related to problem characteristics was developed to effectively improve the quality and diversity of the initial population;
[0089] (2) In order to ensure the breadth and depth of the search space, two crossover operators and one mutation operator global search strategy are designed;
[0090] (3) A search mechanism based on key factories is designed. The enhanced local search heuristic strategy further improves the algorithm's search capability.
[0091] The specific implementation process of the algorithm is as follows:
[0092] Each solution to the considered problem is represented by a four-dimensional vector, which describes the factory allocation, scheduling sequence, machine allocation, and worker allocation of the workpieces, respectively.
[0093] Figure 2 An example of a solution representation is given, in which there are 10 workpieces. Different colors indicate that the work is assigned to different factories, i.e. 2 , J 6 and J 9 In the first plant treatment, J 1 , J 5 , J 7 and J 8 processed in the second plant, while J 3 , J 4 and J 10 is assigned to the third plant. The code specifies the scheduling order of each job within each plant. For example, for plant 1, J 2 , J 6 and J 9 The obtained scheduling sequence is {2, 1, 3}, and the processing order is {J 6 , J 2 , J 9}. The code also specifies the machine assignment and worker assignment. For example, workpiece 1 is processed by the second machine and the first worker in the factory where it is located.
[0094] According to the solution considered, the following decoding scheme is proposed:
[0095] There are two problems that need to be solved, namely, selecting a factory for processing the workpiece and selecting a machine tool for processing the workpiece.
[0096] Aiming at these problems, a decoding mechanism of the first-come-first-served (FCFS) rule and the earliest-available (EAFS) rule is proposed. First, in the first stage, processing is carried out in the order of the scheduling order until all machines are in the processing state. However, when the machine is waiting, the corresponding machine is in an unavailable state. When the machine is available, the following tasks will immediately enter the processing state. Secondly, in the subsequent stages, according to the processing order of the first stage, the earlier the job is processed, the earlier it will enter the later stage for processing.
[0097] Initialization of the multi-objective algorithm based on Q-learning:
[0098] Population initialization plays a vital role in evolutionary algorithms. A good initialization method can not only improve the quality of the population and obtain better solutions, but also improve the convergence of the population and shorten the evolution time of the algorithm. Therefore, designing a well-functioning initialization method is crucial to the entire algorithm. For the four-dimensional coding method, plant allocation, scheduling order, worker allocation, and machine allocation must be considered simultaneously in order to optimize two conflicting objectives at the same time. However, it is usually very difficult to obtain the best solution directly, but the problem can be analyzed and heuristic methods can be designed for the problem, which usually give excellent results. However, using a single heuristic algorithm may cause the algorithm to fall into a local optimum, while using multiple heuristic algorithms will reduce the overall diversity. Therefore, an initialization method based on multi-heuristic and random combination is designed to overcome this problem. The specific steps are as follows:
[0099] For factory allocation, when a workpiece is allocated to a factory, the next workpiece cannot be allocated to that factory, but to another factory. This means that the workpieces are allocated to each factory as evenly as possible. It is beneficial to balance the factory workload by allocating all workpieces to each factory evenly. By allocating all workpieces to each factory evenly, the factory workload can be balanced and the manufacturing cycle time can be reduced.
[0100] For machine allocation, once a workpiece is assigned to one machine, the subsequent workpiece must be assigned to another machine. This ensures that the tasks are distributed as evenly as possible across all machines. By balancing the workload between machines, the completion time of each stage is reduced, ultimately shortening the processing time.
[0101] For worker allocation, each worker cannot work for too long, considering that workers may feel fatigued. Evenly distributing the workload to each worker can minimize worker fatigue, thus reducing the workers' rest time. This reduces the completion time of each stage, thus reducing the total completion time.
[0102] Global search strategy:
[0103] Crossover and mutation are crucial in evolutionary algorithms, and they drive the efficiency and effectiveness of the algorithm in solving complex problems together. Through these two operations, the algorithm is able to explore different regions of the solution space and avoid converging to local optima too early, thereby increasing the chances of finding the global optimal solution.
[0104] Based on the encoded scheduling sequence, we propose two new crossover methods, Figure 3 A detailed example is given:
[0105] (1) Coding-based cross
[0106] Coding-based crossover consists of the following steps. First, one parent is selected from the parent population and the other parent is selected from the mating pool. Then, the dispatch sequence genes of each plant are divided by color according to the number of its plants. If the number of genes in their dispatch sequences is the same, the dispatch sequence genes of the parent selected from the mating pool are assigned to the offspring, such as Figure 3 The blue part of the
[0107] (2) Mirror Cross
[0108] Mirror crossover and coding-based crossover are the same in the choice of parents, but different in the generation of offspring. If the number of genes in their scheduling sequences is different, the parent selected from the mating pool is ignored, two points are randomly drawn from the scheduling sequence of each plant on the parent population, and the genes between the two points are transformed in the mirror image, such as Figure 3 The yellow and purple parts.
[0109] The parent population is a workpiece scheduling sequence obtained by evenly distributing the workpieces to each factory, each machine in the factory and each worker, and the mating pool is a sequence of all workpieces obtained by arranging the workpieces in a certain order.
[0110] Based on the encoded machine assignment and worker assignment vectors, we propose a novel mutation method. Figure 4 A detailed example is given:
[0111] Mutation operators are mainly performed on the MA and WA layers of the code. Although the load of machines and workers is balanced when the population is initialized, it only tries to ensure that the number of jobs per machine and worker is the same, but it cannot guarantee the same processing time. Therefore, the purpose of performing mutation operations is to balance the processing time of machines and workers, thereby reducing the completion time. Mutation operations such as Figure 4 As shown, the specific steps are as follows.
[0112] Step 1: Split all artifacts into multiple parts according to the encoded FA layer.
[0113] Step 2: The artifacts in each section are sorted in descending order of processing time size.
[0114] Step 3: Assign the sorted workpieces equally to each worker and machine. For the originally assigned machine and worker, if it matches the sorted assignment, it remains unchanged, otherwise it is assigned to a different machine and worker.
[0115] Local enhanced search strategy:
[0116] In the distributed scheduling problem, the completion time is determined by the key factory with the longest completion time. Reducing the completion time of the key factory is an effective way to reduce the completion time. Therefore, six subsequence-based operators are designed for the key factories in the local enhanced search strategy. Figure 5 Examples of local enhanced search representations are given, including: internal exchange based on key plants (QLS1), insertion based on key plants (QLS2), mirror transformation based on key plants (QLS3), subsequence exchange based on key plants (QLS4), subsequence insertion based on key plants (QLS5), and subsequence mirror transformation based on key plants (QLS6).
[0117] The six subsequence-based operators for key plants are:
[0118] QLS1: Randomly select two artifacts in the critical factory and perform a swap operation on the two artifacts.
[0119] QLS2: Randomly select two workpieces in the critical plant and insert the first workpiece after the second workpiece.
[0120] QLS3: Randomly select two artifacts in the critical factory and perform mirroring operations on the two artifacts.
[0121] QLS4: Randomly select consecutive workpieces in the key factory to form a subsequence, randomly select a workpiece outside the subsequence, and exchange the selected workpiece with the subsequence.
[0122] QLS5: Randomly select consecutive artifacts in the key factory to form a subsequence, randomly select an artifact outside the subsequence, and insert the selected artifact into the subsequence.
[0123] QLS6: Randomly select consecutive workpieces in the key factory to form two subsequences, randomly select a workpiece outside the subsequence, and mirror the two subsequences around the selected workpiece.
[0124] In the proposed Q-learning for selecting local search operators, actions represent six local search strategies including QLS1 to QLS6, and states represent nine situations generated by completion time difference and energy consumption difference, which are the original target value minus the current target value. In addition, during the Q-learning process, feedback is received in the form of rewards after taking an action. In this work, the change of state can reflect the search performance of the action because the state changes according to the reward function. For action selection, the epsilon-greedy strategy is used. This is a key action selection strategy that balances exploration and exploitation through parameters. This strategy allows the algorithm to select the currently known best exploitation operation with a probability of, and randomly select any operation with a probability of for exploration. The algorithm can be used to explore the solution space with a probability of. This helps the algorithm to explore the solution space extensively in the early stages and gradually increase the exploitation of effective actions as learning proceeds, effectively contributing to the efficiency and effectiveness of learning.
[0125] Experimental results and analysis:
[0126] To test the performance of the QMOEA algorithm, 27 instances of different sizes were generated based on real factories. All compared algorithms were used to solve the considered problem, including encoding, decoding, initialization, crossover, mutation, and local search processes. For each instance, the stopping condition was set to 1000 iterations.
[0127] In order to test the performance of the algorithm, 30 independent runs were used to test the performance of the algorithm, and the non-dominated solutions obtained by all the compared algorithms were collected for performance comparison. The comparison was made by hypervolume (HV) and inverse generation distance (IGD). The variance analysis comparison used relative percentage increase (RPI), and the calculation formula was as follows:
[0128]
[0129] Where v(s,P) represents the volume of the hypercube formed by the straight line between the solution and the reference point as the diagonal. It is also the space formed by the solutions and reference points in the non-dominated solution set. The larger the HV index value of the non-dominated solution set, the closer the solution set is to the true Pareto front in terms of convergence and diversity, and it is a better non-dominated solution set. In addition, X represents the Pareto solution set, s represents the Pareto optimal solution, and P represents the reference point. In the following experiments, (1, 1) is selected as the reference point of HV.
[0130]
[0131] IGD is used to calculate the average Euclidean distance between all solutions in the true Pareto front and the non-dominated solutions obtained by the proposed algorithm. Where X represents the solution generated by the algorithm, x* represents the solution on the Pareto front, and p* represents the Pareto front, which refers to the number of solutions in |p*|. d(x*,X) represents the minimum Euclidean distance from a point on the Pareto front to a solution.
[0132]
[0133] Where f represents the evaluation index of the current algorithm, and fb represents the maximum value of the evaluation index of all current algorithms. The evaluation index is HV or IGD.
[0134] Experimental parameter settings:
[0135] The proposed QMOEA algorithm consists of three main parameters, learning rate (α), discount factor (β), and exploration probability (γ). To study the effect of these parameters on the performance of QMOEA, the widely used Taguchi experimental design (DOE) method is used. Each parameter corresponds to four levels. Therefore, an orthogonal array containing 16 different combinations is selected. Based on the orthogonal array, the combination of parameter levels can be obtained. Each combination is run 30 times on the instance and HV is taken as its response value. By Figure 6 It can be seen that α=0.2, β=0.6, and γ=0.3.
[0136] 27 problem instances of different sizes are randomly generated to solve the distributed hybrid flow shop scheduling problem with worker constraints, and the effectiveness of the QMOEA algorithm is tested based on actual production data. For example, instance 1 can represent 20 workpieces in 2 stages in 2 factories, each stage includes 2 workers, where the workpiece index is {20, 60, 100}, the factory index is {2, 3, 4}, and the stage index is {2, 3, 4}. The five algorithms are run independently 30 times.
[0137] Verify the effectiveness of the initialization strategy:
[0138] In order to verify the effectiveness of the discussed initialization method, we compared it with random initialization (denoted as QMOEA-NI) and tested whether there was a significant difference between the two algorithms through variance analysis. Figure 7 The variance analysis results show that QMOEA is significantly better than QMOEA-NI in both HV and IGD indicators, which verifies the effectiveness of the proposed initialization method.
[0139] Verify the effectiveness of the global search strategy:
[0140] In order to prove that the global search strategy we proposed is effective, we conducted a comparative experiment, that is, the one without crossover method is denoted as QMOEA-NC, and the one without mutation method is denoted as QMOEA-NM. The one with both methods is denoted as QMOEA. Both comparative algorithms were run 30 times on 27 instances. Figure 8 It can be seen that the RPI_HV value of QMOEA is significantly higher than that of QMOEA-NC, and the RPI_IGD value of QMOEA is significantly lower than that of QMOEA-NC. Therefore, the proposed crossover strategy can be considered an effective method to solve DHFSPW.
[0141] Fig. 9 It is shown that QMOEA outperforms QMOEA-NM in both RPI_HV value and RPI_IGD value, so we can believe that it is more advantageous to adopt the proposed mutation strategy when solving DHFSPW.
[0142] Verify the effectiveness of the local search strategy:
[0143] In order to prove the effectiveness of the above local search, we make a detailed comparison between the algorithms with and without strategies and those with variable neighborhoods. The algorithm without local reinforcement based on key plants is represented by QMOEA-NL, and the algorithm with variable neighborhoods is represented by QMOEA-VNS.
[0144] from Fig.10 As can be seen from (a) and (b), the RPI_HV value interval of QMOEA is the highest (e.g. Fig.10 (a)), the RPI_IGD value interval is the lowest (as shown in Fig.10 (b) shows that the performance of QMOEA is significantly better than that of QMOEA-NL and QMOEA-VNS. Therefore, for the proposed 27 instances of different sizes, the local enhanced search strategy based on key factories is significantly better than other local search algorithms.
[0145] Verify the effectiveness of the algorithm:
[0146] In order to further verify the performance of the proposed algorithm compared with other algorithms, the following four algorithms are selected, including ARMOEA, CMOPSO, GrEA, and NSGAII. ARMOEA achieves efficient optimization and diversity of the solution set by dynamically adjusting resource allocation and diversity maintenance mechanisms. CMOPSO uses an effective constraint processing strategy and the global search capability of PSO to quickly find the Pareto optimal solution that meets the constraints. GrEA adopts a grid partitioning method to ensure the uniform distribution of solutions, maintain population diversity and reduce computational complexity. NSGA-II provides efficient solution set diversity and accurate Pareto frontier approximation through fast non-dominated sorting and congestion comparison operations. Each algorithm was run independently 30 times on the same computer and 27 instances were tested.
[0147] from Fig.11 From (a) and (b), we can see that QMOEA has higher RPI_HV and lower RPI_IGD, and better indicator values, compared with other algorithms. Therefore, the solution generated by the QMOEA algorithm is closer to the global optimal solution. QMOEA has good performance in solving the proposed problem.
[0148] In addition, we also tested the above five comparison algorithms using the Empirical Achievement Function (EAF), which is available on github. Fig.12 The difference in EAF between QMOEA and ARMOEA, CMOPSO, GrEA, and NSGAII is shown. In the EAF, the color represents the difference in the probability that the algorithm dominates the corresponding solution compared to the other algorithms. The larger the difference, the darker the color, indicating that the probability that the result obtained by the algorithm dominates the solution is higher compared to the other algorithms. In short, the darker the color and the larger the area, the better the algorithm. Fig.12 The following conclusions can be drawn: (1) The shadow part of QMOEA is larger than that of other comparison algorithms, which proves that QMOEA has better performance. (2) Under different scheduling environments, the performance of QMOEA is also better than that of the other four comparison algorithms. Therefore, EAF proves that QMOEA has excellent performance.
[0149] like Fig.13 As shown in the figure, the Pareto fronts generated by several different algorithms for instances of different sizes are shown. Different colors represent the Pareto fronts generated by different algorithms. Fig.13 The following conclusions can be drawn: (1) Compared with other algorithms, the solutions generated by QMOEA are significantly closer to the Pareto frontier. (2) For instances of different sizes, QMOEA has better performance than the other four compared algorithms in terms of diversity and convergence. Therefore, the proposed QMOEA can obtain a better set of non-dominated solutions within a limited range and has stability.
[0150] Fig.14 A Gantt chart of a real example is given, in which each operation is represented by a rectangle marked with the job sequence number, and rectangles of different colors represent different jobs.
[0151] Example 2
[0152] This embodiment provides a distributed hybrid flow shop scheduling system that takes worker fatigue into consideration, including:
[0153] A model building module is configured to: define a distributed hybrid flow shop scheduling problem considering resource constraints and worker fatigue, and construct an objective function expected in an actual production process and constraints that satisfy the problem;
[0154] The initialization module is configured to: evenly distribute the workpieces to each factory, each machine in the factory, and each worker, and obtain the workpiece scheduling sequence, machine allocation vector, and worker allocation vector of each factory;
[0155] The global search module is configured to: perform a cross operation on the workpiece scheduling sequence to obtain a first workpiece scheduling sequence, perform a mutation operation on the machine allocation vector and the worker allocation vector to obtain a first machine allocation vector and a first worker allocation vector;
[0156] The local enhanced search module is configured to: operate the first workpiece scheduling sequence of the key factory to obtain the second workpiece scheduling sequence, calculate the value of the objective function based on the second workpiece scheduling sequence, the first machine allocation vector and the first worker allocation vector, and output the final workpiece scheduling sequence.
[0157] It should be noted that the above modules correspond to the steps described in Example 1, and the examples and application scenarios implemented by the above modules and the corresponding steps are the same, but are not limited to the contents disclosed in the above Example 1. It should be noted that the above modules, as part of the system, can be executed in a computer system such as a set of computer executable instructions.
[0158] In further embodiments, there is also provided:
[0159] An electronic device includes a memory and a processor, and computer instructions stored in the memory and executed on the processor, wherein when the computer instructions are executed by the processor, the method described in Embodiment 1 is performed. For the sake of brevity, it will not be described in detail here.
[0160] It should be understood that in this embodiment, the processor may be a central processing unit CPU, and the processor may also be other general-purpose processors, digital signal processors DSP, application-specific integrated circuits ASIC, off-the-shelf programmable gate arrays FPGA or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0161] The memory may include a read-only memory and a random access memory, and provide instructions and data to the processor. A portion of the memory may also include a non-volatile random access memory. For example, the memory may also store information about the device type.
[0162] A computer-readable storage medium is used to store computer instructions, and when the computer instructions are executed by a processor, the method described in Example 1 is completed.
[0163] The method in Example 1 can be directly embodied as a hardware processor, or a combination of hardware and software modules in the processor. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, it is not described in detail here.
[0164] A computer program product includes a computer program, and when the computer program is executed by a processor, the method described in embodiment 1 is implemented.
[0165] The present invention also provides at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. The computer program product includes computer executable instructions, such as instructions included in a program module, which are executed in a device on a real or virtual processor of the target to perform the process / method as described above. Typically, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform specific tasks or implement specific abstract data types. In various embodiments, the functions of program modules can be combined or divided between program modules as needed. Machine executable instructions for program modules can be executed in local or distributed devices. In distributed devices, program modules can be located in local and remote storage media.
[0166] The computer program code for implementing the method of the present invention can be written in one or more programming languages. These computer program codes can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device, so that the program code, when executed by the computer or other programmable data processing device, causes the function / operation specified in the flow chart and / or block diagram to be implemented. The program code can be executed completely on a computer, partially on a computer, as an independent software package, partially on a computer and partially on a remote computer or completely on a remote computer or server.
[0167] In the context of the present invention, computer program codes or related data may be carried by any appropriate carrier to enable a device, apparatus or processor to perform the various processes and operations described above. Examples of carriers include signals, computer readable media, and the like. Examples of signals may include electrical, optical, radio, acoustic or other forms of propagation signals, such as carrier waves, infrared signals, and the like.
[0168] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with this embodiment can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0169] Although the above describes the specific implementation mode of the present invention in conjunction with the accompanying drawings, it is not intended to limit the scope of protection of the present invention. Those skilled in the art should understand that various modifications or variations that can be made by those skilled in the art on the basis of the technical solution of the present invention without creative work are still within the scope of protection of the present invention.
Claims
1. A distributed hybrid flow shop scheduling method considering worker fatigue, characterized in that: The following steps are involved: Define the distributed hybrid flow shop scheduling problem considering resource constraints and worker fatigue, and construct the desired objective function in the actual production process and the constraints that satisfy the problem; Evenly distribute the workpieces to each factory, each machine in the factory, and each worker, and obtain the workpiece scheduling sequence, machine allocation vector, and worker allocation vector for each factory; Perform a crossover operation on the workpiece scheduling sequence to obtain a first workpiece scheduling sequence, and perform a mutation operation on the machine allocation vector and the worker allocation vector to obtain a first machine allocation vector and a first worker allocation vector; The first workpiece scheduling sequence of the key factory is operated to obtain a second workpiece scheduling sequence, the value of the objective function is calculated based on the second workpiece scheduling sequence, the first machine allocation vector and the first worker allocation vector, and the final workpiece scheduling sequence is output.
2. A distributed hybrid flow shop scheduling method considering worker fatigue as claimed in claim 1, characterized in that: The crossover operation on the workpiece scheduling sequence includes BEC crossover and MC crossover; The BEC crossover selects one parent from the parent population and another parent from the mating pool, and divides the elements of the scheduling sequences of the two parents according to the plant. If the number of elements in the scheduling sequences of the two parents is the same, the scheduling sequence elements of the parent selected from the mating pool are allocated to the offspring; The MC crossover selects a parent from the parent population and another parent from the mating pool, and divides the elements of the scheduling sequences of the two parents according to the plants. If the number of elements in the scheduling sequences of the two parents is different, the parent selected from the mating pool is ignored, and two elements are randomly selected from the scheduling sequence of each plant in the parent population, and the two elements are mirrored.
3. A distributed hybrid flow shop scheduling method considering worker fatigue as claimed in claim 2, characterized in that: The parent population is a workpiece scheduling sequence obtained by evenly distributing the workpieces to each factory, each machine in the factory and each worker, and the mating pool is a sequence of all workpieces obtained by arranging the workpieces in a certain order.
4. A distributed hybrid flow shop scheduling method considering worker fatigue as claimed in claim 1, characterized in that: Perform mutation operations on the machine allocation vector and the worker allocation vector, specifically: All workpieces are divided into multiple parts according to the assigned factories. The workpieces in each part are sorted in descending order according to the processing time. The sorted workpieces are evenly distributed to each worker and machine. For the initially assigned machines and workers, if they match the sorted allocation, they remain unchanged, otherwise they will be allocated to other machines and workers.
5. A distributed hybrid flow shop scheduling method considering worker fatigue as claimed in claim 1, characterized in that: The operation of the first job scheduling sequence of the key factory includes: Randomly select two artifacts in the key factory and perform a swap operation on the two artifacts; Randomly select two workpieces in the critical plant and insert the first workpiece after the second workpiece; Randomly select two artifacts in the key factory and perform mirroring operations on the two artifacts; A subsequence formed by consecutive workpieces is randomly selected in the key factory, a workpiece is randomly selected outside the subsequence, and the selected workpiece is exchanged with the subsequence; A subsequence formed by randomly selecting consecutive workpieces in the key factory, a workpiece is randomly selected outside the subsequence, and the selected workpiece is inserted into the subsequence; Two subsequences formed by consecutive workpieces are randomly selected in the key factory, a workpiece is randomly selected outside the subsequence, and the two subsequences are mirrored around the selected workpiece.
6. A distributed hybrid flow shop scheduling method considering worker fatigue as claimed in claim 4, characterized in that: The objective function of the distributed hybrid flow shop scheduling problem considering resource constraints and worker fatigue is to minimize the maximum completion time and total energy consumption simultaneously.
7. A distributed hybrid flow shop scheduling system considering worker fatigue, characterized in that: include: A model building module is configured to: define a distributed hybrid flow shop scheduling problem considering resource constraints and worker fatigue, and construct an objective function expected in an actual production process and constraints that satisfy the problem; The initialization module is configured to: evenly distribute the workpieces to each factory, each machine in the factory, and each worker, and obtain the workpiece scheduling sequence, machine allocation vector, and worker allocation vector of each factory; The global search module is configured to: perform a cross operation on the workpiece scheduling sequence to obtain a first workpiece scheduling sequence, perform a mutation operation on the machine allocation vector and the worker allocation vector to obtain a first machine allocation vector and a first worker allocation vector; The local enhanced search module is configured to: operate the first workpiece scheduling sequence of the key factory to obtain the second workpiece scheduling sequence, calculate the value of the objective function based on the second workpiece scheduling sequence, the first machine allocation vector and the first worker allocation vector, and output the final workpiece scheduling sequence.
8. An electronic device, characterized in that: The method comprises a memory and a processor and computer instructions stored in the memory and executed on the processor, wherein when the computer instructions are executed by the processor, the method according to any one of claims 1 to 6 is completed.
9. A computer-readable storage medium, characterized in that: Used to store computer instructions, which, when executed by a processor, complete the method described in any one of claims 1 to 6.
10. A computer program product, characterized in that The invention comprises a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Distributed hybrid flow shop scheduling method, medium and system
CN112766659A
Distributed hybrid flow shop scheduling method based on cooperative multi-objective algorithm
CN117742262A
Hybrid flow shop scheduling method and system considering resource and machine faults
CN118732618A
Method and apparatus for scheduling and performing garbage collection in a real-time system with guaranteed space bounds
US20050149585A1