A method and system for inconsistent batch quantity flow flexible job shop scheduling
By using a mixed-integer linear programming model and intelligent optimization algorithms, the problem of inconsistent batch flexible job shop scheduling was solved, achieving efficient equipment utilization and improved production efficiency, and optimizing batch flow flexible job shop scheduling under inconsistent batch conditions.
Patent Information
- Application Number
- CN202310501329.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-28
- Publication Date
- 2026-05-01
- Estimated Expiration
- 2043-04-28
AI Technical Summary
Existing technologies struggle to effectively utilize flexible workshop equipment in inconsistent batching scenarios, resulting in low production efficiency and low equipment utilization. Furthermore, existing scheduling algorithms are unable to find optimal solutions, increasing switchover time and costs.
A mixed-integer linear programming model and intelligent optimization algorithm are used to solve the flexible job shop scheduling problem of inconsistent batch flow. By constructing a mixed-integer linear programming model and using intelligent optimization algorithm to solve iteratively, and combining mathematical programming solver to optimize subproblems, sub-batch sizes and machine allocation, a hybrid optimization scheduling algorithm is designed.
It improves the production efficiency and equipment utilization of flexible workshops in inconsistent batching scenarios, shortens the production cycle, and enhances the solution efficiency and accuracy of scheduling algorithms.
Smart Images

Figure CN116974245B_ABST
Abstract
Description
A flexible job shop scheduling method and system for inconsistent batch flow Technical Field
[0001] This invention belongs to the field of workshop scheduling technology, and more specifically, relates to a flexible workshop scheduling method and system for inconsistent batch flow operations. Background Technology
[0002] With the widespread application of multi-functional equipment such as CNC machine tools and machining centers, and the rise of personalized and customized production models, flexible manufacturing systems, which differ from both large-scale production on assembly lines and small-batch customized production, have been widely adopted. The Flexible Job Shop Scheduling Problem (FJSP) has thus emerged. This problem is a research hotspot in the field of scheduling, and its manufacturing flexibility is mainly reflected in the equipment: the same machine can process different workpieces at different times, enhancing the parallel production capability of the manufacturing system and greatly improving the production capacity and flexibility of the processing system. However, compared to the job shop scheduling problem, this approach expands the range of feasible solutions, leading to a further increase in the difficulty of solving the problem.
[0003] In traditional flexible workshop scheduling, workpieces cannot be divided. If a workpiece has not completed its current processing step, it cannot be transferred to the next machine for the next stage of processing. However, in manufacturing enterprises, production is actually order-driven, and it is very rare for an order to contain only one workpiece. Orders often contain several quantities of the same type of workpiece. If the entire order is processed as a single workpiece, the processing capacity of the flexible workshop equipment cannot be fully utilized, resulting in long equipment idle times. On the other hand, if all workpieces in an order are split into individual workpieces for scheduling and production, the increased problem scale poses a severe challenge to the scheduling algorithm, which may fail to find an optimal solution. More seriously, in actual production, the frequent switching between different workpieces leads to increased switchover time, increased transfer costs, reduced processing efficiency, difficulty in guaranteeing processing quality, and difficulties in various aspects of production organization and management (including material preparation, shop floor logistics, and delivery management). Therefore, the usual approach is to split the order into sub-batch processing, which is a batch flow production method. Once a sub-batch has completed processing at a certain process, it can be transferred to the downstream process for further processing. In this way, the workpieces in a processing order can not only be processed on multiple machines at the same time for the same process, but also be produced in parallel on different processes at the same time, which has the characteristics of shortening machine downtime, reducing work-in-process inventory and shortening production cycle.
[0004] Batch flow flexible workshops are very common in real-world production. Because of the added sub-batch division problem, solving this problem is more difficult than the traditional flexible workshop scheduling problem. Furthermore, current research mainly focuses on the case of consistent batching, with very little research on inconsistent batching. However, with the rapid development of workshop logistics technology, it is essential to study the scheduling problem of inconsistent batching flexible workshops that can maximize workshop production capacity. Summary of the Invention
[0005] In view of the above-mentioned defects or improvement needs of the existing technology, the present invention provides a method and system for scheduling flexible workshops with inconsistent batch flow, the purpose of which is to improve the processing efficiency of flexible workshops with batch flow under inconsistent batch conditions.
[0006] To achieve the above objectives, according to a first aspect of the present invention, a flexible job shop scheduling method for inconsistent batch flow is proposed, comprising the following steps:
[0007] For the flexible job shop scheduling problem of inconsistent batch flow, a task includes multiple workpieces with the same operation. For each operation in the task, the workpieces are divided into several sub-batches for processing. The number of workpieces in each sub-batch is the sub-batch batch. A mixed integer linear programming model is constructed with the sub-batch batch as one of the decision variables.
[0008] A flexible job shop scheduling method is obtained by iteratively solving a mixed-integer linear programming model using an intelligent optimization algorithm. During the iterative solution process, a portion of elite solutions are selected from the intermediate solutions generated in each iteration. The machine allocation of each sub-batch and the processing order variables of each sub-batch on the machine are fixed in the elite solutions. The batch size of the sub-batch in the elite solutions is used as the optimization variable to construct a batch sub-problem model. The batch sub-problem model is solved to optimize the elite solutions. The optimized elite solutions replace the original elite solutions in the intermediate solutions, and the processed intermediate solutions are used to continue the next round of iteration.
[0009] As a further preferred embodiment, in the mixed-integer linear programming model, the maximum completion time c is minimized. max The objective function is defined by the following constraints:
[0010] σ i,j,p ≤N i *o i,j,p ,i∈{1,…,n},j∈{1,…,J i}, p∈{1,…,g i,j}
[0011]
[0012] o i,j,p≥o i,j,p+1 ,i∈{1,…,n},j∈{1,…,J i}, p∈{1,…,g i,j -1}
[0013] σ i,j,p ≥o i,j,p ,i∈{1,…,n},j∈{1,…,J i}, p∈{1,…,g i,j}
[0014]
[0015]
[0016] c max ≥c i ,i∈{1,…,n}
[0017] c i ≥c i,j,p,k ,i∈{1,…,n},j=J i ,p∈{1,…,g i,j}
[0018]
[0019]
[0020] Where, σ i,j,p N represents the number of workpieces in the p-th sub-batch of the j-th operation of task i, i.e., the sub-batch size. i The total number of workpieces in task i; o i,j,p o i,j,p+1 If it is a binary variable, then o i,j,p =0, then σ i,j,p =0, if o i,j,p =1, then σ i,j,p Less than N i ;σ i,j+1,p τ represents the number of workpieces in the p-th sub-batch of the (j+1)-th operation of task i; i,j,s,q If it is a binary variable, and the sub-batch S i,j+1,q Some of the workpieces in the batch come from sub-batch S i,j,s+1 , then τ i,j,s,q =0, otherwise τ i,j,s,q =1,S i,j+1,q For the q-th sub-batch of the (j+1)-th process of task i, S i,j,s+1 For the (s+1)th sub-batch of the j-th process in task i; c iLet c be the completion time of task i. i,j,p,k For the j-th process T of task i i,j The processing time of the p-th sub-batch on machine k. Let x be the completion time of the device in its r-th run, and Ω be a very large positive number; i,j,p,k,r For binary variables, if the r-th run of device k is a processing task sub-batch S i,j,p Then x i,j,p,k,r =1, otherwise x i,j,p,k,r =0; n is the total number of tasks, J i g represents the total number of operations for task i. i,j For the j-th process T of task i i,j The maximum number of batches.
[0021] As a further preferred method, the specific approach to constructing the batch sub-problem model is as follows:
[0022] The objective function is to minimize the maximum completion time.
[0023] The machine allocation of each sub-batch in the elite solution and the value of the processing order variable of each sub-batch on the machine are fixed, and the fixed values are substituted into the constraints of the mixed integer linear programming model to form the constraints of the batch subproblem model.
[0024] As a further preferred option, the decision variables in the mixed-integer linear programming model include: the number of workpieces in the p-th sub-batch of the j-th operation of task i, σ. i,j,p The completion time c of task i i The j-th process T of task i i,j The processing time c of the p-th sub-batch on machine k i,j,p,k The completion time of the rth operation of device k and binary variable o i,j,p τ i,j,s,q x i,j,p,k,r The optimization variables for the batch subproblem model include: σ i,j,p c i c i,j,p,k , and τ i,j,s,q .
[0025] As a further preferred approach, when using an intelligent optimization algorithm to iteratively solve a mixed-integer linear programming model, the initial solution is generated as follows:
[0026] The initial solution of the intelligent optimization algorithm is generated through a three-layer encoding and decoding method. The first layer of the encoding is the sub-batch size chromosome. For each task, the sub-batch size within the maximum sub-batch size range in each process is encoded. The encoded value is a random integer between 0 and 100. The ratio of the encoded value to the sum of the encoded values of all sub-batch sizes in the task is equal to the ratio of the corresponding sub-batch size to the total number of workpieces in the task.
[0027] The second layer is machine-selected chromosomes, and each value corresponds to the machine selection number of each sub-batch in the sub-batch-sized chromosome.
[0028] The third layer is the sub-batch process sequencing chromosome, which uses tuples to represent the elements in the code. The first number of the tuple represents the task number, the second number represents the sub-batch number, and the number of times the tuple appears in the coding sequence indicates which process.
[0029] As a further preferred method, the decoding starts from the sub-batch process sorting chromosome. First, the corresponding sub-batch is found from the gene position on the sub-batch process sorting chromosome. Then, the batch size of the sub-batch is calculated based on the coding value of the sub-batch on the sub-batch size chromosome. The machine to which the sub-batch is assigned is found from the machine allocation chromosome. Finally, the earliest processing time of the sub-batch on the machine is determined.
[0030] As a further preferred option, a mathematical programming solver is used to solve the batch subproblem model.
[0031] As a further preferred option, the intelligent optimization algorithm is a genetic algorithm, a particle swarm optimization algorithm, or a simulated annealing algorithm.
[0032] According to a second aspect of the present invention, an inconsistent batch flow flexible job shop scheduling system is provided, comprising a processor for executing the above-described inconsistent batch flow flexible job shop scheduling method.
[0033] According to a third aspect of the present invention, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the above-described inconsistent batch flow flexible job shop scheduling method.
[0034] In summary, compared with the prior art, the above-described technical solutions conceived by this invention mainly possess the following technical advantages:
[0035] 1. The present invention adopts an inconsistent batching method to maximize the parallel processing capability of equipment in flexible workshops, thereby improving production efficiency and equipment utilization. Furthermore, a hybrid optimization scheduling algorithm is designed to solve the inconsistent batching problem, thereby improving the processing efficiency of batch flow flexible workshops under inconsistent batching conditions.
[0036] 2. The hybrid optimization scheduling algorithm can make full use of the global search capability of the intelligent optimization algorithm. Based on it, the original multi-layer complex optimization problem is decomposed into sub-batch optimization sub-problems, and then the mathematical programming solver is used to optimize the sub-problems, which can greatly improve the solution efficiency and solution accuracy. Attached Figure Description
[0037] Figure 1 is a flowchart of the inconsistent batch flow flexible workshop scheduling method based on hybrid genetic algorithm and Cplex according to an embodiment of the present invention.
[0038] Figure 2 is a schematic diagram of the three-layer chromosome coding in an embodiment of the present invention;
[0039] Figure 3 is a schematic diagram of two decoding methods according to an embodiment of the present invention;
[0040] Figure 4 is an example of the effect of batch optimization of sub-problems in an embodiment of the present invention, where (a) is before batch optimization of sub-batch, and (b) is after batch optimization of sub-batch;
[0041] Figure 5 shows the Gantt charts of the optimal solutions to the example problems solved by GA and HGA in the embodiments of the present invention, where (a) is the Gantt chart of the GA solution and (b) is the Gantt chart of the HGA solution. Detailed Implementation
[0042] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention. Furthermore, the technical features involved in the various embodiments of this invention described below can be combined with each other as long as they do not conflict with each other.
[0043] An embodiment of the present invention provides a flexible job shop scheduling method for inconsistent batch flow, comprising the following steps:
[0044] S1. Collect the total number of processing tasks, the number of parts processed per task, and the processing time of each process for each type of part on the equipment in the inconsistent batch flow flexible workshop, and establish a mixed integer linear programming model for the scheduling problem of inconsistent batch flow flexible workshop.
[0045] S2 is solved by using a hybrid optimization algorithm to address the inconsistent batch flow flexible job shop scheduling problem. Specifically, an intelligent optimization algorithm is used to iteratively optimize the overall problem (i.e., the mixed-integer linear programming model), and a mathematical programming solver is used as a local search tool to optimize the batch optimization subproblems constructed by the elite solutions during the iteration process of the intelligent optimization algorithm.
[0046] Furthermore, in step S1, the mixed-integer linear programming model for the inconsistent batch flow flexible job shop scheduling problem is as follows:
[0047] Model parameters:
[0048] n: Total number of tasks;
[0049] J i The total number of processes in task i;
[0050] N i The total number of workpieces in task i;
[0051] B i Release time of task i;
[0052] E i Delivery date for task i;
[0053] M: Total number of devices;
[0054] D k Release time of device k;
[0055] T i,j The j-th step in task i;
[0056] d i,j Task T i,j Minimum batch size, 0 <d i,j <N i ;
[0057] g i,j Task T i,j Maximum batch size,
[0058] S i,j,p The p-th sub-batch of the j-th process in task i;
[0059] To: The sum of the number of steps in all tasks;
[0060] STo: The sum of the number of sub-batches across all task operations;
[0061] M i,j Processing task T i,j Optional device set;
[0062] p i,j,k Processing task T i,j Processing time on equipment k;
[0063] Ω: A very large positive number;
[0064] ∈: a positive number greater than 0 and less than 1;
[0065] R kThe maximum number of runs for device k, auxiliary parameters, and the allocation of the number of runs for a sub-batch on a certain device determine the processing order of each sub-batch on that device;
[0066] P i,j,k : Binary parameter, auxiliary parameter. If the j-th operation of task i can be processed on device k, then P i,j,k =1, otherwise P i,j,k =0;
[0067] ST i,j,k : The preparation time required for the j-th process of task i to be processed for the first time on equipment k;
[0068] ST i,j,k,i′,j′ : The preparation time for the j-th operation of task i to be processed on equipment k before the j'-th operation of task i'.
[0069] Subscript index:
[0070] i, h: Task index (1,…,n);
[0071] j,g: Process index (1,…,J) i This index is used for both task operations and workpiece operations;
[0072] p, q: Sub-batch indexes of the task process (1,…,SN) i,j );
[0073] t,s: Job indices (1,…,N) within the task i );
[0074] k: Device index (1,…,M);
[0075] r,u: Device run count index.
[0076] In addition, k′, r′, i′, j′ correspond to k, r, i, j respectively, and all represent equipment, number of runs, task, and process. Since the relationship between two processes needs to be defined in the model, subscripts are used to distinguish them.
[0077] Decision variables:
[0078] c i : Continuous variable, completion time of task i;
[0079] c i,j,p,k : Continuous variable, task / process T i,j The processing completion time of the p-th sub-batch on machine k;
[0080] A continuous variable, the completion time of device k during its r-th run;
[0081] σi,j,p : Integer variable, the number of workpieces in the p-th sub-batch of the j-th process of task i;
[0082] o i,j,p : Binary variable, if o i,j,p =0, then σ must exist. i,j,p =0;
[0083] τ i,j,s,q : Binary variable, if τ i,j,s,q =0, then sub-batch S i,j+1,q Some of the workpieces in the batch come from sub-batch S i,j,s+1 Where i∈{1,…,n},j∈{1,…,J} i -1},s∈{1,…,g(i,j)-1},q∈{1,…,g(i,j+1)};
[0084] x i,j,p,k,r : A binary variable, if the r-th run of device k is a processing task sub-batch S i,j,p Then x i,j,p,k,r =1, otherwise, x i,j,p,k,r =0;
[0085] y i,j,k,r : A binary variable, if the r-th run of device k is the processing task T. i,j For any sub-batch, then y i,j,k,r =1, otherwise, y i,j,k,r =0;
[0086] z k,r : A binary variable, z, if the r-th run of device k has been assigned to a sub-batch, then k,r =1, otherwise z k,r =0;
[0087] Objective function: The objective function commonly used in scheduling problems is adopted, preferably minimizing the maximum completion time.
[0088] Minimize:Objective = c max (1)
[0089] Constraints:
[0090] σ i,j,p ≤N i *o i,j,p ,i∈{1,…,n},j∈{1,…,J i}, p∈{1,…,g i,j} (2)
[0091]
[0092]
[0093] o i,j,p ≥o i,j,p+1 ,i∈{1,…,n},j∈{1,…,J i},p∈{1,…,g i,j -1} (4)
[0094] σ i,j,p ≥o i,j,p ,i∈{1,…,n},j∈{1,…,J i},p∈{1,…,g i,j} (5)
[0095]
[0096]
[0097] c max ≥c i ,i∈{1,…,n} (8)
[0098] c i ≥c i,j,p,k ,i∈{1,…,n},j=J i ,p∈{1,…,g i,j} (9)
[0099]
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110]
[0111]
[0112] Equations (2) to (5) constrain the batch size of the batches. This is because not all batches in all processes can reach the maximum batch size g. i,j Here, a binary variable o is used. i,j,p To control the actual effective sub-batches. When o i,j,p When σ is 1, i,j,p Less than N i Otherwise, σ i,j,p A value of 0 indicates an empty batch, as shown in equation (2). The sum of the batch sizes of each sub-batch in each process of each task is the total number of workpieces N for the task. i As shown in equation (3). If there is an empty batch, it is here limited to be arranged at the end, as shown in equation (4). Equation (5) specifies that when o i,j,p When σ equals 1, i,j,p Smaller than N i .
[0113] Equations (6) and (7) constrain the relationship between workpieces in preceding and following sub-batches. If τ i,j,s,q =1, Equation (6) takes effect, the sum of the quantities of the first s sub-batches in the j-th process is greater than or equal to the sum of the quantities of the first q sub-batches in the (j+1)-th process, indicating that the workpieces of the (s+1)-th sub-batches in the j-th process will not be transferred to the q-th sub-batches in the (j+1)-th process. If τ i,j,s,q =0, Equation (7) takes effect, and the sum of the number of the first s sub-batches in the j-th process is less than the sum of the number of the first q sub-batches in the (j+1)-th process. At this time, two situations may occur. One situation is that the workpiece of the (s+1)-th sub-batchens in the j-th process needs to be transferred to the q-th sub-batchens in the (j+1)-th process. The other situation is that the workpiece of the q-th sub-batchens in the (j+1)-th process only comes from the sub-batches after the (s+1)-th sub-batchens in the j-th process. In both cases, it is required that the q-th sub-batchens in the (j+1)-th process can only start processing after the (s+1)-th sub-batchens in the j-th process has been processed. This is guaranteed by Equations (14) and (16).
[0114] Equations (8) to (17) constrain how the objective function is calculated. Equation (13) describes the completion time constraint for two consecutive operations processed on equipment k. Equation (17) represents the constraint relationship for the completion time of sub-batches between preceding and following operations of the same task. Because the adjustment time for processing the first piece on a single equipment is different, it is constrained separately, as shown in equations (12), (14), and (15). Additionally, equation (17) represents the completion time constraint between the first sub-batches of two preceding and following operations of a task, because this situation is not constrained in equation (16). Equation (18) indicates that the r-th operation processed by equipment k must satisfy the processing capacity constraint for the sub-batch of task i's j-th operation. Equation (19) represents y i,j,k,r and x i,j,p,k,r The relationship between them. Equation (20) indicates that if o i,j,p If the value is 1, then the corresponding sub-batch will definitely be assigned to a device for processing. Equation (21) indicates that the r-th processing of device k must have processed a sub-batch or be idle. Equation (22) indicates that within the maximum number of processing times, the processing times for idle tasks must be ranked later, meaning that idle tasks are not allowed to occur in the middle.
[0115] Furthermore, in step S2, an intelligent optimization algorithm is used to optimize the overall problem. The specific steps are as follows:
[0116] Design a three-layer encoding and decoding method to generate the initial solution of the intelligent optimization algorithm; specifically:
[0117] The first layer of the encoding is the sub-batch size chromosome. For each task, the sub-batch size within the maximum sub-batch size range in each process is encoded. The encoded value is a random integer between 0 and 100. The ratio of the encoded value to the sum of the encoded values of all sub-batch sizes in the task is equal to the ratio of the corresponding sub-batch size to the total number of workpieces in the task.
[0118] The second layer is machine-selected chromosomes, where each value corresponds to the machine-selected number for each sub-batch within the sub-batch-sized chromosome.
[0119] The third layer is the sub-batch process sequencing chromosome, which uses tuples to represent the elements in the code. The first number of the tuple represents the task number, the second number represents the sub-batch number, and the number of times the tuple appears in the coding sequence indicates which process.
[0120] Decoding starts from the process sub-batch chromosome. First, the corresponding sub-batch is found from the gene loci on the chromosome. Then, the batch size of the sub-batch is calculated based on the coding value of the sub-batch on the sub-batch size chromosome. The machine to which the sub-batch is assigned is found from the machine allocation chromosome. Finally, the earliest processing time of the sub-batch on the machine is determined according to the four constraints of equations (6), (7), (14) and (16).
[0121] Based on the three-layer encoding and decoding, an intelligent optimization algorithm is used to iteratively optimize the initial solution. This intelligent optimization algorithm can be a classic genetic algorithm, particle swarm optimization algorithm, simulated annealing algorithm, etc.
[0122] Furthermore, in step S2, a mathematical programming solver is used as a local search tool to optimize the batch optimization subproblems constructed by the elite solutions during the iteration process of the intelligent optimization algorithm. The specific steps are as follows:
[0123] 1) Select elite solutions obtained during the iteration of the intelligent optimization algorithm with a certain probability. Specifically, for the solutions in the iteration of the intelligent optimization algorithm, select some solutions with larger objective function values as elite solutions based on their corresponding objective function values.
[0124] 2) For the selected elite solutions, fix the machine allocation of each sub-batch in the solution and the value of the processing order variables of each sub-batch on the machine, and construct a mixed integer linear programming model (i.e., batch sub-problem model) for the sub-batch optimization sub-problem by taking the sub-batch size in these solutions as parameters.
[0125] Specifically, based on the mixed-integer linear programming model, with x fixed... i,j,p,k,r y i,j,p,k o i,j,p z k,r The values of are taken from 3 continuous variables (c i c i,j,p,k and ), 1 integer variable σ i,j,p and 1 binary variable (τ) i,j,s,q Using parameters, a batch sub-problem model is established, as follows:
[0126] The objective function is the same as the objective function of the original problem, and the preferred option is to minimize the maximum completion time:
[0127] Minimize:Objective = c max (twenty three)
[0128] Constraints:
[0129] σ i,j,p =0,i∈{1,…,n},j∈{1,…,J i}, p∈{1,…,g i,j},o i,j,p =0 (24)
[0130]
[0131]
[0132]
[0133] c max ≥c i ,i∈{1,…,n} (28)
[0134] c i ≥c i,j,p,k ,i∈{1,…,n},j=J i ,p∈{1,…,g i,j} (29)
[0135]
[0136]
[0137]
[0138]
[0139]
[0140]
[0141]
[0142] 3) Use a mathematical programming solver to solve the mixed integer programming model of the above batch optimization subproblems;
[0143] 4) Based on the variable σ in the optimized result from step 3), i,j,p Encode the chromosomes of the sub-batch size, while keeping the other chromosomes the same as the original solution. Then pass the encoded new solution to the intelligent optimization algorithm for further optimization.
[0144] To make the present invention clearer, the method of the present invention will be described below with a specific embodiment. The method for flexible workshop scheduling based on inconsistent batch flow using a hybrid genetic algorithm and Cplex is shown in Figure 1.
[0145] The variable-batch flexible job shop scheduling problem is described as follows: Given a set of n independent processing tasks T = {T1, T2, ..., T...} n A machine set M = {M1, M2, ..., Mn} has m independent machines. m}, Processing task T i There are Ni Several identical workpieces need to be processed; processing task T i The workpiece has a series of processes that need to be processed sequentially. Where N i It is T i Total number of operations for a workpiece. Operation T i,j A machine set M that can contain multiple machines i,j ∈M processing. Processing task T i,j The processing time on machine k is p. i,j,k Because a single step in a task can be processed by multiple machines, to shorten processing time and improve equipment utilization, each task can be divided into different sub-batches and assigned to different machines for processing. In the case of unequal batching, the batching of the task at each step is the same, and each sub-batch is independent. With a fixed batching, the original problem is essentially transformed into a larger-scale classic flexible job shop problem. However, in reality, the processing capacity of the workshop for each step is different, and uniform batching cannot fully utilize the workshop's capacity.
[0146] Inconsistent batching can maximize workshop capacity and shorten task processing time. Therefore, the batching configuration for each processing task can differ across different processes. Processing task T i N i A workpiece in process T i,j The above can be divided into no more than g i,j Each sub-batch has a batch size greater than or equal to the minimum batch size d. i,j For example, a processing task involving 10 workpieces and 2 operations can be divided into 4 sub-batches with sub-batch sizes of 2, 2, 3, and 3 in the first operation, and into 2 sub-batches with sub-batch sizes of 4 and 6 in the second operation.
[0147] The scheduling scheme needs to consider three sub-problems: task batching, sub-batch equipment allocation, and processing sequence sequencing. It involves batching n tasks across various processes and selecting appropriate equipment for each sub-batch at each process, specifying the start time for each sub-batch at each process, and optimizing certain system performance indicators. The processing time for different workpieces on different equipment needs to be considered for line changeover. Compared to consistent batching, this problem also needs to consider inter-process transfers. Therefore, the following setting is made: before any sub-batch begins a process, all workpieces within it must have completed the processing of the previous process. For example, in the previous example, the first sub-batch with a sub-batch size of 4 in the second process can only begin processing after the first two sub-batches in the first process are completed; similarly, the second sub-batch with a sub-batch size of 6 in the second process can only begin processing after the last two sub-batches in the first process are completed.
[0148] The model in this embodiment has the following characteristics:
[0149] All devices are available at time 0;
[0150] All tasks can be started at time 0;
[0151] The processing sequence of a processing task is immutable, but there is no sequential constraint on the processing steps in different sub-batches;
[0152] Workpieces within each sub-batch of the task process must be processed continuously without interruption.
[0153] A sub-batch can only be transferred to the next process after all workpieces have completed one process.
[0154] A sub-batch in a certain process of a task can come from multiple sub-batches in the previous process. In this case, the processing of this sub-batch can only begin after the processing of these multiple sub-batches in the previous process is completed.
[0155] The device buffer is infinitely large, and transit time is ignored.
[0156] If a piece of equipment processes the same operation from different sub-batches of the same task sequentially, the setup time is ignored; otherwise, the setup time is not ignored.
[0157] The same equipment can only process one operation of a workpiece in a certain sub-batch within the same time period;
[0158] A workpiece in the same sub-batch can only be processed by a certain machine in one operation within the same time period.
[0159] The present invention provides an example of a three-layer encoding based on a hybrid genetic algorithm, as shown in Figure 2. The sub-batch size chromosome in the figure illustrates the batching of processing task 1 in the first three processes. The maximum allowable number of batches in these three processes is 3. If the total number of workpieces in processing task 1 is 10, then the batch size of the first sub-batch in the first process is 10*55 / (55+47+18), which is approximately 5 after rounding. Note that the batch size of the second sub-batch in the second process is 0, indicating that only two sub-batches were formed in the second process. The second element in the machine selection chromosome has a value of 1, indicating that the second sub-batch of task 1 is assigned to machine 1 for processing. The sub-batch process ordering chromosome specifies the decoding order. For example, if the fourth element is <1,2> appearing for the first time, it indicates that the first processing task is in the second sub-batch of the first process; if the sixth element is <1,2> appearing for the second time, it indicates that the first processing task is in the second sub-batch of the second process.
[0160] Decoding begins with the sub-batch chromosome. First, the corresponding sub-batch is located from the gene loci on the chromosome. Then, the batch size of the sub-batch is calculated based on the coding value of the sub-batch on the sub-batch size chromosome. Next, the machine assigned to the sub-batch is located from the machine allocation chromosome. Finally, the earliest processing time for the sub-batch on that machine is determined, and the sub-batch is assigned to that machine. It is worth noting that sub-batches in subsequent processes may be processed in parallel with sub-batches in the current process. Figure 3(a) shows the decoding when sub-batches cannot be processed simultaneously, and Figure 3(b) shows the decoding method used in this invention, where sub-batches O... 1,2,1 The batch size is 60, which is greater than the sub-batch size of 0. 1,1,1 Batch size, with sub-batch O 1,1,2 To O 1,2,1 The transfer, therefore, needs to be done in sub-batch O 1,1,1 and O 1,1,2 Once everything is complete, processing can begin. Clearly, this method can shorten the production cycle and improve equipment utilization.
[0161] Figure 4 is an example of using Cplex to solve batch optimization subproblems. It can be seen that the maximum completion time after optimization is reduced to half of the original time, which is a very significant effect.
[0162] The test case for the overall algorithm comes from a production workshop that processes small batches of large parts. The workshop has 52 machines, including 20 large CNC machine tools and 32 small machines. The processing time for parts is longer on the large machines and much shorter on the small machines. A certain production schedule includes 20 tasks with batch sizes of 3, 2, 3, 6, 5, 8, 2, 5, 2, 8, 2, 9, 2, 3, 2, 2, 5, 2, 2, 3. Traditional Genetic Algorithm (GA) and Hybrid Genetic Algorithm (HGA) were used to solve the problem. The statistical results of 10 runs are shown in Table 1. As can be seen from Table 1, for the optimal processing cycle, GA yielded a solution of 953 hours, while HGA yielded 810 hours, an improvement of approximately 17.6%. For the average, HGA improved by nearly 20%. The Gantt charts of the optimal solutions for the two algorithms are shown in Figure 5, which only shows the Gantt chart for the first 20 large machines. As can be seen from Figure 5, the solution obtained by HGA is more compact and has a higher equipment utilization rate, which is significantly better than the solution obtained by traditional GA.
[0163] Table 1. Results of solving engineering testing problems using GA and HGA
[0164]
[0165] Those skilled in the art will readily understand that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A flexible job shop scheduling method for inconsistent batch flow, characterized in that, The process includes the following steps: For the inconsistent batch flow flexible job shop scheduling problem, a task includes multiple workpieces with the same process. For each process in the task, the workpieces are divided into several sub-batches for processing, and the number of workpieces in each sub-batch is the sub-batch size. A mixed-integer linear programming model is constructed with the sub-batch size as one of the decision variables. An intelligent optimization algorithm is used to iteratively solve the mixed-integer linear programming model to obtain the flexible job shop scheduling method. During the iterative solution process, some elite solutions are selected from the intermediate solutions generated in each iteration. The machine allocation of each sub-batch and the processing order variables of each sub-batch on the machine are fixed in the elite solutions. The sub-batch size in the elite solutions is used as the optimization variable to construct a batch subproblem model. The batch subproblem model is solved to optimize the elite solutions. The optimized elite solutions replace the original elite solutions in the intermediate solutions, and the processed intermediate solutions are used to continue the next round of iteration.
2. The inconsistent batch flow flexible job shop scheduling method as described in claim 1, characterized in that, In the mixed-integer linear programming model, the goal is to minimize the maximum completion time. The objective function is defined by the following constraints: in, For the task The The first step of the process The number of workpieces in a sub-batch, i.e., the sub-batch quantity; For the task The total number of workpieces; 、 If it is a binary variable, ,but ,like ,but ; For the task The The first step of the process Number of workpieces in a sub-batch; If it is a binary variable, if the sub-batch Some of the workpieces in the batch come from sub-batch ,but ,otherwise , For the task The +1st process Individual batch, For the task The The first step of the process Individual batch; For the task The completion time, For the task The Steps The Individual batches in the machine The processing completion time on the surface For equipment The Completion time of the next run, It is a very large positive number; If the device is a binary variable, The The next run is a sub-batch of processing tasks. ,but ,otherwise ; The total number of tasks. For the task The total number of processes, For the task The Steps Maximum number of batches; It is a positive number that is greater than 0 and less than 1.
3. The inconsistent batch flow flexible job shop scheduling method as described in claim 2, characterized in that, The specific method for constructing the batch subproblem model is as follows: take minimizing the maximum completion time as the objective function; fix the machine allocation of each sub-batch in the elite solution and the value of the processing order variable of each sub-batch on the machine, and substitute the fixed values into the constraints of the mixed integer linear programming model to form the constraints of the batch subproblem model.
4. The inconsistent batch flow flexible job shop scheduling method as described in claim 3, characterized in that, The decision variables in a mixed-integer linear programming model include: task The The first step of the process Number of workpieces in each sub-batch ,Task Completion time ,Task The Steps The Individual batches in the machine Processing completion time ,equipment The Completion time of the next run and binary variables 、 、 The optimization variables for the batch subproblem model include: 、 、 、 and 。 5. The inconsistent batch flow flexible job shop scheduling method as described in claim 1, characterized in that, When using an intelligent optimization algorithm to iteratively solve a mixed-integer linear programming model, the initial solution is generated as follows: The initial solution is generated through a three-layer encoding and decoding method. The first layer of the encoding is a sub-batch size chromosome, which encodes the sub-batch size within the maximum sub-batch size range for each task in each process. The encoded value is a random integer between 0 and 100, and the ratio of the encoded value to the sum of the encoded values for all sub-batch sizes of the task is equal to the ratio of the corresponding sub-batch size to the total number of workpieces in the task. The second layer is a machine selection chromosome, where each value corresponds to the machine selection number for each sub-batch in the sub-batch size chromosome. The third layer is a sub-batch process ordering chromosome, using tuples to represent the elements in the encoding. The first number in the tuple represents the task number, the second number represents the sub-batch number, and the nth occurrence of the tuple in the encoding sequence represents the nth process.
6. The inconsistent batch flow flexible job shop scheduling method as described in claim 5, characterized in that, Decoding begins with sorting chromosomes in the sub-batch process. First, the corresponding sub-batch is found from the gene loci on the sorting chromosome. Then, the batch size of the sub-batch is calculated based on the coding value of the sub-batch on the sub-batch size chromosome. Next, the machine to which the sub-batch is assigned is found from the machine allocation chromosome. Finally, the earliest processing time of the sub-batch on that machine is determined.
7. The inconsistent batch flow flexible job shop scheduling method as described in claim 1, characterized in that, A mathematical programming solver is used to solve the batch subproblem model.
8. The inconsistent batch flow flexible job shop scheduling method as described in any one of claims 1-7, characterized in that, The intelligent optimization algorithm is a genetic algorithm, a particle swarm optimization algorithm, or a simulated annealing algorithm.
9. A flexible workshop scheduling system for inconsistent batch flow, characterized in that, Includes a processor for executing the inconsistent batch flow flexible job shop scheduling method as described in any one of claims 1-8.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the inconsistent batch flow flexible job shop scheduling method as described in any one of claims 1-8.
Citation Information
Patent Citations
Production scheduling method and device based on machine learning and storage medium
CN114358966A
Flexible job shop batch scheduling method based on multi-objective algorithm
CN115936342A
