Reconfigurable flexible job shop scheduling optimization method with secondary clamping constraint

By optimizing process sequencing, machine selection, and worker selection using mixed-integer linear programming and an improved multi-objective genetic algorithm, the resource allocation problem of secondary clamping operations in flexible workshops was solved, minimizing the maximum completion time and the number of workers, thereby improving production efficiency and flexibility.

CN121328980APending Publication Date: 2026-01-13WUHAN UNIV OF TECH

Patent Information

Application Number
CN202511327588.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-17
Publication Date
2026-01-13

AI Technical Summary

Technical Problem

Existing flexible workshop scheduling models fail to effectively integrate the dynamic constraints and optimal allocation of limited worker resources, resulting in scheduling schemes that are out of touch with actual needs. This is especially true in high-end equipment manufacturing, where frequent secondary clamping operations rely on manual labor, increasing labor costs and time consumption.

Method used

A mixed-integer linear programming model is adopted, combined with a three-segment coding mode and an improved multi-objective genetic algorithm, to optimize process sequencing, machine selection, and worker selection. By optimizing worker resource allocation through the key machine neighborhood structure, N6 neighborhood structure, and key worker neighborhood structure, the problem of secondary clamping is solved.

Benefits of technology

This minimizes the maximum completion time and the number of workers, improves production efficiency, reduces labor costs, and enhances the flexibility and efficiency of workshop production.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121328980A_ABST
    Figure CN121328980A_ABST
Patent Text Reader

Abstract

The invention discloses a reconfigurable flexible job shop scheduling optimization method with secondary clamping constraint, and relates to the technical field of intelligent manufacturing and production optimization. The method comprises the following steps of: 1) establishing a mixed integer linear programming model considering a reconfigurable flexible job shop scheduling problem of secondary clamping by taking minimization of maximum completion time and minimum number of chemical workers as targets; 2) designing a three-segment coding mode and a decoding mode corresponding to the mixed integer linear programming model based on process sorting, machine selection and worker selection; and 3) based on the three-segment coding mode and the decoding mode, adopting an improved multi-target genetic algorithm to solve an optimal scheduling scheme of the mixed integer linear programming model. According to the method, processing machine selection, auxiliary module selection, processing sequence sorting and secondary clamping worker selection of a manufacturing workshop can be considered at the same time, the workshop production efficiency is improved, and the method has the advantages of being good in model performance, small in result fluctuation and high in stability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of intelligent manufacturing and production optimization technology, specifically to a reconfigurable flexible job shop scheduling optimization method with secondary clamping constraints. Background Technology

[0002] With the continuous growth of market demand for product personalization and customization, manufacturing enterprises are rapidly evolving their production models towards multi-variety, small-batch production. Enhancing the flexibility of production systems has become a key strategy for enterprises to cope with dynamic market demands, which has also led to widespread academic attention to research on flexible job shop scheduling. Reconfigurable Flexible Job Shops (RFJS), with their integrated reconfigurable machine tools and replaceable auxiliary modules, significantly improve the ability of production systems to adapt to dynamic changes, making them a research hotspot. In RFJS, workpiece machining process constraints typically manifest as complex multi-dimensional collaborative optimization problems.

[0003] In high-end equipment manufacturing fields such as aerospace parts and precision molds, the complexity of workpiece geometry and stringent machining accuracy requirements often mean that a single clamping operation cannot complete all machining tasks. Taking shaft parts as an example, due to the spatial distribution characteristics of machining features, when the machining datum surface needs to be transformed or orthogonal feature surface machining is involved, it is necessary to reposition the clamping datum to ensure geometric tolerance accuracy, which inevitably requires secondary clamping operations. The specific operations of secondary clamping usually include steps such as "unloading the workpiece from the machine tool, flipping it, re-clamping and fixing it, and confirming the positioning accuracy." This process currently relies heavily on manual operation, with workers performing workpiece re-clamping, attitude adjustment, and positioning alignment, often requiring manual measurement verification with the machine tool probe. This strong dependence on human intervention is an unavoidable factor in scheduling models. However, traditional scheduling models often fail to effectively integrate the dynamic constraints and optimal allocation of limited worker resources into the scheduling framework, resulting in a disconnect between the generated scheduling scheme and actual needs.

[0004] Therefore, it is urgent to construct a reconfigurable flexible job shop scheduling model that can accurately describe the secondary clamping operation process and its time consumption. With the dual objectives of minimizing the maximum completion time and optimizing worker configuration, worker resource constraints should be explicitly incorporated into the model and used as one of the core optimization objectives to optimize labor resource allocation and reduce labor costs. Summary of the Invention

[0005] To overcome the shortcomings of the above-mentioned technologies, the purpose of this invention is to provide a reconfigurable flexible job shop scheduling optimization method with secondary clamping constraints, which solves the problem that the dynamic constraints and optimal configuration of limited worker resources cannot be effectively integrated into the scheduling framework in the reconfigurable flexible job shop scheduling model of the manufacturing workshop, thereby improving the workshop production efficiency.

[0006] To achieve the above objectives, the technical solution adopted by the present invention is as follows: A reconfigurable flexible job shop scheduling optimization method with secondary clamping constraints, characterized by the following steps: 1) To minimize the maximum completion time and the number of workers, a mixed-integer linear programming model is established for the reconfigurable flexible job shop scheduling problem that considers secondary clamping. 2) Based on process sequencing, machine selection, and worker selection, design a three-segment encoding and decoding mode corresponding to the mixed-integer linear programming model; 3) Based on the three-segment encoding mode and the decoding mode, an improved multi-objective genetic algorithm is used to solve the optimal scheduling scheme of the mixed-integer linear programming model; the solution process includes the following steps: 3.1) Based on the three-segment encoding pattern and the decoding pattern, generate an initial population; 3.2) Select individuals from the initial population for subsequent crossover and mutation operations; 3.3) Perform cross-processing on the selected individuals; 3.4) Perform mutation processing on the individuals after crossover; 3.5) After mutation, the individual was searched for neighborhood using the critical machine neighborhood structure, N6 neighborhood structure, and critical worker neighborhood structure in sequence. 3.6) When the set maximum number of iterations or the deadline is reached, output the optimal solution of the mixed-integer linear programming model as the optimal scheduling scheme; otherwise, regenerate a new population, use the new population as the new initial population, and repeat steps 3.2) to 3.6.

[0007] As a preferred embodiment, the reconfigurable flexible workshop includes reconfigurable machines and replaceable auxiliary modules.

[0008] As a preferred option, in step 1), the process of establishing the mixed integer linear programming model also includes setting assumptions, basic parameters, and constraints.

[0009] Furthermore, the assumptions include: There is no hierarchy of importance among the various tasks; Priority constraints exist between different operations within the same task, but there are no priorities between operations in different tasks; Each worker can only clamp one workpiece twice at a time. Each operation can only be performed on one machine; Each operation process must not be interrupted; All machines and auxiliary modules are available from time 0. Each auxiliary module can only be installed on one machine at a time.

[0010] As a preferred embodiment, the formulas for calculating the maximum completion time and the number of workers in the mixed-integer linear programming model are as follows: minf1=C max ; minf2=P total ; Among them, C max It is a continuous variable, representing the maximum completion time; P total f1 and f2 represent the maximum number of workers; f1 and f2 represent the optimization objectives.

[0011] Furthermore, the constraints include: Constraint 1: Ensure that each process is assigned to one available machine, and is assigned only once, i.e.: ; ; Where: x ijk It is a 0-1 variable; if workpiece i is processed in operation j on machine k, then it is 1; otherwise, it is 0. ijka Let k represent the set of machines that can be processed for process j of workpiece i. The set of machines includes machines that can be used to process process j of workpiece i and auxiliary modules that can cooperate with the machines to process process j of workpiece i. k≤m, where m is the total number of machines in the set of machines; a is the auxiliary module number, a≤l, where l is the total number of auxiliary modules in the set of machines. Constraint 2: For each process, select the available auxiliary modules on the available machines: ; ; Where: x ijk It is a 0-1 variable; if workpiece i is processed in operation j on machine k, then it is 1; otherwise, it is 0. ijkaw It is a 0-1 variable. If workpiece i is processed in operation j on machine k using auxiliary module a, and then clamped a second time by worker w, then it is 1; otherwise, it is 0. ijkaLet w represent the set of machines that can be processed for process j of workpiece i. The set of machines includes machines that can be used to process process j of workpiece i and auxiliary modules that can cooperate with the machines to process process j of workpiece i; w ≤ d, where d is the total number of workers who can perform secondary clamping. Constraint 3: The start time of the first operation of the workpiece cannot be earlier than the release time. ; Where: C i1 It is a continuous variable, representing the end time of the first processing step for workpiece i; t i1ka This represents the processing time of the first operation of workpiece i on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; y i1kaw It is a 0-1 variable. If the first process of workpiece i is processed on machine k using auxiliary module a and then clamped a second time by worker w, then it is 1; otherwise, it is 0. Constraint 4: Each workpiece can only be processed in one operation at a time. ; Where: C ij It is a continuous variable, representing the end time of process j for workpiece i; C ij-1 It is a continuous variable, representing the end time of operation j-1 for workpiece i; t ijka This represents the processing time of operation j on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; y ijkaw It is a 0-1 variable. If the workpiece i is processed by the auxiliary module a on the machine k in process j and is clamped a second time by the worker w, then it is 1; otherwise it is 0. Constraint 5: Each machine can only process one operation at a time.

[0012]

[0013] Where: C ij It is a continuous variable, representing the end time of process j for workpiece i; C i'j' It is a continuous variable, representing the end time of operation j' for workpiece i'; t ijka This represents the processing time of operation j on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; t i'j'ka' This represents the processing time of operation j' of workpiece i' on machine k using auxiliary module a'. When a'=0, it means that the machine is used directly without the auxiliary module; y ijkawIt is a 0-1 variable. If workpiece i is processed in operation j on machine k using auxiliary module a, and then clamped a second time by worker w, then it is 1; otherwise, it is 0. i'j'ka'w' It is a 0-1 variable. If workpiece i' is processed in operation j' using auxiliary module a' on machine k and then clamped a second time by worker w', then it is 1; otherwise, it is 0. iji'j' It is a 0-1 variable. On a certain machine, if the operation j of workpiece i is processed after the operation j' of workpiece i', it is 1; otherwise, it is 0. ψ represents the maximum value. Constraint 6: Each auxiliary module can only be installed on one machine at a time.

[0014]

[0015] Where: C ij It is a continuous variable, representing the end time of process j for workpiece i; C i'j' It is a continuous variable, representing the end time of operation j' for workpiece i'; t ijka This represents the processing time of operation j on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; t i'j'k'a This represents the processing time of operation j' of workpiece i' on machine k' using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; ijkaw It is a 0-1 variable. If workpiece i is processed in operation j on machine k using auxiliary module a, and then clamped a second time by worker w, then it is 1; otherwise, it is 0. i'j'k'aw' It is a 0-1 variable. If workpiece i' is processed in operation j' using auxiliary module a on machine k' and then clamped a second time by worker w', then it is 1; otherwise, it is 0. iji'j' These are 0-1 variables, using the same auxiliary module. If operation j of workpiece i is processed after operation j' of workpiece i', then the value is 1; otherwise, it is 0. ψ represents the maximum value. i,j Indicates the process j of workpiece i, O i ' ,j 'Represents the process j' of workpiece i; Constraint 7: Each worker can only perform two clamping operations on one workpiece at a time.

[0016]

[0017] Where: C ij It is a continuous variable, representing the end time of process j for workpiece i; C i'j'It is a continuous variable, representing the end time of operation j' for workpiece i'; t ijka This represents the processing time of operation j on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; t i'j'k'a' This represents the processing time of operation j' of workpiece i' on machine k' using auxiliary module a'. When a'=0, it means that the machine is used directly without the auxiliary module; y ijkaw It is a 0-1 variable. If workpiece i is processed in operation j on machine k using auxiliary module a, and then clamped a second time by worker w, then it is 1; otherwise, it is 0. i'j'k'a'w It is a 0-1 variable. If workpiece i' is processed in operation j' using auxiliary module a' on machine k' and then clamped a second time by worker w, then it is 1; otherwise, it is 0. ij1 This indicates the start time of operation j, where the worker performs a second clamping of workpiece i; tw ij2 This indicates the second clamping time in process j, where the worker clamps workpiece i for the second time; tw i'j'1 This indicates the start time of operation j', where the worker performs a second clamping of workpiece i'; tw i'j'2 θ represents the second clamping time of operation j' in which the worker clamps workpiece i' for the second time; iji'j' It is a 0-1 variable. For the same worker operating the process, if operation j of workpiece i is processed after operation j' of workpiece i', then it is 1; otherwise, it is 0. ψ represents the maximum value. i,j Indicates the process j of workpiece i, O i ' ,j 'Represents the process j' of workpiece i; Constraint 8: Define the maximum completion time C max :

[0018] Where: C max It is a continuous variable, representing the maximum completion time; C i,J It is a continuous variable, representing the end time of the last processing step of workpiece i.

[0019] As a preferred embodiment, in step 2), the three-segment encoding mode includes a three-layer solution space encoding of process sequencing, machine selection, and worker selection. The three-layer solution space encoding includes a process layer (OL), a machine configuration layer (RL), and a worker layer (WL), arranged sequentially. The OL layer represents the sequence of processes to be processed on the workpiece through process selection vectors. The RL layer represents the machine and its assembled auxiliary modules used for the corresponding process in the process selection vector through machine selection vectors. The WL layer represents the worker used for the secondary clamping operation in the corresponding process in the process selection vector through worker selection vectors. Considering the four issues of process sequencing, machine selection, worker selection, and auxiliary module selection, and considering the correlation between machine selection and auxiliary module selection (auxiliary modules need to be on the machine to operate), the two issues can be combined. Therefore, this invention adopts a three-layer solution space encoding based on process sequencing, machine selection, and worker selection.

[0020] Furthermore, the process selection vector is represented using a string of numbers, where the numbers represent workpiece numbers and the number of times a number appears indicates the sequence number of the process to be processed; the machine selection vector uses multiple...<k,a> In this context, k represents the machine number, and a represents the auxiliary module number. The worker selection vector is represented by a string of numbers, where 0 indicates that no worker is used for secondary clamping operations, and other numbers represent the worker numbers used for secondary clamping operations. After all the worker numbers used for secondary clamping operations in all processes to be processed are exhausted, one more number is added, and the last added number represents the maximum number of workers.

[0021] Furthermore, the decoding mode in step 2) includes the following steps: The operation sequence of all processes to be processed is determined based on the process selection vector. The machine selection vector is used to read the configuration of the processing machine and auxiliary modules corresponding to the process to be processed; The worker selection vector is used to read the secondary clamping worker selection configuration for the corresponding processing step. Set workpiece timer TJ i Machine Timer™ m Auxiliary module timer TA a and worker timer TW w This records the final completion time of the corresponding workpiece, machine, auxiliary module, and worker. When calculating the time for each process, the maximum value among the four timers is selected as the start time (CP) of that process segment. ij Adding the processing time t of each process segment ij Obtain the completion time C of this process segment. ij Then complete the time C ij Update to the corresponding timer; Finally, after calculating the time for all process segments, output the process time P of the optimal scheduler. val The optimal output scheduling gene S, and the scheduling process time T for each individual in the population. objv The individual is composed of a process selection vector and its corresponding machine selection vector and worker selection vector; the population is composed of multiple individuals.

[0022] As a preferred embodiment, step 3.1) includes generating a high-quality initial population using a hybrid greedy initialization method based on the initial population size and encoding method, to promote rapid convergence of the algorithm; the population consists of multiple individuals; each individual consists of a process selection vector and its corresponding machine selection vector and worker selection vector; wherein: When generating the process selection vector, it is randomly generated based on the workpiece process to be processed. When generating the machine selection vector, a machine load counter is set to record the workload of each machine. The available machine set is determined according to the process selection vector. The machine and auxiliary module with the shortest time to complete the corresponding process are selected as the processing machine and encoded by the machine load counter. The machine load counter is then updated. When generating the worker selection vector, a worker load counter is set to record the workload of each worker. The worker with the shortest time is selected for secondary clamping based on the worker load counter, and the worker load counter is updated.

[0023] As a preferred option, in step 3.2), the method used to select individuals from the initial population is the tournament selection method.

[0024] As a preferred option, in step 3.3), the cross-processing adopts the POX cross-processing method; during the cross-processing, in actual operation, only the first layer OL in the three-segment coding mode is cross-processed, while the second layer RL and the third layer WL are cross-processed synchronously through the index OL layer.

[0025] As a preferred embodiment, step 3.4) includes mutating the worker layer (WL) of the cross-processed individuals; the mutation process includes determining the workspace (O) of the corresponding process by deciphering the first layer (OL). ij If O ij If there are multiple machines to choose from, then the mutation is performed on the other machines.

[0026] As a preferred embodiment, in step 3.5), the key machine is the machine with the highest and lowest load; the key worker is the worker with the shortest processing time; the specific operation of the neighborhood search includes: Critical Machine Neighborhood Structure Neighborhood Search: Record the load of each machine, identify the machines with the highest and lowest loads, i.e., critical machines; identify the processes being processed on the machine with the highest load, and transfer them to the machine with the lowest load; compared with traditional methods, this method reduces the number of machine replacements, only searches the machine with the highest load, and effectively shortens the neighborhood search time. N6 Neighborhood Structure Neighborhood Search: Find the critical path in the entire schedule, and define multiple adjacent processes processed on the same machine in the critical path as process blocks; insert the processes within the process block before the first process of the block, or insert the processes within the block after the last process of the block; using N6 neighborhood can effectively expand the neighborhood space and increase the possibility of finding a better solution. Key worker neighborhood structure neighborhood search: Record the processing time of each worker, find the worker with the shortest processing time, i.e., the key worker; optimize the process of the key worker, transfer all the processes of the key worker to the worker with the second shortest processing time, so as to directly reduce the number of workers and achieve the purpose of optimizing the number of workers.

[0027] Furthermore, in step 3.6), the deadline is m×n×10 seconds, where m represents the number of machines and n represents the number of workpieces.

[0028] Compared with the prior art, the beneficial effects of the present invention are as follows: This invention provides a reconfigurable flexible job shop scheduling optimization method with secondary clamping constraints, which solves the problem that the reconfigurable flexible job shop scheduling model in manufacturing workshops fails to effectively integrate the dynamic constraints and optimal configuration of limited worker resources into the scheduling framework. It can simultaneously solve four problems in manufacturing workshops: selection of processing machines, selection of auxiliary modules, sequencing of processing order, and selection of workers for secondary clamping, thereby improving workshop production efficiency. The model used in the optimization method of this invention has the advantages of good performance, small result fluctuation, and high stability. Attached Figure Description

[0029] Figure 1 This is a flowchart illustrating a reconfigurable flexible job shop scheduling optimization method with secondary clamping constraints according to the present invention. Figure 2 This is a schematic diagram of the three-segment coding mode of a reconfigurable flexible job shop scheduling optimization method with secondary clamping constraints according to the present invention; Figure 3 This is a schematic diagram of the improved multi-objective genetic algorithm solution process for a reconfigurable flexible job shop scheduling optimization method with secondary clamping constraints according to the present invention. Figure 4 This is a graph showing the verification results of the anti-generational distance evaluation index for comparing multiple algorithms in a specific embodiment of the present invention; Figure 5 This is a graph showing the verification results of the hypervolume index for comparing multiple algorithms in a specific embodiment of the present invention; Figure 6 This is a graph showing the test results of multiple algorithms compared in a specific embodiment of the present invention. Figure 7 The figure shows the test results of an engineering case comparing the results of considering and not considering secondary clamping constraints in a specific embodiment of the present invention. Detailed Implementation

[0030] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present invention.

[0031] like Figure 1 As shown, the present invention provides a reconfigurable flexible job shop scheduling optimization method with secondary clamping constraints, comprising the following steps: 1) Set assumptions, basic parameters, and constraints, and establish a mixed-integer linear programming model for the reconfigurable flexible job shop scheduling problem considering secondary clamping, with the objectives of minimizing the maximum completion time and minimizing the number of workers; the reconfigurable flexible job shop includes reconfigurable machines and replaceable auxiliary modules.

[0032] The assumptions include: there is no hierarchy of importance among various tasks; there are priority constraints among various operations within the same task, but no priority among operations of different tasks; each worker can only perform a second clamping on one workpiece at a time; each operation can only be performed on one machine; each operation process cannot be interrupted; all machines and auxiliary modules are available from time 0; each auxiliary module can only be installed on one machine at a time.

[0033] The formulas for calculating the maximum completion time and the number of workers in a mixed-integer linear programming model are as follows: minf1=C max ; minf2=P total ; Among them, C max It is a continuous variable, representing the maximum completion time; P total f1 and f2 represent the maximum number of workers; f1 and f2 represent the optimization objectives.

[0034] The constraints include: Constraint 1: Ensure that each process is assigned to one available machine, and is assigned only once, i.e.: ; ; Where: x ijk It is a 0-1 variable; if workpiece i is processed in operation j on machine k, then it is 1; otherwise, it is 0. ijka Let i represent the set of machines that can be processed for operation j of workpiece i. The set of machines that can be processed includes machines that can be used to process operation j of workpiece i and auxiliary modules that can cooperate with machines to process operation j of workpiece i. i is the workpiece number, j is the operation number, k is the machine number, k≤m, m is the total number of machines in the set of machines that can be processed, and a is the auxiliary module number, a≤l, l is the total number of auxiliary modules in the set of machines that can be processed.

[0035] Constraint 2: For each process, select the available auxiliary modules on the available machines: ; ; Where: x ijk It is a 0-1 variable; if workpiece i is processed in operation j on machine k, then it is 1; otherwise, it is 0. ijkaw It is a 0-1 variable. If workpiece i is processed in operation j on machine k using auxiliary module a, and then clamped a second time by worker w, then it is 1; otherwise, it is 0. ijka Let w represent the set of machines that can be processed for operation j of workpiece i. The set of machines includes machines that can be used to process operation j of workpiece i and auxiliary modules that can cooperate with the machines to process operation j of workpiece i. w is the worker number, w≤d, and d is the total number of workers that can perform secondary clamping. The set of machines that can be processed includes machines and auxiliary modules that can realize the processing of the corresponding operation of the corresponding workpiece, that is, the machines and auxiliary modules have the function of processing the corresponding operation.

[0036] Constraint 3: The start time of the first operation of the workpiece cannot be earlier than the release time. ; Where: C i1 It is a continuous variable, representing the end time of the first processing step for workpiece i; t i1ka This represents the processing time of the first operation of workpiece i on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; y i1kaw It is a 0-1 variable. If the first process of workpiece i is processed on machine k using auxiliary module a and then clamped a second time by worker w, then it is 1; otherwise, it is 0.

[0037] Constraint 4: Each workpiece can only be processed in one operation at a time. ; Where: Cij It is a continuous variable, representing the end time of process j for workpiece i; C ij-1 It is a continuous variable, representing the end time of operation j-1 for workpiece i; t ijka This represents the processing time of operation j on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; y ijkaw It is a 0-1 variable. If the workpiece i is processed by the auxiliary module a on the machine k in process j and is clamped a second time by the worker w, then it is 1; otherwise, it is 0.

[0038] Constraint 5: Each machine can only process one operation at a time.

[0039]

[0040] Where: C ij It is a continuous variable, representing the end time of process j for workpiece i; C i'j' It is a continuous variable, representing the end time of operation j' for workpiece i'; t ijka This represents the processing time of operation j on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; t i'j'ka' This represents the processing time of operation j' of workpiece i' on machine k using auxiliary module a'. When a'=0, it means that the machine is used directly without the auxiliary module; y ijkaw It is a 0-1 variable. If workpiece i is processed in operation j on machine k using auxiliary module a, and then clamped a second time by worker w, then it is 1; otherwise, it is 0. i'j'ka'w' It is a 0-1 variable. If workpiece i' is processed in operation j' using auxiliary module a' on machine k and then clamped a second time by worker w', then it is 1; otherwise, it is 0. iji'j' It is a 0-1 variable. On a certain machine, if the operation j of workpiece i is processed after the operation j' of workpiece i', it is 1; otherwise, it is 0. ψ represents the maximum value.

[0041] Constraint 6: Each auxiliary module can only be installed on one machine at a time.

[0042]

[0043] Where: C ij It is a continuous variable, representing the end time of process j for workpiece i; C i'j' It is a continuous variable, representing the end time of operation j' for workpiece i'; t ijkaThis represents the processing time of operation j on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; t i'j'k'a This represents the processing time of operation j' of workpiece i' on machine k' using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; ijkaw It is a 0-1 variable. If workpiece i is processed in operation j on machine k using auxiliary module a, and then clamped a second time by worker w, then it is 1; otherwise, it is 0. i'j'k'aw' It is a 0-1 variable. If workpiece i' is processed in operation j' using auxiliary module a on machine k' and then clamped a second time by worker w', then it is 1; otherwise, it is 0. iji'j' These are 0-1 variables, using the same auxiliary module. If operation j of workpiece i is processed after operation j' of workpiece i', then the value is 1; otherwise, it is 0. ψ represents the maximum value. i,j Indicates the process j of workpiece i, O i ' ,j 'Represents the process j of workpiece i'.

[0044] Constraint 7: Each worker can only perform two clamping operations on one workpiece at a time.

[0045]

[0046] Where: C ij It is a continuous variable, representing the end time of process j for workpiece i; C i'j' It is a continuous variable, representing the end time of operation j' for workpiece i'; t ijka This represents the processing time of operation j on machine k using auxiliary module a. When a=0, it means that the machine is used directly without the auxiliary module; t i'j'k'a' This represents the processing time of operation j' of workpiece i' on machine k' using auxiliary module a'. When a'=0, it means that the machine is used directly without the auxiliary module; y ijkaw It is a 0-1 variable. If workpiece i is processed in operation j on machine k using auxiliary module a, and then clamped a second time by worker w, then it is 1; otherwise, it is 0. i'j'k'a'w It is a 0-1 variable. If workpiece i' is processed in operation j' using auxiliary module a' on machine k' and then clamped a second time by worker w, then it is 1; otherwise, it is 0. ij1 This indicates the start time of operation j, where the worker performs a second clamping of workpiece i; tw ij2 This indicates the second clamping time in process j, where the worker clamps workpiece i for the second time; tw i'j'1 This indicates the start time of operation j', where the worker performs a second clamping of workpiece i'; tw i'j'2θ represents the second clamping time of operation j' in which the worker clamps workpiece i' for the second time; iji'j' It is a 0-1 variable. For the same worker operating the process, if operation j of workpiece i is processed after operation j' of workpiece i', then it is 1; otherwise, it is 0. ψ represents the maximum value. i,j Indicates the process j of workpiece i, O i ' ,j 'Represents the process j of workpiece i'.

[0047] Constraint 8: Define the maximum completion time C max :

[0048] Where: C max It is a continuous variable, representing the maximum completion time; C i,J It is a continuous variable, representing the end time of the last processing step of workpiece i.

[0049] 2) Based on process sequencing, machine selection, and worker selection, design a three-segment encoding and decoding mode corresponding to the mixed-integer linear programming model; like Figure 2 As shown, the three-segment encoding mode includes a three-layer solution space encoding of process sequencing, machine selection, and worker selection. The three-layer solution space encoding includes a process layer (OL), a machine configuration layer (RL), and a worker layer (WL), set sequentially. The OL layer represents the order of the workpiece's processing steps through process selection vectors. These process selection vectors are represented by numeric strings, where the numbers represent the workpiece number and the number of occurrences of the numbers represents the process sequence number. The RL layer represents the machine and its assembled auxiliary modules used for the corresponding processing step in the process selection vector. Multiple machine selection vectors are used for each processing step.<k,a> In this context, k represents the machine number and a represents the auxiliary module number. The WL layer uses a worker selection vector to represent the workers used for secondary clamping operations in the corresponding processing steps. The worker selection vector is represented by a string of numbers. In the numbers, 0 indicates that no worker is used for secondary clamping operations, and other numbers represent the worker numbers used for secondary clamping operations. After all the worker numbers used for secondary clamping operations in all processing steps are added, one digit is added. The last added digit represents the maximum number of workers.

[0050] This invention considers four issues: process sequencing, machine selection, worker selection, and auxiliary module selection. Given the correlation between machine selection and auxiliary module selection (auxiliary modules require machines to operate), these two issues can be combined. Therefore, this invention employs a three-layer partial solution space encoding based on process sequencing, machine selection, and worker selection. Figure 2 A diagram illustrating the encoding is shown, in which M... k A a Ww These represent machine k, auxiliary module a, and worker w, respectively. Figure 2 In this code, the OL (Operational Process) layer is the first layer, specifying the order of parts. Each number represents the part number, and the frequency of each number represents the operation number. For example, the second digit 3 and the fourth digit 3 represent the first and second operations of part 3, respectively, and so on. The second layer is the RL (Machine Configuration) layer, indicating whether a machine with or without auxiliary modules is used to process the corresponding operation. For example, <1, 2> indicates that machine 1 assembles auxiliary module 2 for processing, and 0 indicates that no auxiliary module is used. The third layer is the WL (Worker) layer, which represents the arrangement of workers operating the machines. 0 indicates that no workers are used for operation. For example, the second digit 1 indicates that worker 1 performs the second clamping operation of the first operation of part 3. Since the number of workers is also one of the optimization objectives of this problem, to ensure that the worker arrangement in the third layer does not exceed the boundary, the last digit is set to represent the maximum number of workers.

[0051] The decoding mode includes the following steps: The operation sequence of all processes to be processed is determined based on the process selection vector; The machine and auxiliary module configurations for the corresponding processing steps are read by selecting the vector. The worker selection configuration for the secondary clamping process is read by the worker selection vector. Set workpiece timer TJ i Machine Timer™ m Auxiliary module timer TA a and worker timer TW w This records the final completion time of the corresponding workpiece, machine, auxiliary module, and worker. When calculating the time for each process, the maximum value among the four timers is selected as the start time (CP) of that process segment. ij Adding the processing time t of each process segment ij Obtain the completion time C of this process segment. ij Then complete the time C ij Update to the corresponding timer; Finally, after calculating the time for all process segments, output the process time P of the optimal scheduler. val The optimal output scheduling gene S, and the scheduling time T for each individual in the population. objv Each individual consists of a process selection vector and its corresponding machine selection vector and worker selection vector; the population consists of multiple individuals.

[0052] 3) Based on the three-segment encoding mode and decoding mode, an improved multi-objective genetic algorithm is used to solve the optimal scheduling scheme of the mixed integer linear programming model.

[0053] like Figure 3As shown, step 3) includes the following steps: 3.1) Based on the three-segment encoding and decoding modes, a hybrid greedy initialization method is adopted to generate a high-quality initial population according to the initial population size and encoding method, so as to promote the rapid convergence of the algorithm; the population consists of multiple individuals; each individual consists of a process selection vector and its corresponding machine selection vector and worker selection vector; wherein: When generating the process selection vector, it is randomly generated based on the workpiece process to be processed. When generating the machine selection vector, a machine load counter is set to record the workload of each machine. The available machine set is determined based on the process selection vector. The machine and auxiliary module with the shortest time to complete the corresponding process are selected as the processing machine and encoded using the machine load counter. The machine load counter is then updated. When generating the worker selection vector, a worker load counter is set to record the workload of each worker. The worker with the shortest time is selected for secondary clamping based on the worker load counter, and the worker load counter is updated.

[0054] 3.2) Select individuals from the initial population for subsequent crossover and mutation operations.

[0055] Individuals were selected from the initial population using a tournament selection method for subsequent crossover and mutation operations.

[0056] 3.3) Perform cross-processing on the selected individuals.

[0057] The individuals selected in step 3.2) are cross-processed using the POX cross-processing method; in actual operation, only the first layer OL in the three-segment coding pattern is cross-processed, while the second layer RL and the third layer WL are cross-processed synchronously through the index OL layer.

[0058] 3.4) Perform mutation processing on the individuals after crossover.

[0059] The worker layer (WL) of the individuals after cross-processing in step 3.3) is mutated, and the workspace (O) of the corresponding process is determined by deciphering the OL layer. ij If O ij If there are multiple machines to choose from, then the mutation is performed on the other machines.

[0060] 3.5) For the mutated individuals, the critical machine neighborhood structure, N6 neighborhood structure, and critical worker neighborhood structure are used sequentially for neighborhood search.

[0061] The neighborhood search is performed using a critical machine neighborhood structure; the critical machines are the machines with the highest and lowest loads. The specific operation is as follows: first, record the load of each machine, and find the machines with the highest and lowest loads, i.e., the critical machines; then, find the processes being processed on the machine with the highest load and transfer them to the machine with the lowest load. Compared with traditional methods, this method reduces the number of machine replacements, only searches the machine with the highest load, and effectively shortens the neighborhood search time.

[0062] The N6 neighborhood structure is used for neighborhood search. Specifically, the critical path in the entire schedule is first found, and multiple adjacent operations processed on the same machine within the critical path are defined as operation blocks. Operations within a block are inserted before the first operation of the block, or after the last operation of the block. Using the N6 neighborhood can effectively expand the neighborhood space and increase the possibility of finding a better solution.

[0063] The neighborhood search is performed using a critical worker neighborhood structure. The critical worker is the worker with the shortest processing time. Specifically, the cumulative processing time of each worker in the current individual is recorded, and the worker with the shortest cumulative processing time is identified as the critical worker. The processes processed by the critical worker are optimized by transferring all of their processes to the worker with the second shortest cumulative processing time. This directly reduces the number of workers and achieves the goal of optimizing the number of workers.

[0064] 3.6) When the set maximum number of iterations or the deadline is reached, output the optimal solution of the mixed-integer linear programming model as the optimal scheduling scheme; otherwise, regenerate a new population, use the new population as the new initial population, and repeat steps 3.2) to 3.6). The deadline can be referenced as m×n×10 seconds, where m represents the number of machines and n represents the number of workpieces.

[0065] To verify the effectiveness and superiority of the improved multi-objective genetic algorithm for solving the optimization model, the test case of this invention was established by adding auxiliary modules and worker parameters, with reference to the mk1-mk15 case proposed by BRdata. The specific test computing power parameter settings range is shown in Table 1.

[0066] Table 1: Test Computing Power Parameters

[0067] In Table 1, n job Indicates the number of workpieces; n mac Indicates the number of machines; n op The numbers in m represent the minimum and maximum number of operations for each process, respectively; eq Indicates the maximum number of equivalent machines per operation; t proc The numbers in n represent the minimum and maximum processing times for each operation, respectively; nam Indicates the number of auxiliary modules.

[0068] The present invention establishes a mixed-integer linear programming model for the reconfigurable flexible job shop scheduling problem considering secondary clamping, and solves it using the improved multi-objective genetic algorithm IMOGA. The model is compared with the classic optimization algorithms Particle Swarm Optimization (PSO), Simulated Annealing (SA), and Ant Colony Optimization (ACO) to solve the reconfigurable flexible job shop scheduling problem with secondary clamping constraints, which aims to minimize the maximum completion time and the number of workers.

[0069] All algorithms were run on a PC with a 12th Gen Intel® Core™ i7-12800HX processor (2.00GHz), 16GB of RAM, and Windows 11 operating system, in MATLAB 2024a. For fairness, 15 cases of varying sizes were computed, each run independently 5 times. The termination criterion was m×n×10 seconds, and the best solution was selected, where m represents the number of machines and n represents the number of jobs. All algorithms used the same initialization method, decoding method, and crossover / mutation strategy.

[0070] To evaluate the performance of the multi-objective algorithm, the Inverted Generational Distance (IGD) and Hypervolume (HV) metrics were selected as evaluation metrics.

[0071] IGD is a metric for evaluating the convergence and diversity of Pareto fronts. The performance of an algorithm is evaluated by calculating the Euclidean distance to the true Pareto front; a smaller IGD value indicates better algorithm performance.

[0072] HV is a widely used metric for evaluating the convergence and distribution of Pareto fronts. HV is evaluated by calculating the volume of the region in the target space enclosed by the non-dominated solution set obtained by the algorithm and the reference point. The larger the HV value, the better the overall performance of the algorithm.

[0073] In solving the reconfigurable flexible job shop scheduling problem with quadratic clamping constraints, which aims to minimize the maximum completion time and the number of workers, this invention, along with Particle Swarm Optimization (PSO), Simulated Annealing (SA), and Ant Colony Optimization (ACO), yields the calculation results of IGD and HV as follows: Figure 4 and Figure 5 .

[0074] like Figure 4As shown, by observing the box plot of IGD, it can be found that the improved multi-objective genetic algorithm of this invention has the lowest median and the narrowest box (IQR), with almost all points clustered in a very small range. This not only achieves the lowest average IGD but also demonstrates the most stable performance and the least fluctuation. Figure 5 As shown, observing the box plot and experimental data of HV reveals that the experimental data of the improved multi-objective genetic algorithm of this invention consistently show the highest HV values. Observing the HV values ​​of different cases, it is found that the absolute difference in HV levels continues to widen as the case size increases. In summary, among the four algorithms, the improved multi-objective genetic algorithm of this invention exhibits stronger robustness and outperforms the other three algorithms.

[0075] Engineering Cases To further verify the effectiveness of the improved multi-objective genetic algorithm of this invention in engineering cases, test cases were established using parameters from an automotive differential manufacturing workshop. The improved multi-objective genetic algorithm of this invention was used to solve the problem, and the classic optimization algorithms, Particle Swarm Optimization (PSO), Simulated Annealing (SA), and Ant Colony Optimization (ACO), were used as comparison algorithms to solve the reconfigurable flexible job shop scheduling problem with quadratic clamping constraints, which aims to minimize the maximum completion time and the number of workers.

[0076] The engineering example data is shown in Table 2. The parts in the table are all shaft parts, and their processing has the following characteristics: some processes require secondary clamping; some processes can use auxiliary modules to improve processing efficiency. For example, the third process of workpiece 1 takes 10 seconds to process on machine 1, but only 8 seconds with the help of auxiliary module A1; in addition, there are also processes that must rely on specific auxiliary modules to be completed. For example, the fourth process of workpiece 1 must be processed on machine 3 using auxiliary module A2.

[0077] Table 2: Engineering Example Data

[0078] In the table, A a This represents auxiliary module a.

[0079] The engineering case was processed independently 10 times, with a termination criterion of m×n×10 seconds. The best solution was selected, where m represents the number of machines and n represents the number of jobs. All algorithms used the same initialization method, decoding method, and crossover / mutation strategy. IGD and HV were chosen as evaluation metrics to assess the performance of the multi-objective algorithm. The results are as follows: Figure 6 As shown. Observation Figure 6The box plots show that the improved multi-objective genetic algorithm of this invention significantly outperforms other algorithms in both IGD and HV. In the IGD box plot, the improved multi-objective genetic algorithm of this invention has the lowest median (lowest IGD), the narrowest box (IQR), and the shortest distance between the upper and lower edges, indicating that the improved multi-objective genetic algorithm of this invention not only has the best average performance, but also the smallest fluctuation and the most stable results.

[0080] To verify the actual impact of secondary clamping on production scheduling, the improved multi-objective genetic algorithm of this invention was used to calculate the scheduling problem in two cases for the above engineering case: 1) considering secondary clamping constraints; 2) not considering secondary clamping constraints. Both cases were run independently 20 times. For the result without considering secondary clamping, based on the actual processing requirements of each workpiece during the implementation of this scheme, necessary secondary clamping time was forcibly added between corresponding processes, and the actual maximum completion time was recalculated. The calculation results are shown below. Figure 7 .

[0081] observe Figure 7 The Pareto front comparison reveals that the scheme without considering secondary clamping performs better in terms of worker number, but other Pareto fronts are dominated by the scheme considering secondary clamping constraints. This is because the neighborhood structure design based on key workers in the algorithm can optimize worker configuration and reduce the number of workers, but without considering secondary clamping time, actual execution will inevitably result in efficiency losses. The calculation results show that secondary clamping is a common phenomenon in shop floor scheduling; considering its impact can reduce the maximum completion time by approximately 56%.

[0082] In summary, the method of the present invention has the advantages of good performance, small result fluctuation and high stability. It can effectively handle the scheduling problem of secondary clamping constraints, take into account process sequencing, machine selection and worker selection, reduce overall production costs and improve resource utilization, and improve production efficiency.

[0083] This invention introduces the constraint of "worker secondary clamping" during modeling, taking into account the coupling relationship between workers, machines, and auxiliary modules, and establishes a mixed-integer linear programming model that is closer to the actual production environment. This avoids the shortcomings of traditional models that only consider machine allocation and ignore human intervention, thereby improving the feasibility and engineering applicability of the scheduling scheme.

[0084] This invention employs a three-tiered coding model—process layer, machine configuration layer, and worker layer—to simultaneously represent the process execution sequence, machine-auxiliary module configuration scheme, and worker secondary clamping arrangement. This achieves unified modeling of multi-dimensional resources and enhances the ability to express complex constraint problems. In particular, coupling machine selection with auxiliary module selection reduces redundant coding and improves search efficiency.

[0085] During the decoding process, this invention ensures dynamic coordination of multiple resource usage conflicts through parallel updates of workpieces, machines, auxiliary modules, and worker timers, making the scheduling results more reasonable and avoiding resource conflict problems caused by simply relying on process sequencing methods.

[0086] This invention introduces a hybrid greedy initialization method, which effectively improves the quality of the initial population and shortens the convergence time of the algorithm; it adopts tournament selection and POX crossover to maintain the diversity of the population; it designs multiple neighborhood search strategies (critical machine neighborhood, N6 neighborhood, critical worker neighborhood) for process allocation, machine load and number of workers, which significantly improves the scope of the knowledge space and the ability to escape local optima; this invention takes maximum completion time and number of workers as dual objectives, taking into account both production efficiency and personnel utilization, and finally obtains a balanced and feasible scheduling scheme.

[0087] By optimizing machine load distribution, auxiliary module usage, and worker secondary clamping arrangements, this invention can not only shorten the maximum completion time but also effectively reduce the number of workers, thereby reducing labor costs and improving overall resource utilization while ensuring production rhythm.

[0088] The method of this invention has good scalability, can adapt to different scales of machine numbers, workpiece numbers and worker numbers, and can be extended to scheduling optimization problems that include other auxiliary constraints, and has strong promotion and application value.

[0089] The above description is merely a preferred embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent structural transformations made using the contents of the present invention's specification and drawings under the inventive concept of the present invention, or direct / indirect applications in other related technical fields, are included within the patent protection scope of the present invention.

Claims

1. A method for optimizing the scheduling of a reconfigurable flexible job shop with secondary clamping constraints, characterized in that: Includes the following steps: 1) To minimize the maximum completion time and the number of workers, a mixed-integer linear programming model is established for the reconfigurable flexible job shop scheduling problem that considers secondary clamping. 2) Based on process sequencing, machine selection, and worker selection, design a three-segment encoding and decoding mode corresponding to the mixed-integer linear programming model; 3) Based on the three-segment encoding mode and the decoding mode, an improved multi-objective genetic algorithm is used to solve the optimal scheduling scheme of the mixed integer linear programming model; The solution process Includes the following steps: 3.1) Based on the three-segment encoding pattern and the decoding pattern, generate an initial population; 3.2) Select individuals from the initial population; 3.3) Perform cross-processing on the selected individuals; 3.4) Perform mutation processing on the individuals after crossover; 3.5) After mutation, the individual was searched for neighborhood using the critical machine neighborhood structure, N6 neighborhood structure, and critical worker neighborhood structure in sequence. 3.6) When the set maximum number of iterations or the deadline is reached, output the optimal solution of the mixed-integer linear programming model as the optimal scheduling scheme; otherwise, regenerate a new population, use the new population as the new initial population, and repeat steps 3.2) to 3.

6.

2. The reconfigurable flexible job shop scheduling optimization method according to claim 1, characterized in that: In step 1), the process of establishing the mixed integer linear programming model also includes setting assumptions and constraints.

3. The reconfigurable flexible job shop scheduling optimization method according to claim 2, characterized in that: The assumptions include: There is no hierarchy of importance among the various tasks; Priority constraints exist between different operations within the same task, but there are no priorities between operations in different tasks; Each worker can only clamp one workpiece twice at a time. Each operation can only be performed on one machine; Each operation process must not be interrupted; All machines and auxiliary modules are available from time 0. Each auxiliary module can only be installed on one machine at a time.

4. The reconfigurable flexible job shop scheduling optimization method according to claim 2, characterized in that: The constraints include: Ensure that each process is assigned to an available machine, and is assigned only once; For each process, select the available auxiliary modules on the available machines; The start time of the first process of a workpiece must not be earlier than the release time; Each workpiece can only be processed in one operation at a time; Each machine can only process one procedure at a time; Each auxiliary module can only be installed on one machine at a time; Each worker can only clamp one workpiece twice at a time. Define the maximum completion time C max : Where: C max It is a continuous variable, representing the maximum completion time; C i,J It is a continuous variable, representing the end time of the last processing step of workpiece i.

5. The reconfigurable flexible job shop scheduling optimization method according to claim 1, characterized in that: In step 2), the three-segment encoding mode includes a three-layer solution space encoding of process sequencing, machine selection, and worker selection; the three-layer solution space encoding includes an OL layer, an RL layer, and a WL layer set sequentially; the OL layer represents the workpiece to be processed through the process selection vector; the RL layer represents the machine and its assembled auxiliary modules used for the corresponding process to be processed in the process selection vector through the machine selection vector; the WL layer represents the worker used for the secondary clamping operation in the corresponding process to be processed in the process selection vector through the worker selection vector.

6. The reconfigurable flexible job shop scheduling optimization method according to claim 5, characterized in that: The process selection vector is represented by a string of numbers, where the numbers represent workpiece numbers and the frequency of the numbers indicates the sequence number of the process to be processed; the machine selection vector uses multiple...<k,a> In this context, k represents the machine number, and a represents the auxiliary module number. The worker selection vector is represented by a string of numbers, where 0 indicates that no worker is used for secondary clamping operations, and other numbers represent the worker numbers used for secondary clamping operations. After all the worker numbers used for secondary clamping operations in all processes to be processed are exhausted, one more number is added, and the last added number represents the maximum number of workers.

7. The reconfigurable flexible job shop scheduling optimization method according to claim 5, characterized in that: In step 2), the decoding mode includes the following steps: The operation sequence of all processes to be processed is determined based on the process selection vector. The machine selection vector is used to read the configuration of the processing machine and auxiliary modules corresponding to the process to be processed; The worker selection vector is used to read the secondary clamping worker selection configuration for the corresponding processing step. Set workpiece timer TJ i Machine Timer™ m Auxiliary module timer TA a and worker timer TW w This records the final completion time of the corresponding workpiece, machine, auxiliary module, and worker. When calculating the time for each process, the maximum value among the four timers is selected as the start time (CP) of that process segment. ij Adding the processing time t of each process segment ij Obtain the completion time C of this process segment. ij Then complete the time C ij Update to the corresponding timer; Finally, after calculating the time for all process segments, output the process time P of the optimal scheduler. val The optimal output scheduling gene S, and the scheduling process time T for each individual in the population. objv .

8. The reconfigurable flexible job shop scheduling optimization method according to claim 5, characterized in that: Step 3.1) includes generating the initial population using a hybrid greedy initialization method based on the initial population size and encoding method; wherein: When generating the process selection vector, it is randomly generated based on the workpiece process to be processed. When generating the machine selection vector, a machine load counter is set to record the workload of each machine. The available machine set is determined according to the process selection vector. The machine and auxiliary module with the shortest time to complete the corresponding process are selected as the processing machine and encoded by the machine load counter. The machine load counter is then updated. When generating the worker selection vector, a worker load counter is set to record the workload of each worker. The worker with the shortest time is selected for secondary clamping based on the worker load counter, and the worker load counter is updated.

9. The reconfigurable flexible job shop scheduling optimization method according to claim 1, characterized in that: In step 3.2), the method used to select individuals from the initial population is tournament selection; in step 3.3), the crossover process uses the POX crossover method.

10. The reconfigurable flexible job shop scheduling optimization method according to any one of claims 1 to 9, characterized in that: In step 3.5), the key machines are the machines with the highest and lowest loads; the key worker is the worker with the shortest processing time; the specific operations of the neighborhood search include: Critical machine neighborhood structure neighborhood search: Record the load of each machine, find the machines with the highest and lowest loads, i.e., the critical machines; find the processes being processed on the machine with the highest load, and transfer them to the machine with the lowest load. N6 Neighborhood Structure Neighborhood Search: Find the critical path in the entire schedule, define multiple adjacent processes processed on the same machine in the critical path as process blocks; insert the processes within the process block before the first process of the block, or insert the processes within the block after the last process of the block; Key worker neighborhood structure neighborhood search: Record the processing time of each worker, find the worker with the shortest processing time, i.e., the key worker; optimize the process of the key worker, and transfer all the processes processed by the key worker to the worker with the second shortest processing time.

Citation Information

Patent Citations

  • Flexible job shop scheduling method based on improved genetic algorithm

    CN113610233A

  • Hydraulic cylinder process planning and scheduling integrated optimization method considering AGV constraint

    CN116820058A

  • Multi-target dual-resource constraint flexible job-shop scheduling method considering learning effect

    CN118551983A

  • Distributed heterogeneous assembly flexible job shop scheduling method with transfer

    CN119882635A

  • Double-resource die job shop scheduling optimization method based on ammas-ga nested algorithm

    WO2022000924A1

Cited By

  • Process intelligent planning method and system fusing equipment manufacturing capability constraint

    CN121980972A

  • Process intelligence planning method and system fusing equipment manufacturing capacity constraints

    CN121980972B