Distributed heterogeneous assembly flexible workshop scheduling method with transfer
By constructing a dual-objective optimization model and improving the genetic algorithm, the processing sequence and resource allocation are optimized, which solves the problems of factory heterogeneity and transportation time in the flexible assembly workshop and achieves optimization of production efficiency and energy consumption.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- WUHAN UNIV OF TECH
- Filing Date
- 2025-01-07
- Publication Date
- 2026-05-26
AI Technical Summary
Existing flexible assembly workshop scheduling technologies fail to effectively consider the heterogeneity of factory processing capabilities, the impact of collaborative workpiece processing and transportation time, resulting in low production efficiency and high energy consumption.
A distributed heterogeneous assembly flexible workshop scheduling method with transfer is designed. A dual-objective optimization model is constructed to minimize the maximum completion time and minimize the total processing energy consumption. An improved multi-objective genetic algorithm based on Q-Learning (QL-IMOGA) is used to solve the model. The process sequence, the selection of the process processing plant and the assembly shop are optimized by combining a three-segment encoding mode and a decoding mode.
The process sequence and resource allocation were optimized within a reasonable timeframe, which improved production efficiency, reduced total processing energy consumption, and solved the production efficiency and energy consumption problems in a multi-factory production environment.
Smart Images

Figure CN119882635B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent manufacturing and production optimization technology, specifically to a distributed heterogeneous assembly flexible workshop scheduling method with transfer capability. Background Technology
[0002] To meet the challenges of diversified market demands, mass production is gradually shifting towards a flexible production model of multiple varieties and small batches. Furthermore, with the deepening of economic globalization, the traditional single-factory production model can no longer meet the ever-increasing market demand. More and more companies are collaborating to integrate the production capacity of different regional production bases, thereby improving production efficiency and reducing costs.
[0003] In this context, the scheduling of flexible assembly workshops, which consist of two stages: manufacturing and assembly, has received increasing attention and has been successfully applied to the manufacturing of die-casting molds, ball valves, and various complex electromechanical products.
[0004] However, the scheduling technology for flexible assembly workshops in the existing technology has the following problems:
[0005] First, existing studies all assume that different factories have the same manufacturing capabilities, i.e., homogeneous factories. In fact, in a multi-factory production environment, not all factories are capable of producing any product. In particular, only core enterprises have the capability and authority to process core components.
[0006] Second, existing studies all assume that a workpiece can only be processed in one factory. However, in actual production, given the distance, in order to improve the utilization rate of equipment resources and balance the load of equipment in each factory, while shortening the total processing time of the product, some processes of the product may be handed over to cooperating workshops.
[0007] Third, the time spent on transportation during the shipping phase is not taken into account. In actual assembly and production systems, the time spent collecting raw materials and transporting them is considerable and cannot be ignored. Summary of the Invention
[0008] To address the shortcomings of existing technologies, this invention proposes a distributed heterogeneous assembly flexible workshop scheduling method with transfer capability. It considers factors such as workshop processing capacity, workshop collaborative processing, and transportation time, and arranges the process sequence, process processing plants, process processing machines, and assembly workshop selection from a global optimization perspective within a reasonable time to minimize the maximum completion time and the total processing energy consumption.
[0009] To achieve the above objectives, the present invention provides a distributed heterogeneous assembly flexible workshop scheduling method with transfer capability, characterized by the following steps:
[0010] S1) Set assumptions and basic parameters, and propose corresponding constraints on workshop processing capacity, workshop collaborative processing and transportation stage time. Construct a dual-objective optimization model with the goal of minimizing the maximum completion time and minimizing the total processing energy consumption. The dual-objective optimization model is used to optimize the scheduling of flexible assembly workshop considering factory processing capacity, transportation stage and workpiece transfer.
[0011] The objective optimization model that minimizes the maximum completion time is expressed by the following formula:
[0012]
[0013] In the formula,
[0014] C max To maximize the completion time,
[0015] b represents the product.
[0016] 'a' represents the assembly workshop.
[0017] This indicates the completion time of product b in assembly workshop a;
[0018] The objective optimization model for minimizing total processing energy consumption is expressed by the following formula:
[0019] mincost = C1 + C2 + C3 + C4 + C5
[0020] In the formula,
[0021] C1 represents the total energy consumption of the machining workshop, including workpiece processing energy consumption and the workshop's fixed energy consumption.
[0022] C2 represents the total energy consumption of the assembly workshop, including product assembly energy consumption and assembly workshop fixed energy consumption.
[0023] C3 represents the total energy consumption for transporting the raw materials of each workpiece to the corresponding processing workshop.
[0024] C4 represents the total energy consumption for transportation during the workpiece production process, including energy consumption for transportation between different machines and between different workshops.
[0025] C5 represents the total energy consumption for transporting products from the processing workshop to the assembly workshop;
[0026] The total energy consumption C4 for transportation during the production process of the workpiece is expressed by the following formula.
[0027]
[0028] In the formula,
[0029] C4 represents the total energy consumption for transportation during the workpiece production process.
[0030] X j,p-1,i,r This indicates whether the (p-1)th process of product j is processed on machine i in factory r. If so, then X... j,p-1,i,r It is 1 if it is 1, otherwise it is 0.
[0031] X jpi'r This indicates whether the p-th process of product j is processed on machine i' in factory r. If so, then X... jpi'r It is 1 if it is 1, otherwise it is 0.
[0032] This represents the unit energy consumption for transferring product j from machine i to machine i' in factory r.
[0033] Y jpr' This indicates whether the p-th process of product j is processed in factory r'. If so, then Y... jpr' It is 1 if it is 1, otherwise it is 0.
[0034] Y j,p-1,r Indicates whether the (p-1)th process of product j is processed in factory r. If so, then Y j,p-1,r It is 1 if it is 1, otherwise it is 0.
[0035] This represents the energy consumed when energy is transferred from factory r to r'.
[0036] S2) Based on the process sequence, the selection of the processing plant and the selection of the processing machine, design a three-segment encoding mode and a three-segment decoding mode corresponding to the dual-objective optimization model;
[0037] S3) Based on the three-segment encoding mode and the three-segment decoding mode, an improved multi-objective genetic algorithm based on Q-Learning is used to solve the optimal scheduling scheme of the bi-objective optimization model.
[0038] Furthermore, in S1), the assumptions set include: each job can only be assigned to one factory; different steps of a job can be completed by different factories in collaboration; core components can only be processed by the core factory; each machine can only process one job at a time; all steps belonging to the same job should be processed in a predetermined order; once the operation begins, it is not allowed to be interrupted; machine start-up time is not considered.
[0039] Furthermore, in S1), the constraints include: each workpiece's operation can only be assigned to one manufacturing plant; each product can only be assigned to one assembly plant; each operation of a workpiece can only be completed by one available machine in a plant with the corresponding processing capacity; the completion time of each operation is equal to the start time of the operation plus the processing time of that operation; the start processing time of an operation is not less than the completion time of the previous operation plus the transportation time; each machine can only process one operation at a time; the product's manufacturing completion time is not less than the product's operation completion time plus the transportation time of the raw materials for each workpiece in the product; the product's assembly start time is not less than the product's manufacturing completion time plus the transportation time from the production workshop to the assembly workshop; the product's assembly completion time is the product's assembly start time plus the assembly time.
[0040] Furthermore, in S1), the total energy consumption C1 of the processing workshop is expressed by the following formula.
[0041]
[0042] In the formula,
[0043] C1 represents the total energy consumption of the processing workshop.
[0044] P jpir Indicates process O jp The processing time on machine i in factory r.
[0045] This represents the energy consumption per unit of processing on machine i in factory r.
[0046] X jpir Indicates process O jp Whether it is processed on machine i in factory r, if so, then X jpir It is 1 if it is 1, otherwise it is 0.
[0047] This represents the unit processing energy consumption of factory r.
[0048] M r This represents the total processing time of processing plant r;
[0049] The total energy consumption C2 of the assembly workshop is expressed by the following formula:
[0050]
[0051] In the formula,
[0052] C2 represents the total energy consumption of the assembly workshop.
[0053] This indicates the unit assembly energy consumption in the assembly workshop.
[0054] Aba Indicates assembly time.
[0055] Z ba This indicates whether product b is assembled in assembly workshop a. If so, then Z... ba It is 1 if it is 1, otherwise it is 0.
[0056] This represents the unit fixed energy consumption of assembly workshop a.
[0057] A a This represents the total assembly time in assembly workshop a;
[0058] The total energy consumption C3 for transporting raw materials for each workpiece to the corresponding processing workshop is expressed by the following formula.
[0059]
[0060] In the formula,
[0061] C3 represents the total energy consumption for transporting the raw materials of each workpiece to the corresponding processing workshop.
[0062] This indicates the energy consumption for transporting raw materials to the processing plant.
[0063] Y jpr Indicates process O jp Whether it is processed at factory r, if so, then Y jpr The total energy consumption C5 for transporting products from the processing workshop to the assembly workshop is expressed as follows: 1 if the energy consumption is 1, otherwise 0.
[0064]
[0065] In the formula,
[0066] C5 represents the total energy consumption for transporting products from the processing workshop to the assembly workshop.
[0067] V jra This indicates whether product j needs to be transported from processing plant r to assembly plant a; if yes, it is 1, otherwise it is 0.
[0068] This indicates the unit energy consumption for transportation from the processing plant to the assembly workshop.
[0069] Furthermore, in S2), the three-segment coding mode includes factory allocation coding mode, machine selection coding mode, and process sequencing coding mode.
[0070] Furthermore, in S2), the design steps for the three-segment decoding mode are as follows:
[0071] S21) Determine the operation sequence of all processes to be processed based on the process sequence vector;
[0072] S22) Read the factory, machine, and corresponding processing time allocated to the corresponding process;
[0073] S23) First determine whether it is the first process on the machine and whether it is the first process for the workpiece; if both conditions are met, then directly arrange the process to the first position on the machine.
[0074] S24) Determine whether the process sequence vector has been read completely. If not, proceed to step S22; otherwise, arrange the scheduling scheme for the assembly stage, that is, sort the workpieces in each product from smallest to largest according to their maximum completion time, and allocate them to the assembly plant in sequence according to the minimum load principle.
[0075] Furthermore, in S23), if it satisfies the condition of being the first operation on the machine but not the condition of being the first operation on the workpiece, then the earliest possible processing time for the operation is T. a =max{C j,p-1 +TM+TF,TS t The completion time of the process is T. a +P ijpr ;
[0076] If the condition of being the first process on the machine is not met, but the condition of being the first process on the workpiece is met, then there may be idle time on the machine. A greedy decoding method can be used to further shorten the maximum completion time.
[0077] Furthermore, in S3), the following steps are taken to solve the optimal scheduling scheme of the bi-objective optimization model using an improved multi-objective genetic algorithm based on Q-Learning:
[0078] S31) Based on the initial population size and encoding method, a hybrid initialization method is used to generate a high-quality initial population to promote the rapid convergence of the algorithm;
[0079] S32) The tournament selection method is used to select individuals from the population for subsequent crossover and mutation operations;
[0080] S33) The key parameters of the algorithm are adaptively adjusted through Q-Learning, including crossover probability and mutation probability;
[0081] S34) A two-step crossover strategy is used for global search;
[0082] S35) employs a four-step mutation strategy for local search;
[0083] S36) A neighborhood search strategy is used to further explore the solution space;
[0084] S37) When the set maximum number of iterations or the deadline is reached, output the optimal solution; otherwise, use the new population as the initial population and repeat steps S32) to S35).
[0085] Furthermore, in S31), the hybrid initialization method includes: for the process layer, a random initialization method is adopted; for the factory layer, for each process, the factory with the most available centralized processing machines is selected first, and if the number is the same, the factory with the shortest average processing time is selected; for the machine layer, the machine with the lowest machine load is selected first.
[0086] The advantages of this invention are:
[0087] 1. This invention further considers multiple realistic constraints (workshop processing capacity, workshop collaborative processing, and transportation stage time), constructs a dual-objective optimization model that minimizes the maximum completion time and minimizes the total processing energy consumption, and finally solves the optimal scheduling scheme of the dual-objective optimization model to improve workshop production efficiency; the optimal scheduling scheme simultaneously solves four problems in the production workshop: selection of processing plant, selection of processing machine, sequencing of processing order, and selection of assembly workshop;
[0088] 2. Due to the low efficiency of existing algorithms in solving this type of problem, this invention proposes an improved multi-objective genetic algorithm (QL-IMOGA) based on Q-Learning to solve the optimal scheduling scheme of a dual-objective optimization model that minimizes the maximum completion time and the total processing energy consumption. It adopts a hybrid population initialization method, a two-step crossover operator, a four-step mutation operator, and six neighborhood search strategies. The two-step crossover improves the global search capability, the four-step mutation and neighborhood search strategies improve the local search capability, and the hybrid initialization strategy accelerates the convergence of the algorithm.
[0089] The present invention provides a distributed heterogeneous assembly flexible workshop scheduling method with transfer capability. The goal is to minimize the maximum completion time and the total processing energy consumption. It takes into account factors such as workshop processing capacity, workshop collaborative processing and transportation time, and arranges the process sequence, process processing plant, process processing machine and assembly workshop selection from a global optimization perspective within a reasonable time. Attached Figure Description
[0090] Figure 1 This is a flowchart of the distributed heterogeneous assembly flexible workshop scheduling method with transfer according to the present invention;
[0091] Figure 2 This is a flowchart of the QL-IMOGA algorithm used in this invention;
[0092] Figure 3 This is a schematic diagram showing the comparison results of target values of different algorithms provided in the embodiments of the present invention;
[0093] Figure 4 This is a schematic diagram showing the comparison results of different algorithm evaluation metrics provided in the embodiments of the present invention;
[0094] Figure 5 This is a schematic diagram showing the comparison results of different Wilcoxon test algorithms provided in the embodiments of the present invention;
[0095] Figure 6 This diagram illustrates a comparison of the operational results of the distributed heterogeneous assembly flexible workshop scheduling method with and without transfer, as presented in this invention. Detailed Implementation
[0096] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0097] This invention provides a distributed heterogeneous assembly flexible workshop scheduling method with transfer capability, comprising the following steps:
[0098] S1) Set assumptions and basic parameters, and propose corresponding constraints on workshop processing capacity, workshop collaborative processing and transportation stage time. Construct a dual-objective optimization model with the goal of minimizing the maximum completion time and minimizing the total processing energy consumption. The dual-objective optimization model is used to optimize the scheduling of flexible assembly workshop considering factory processing capacity, transportation stage and workpiece transfer.
[0099] Specifically, the assumptions include: each job can only be assigned to one factory; different steps of a job can be completed collaboratively by different factories; core components can only be processed by the core factory; each machine can only process one job at a time; all steps belonging to the same job should be processed in a predetermined order; once the operation begins, it is not allowed to be interrupted; machine start-up time is not considered.
[0100] Specifically, the proposed constraints include:
[0101] Condition 1: Each workpiece's one process can only be assigned to one manufacturing plant:
[0102]
[0103] In the formula,
[0104] Y jpr Indicates process O jp Whether it is processed at factory r, if so, then Y jpr It is 1 if it is true, otherwise it is 0.
[0105] Condition 2: Each product can only be assigned to one assembly plant.
[0106]
[0107] In the formula,
[0108] Z ba This indicates whether product b is assembled in assembly workshop a. If so, then Z... ba It is 1 if it is true, otherwise it is 0.
[0109] Condition 3: Each process of the workpiece can only be completed by one available machine in a factory with the corresponding processing capabilities.
[0110]
[0111] In the formula,
[0112] X jpir Indicates process O jp Is it processed on machine i in factory r? If so, then X jpir It is 1 if it is 1, otherwise it is 0.
[0113] U jpir Indicates process O jp Can it be processed on machine i in factory r? If so, then U jpir It is 1 if it is true, otherwise it is 0.
[0114] Condition 4: The completion time of each process is equal to the start time of the process plus the processing time of that process.
[0115]
[0116] In the formula,
[0117] C jp Indicates process O jp The completion time,
[0118] S jp Indicates process O jp The start time,
[0119] P jpir Indicates process O jp The processing time on machine i in factory r.
[0120] To represent a very large number,
[0121] X jpir Indicates process O jp Whether it is assigned to machine i in factory r, if so, then X jpir It is 1 if it is true, otherwise it is 0.
[0122] Condition 5: The start time of the current process must not be less than the completion time of the previous process plus the transportation time.
[0123]
[0124] In the formula,
[0125] S jp Indicates process O jp The start time,
[0126] C j,p-1 Indicates process O j,p-1 Completion time,
[0127] This represents the transfer time from machine i to machine i' in factory r.
[0128] X j,p-1,i',r Indicates process O j,p-1 Is it assigned to machine i' in factory r? If so, then X j,p-1,i',r It is 1 if it is 1, otherwise it is 0.
[0129] X jpir Indicates process O jp Whether it is assigned to machine i in factory r, if so, then X jpir It is 1 if it is 1, otherwise it is 0.
[0130] This represents the transfer time from factory r to factory r'.
[0131] Y j,p-1,r' Indicates process O j,p-1 Is Y assigned to factory r'? If so, then Y j,p-1,r' It is 1 if it is 1, otherwise it is 0.
[0132] Y jpr Indicates process O j,p Whether it is assigned to factory r, if so, then Y jpr It is 1 if it is 1, otherwise it is 0.
[0133] Condition 6: Each machine can only process one operation at a time.
[0134]
[0135] In the formula,
[0136] C jp Indicates process O jp The completion time,
[0137] C j’p’ Indicates process O j’p’ Completion time
[0138] P jpir Indicates process O jp Processing time on machine i in factory r
[0139] P j’p’i’r’ Indicates process O j’p’ Processing time on machine i' in factory r'
[0140] X jpir Indicates process O jp Whether it is assigned to machine i in factory r, if so, then X jpir It is 1 if it is 1, otherwise it is 0.
[0141] X j’p’i’r’ Indicates process O j’p’ Whether it is assigned to machine i' of r', if so, then X j’p’i’r’ It is 1 if it is 1, otherwise it is 0.
[0142] To represent a very large number,
[0143] η jpj,p, Indicates process O j,p, On the same machine, prior to process O jp Processing, if so, then η jpj,p, It is 1 if it is true, otherwise it is 0.
[0144] Condition 7: The manufacturing completion time of the product shall not be less than the product's process completion time plus the transportation time of raw materials for each component in the product.
[0145]
[0146] In the formula,
[0147] This indicates the completion time of product b at factory r.
[0148] C jp Indicates process O jp The completion time,
[0149] R jb Indicates whether workpiece j belongs to product b. If it does, then R... jb It is 1 if it is 1, otherwise it is 0.
[0150] Y jpr Indicates process O jp Whether it is processed at factory r, if so, then Y jpr It is 1 if it is 1, otherwise it is 0.
[0151] This represents the transportation time for workpiece j from the raw material transport station to the processing plant.
[0152] Y j,1,r Indicates process O j,1 Whether it is assigned to factory r, if so, then Yj,1,r It is 1 if it is true, otherwise it is 0.
[0153] Condition 8: The start time of product assembly shall not be less than the product's manufacturing completion time plus the transportation time from the production workshop to the assembly workshop.
[0154]
[0155] In the formula,
[0156] This indicates the start time of assembly for product b.
[0157] This indicates the completion time of product b at factory r.
[0158] This represents the transfer time from processing plant r to assembly plant a.
[0159] Z ba This indicates whether product b is assembled in assembly workshop a. If so, then Z... ba It is 1 if it is true, otherwise it is 0.
[0160] Condition 9: The product assembly completion time is the product assembly start time plus the assembly time.
[0161]
[0162] In the formula,
[0163] This indicates the completion time of product B.
[0164] This indicates the start time of assembly for product b.
[0165] Z ba This indicates whether product b is assembled in assembly workshop a. If so, then Z... ba It is 1 if it is 1, otherwise it is 0.
[0166] A ba This indicates the assembly time of product b at assembly plant a.
[0167] Specifically, the objective optimization model for minimizing the maximum completion time is expressed by the following formula:
[0168]
[0169] In the formula,
[0170] C max To maximize the completion time,
[0171] b represents the product.
[0172] 'a' represents the assembly workshop.
[0173] This indicates the completion time of product b in assembly workshop a.
[0174] Specifically, the objective optimization model for minimizing total processing energy consumption is expressed by the following equation.
[0175] mincost = C1 + C2 + C3 + C4 + C5
[0176] In the formula,
[0177] C1 represents the total energy consumption of the machining workshop, including workpiece processing energy consumption and the workshop's fixed energy consumption.
[0178] C2 represents the total energy consumption of the assembly workshop, including product assembly energy consumption and assembly workshop fixed energy consumption.
[0179] C3 represents the total energy consumption for transporting the raw materials of each workpiece to the corresponding processing workshop.
[0180] C4 represents the total energy consumption for transportation during the workpiece production process, including energy consumption for transportation between different machines and between different workshops.
[0181] C5 represents the total energy consumption for transporting products from the processing workshop to the assembly workshop.
[0182] Specifically, the total energy consumption C1 of the processing workshop is expressed by the following formula.
[0183]
[0184] In the formula,
[0185] C1 represents the total energy consumption of the processing workshop.
[0186] P jpir Indicates process O jp The processing time on machine i in factory r.
[0187] This represents the energy consumption per unit of processing on machine i in factory r.
[0188] X jpir Indicates process O jp Whether it is processed on machine i in factory r, if so, then X jpir It is 1 if it is 1, otherwise it is 0.
[0189] This represents the unit processing energy consumption of factory r.
[0190] M r This represents the total processing time of the processing plant r.
[0191] The total energy consumption C2 of the assembly workshop is expressed by the following formula:
[0192]
[0193] In the formula,
[0194] C2 represents the total energy consumption of the assembly workshop.
[0195] This indicates the unit assembly energy consumption in the assembly workshop.
[0196] A ba Indicates assembly time.
[0197] Z ba This indicates whether product b is assembled in assembly workshop a. If so, then Z... ba It is 1 if it is 1, otherwise it is 0.
[0198] This represents the unit fixed energy consumption of assembly workshop a.
[0199] A a This represents the total assembly time in assembly workshop a.
[0200] The total energy consumption C3 for transporting raw materials for each workpiece to the corresponding processing workshop is expressed by the following formula.
[0201]
[0202] In the formula,
[0203] C3 represents the total energy consumption for transporting the raw materials of each workpiece to the corresponding processing workshop.
[0204] This indicates the energy consumption for transporting raw materials to the processing plant.
[0205] Y jpr Indicates process O jp Whether it is processed at factory r, if so, then Y jpr It is 1 if it is true, otherwise it is 0.
[0206] The total energy consumption C4 for transportation during the production process of the workpiece is expressed by the following formula.
[0207]
[0208] In the formula,
[0209] C4 represents the total energy consumption for transportation during the workpiece production process.
[0210] X j,p-1,i,r This indicates whether the (p-1)th process of product j is processed on machine i in factory r. If so, then X... j,p-1,i,r It is 1 if it is 1, otherwise it is 0.
[0211] X jpi'r This indicates whether the p-th process of product j is processed on machine i' in factory r. If so, then X... jpi'r It is 1 if it is 1, otherwise it is 0.
[0212] This represents the unit energy consumption for transferring product j from machine i to machine i' in factory r.
[0213] Y jpr' This indicates whether the p-th process of product j is processed in factory r'. If so, then Y... jpr' It is 1 if it is 1, otherwise it is 0.
[0214] Y j,p-1,r Indicates whether the (p-1)th process of product j is processed in factory r. If so, then Y j,p-1,r It is 1 if it is 1, otherwise it is 0.
[0215] This represents the energy consumed when energy is transferred from factory r to r'.
[0216] The total energy consumption C5 for transporting products from the processing workshop to the assembly workshop is expressed by the following formula.
[0217]
[0218] In the formula,
[0219] C5 represents the total energy consumption for transporting products from the processing workshop to the assembly workshop.
[0220] V jra This indicates whether product j needs to be transported from processing plant r to assembly plant a; if yes, it is 1, otherwise it is 0.
[0221] This indicates the unit energy consumption for transportation from the processing plant to the assembly workshop.
[0222] S2) Based on the process sequence, the selection of the processing plant and the selection of the processing machine, design a three-segment encoding mode and a three-segment decoding mode corresponding to the dual-objective optimization model.
[0223] Specifically, the three coding modes include the factory allocation coding mode (US), the machine selection coding mode (MS), and the process sequencing coding mode (OS).
[0224] In this embodiment, US is represented by {1,1,2,1,1,2,2,2,2}, where each element is the index of the selected factory in the optional factory set for the corresponding process. Similarly, each element in MS also represents the index of the selected machine in the optional machine set for the corresponding process. OS uses a process-based representation method, represented by {1,3,1,1,3,2,4,2}. If the element at the k-th position is i, and i appears j times in OS, then O... ij It is the kth process that is scheduled.
[0225] Specifically, the design steps for the three-segment decoding mode are as follows:
[0226] S21) Determine the operation sequence of all processes to be processed based on the process sequence vector.
[0227] S22) Read the factory, machine and corresponding processing time allocated to the corresponding process.
[0228] S23) First determine whether it is the first process on the machine and whether it is the first process for the workpiece; if both conditions are met, then directly arrange the process to the first position on the machine.
[0229] If the condition of being the first operation on the machine is met, but not the first operation on the workpiece, then the earliest possible processing time for the operation is T. a =max{C j,p-1 +TM+TF,TS t The completion time of the process is T. a +P ijpr ;
[0230] If the condition of being the first operation on the machine is not met, but the condition of being the first operation on the workpiece is met, then there may be idle time on the machine. A greedy decoding method is used to further shorten the maximum completion time. That is, if it is the first operation on the workpiece, in order to minimize the maximum completion time, the operation is directly inserted into the first idle time period.
[0231] However, if the above conditions are not met, then the judgment condition T must be met. a +P jpi ≤TE t Only then can the process be scheduled during the corresponding idle time period.
[0232] S24) Determine whether the process sequence vector has been read completely. If not, proceed to step S22; otherwise, arrange the scheduling scheme for the assembly stage, that is, sort the workpieces in each product from smallest to largest according to their maximum completion time, and allocate them to the assembly plant in sequence according to the minimum load principle.
[0233] S3) Based on the three-segment encoding mode and the three-segment decoding mode, the improved multi-objective genetic algorithm QL-IMOGA based on Q-Learning is used to solve the optimal scheduling scheme of the bi-objective optimization model.
[0234] Specifically, the steps for solving the optimal scheduling scheme of the bi-objective optimization model using an improved multi-objective genetic algorithm based on Q-Learning are as follows:
[0235] S31) Based on the initial population size and encoding method, a hybrid initialization method is used to generate a high-quality initial population to promote the rapid convergence of the algorithm.
[0236] The hybrid initialization method includes:
[0237] a. The first method uses random initialization for the process level; for the factory level, each process prioritizes factories with a large number of available processing machines. If the number of machines is the same, the factory with the shortest average processing time is selected, using the following formula:
[0238]
[0239] In the formula,
[0240] A fj This represents the average processing time of the j-th workpiece on the available machines in the f-th factory.
[0241] Indicates machine processing time.
[0242] m represents the number of machines that can be processed;
[0243] For the machine layer, prioritize machines with low machine load.
[0244] b. The second method, for the process level, uses random initialization; for the factory level, based on the factory allocation knowledge of the processes, this study proposes a method to balance the factory load and the uniform distribution of each workpiece in the product, using the following formula:
[0245] k f =N fpj I fp F f
[0246] In the formula,
[0247] k f This represents the importance coefficient of factory f.
[0248] N fpj This represents the number of processes that have been assigned to each workpiece of product p in factory f.
[0249] Ifp This represents the importance weight matrix of factory f with respect to product p.
[0250] F f This indicates the load of each factory;
[0251] For the machine layer, prioritize machines with low machine load.
[0252] c. The third method is to use random initialization for all three layers: process layer, factory layer, and machine layer.
[0253] S32) The tournament selection method is used to select individuals from the population for subsequent crossover and mutation operations.
[0254] S33) The key parameters of the algorithm are adaptively adjusted through Q-Learning, including the crossover probability (Pc) and the mutation probability (Pm).
[0255] It typically consists of five elements: agent, environment, action set, state set, and reward function, forming a quintuple (A, E, C, S, R). At each decision point, the agent selects an appropriate action based on the current state of the environment and then updates the state-action mapping table (Q-table) according to the reward function. Simultaneously, the optimal policy is selected using the ε-greedy selection method based on the Q-table. The update equation for the Q-table is as follows.
[0256]
[0257] In the formula,
[0258] Q(s t ,a t ) represents state s t Next action a t Q value,
[0259] α is the learning rate.
[0260] γ represents the discount factor.
[0261] r t+1 In state s t Take action a t The rewards obtained from the environment
[0262] Represents state s t+1 The largest Q value in the Q table at time,
[0263] Q(s t a) represents state s t The Q value in the Q table.
[0264] To maintain population diversity and frontier status, an environmental state based on the average fitness of the population, population diversity, and optimal fitness is proposed for state design.
[0265] The following formula represents the calculation of average fitness:
[0266]
[0267] In the formula,
[0268] Let represent the fitness of the i-th individual in generation t.
[0269] This represents the fitness of the i-th individual in the first generation.
[0270] The following formula represents the calculation of population diversity:
[0271]
[0272] In the formula,
[0273] d represents population diversity.
[0274] Let represent the fitness of the i-th individual in generation t.
[0275] This represents the fitness of the first individual in the j-th generation.
[0276] Ns is the group size.
[0277] The following formula represents the calculation of optimal fitness:
[0278]
[0279] In the formula,
[0280] Let represent the maximum fitness value of the i-th individual in generation t.
[0281] This represents the maximum fitness value of the first individual in generation t.
[0282] The following formula represents the calculation of the total state value:
[0283] s = w1f + w2d + w3m
[0284] In the formula,
[0285] s represents the total state value.
[0286] f represents the average fitness of the population.
[0287] d represents population diversity.
[0288] m represents the optimal fitness of the population.
[0289] w1 was set to 0.35.
[0290] w2 was set to 0.35.
[0291] w3 was set to 0.3.
[0292] The state set S is divided into 20 states, S = [S1, S2…S19, S20], where the interval value is 0.05. For example, when S ∈ [0, 0.05], S = S1.
[0293] For action design, in each generation of the population, the agent performs various actions to determine the appropriate crossover probability (Pc) and mutation probability (Pm). In this embodiment, there are 10 possible choices for these actions. Generally, the crossover probability Pc ranges from 0.4 to 0.9, with an interval of 0.05 between each action. For example, if action a1 is selected, a value needs to be randomly selected from [0.4, 0.45]. Similarly, the mutation probability Pm ranges from 0.1 to 0.3, with an interval of 0.02 between each action.
[0294] For the design of exploration strategies, the ε-greedy strategy is an action selection strategy that balances global search and local search. It is expressed by the following formula:
[0295]
[0296] In the formula,
[0297] ε is called utilization rate.
[0298] r 0-1 It is a random value between 0 and 1.
[0299] When ε≥r 0-1 When ε is high, choose the action with the highest reward value; when ε is high, choose the action with the highest reward value. <r 0-1 At that time, exploration is carried out, and a random action is selected.
[0300] In the classic ε-greed strategy, ε is a fixed value, which limits the adaptability of Q-Learning. Therefore, a decay factor β is introduced to automatically adjust the value of ε. This is expressed by the following formula:
[0301] ε=0.9-0.85×β,β=(i / Maxgen) / 10
[0302] In the formula,
[0303] i is the number of iterations.
[0304] Maxgen is the maximum number of iterations.
[0305] In the initial stages of the algorithm, ε is set to its maximum value to enhance the algorithm's ability to explore new solutions. As the algorithm progresses, the value of β is gradually increased, causing ε to decrease. This allows the agent to more likely choose the action with the highest Q value while retaining previous historical experience.
[0306] S34) employs a two-step crossover strategy for global search.
[0307] For the process sequence vector, the widely used priority operation crossover (POX) is applied to generate feasible solutions. For example, all jobs are randomly assigned to two non-empty complementary sets Q1{1,3} and Q2{2,4}. For offspring 1, the genes belonging to Q1 {1,3,1,1,3} remain in their original positions in parent 1, while the genes belonging to Q2 follow the order of parent 2. Therefore, {2,2,4,4} is filled into offspring 1.
[0308] For the factory allocation vector, an improved multi-point protected cross (MPX) is used. Specifically, a string consisting of 0s and 1s of length equal to the total number of factory vectors is randomly generated. For jobs J1 and J3 with a value of 0, their factory indices are swapped. For example, {1,1,2} and {2,2,2} of J1 are swapped to generate a offspring. However, it is important to note that this operation may result in invalid solutions in the machine vector. The offspring must be strictly checked to ensure that the machine is selectable in the new factory. For example, for offspring 1, J1 cannot be processed by machine 1 in factory 2, so it needs to be replaced with another feasible machine.
[0309] S35) employs a four-step mutation strategy for local search.
[0310] Specifically, for the process mutation operation, it means randomly selecting two positions in the OS, such as Position 1 and Position 2, and then shuffling the order of the processes {1,1,3} between them to generate a new process scheduling code {1,3,1}. For the process swap operation, it means randomly selecting two positions in the OS, and then swapping the processes {3,2} in those two positions to get {2,3}.
[0311] For critical machine replacement mutation, it means selecting the machine with the highest machine load rate in the factory with the highest current factory load rate, randomly selecting a process on that machine, and then replacing the machine in that process with the machine with the lowest machine load rate in the current factory.
[0312] For critical plant replacement mutation, it means randomly selecting the process in the plant with the highest current plant load and then replacing that process with the plant with the lowest plant load.
[0313] Factory load factor is defined as:
[0314] f_r(r)=f_load(r) / max(f_load)
[0315] Here, f_load(r) represents the maximum completion time for each factory.
[0316] Step S36: Further explore the solution space using neighborhood search strategies. This invention employs six neighborhood search strategies to further explore the solution space, as detailed below.
[0317] Critical Factory Operator: Transfers non-critical product processes on the critical path to the factory with the lowest factory load, and selects the machine with the shortest processing time among them.
[0318] Critical Machine Operator: In a critical factory, randomly select a process from the machine with the highest machine utilization and transfer it to the machine with the lowest machine load.
[0319] Critical process operator: swaps critical processes on the critical path.
[0320] Factory load operator: Sort the factories by load rate from largest to smallest, and randomly select one factory from each of the first half of the sequence to insert into the second half of the sequence.
[0321] Process allocation operator: Based on the knowledge of the processing order of processes, we should try to keep the processes of each workpiece under each product concentrated and allocate them in a concentrated manner so that each workpiece can be completed as early as possible. Therefore, for workpieces that exceed the maximum processing time, for the OS vector, its last process is inserted forward.
[0322] Energy consumption operator: Randomly select the process with the highest energy consumption during processing time, and select the machine with the lowest energy consumption from the set of available machines to replace it.
[0323] S37) When the set maximum number of iterations or the deadline is reached, output the optimal solution; otherwise, use the new population as the initial population and repeat steps S32) to S35).
[0324] like Figure 2 The diagram shows a flowchart of the QL-IMOGA algorithm used in this invention. QL-IMOGA represents an improved multi-objective genetic algorithm based on Q-Learning. Figure 2First, the initial population is determined, and individuals are selected according to the tournament strategy. The appropriate crossover rate (Pc) and mutation rate (Pm) are determined according to Q-Learning. Then, the selected individuals are subjected to a two-step crossover strategy, a four-step mutation strategy, and a neighborhood search strategy, respectively. Finally, the external archive set is updated. If the termination condition is met, the optimal solution is output. Otherwise, the above steps are repeated for the updated population until the termination condition is met.
[0325] To verify the effectiveness and superiority of the present invention, based on the benchmark case proposed by Brandimarte et al., constraints of the transportation and assembly stages were added to establish test cases for the embodiments of this application. Specifically, the number of assembly workshops follows a uniform distribution U[2,5], the inter-factory transportation time for each process follows a uniform distribution U[1,3], the raw material transportation time and the transportation time between factories follow a uniform distribution U[4,6], the assembly time follows a uniform distribution U[6,10], the unit processing energy consumption for each process follows a uniform distribution U[1,2], the unit fixed energy consumption of the processing plant follows a uniform distribution U[2,3], the unit fixed energy consumption and the unit assembly energy consumption of the assembly plant follow a uniform distribution U[1,3], the unit transportation energy consumption within the factory follows a uniform distribution U[0.5,1], the unit transportation energy consumption outside the factory follows a uniform distribution U[1,1.5], and the unit transportation energy consumption of raw materials and the unit transportation energy consumption from the processing workshop to the assembly workshop follow a uniform distribution U[1,2].
[0326] The Improved Non-dominated Sorting Genetic Algorithm-II (NSGA-II), Multi-objective Evolutionary Algorithm Based on Decomposition (MOEA / D), Improved Strength Pareto Evolutionary Algorithm-II (SPEA-II), and Improved Memetic Algorithm (IMA) are used as comparative algorithms to solve the distributed heterogeneous assembly flexible job shop scheduling problem with transfer, which aims to minimize the maximum completion time and minimize the total processing energy consumption.
[0327] All algorithms were run on MATLAB R2020b on an AMD Ryzen 76800H 3.20GHz PC with 16GB of RAM. For fairness, CPU runtime was set to J·M, where J represents the number of artifacts and M represents the number of machines. All algorithms also used the same initialization method, decoding method, and crossover / mutation strategy.
[0328] To evaluate the performance of the multi-objective algorithm, Inverted Generational Distance (IGD) and Hypervolume (HV) were chosen as evaluation metrics. IGD is a metric for evaluating the convergence and diversity of the Pareto front. The following formula can be used to calculate IGD:
[0329]
[0330] In the formula,
[0331] |Ω * | represents the number of terms at the true Pareto front.
[0332] D i (Ω * ,Ω) represents the solution in Ω and Ω * The minimum Euclidean distance between solutions i in the equation.
[0333] The smaller the IGD value, the better the convergence of the algorithm.
[0334] Hypervolume (HV) is a widely used metric for evaluating the convergence and distribution of the Pareto front. The following formula can be used to calculate HV.
[0335]
[0336] In the formula,
[0337] Ns is the number of non-dominated solutions obtained by the algorithm.
[0338] v i Let be the volume / area formed by the i-th solution in the non-dominated solutions with reference point as the unit.
[0339] The higher the HV value, the greater the diversity of the algorithm.
[0340] like Figures 3-5 As shown, Figure 3 This is a schematic diagram showing the comparison results of target values of different algorithms provided in the embodiments of the present invention; Figure 4 This is a schematic diagram showing the comparison results of different algorithm evaluation metrics provided in the embodiments of the present invention; Figure 5 This diagram illustrates the comparison results of different Wilcoxon tests provided in embodiments of the present invention.
[0341] Experimental results show that in 15 test cases, the QL-IMOGA algorithm exhibits the best results for both maximum completion time and total processing energy consumption, while NSGA-II only achieves optimal solutions for a single objective in instances 4, 6, and 12. MOEA / D achieves optimal values for a single objective in instances 4, 8, 9, and 13, while SPEA-II and IMA do not, demonstrating the superiority of QL-IMOGA. Furthermore, the advantages in HV and IGD indices indicate that the Pareto front obtained by QL-IMOGA is closer to the true Pareto front, exhibiting better distribution and convergence compared to other algorithms. Finally, the Wilcoxon test reveals significant differences between the different algorithms, further proving the superiority of the algorithm presented in this invention.
[0342] To verify the impact of job transfer on actual production, the maximum completion time, overall cost, and plant load factor (LB) of the distributed heterogeneous assembly flexible job shop scheduling problem were compared between jobs with and without transfer. To ensure fairness, the algorithm for solving the distributed heterogeneous assembly flexible job shop scheduling problem without job transfer also uses Q-Learning to optimize key parameters. The difference lies in the plant encoding part, which constrains each job to be assigned to only one processing plant, and modifies the corresponding crossover, mutation, and neighborhood search operators. Both methods were run independently 20 times on each instance, and the results are as follows: Figure 6 As shown, the scheme allowing workpiece transfer reduced maximum completion time by an average of 7.5%, overall energy consumption by an average of 3.9%, and factory load rate by an average of 8.4%. It can be observed that the processing plant's capacity is clearly utilized more fully, achieving better results on Makespan. Furthermore, production in the processing and assembly workshops is more concentrated, with less idle time, ensuring full utilization of production time while minimizing energy consumption. This demonstrates that, overall, allowing workpiece transfer can break through production bottlenecks in the entire processing stage, enabling faster assembly of various products.
[0343] The present invention provides a distributed heterogeneous assembly flexible workshop scheduling method with transfer capability. The goal is to minimize the maximum completion time and the total processing energy consumption. It takes into account factors such as workshop processing capacity, workshop collaborative processing and transportation time, and arranges the process sequence, process processing plant, process processing machine and assembly workshop selection from a global optimization perspective within a reasonable time.
[0344] The above embodiments are preferred embodiments of the present invention, but the embodiments of the present invention are not limited to the above embodiments. Any changes, modifications, substitutions, combinations, or simplifications made without departing from the spirit and principle of the present invention shall be considered equivalent substitutions and shall be included within the protection scope of the present invention.
Claims
1. A distributed heterogeneous assembly flexible job shop scheduling method with transfer, characterized in that, Includes the following steps: S1) Set assumptions and basic parameters, and propose corresponding constraints on workshop processing capacity, workshop collaborative processing and transportation stage time. Construct a dual-objective optimization model with the objectives of minimizing the maximum completion time and minimizing the total processing energy consumption. The dual-objective optimization model is used to optimize the scheduling of flexible assembly workshop considering factory processing capacity, transportation stage and workpiece transfer. The proposed constraints include: each workpiece's operation can only be assigned to one manufacturing plant; each product can only be assigned to one assembly plant; each operation of a workpiece can only be completed by one available machine in a plant with the corresponding processing capacity; the completion time of each operation is equal to the start time of the operation plus the processing time of that operation; the start processing time of an operation is not less than the completion time of the previous operation plus the transportation time; each machine can only process one operation at a time; the product's manufacturing completion time is not less than the product's operation completion time plus the transportation time of raw materials for each workpiece in the product; the product's assembly start time is not less than the product's manufacturing completion time plus the transportation time from the production workshop to the assembly workshop; the product's assembly completion time is the product's assembly start time plus the assembly time. The objective optimization model that minimizes the maximum completion time is expressed by the following formula: ; In the formula, C max To maximize the completion time, b Indicates the product, a Indicates the assembly workshop. Indicates product b In the assembly workshop a Completion time; The objective optimization model for minimizing total processing energy consumption is expressed by the following formula: ; In the formula, C 1 represents the total energy consumption of the machining workshop, including workpiece processing energy consumption and the workshop's fixed energy consumption. C 2 represents the total energy consumption of the assembly workshop, including product assembly energy consumption and assembly workshop fixed energy consumption. C 3 represents the total energy consumption for transporting raw materials for each workpiece to the corresponding processing workshop. C 4 represents the total energy consumption for transportation during the workpiece production process, including energy consumption for transportation between different machines and between different workshops. C 5 represents the total energy consumption for transporting products from the processing workshop to the assembly workshop; Total energy consumption of transportation during the production process of the workpiece C 4 is expressed by the following formula ; In the formula, C 4 represents the total energy consumption for transportation during the workpiece production process. Indicates product j The p Is step -1 in the...? r a factory i Processing is done on a machine; if so, then... It is 1 if it is 1, otherwise it is 0. Indicates product j The p Is the process in the first step? r a factory If it is processed on a machine, then... It is 1 if it is 1, otherwise it is 0. Indicates product j At the factory r Zhongcong Machine i Transfer to machine energy consumption per unit Indicates product j The p Are the processes carried out in the factory? Processing, if so, It is 1 if it is 1, otherwise it is 0. Indicates product j The p -1. Is the process carried out in the factory? r Processing, if so, It is 1 if it is 1, otherwise it is 0. Indicates from the factory r Transferred to Energy consumption; Total energy consumption of the processing workshop C 1 is expressed by the following formula ; In the formula, C 1 represents the total energy consumption of the processing workshop. P jpir Indicate process O jp At the factory r machine i On the processing time, Indicates at the factory r machine i Unit processing energy consumption X jpir Indicate process O jp Is it processed on machine i in factory r? If so, then... X jpir It is 1 if it is 1, otherwise it is 0. Indicates factory r Unit processing energy consumption M r Indicates processing plant r Total processing time; Total energy consumption of the assembly workshop C 2 is expressed by the following formula ; In the formula, C 2 represents the total energy consumption of the assembly workshop. This indicates the unit assembly energy consumption in the assembly workshop. Indicates assembly time. Indicates product b Is it in the assembly workshop? a Perform assembly; if so, then... It is 1 if it is 1, otherwise it is 0. Indicates assembly workshop a Unit fixed energy consumption, Indicates assembly workshop a Total assembly time; Total energy consumption for transporting raw materials for each workpiece to the corresponding processing workshop C 3 is expressed by the following formula ; In the formula, C 3 represents the total energy consumption for transporting raw materials for each workpiece to the corresponding processing workshop. This indicates the energy consumption for transporting raw materials to the processing plant. Y jpr Indicate process O jp Is it in the factory? r If it is processed, then Y jpr It is 1 if it is true, otherwise it is 0; Total energy consumption for transporting products from the processing workshop to the assembly workshop C 5 is expressed by the following formula ; In the formula, C 5 represents the total energy consumption for transporting products from the processing workshop to the assembly workshop. Indicates product j Do we need to get it from the processing plant? r Transported to the assembly plant a If yes, then the value is 1; otherwise, it is 0. This indicates the unit energy consumption for transportation from the processing plant to the assembly workshop; S2) Based on the process sequence, the selection of the processing plant and the selection of the processing machine, design a three-segment encoding mode and a three-segment decoding mode corresponding to the dual-objective optimization model; S3) Based on the three-segment encoding mode and the three-segment decoding mode, use an improved multi-objective genetic algorithm based on Q-Learning to solve the optimal scheduling scheme of the dual-objective optimization model; The steps for solving the optimal scheduling scheme of the bi-objective optimization model using an improved multi-objective genetic algorithm based on Q-Learning are as follows: S31) Based on the initial population size and encoding method, a hybrid initialization method is used to generate a high-quality initial population to promote the rapid convergence of the algorithm; In S31), the hybrid initialization method includes: for the process layer, a random initialization method is adopted; for the factory layer, for each process, the factory with the most available centralized processing machines is selected first, and if the number is the same, the factory with the shortest average processing time is selected; for the machine layer, the machine with the lowest machine load is selected first. S32) The tournament selection method is used to select individuals from the population for subsequent crossover and mutation operations; S33) Adaptively adjust key parameters of the algorithm through Q-Learning, the key parameters including crossover probability and mutation probability; S34) A two-step crossover strategy is used for global search; S35) employs a four-step mutation strategy for local search; S36) A neighborhood search strategy is used to further explore the solution space; S37) When the set maximum number of iterations or the deadline is reached, output the optimal solution; otherwise, use the new population as the initial population and re-execute steps S32) to S35.
2. The method for scheduling a distributed heterogeneous assembly flexible workshop with transfer capability as described in claim 1, characterized in that: In S1), the assumptions set include: each job can only be assigned to one factory; different steps of a job can be completed by different factories in collaboration; core components can only be processed by the core factory; each machine can only process one job at a time; all steps belonging to the same job should be processed in a predetermined order; once the operation starts, it is not allowed to be interrupted; machine start-up time is not considered.
3. The method for scheduling a distributed heterogeneous assembly flexible workshop with transfer capability as described in claim 1, characterized in that: In S2), the three coding modes include factory allocation coding mode, machine selection coding mode, and process sequencing coding mode.
4. The method for scheduling a distributed heterogeneous assembly flexible workshop with transfer capability as described in claim 3, characterized in that: In S2), the design steps for the three-segment decoding mode are as follows: S21) Determine the operation sequence of all processes to be processed based on the process sequence vector; S22) Read the factory, machine, and corresponding processing time allocated to the corresponding process; S23) First determine whether it is the first process on the machine and whether it is the first process for the workpiece; if both conditions are met, then directly arrange the process to the first position on the machine. S24) Determine whether the process sequence vector has been read. If not, proceed to step S22. If yes, arrange the scheduling scheme for the assembly stage, that is, sort the workpieces in each product from smallest to largest according to their maximum completion time, and allocate them to the assembly plant in sequence according to the minimum load principle.
5. The method for scheduling a distributed heterogeneous assembly flexible workshop with transfer capability as described in claim 4, characterized in that: In S23), If the condition of being the first process on the machine is met, but not the first process on the workpiece, then the earliest possible processing time for the process is... The completion time of the process is T a + P jpir ; If the condition of being the first process on the machine is not met, but the condition of being the first process on the workpiece is met, then there may be idle time on the machine. A greedy decoding method can be used to further shorten the maximum completion time.