Numerical control multi-target energy-saving optimization method and system and storage medium thereof

By constructing a mixed-integer linear programming model and a single-layer real number encoding method, combined with SPV rules and uniform partitioning method, a comprehensively optimized production plan is generated, solving the balance problem between production efficiency and energy consumption in CNC machining workshops and achieving efficient multi-objective optimization.

CN121050359APending Publication Date: 2025-12-02XIAMEN UNIV OF TECH +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511052350.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-29
Publication Date
2025-12-02

AI Technical Summary

Technical Problem

Existing CNC machining workshops face challenges in improving production efficiency and reducing energy consumption. Traditional scheduling methods have failed to effectively combine multi-objective optimization, and existing multi-objective optimization algorithms are inefficient and have unstable solution quality when dealing with complex resource constraints, making it difficult to meet the needs of modern intelligent manufacturing.

Method used

A mixed-integer linear programming model for multi-objective flexible job shop scheduling is constructed, with machine tool allocation, processing sequence, tool allocation, and processing speed as decision variables. A single-level real number encoding method and a multi-objective optimization algorithm are used, combined with SPV rules and uniform partitioning method, to generate a comprehensive optimized production plan. Tools are automatically allocated through the earliest available strategy.

Benefits of technology

It achieves a balance between production efficiency and energy consumption, improves algorithm solution efficiency, reduces energy consumption, and is suitable for intelligent manufacturing environments with complex resource constraints.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121050359A_ABST
    Figure CN121050359A_ABST
Patent Text Reader

Abstract

The invention provides a numerical control multi-target energy-saving optimization method and system and a storage medium, and the method comprises the steps: constructing a mixed integer linear programming model for multi-target flexible job shop scheduling, taking machine tool distribution, a machining sequence, tool distribution and a machining speed as decision variables, and taking total weighted tardiness and total energy consumption as optimization targets; a single-layer real number coding method is adopted, machine tool allocation, the machining sequence and the machining speed are coded in a one-dimensional real number sequence in a unified mode, an initial population is generated, the mixed integer linear programming model is solved through a multi-target optimization algorithm, and an algorithm optimal solution of the mixed integer linear programming model is obtained; decoding the optimal solution of the algorithm, distributing tools for each process, and generating a production plan table; and calculating the total weighted tardiness and the total energy consumption to obtain an algorithm energy-saving optimization scheduling scheme. According to the method, the dual-objective mixed integer linear programming model is constructed, and the innovative coding and decoding strategy and the dynamic optimization mechanism are combined, so that collaborative optimization of the production efficiency and the energy consumption is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of intelligent manufacturing technology, specifically to a numerical control multi-objective energy-saving optimization method, system, and storage medium. Background Technology

[0002] Currently, CNC machining workshops face the dual challenges of improving production efficiency and reducing energy consumption. Traditional workshop scheduling methods typically focus only on single objectives such as processing cycle time and delays, neglecting energy consumption. Existing energy-saving optimization schemes largely rely on equipment-level improvements, failing to systematically optimize from the source of production scheduling. Furthermore, existing multi-objective optimization algorithms suffer from complex coding, low solution efficiency, and unstable solution quality when dealing with multi-variable coupled problems involving machine tool allocation, processing sequence, and tool allocation, making it difficult to meet actual production needs. Therefore, a CNC scheduling method that can comprehensively optimize both production efficiency and energy consumption is urgently needed.

[0003] In the field of manufacturing system scheduling optimization, traditional research on the Flexible Job Shop Scheduling Problem (FJSP) is mostly limited to single resource constraints, making it difficult to meet the complex needs of modern intelligent manufacturing. With increasing automation, the impact of non-worker resources such as transportation equipment, cutting tools, and fixtures on production efficiency is becoming increasingly significant. However, existing research on the Multi-Resource Constrained Flexible Job Shop Scheduling Problem (MRCFJSP) still focuses primarily on worker constraints, with insufficient research on modeling and optimizing non-worker resources. Furthermore, traditional research often focuses on minimizing the makespan. In small-batch customized production, the importance of weighted tardiness and energy consumption optimization is increasingly prominent, necessitating the construction of a multi-objective collaborative optimization framework to fill these technological gaps. Summary of the Invention

[0004] The purpose of this application is to provide a numerical control multi-objective energy-saving optimization method, system and its storage medium to solve the above-mentioned technical problems.

[0005] According to one aspect of this application, a multi-objective energy-saving optimization method for CNC (Computational Numerical Control) is proposed, the method comprising the following steps:

[0006] S1. Construct a mixed-integer linear programming model for multi-objective flexible workshop scheduling. The model uses machine tool allocation, processing sequence, tool allocation, and adjustable processing speed as decision variables, and total weighted delay and total energy consumption as optimization objectives.

[0007] S2. Using a single-layer real number encoding method, machine tool allocation, processing sequence and processing speed are uniformly encoded as a one-dimensional real number sequence to generate an initial population. A multi-objective optimization algorithm is used to solve the mixed integer linear programming model to obtain the optimal solution of the mixed integer linear programming model.

[0008] S3. Decode the optimal solution of the algorithm to obtain the corresponding machine tool allocation information, processing sequence information and processing speed information, and allocate tools to each process based on the processing sequence information and the earliest available strategy to generate a production plan.

[0009] S4. Calculate the total weighted delay and total energy consumption corresponding to the production plan to obtain the energy-saving optimization scheduling scheme of the algorithm.

[0010] In the above technical solution, by using unified coding, multi-objective optimization and the allocation of tools based on the earliest available strategy, production efficiency (total weighted delay) and energy consumption are balanced to achieve comprehensive optimization of the CNC machining process.

[0011] Furthermore, the expression for the mixed-integer linear programming model is:

[0012] min∑ i∈N wt i (1)

[0013] min∑ m∈NC (ep m +ei m (2)

[0014] The constraints include:

[0015]

[0016] In the formula, N represents the set of workpieces, i∈N; wt i The weighted delay time for workpiece i is represented; NC represents the set of CNC machine tools; ep m Indicates the total energy consumption of machine tool m during operation; ei m W represents the total energy consumption of machine tool m in idle state. i This represents the weight of workpiece i; Let the non-negative continuous variable be workpiece i at the Kth position. i The start time of the operation; NC represents the set of CNC machine tools, m∈NC; Indicates the Kth workpiece i i The set of selectable processing speeds for each operation; Indicates the Kth workpiece i i If the operation is performed on machine tool m at speed s, the binary variable is 1; otherwise, it is 0. Indicates the Kth workpiece i i The time required for processing at speed s in this operation; Wi Indicates the delivery date of workpiece i; O i K represents the fixed processing sequence of workpiece i. i Indicates the number of operations for workpiece i, O i = (1,2,...,K) i ), k∈O i S i,k Let S represent the set of selectable processing speeds for the k-th operation on workpiece i. i,k ;z m,i,k,s Let P represent the k-th operation of workpiece i being processed on machine tool m at speed s, then the binary variable is 1; i,k,s E represents the time required for the k-th operation of workpiece i to be processed at speed s; i,k,s Let represent the power required for machining workpiece i at speed s in the k-th operation; E represents the power of the machine tool in idle state; mc m Let m be the non-negative continuous variable representing the end time of machine tool m.

[0017] In the above technical solution, by accurately quantifying the mathematical relationship between delay and energy consumption, a theoretical basis is provided for multi-objective optimization, ensuring that the scheduling scheme generated by the algorithm simultaneously meets the dual objectives of production efficiency and energy conservation.

[0018] Furthermore, the mixed-integer linear programming model also includes the following constraints:

[0019]

[0020] ∑ i′∈N′ x i,i′,m =y i,m ,i∈N′,m∈NC (8)

[0021] ∑ i∈N′,i≠i′ x i,i′,m =y i′,m ,i′∈N′,m∈NC (9)

[0022] ∑ m∈NC y i,m =1, i∈N (10)

[0023] ∑ m∈NC y i,m =|NC|, i=0 (11)

[0024]

[0025] st i,k-1 +P i,k-1,s ≤st i,k ,k∈2,3,...,K i ,i∈N (13)

[0026] st i,1 +P i,1,s ≤st i′,1 +M×(2-y i,m -x 0,i,m ),m∈NC,i,i′∈N,i≠i′ (14)

[0027] ∑ e∈KN′,e≠e′ β e,e′,t γ e′,t ,e′∈KN′,t∈TL (15)

[0028] ∑ e′∈KN′,e≠e′ β e,e′,t γ e,t ,e∈KN′,t∈TL (16)

[0029]

[0030] ∑ t∈TL γ e,t N1,e∈KN (18)

[0031] ∑ t∈TL γ e,t S|TL|,eS0 (19)

[0032] st′ e +P′ m,e,s ≤st′ e′ +M×91-β e,e′,t ),e,e′∈KN,e≠e′,t∈TL (20)

[0033] st′ e +P′ m,e,s ≤st′ e′ +M×(2-γ e′,t -β 0,e,t ),e,e′∈KN,e≠e′,t∈TL (21)

[0034] st′ j (St i,k ,jJK i,k ,i∈N,k∈O i (22)

[0035] P′ m,j,s JP i,k,s ,jJK i,k ,i∈N,k∈O i ,s∈S i,k (23)

[0036]

[0037] xi,i′,m ∈B,i∈N′,i′∈N′,m∈NC (26)

[0038] y i,m ∈B,i∈N′,m∈NC (27)

[0039] z m,i,k,s ∈B,m∈NC,i∈N,k∈O i ,s∈S i,k (28)

[0040] st i,k ≥R i i∈N, k∈O i (29)

[0041]

[0042] In the formula, constraints (6) and (7) represent the machine tool shutdown time; M represents a large positive number of the big-M form; y i,m This indicates that if workpiece i is assigned to machine tool m, the binary variable is 1; otherwise, it is 0. i,i′,m The binary variable is equal to 1 only when workpiece i is processed on machine tool m and then workpiece i′ is processed; otherwise, it is 0, i′∈N, i′≠i; constraints (8) and (9) represent the relationship between variables; N′ represents the set of workpiece indices containing a virtual job 0, i.e., N′=N∪{0}, i∈N′; y i′,m If workpiece i′ is assigned to machine tool m, the binary variable is 1; otherwise, it is 0. Constraint (10) ensures that each job is assigned to only one machine tool. Constraint (11) assigns virtual job 0 to each machine tool. In constraint (12), the completion time of the last operation of a workpiece must be less than or equal to the start time of the first operation of the next workpiece. i′,1 The non-negative continuous variable represents the start time of the first operation of workpiece i′; constraint (13) indicates that the processing sequence of each workpiece is fixed, st i,k-1 P represents the start time of the (k-1)th operation of workpiece i, which is a non-negative continuous variable. i,k-1,s Let represent the time required for the (k-1)th operation of workpiece i to be processed at speed s; constraint (14) indicates that the first operation of the workpiece processed after the virtual workpiece has the earliest completion time; constraints (15) and (16) indicate the relationship between variables; KN′ represents the set of all operations of all workpieces containing virtual operation 0, i.e., KN′=KN∪{0}, KN represents the set of all operations of all workpieces, e′ represents the operation contained in KN′, e∈KN′, e≠e′, e′∈KN′; β e,e′,t This indicates that the binary variable β only occurs when the tool t is used to process operation e, followed by operation e′. e,e′,tIt equals 1 only if it is γ, otherwise it is 0. e′,t This means that if the operation e′ is processed using tool t, the binary variable is equal to 1; otherwise, it is 0. e,t This means that if tool t is used to process operation e, the binary variable is equal to 1, otherwise it is 0; constraint (17) means that each operation is processed using only one of the same tools; TS e This represents the set of tools that can be used to complete operation e according to the process requirements; constraint (18) indicates that only one tool is selected for each operation; constraint (19) indicates that each tool processes one virtual operation 0; constraint (20) indicates that for each tool, the completion time of the previous operation is less than or equal to the start time of the next operation; st′ e P′ represents the start time of operation e, which is a non-negative continuous variable. m,e,s This represents the time required for operation e to perform machining at speed s on machine tool m; st′ e′ Let β represent the start time of operation e′, which is a non-negative continuous variable; constraint (21) ensures that the operation following the virtual operation has the minimum completion time; 0,e,t This indicates that the binary variable β only occurs when tool t processes virtual operation 0 followed by operation e. 0,e,t Only equals 1, otherwise equals 0; constraints (22) to (25) represent the relationship between two variables; st′ j This indicates the start time of the operation at index j, where j = JK. i,k i∈N, k∈O i ;st i,k Let j represent the start time of the k-th operation of workpiece i, which is a non-negative continuous variable; j represents the index of the k-th operation of workpiece i in KN, where j = JK. i,k i∈N, k∈O i JK i,k P′ represents the index of the k-th operation on workpiece i; m,j,s Let represent the time required for the operation at index j to be processed at speed s on machine tool m; constraints (26) to (35) define the range of values ​​for each variable; B represents a binary set, B = {0, 1}; R i This indicates the release time of workpiece i.

[0043] Furthermore, step S3 includes the following sub-steps:

[0044] S31. Obtain the real number encoding sequence corresponding to the optimal solution of the algorithm;

[0045] S32. Determine the processing order by decoding the integer part of the real number encoding sequence using the SPV rule, determine the processing speed by decoding the first decimal part of the real number encoding sequence using the uniform segmentation method, and determine the machine tool allocation by decoding the second decimal part.

[0046] S33. Adjust the initial processing sequence based on the job constraints to form the final processing sequence information;

[0047] S34. Using the earliest available strategy and processing sequence information, allocate tools to each process and generate a production plan.

[0048] In the above technical solution, the encoded information is efficiently restored through a layered decoding strategy, and the feasibility of the scheduling scheme is ensured by combining constraints.

[0049] Furthermore, step S32 includes:

[0050] A uniform segmentation strategy is adopted to map the first decimal part of the elements in the real number encoding sequence to a preset processing speed range, thereby determining the processing speed of the process; and to map the second decimal part of the elements in the real number encoding sequence to a preset machine tool allocation range, thereby determining the machine tool allocation of the process.

[0051] Using the SPV rule, the elements in the real number encoding sequence are first sorted in ascending order, and then the processing order of the process is determined based on the original index of the sorted elements.

[0052] In the above technical solution, the efficient conversion from continuous encoding to discrete decision variables is achieved through decimal mapping, simplifying the optimization process.

[0053] Furthermore, step S4 also includes the following sub-steps:

[0054] S41. Calculate the subsequent backlash time and available tool backlash time for the current process that is not the final process and is not the minimum processing speed in the production schedule. If the subsequent backlash time and available tool backlash time are greater than the deceleration delay time of the current process, adjust the processing speed corresponding to the current process. The subsequent backlash time is the time interval from the end of the current process to the start of the next process on the machine tool of the current process.

[0055] S42. After traversing all current processes that are not the final process and do not have the minimum processing speed, update the production schedule, and calculate the total weighted delay and total energy consumption of the updated production schedule to obtain the adjusted optimal energy-saving scheduling scheme.

[0056] In the above technical solution, the processing speed is dynamically adjusted by utilizing the interval between processes, thereby further reducing energy consumption without affecting the delay.

[0057] Furthermore, in step S421, traverse the processes to be optimized in the production schedule and determine whether the processing speed of the process to be optimized is the lowest. If "yes", continue to traverse the next process to be optimized. If "no", execute step S422. The process to be optimized is not the last process in the production schedule.

[0058] S422. Calculate the first blank time between the end time of the current process to be optimized and the start time of the next process to be optimized; calculate the second blank time between the end time of the tool corresponding to the current process to be optimized and the start time of the next tool use; and calculate the deceleration delay time of the current process to be optimized, where the deceleration delay time is the processing time delay time after the deceleration of the process to be optimized.

[0059] S423. In response to the fact that both the first blank time and the second blank time are greater than the deceleration delay time, reduce the processing speed of the process to be optimized, and re-execute S421-S422 until all processes to be optimized in the production schedule are completed.

[0060] In the above technical solution, fine-grained speed adjustment is achieved through layer-by-layer traversal and condition judgment, maximizing the potential for energy saving.

[0061] Secondly, this application proposes a numerical control multi-objective energy-saving optimization system, which includes:

[0062] The model building module is configured to build a mixed-integer linear programming model for multi-objective flexible job shop scheduling. The model uses machine tool allocation, processing sequence, tool allocation and processing speed adjustability as decision variables, and total weighted delay and total energy consumption as optimization objectives.

[0063] The algorithm optimal solution module is configured to use a single-layer real number encoding method to uniformly encode machine tool allocation, processing sequence and processing speed with a one-dimensional real number sequence, generate an initial population, and use a multi-objective optimization algorithm to solve the mixed integer linear programming model to obtain the algorithm optimal solution of the mixed integer linear programming model;

[0064] The production plan generation module is configured to decode the optimal solution of the algorithm to obtain the corresponding machine tool allocation information, processing sequence information and processing speed information, and allocate tools to each process based on the processing sequence information and the earliest available strategy to generate a production plan.

[0065] The energy-saving optimization scheduling scheme generation module is configured to calculate the total weighted delay and total energy consumption corresponding to the production plan table, and obtain the algorithmic energy-saving optimization scheduling scheme.

[0066] Thirdly, this application provides an electronic device, including: a processor and a memory communicatively connected to the processor; when the processor executes computer execution instructions stored in the memory, it is used to implement the numerical control multi-objective energy-saving optimization method of the first aspect of the invention.

[0067] Fourthly, this application proposes a computer-readable storage medium storing a computer program that, when executed by a processor, implements the numerical control multi-objective energy-saving optimization method as described in the first aspect of the invention.

[0068] Fifthly, this application provides a computer program product, including a computer program, which, when executed by a processor, is used to implement the numerical control multi-objective energy-saving optimization method described in the first aspect of the invention.

[0069] Compared with the prior art, the beneficial results of the present invention are as follows:

[0070] (1) This application breaks through the limitations of single-objective optimization in traditional flexible workshop scheduling. By constructing a mixed-integer linear programming model with total weighted delay and total energy consumption as dual objectives, it incorporates four core decision variables—machine tool allocation, processing sequence, tool allocation, and processing speed adjustability—into a unified optimization framework. This multi-dimensional integrated modeling approach not only ensures the optimization of the production efficiency objective (total weighted delay) but also achieves synergistic improvement of the energy-saving objective (total energy consumption). It resolves the contradiction in existing technologies of "emphasizing efficiency over energy consumption" or "sacrificing production progress for energy consumption optimization," providing a scheduling scheme with better overall benefits for CNC machining processes.

[0071] (2) This application innovatively adopts a single-layer real number encoding method to achieve unified encoding of multiple decision variables. Combined with the hierarchical decoding strategy of SPV rule and uniform partitioning method, it significantly improves the algorithm's search efficiency in complex solution spaces. Compared with traditional multi-layer encoding or binary encoding methods, this encoding and decoding mechanism not only reduces coupling conflicts between variables and lowers the algorithm's solution complexity, but also retains more optimization information through the continuity of the real number sequence, enabling multi-objective optimization algorithms to converge to the Pareto optimal solution more efficiently. This solves the problems of slow algorithm convergence and insufficient solution diversity caused by multi-variable encoding in existing technologies.

[0072] (3) After generating the initial scheduling scheme, this application introduces a dynamic matching mechanism of "subsequent process back-off time," "tool available back-off time," and "speed reduction delay time" to perform secondary optimization on the machining speed of non-final processes. This adjustment strategy can reduce machining speed and energy consumption by making full use of the idle time of machine tools and cutting tools without increasing the total weighted delay, achieving refined optimization of "consistent efficiency and reduced energy consumption." Compared with the schemes in the prior art that only rely on the initial algorithm solution, this secondary optimization mechanism further taps into the energy-saving potential, making the energy consumption index of the final scheduling scheme better, especially suitable for batch production scenarios that are sensitive to energy costs.

[0073] (4) This application achieves automated decision-making for tool allocation through the "earliest available strategy," combining processing sequence and machine tool load dynamic balancing of tool utilization efficiency. This avoids machine tool idleness or process waiting caused by tool conflicts, indirectly reducing idle energy consumption of equipment. This collaborative optimization logic of tool-machine tool-process fills the gap in the existing technology where tool allocation and energy consumption optimization are disconnected, enabling the scheduling scheme to achieve a better balance in resource utilization and energy saving, and providing a feasible technical path for green scheduling in the intelligent manufacturing environment. Attached Figure Description

[0074] The accompanying drawings are included to provide a further understanding of the embodiments and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments and, together with the description, serve to explain the principles of the invention. Many anticipated advantages of the embodiments and other embodiments of the invention will be readily recognized as they become better understood through reference to the following detailed description. Elements in the drawings are not necessarily to scale. The same reference numerals refer to corresponding similar parts.

[0075] Figure 1 This is a flowchart of a CNC multi-objective energy-saving optimization method according to an embodiment of this application;

[0076] Figure 2 This is a flowchart of a multi-objective optimization algorithm for a CNC multi-objective energy-saving optimization method according to an embodiment of this application;

[0077] Figure 3 This is a schematic diagram of the decoding mechanism of a CNC multi-objective energy-saving optimization method according to an embodiment of this application;

[0078] Figure 4 These are encoding and decoding examples of processing sequence, processing speed, and machine tool allocation according to embodiments of this application;

[0079] Figure 5 This is a schematic diagram of an energy-saving strategy for a CNC multi-objective energy-saving optimization method according to an embodiment of this application;

[0080] Figure 6 It is the optimal timetable for the same objective weights of a mixed-integer linear programming model according to embodiments of this application;

[0081] Figure 7 It is the Pareto frontier of the mixed-integer linear programming model under different combinations of objective weights according to the embodiments of this application;

[0082] Figure 8 This is a framework diagram of a CNC multi-objective energy-saving optimization system according to an embodiment of this application;

[0083] Figure 9This is a schematic diagram of the structure of a computer system applicable to an electronic device used to implement the embodiments of this application. Detailed Implementation

[0084] 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. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.

[0085] refer to Figure 1 , Figure 1 A flowchart of the CNC multi-objective energy-saving optimization method of this application is shown in the figure. The method includes the following steps:

[0086] S101. Construct a mixed-integer linear programming model for multi-objective flexible workshop scheduling. The model uses machine tool allocation, processing sequence, tool allocation, and adjustable processing speed as decision variables, and total weighted delay and total energy consumption as optimization objectives.

[0087] In some specific embodiments, specifically within the Multi-Objective Flexible Job Shop Scheduling Problem with Tool Resource Constraint (MOFJSP-TRC) implementation, the research object is a production workshop consisting of m identical parallel Computer Numerical Control (CNC) machines. The CNCs within the workshop share t different types of cutting tools, and each operation can be performed on any machine tool. The workshop needs to process n independent workpieces, each with a known release time and due date. The machining process for each workpiece is pre-designed, comprising multiple sequential operations. Each operation has specific tool requirements and selectable machining speeds. Selectable tools are given in sets, and machining time and power requirements vary depending on the selected machining speed. Idle energy consumption still occurs when the machine tools are idle, i.e., when there are no machining tasks. This energy consumption is calculated from the minimum idle power and idle time of the machine tools. Workpieces can be loaded into slots for machining when the machine tools are idle. To ensure successful workpiece machining, the order of operations must be strictly followed. Simultaneously, the workpiece will wait on the machine tool until at least one tool meeting the requirements of the current operation is available. Specific assumptions include: (1) Since the CNC machining center is fully automatic and the production process is precise, uncertainty is not considered; (2) The importance of each task is different; (3) At a given machining speed, the processing time of each operation is consistent across all machine tools; (4) Regardless of which tool of the same type is selected, the processing time of each operation remains unchanged at a given machining speed; (5) Only one workpiece can be processed on one machine tool at a time; (6) Each tool can only be used for one operation at a time during the machining process; (7) Once an operation on a workpiece begins in the CNC machining center, it cannot be interrupted; (8) Once a workpiece begins machining on a machine tool, it cannot be unloaded until all operations are completed; (9) Since the transition time between different machine tools is short and negligible relative to the machining time, the transport time and setup time are also negligible; (10) Waiting time is allowed between operations; (11) All machine tools start at time 0. If there is no ongoing task on a machine tool, it will enter standby mode and shut down immediately after completing the last task. In this production environment, the goal is to develop a production plan that determines the processing sequence of each workpiece, machine tool allocation, cutting tools used for each operation, and processing speed, thereby achieving a synergistic minimization of total weighted tardiness (TWT) and total energy consumption (TEC).

[0088] First, commonly used notation in Mixed Integer Linear Programming (MILP) is given. The decision variables used in MILP include:

[0089] (1)x i,i′,m The binary variable is equal to 1 only when workpiece i is processed on machine tool m and then workpiece i′ is processed; otherwise, it is 0.

[0090] (2)y i,m If workpiece i is assigned to machine tool m, the binary variable is 1; otherwise, it is 0.

[0091] (3)y i′,m If workpiece i′ is assigned to machine tool m, then the binary variable is 1; otherwise, it is 0.

[0092] (4)st i,k The non-negative continuous variable is the start time of the k-th operation of workpiece i;

[0093] (5) The non-negative continuous variable is the workpiece i at the Kth position. i The start time of the last operation;

[0094] (6)st i,k-1 The non-negative continuous variable is the start time of the (k-1)th operation of workpiece i;

[0095] (7)z m,i,k,s If workpiece i is processed on machine tool m at speed s during the kth operation, then the binary variable is 1; otherwise, it is 0.

[0096] (8) Workpiece i, Kth i If the last operation is performed on machine tool m at speed s, then the binary variable is 1; otherwise, it is 0.

[0097] (9)β 0,e,t The binary variable β is only considered when tool t is used to process virtual operation 0 followed by operation e. 0,e,t Only if it equals 1, otherwise it equals 0;

[0098] (10)β e,e′,t The binary variable β is only considered when the tool t is used to process operation e followed by operation e′. e,e′,t Only if it equals 1, otherwise it equals 0;

[0099] (11)γ e,t If the operation e is performed using tool t, the binary variable is equal to 1; otherwise, it is 0.

[0100] (12)γ e′,t If the operation e′ is processed using the tool t, the binary variable is equal to 1; otherwise, it is 0.

[0101] (13)st′ e The non-negative continuous variable is the start time of operation e, where e∈KN;

[0102] (14)st′ e′ The non-negative continuous variable is the start time of operation e′, where e∈KN;

[0103] (15)mc m The non-negative continuous variable is the end time of machine tool m;

[0104] (16)wt i Weighted delay of workpiece i;

[0105] (17)ep m Total energy consumption of machine tool m during operation;

[0106] (18)ei m Total energy consumption of machine tool m in idle state;

[0107] The parameters involved in MILP include:

[0108] (19) N: Set of workpieces;

[0109] (20) N′: a set of workpiece indicators containing a virtual job 0, i.e., N′=N∪{0};

[0110] (21)NC: Numerical control machine tool set;

[0111] (22)K i The number of operations required for workpiece i, i.e., the number of times workpiece i needs to go through K. i Step, i∈N;

[0112] (23)O i The fixed operation sequence for workpiece i means that the operations must be performed in this order, i∈N, O i = (1,2,...,K) i );

[0113] (24)R i : Release time of workpiece i, i.e. the earliest time when processing can begin, where i∈N;

[0114] (25)D i : The delivery date of workpiece i, i.e. the deadline for completing processing, where i∈N;

[0115] (26)W i The weight (importance) of workpiece i, i∈N;

[0116] (27)S i,k: The set of selectable processing speeds for workpiece i in the k-th operation, i∈N, k∈O i ;

[0117] (28) Workpiece i, Kth i The set of selectable processing speeds for the last operation, i∈N;

[0118] (29)P i,k,s : The time required for workpiece i to be processed in the k-th operation at speed s, where i∈N, k∈O i ;

[0119] (30) Workpiece i, Kth i The time required for the last operation to be processed at speed s, where i∈N; (31)KN: the set of all operations for all workpieces;

[0120] (32) KN′: The set of all operations of all artifacts containing virtual operation 0, i.e., KN′=KN∪{0};

[0121] (33)TL: Toolkit;

[0122] (34)TS e The set of tools that can be used to complete operation e according to process requirements, where e∈KN;

[0123] (35)P′ m,e,s :The time required for operation e to perform machining at speed s on machine tool m, where e∈KN, m∈NC; (36)E i,k,s : Power required (energy consumption per unit time) for processing workpiece i in the k-th operation at speed s, where i∈N, k∈O i , s∈S i,k ;

[0124] (37)E: Power of the machine tool in idle state;

[0125] (38)JK i,k The index of the k-th operation on workpiece i, i.e. Where i∈N, k∈O i ;

[0126] (39)B: a binary set, B = {0, 1};

[0127] (40)M: A large positive number in the form of big-M.

[0128] Based on these symbols, the mixed-integer programming model of MOFJSP-TRC can be expressed as follows:

[0129] min∑ i∈Nwt i (1)

[0130] min∑ m∈NC (ep m +hey m ) (2)

[0131]

[0132] ∑ i′∈N′ x i,i′,m =y i,m ,i∈N′,m∈NC (8)

[0133] ∑ i∈N′,i≠i′ x i,i′,m =y i′,m ,i′∈N′,m∈NC (9)

[0134] ∑ m∈NC yes i,m =1,i∈N (10)

[0135] ∑ m∈NC yes i,m =|NC|,i=0 (11)

[0136]

[0137] st i,k-1 +P i,k-1,s ≤st i,k ,k∈2,3,...,K i ,i∈N (13)

[0138] st i,1 +P i,1,s ≤st i′,1 +M×(2-y i,m -x 0,i,m ),m∈NC,i,i′∈N,i≠i′ (14)

[0139] ∑ e∈KN′,e≠e′ β e,e′,t =γ e′,t ,e′∈KN′,t∈TL (15)

[0140] ∑ e′∈KN′,e≠e′ β e,e′,t =γ e,t ,e∈KN′,t∈TL (16)

[0141]

[0142] ∑ t∈TL γ e,t =1,e∈KN (18)

[0143] ∑ t∈TL γ e,t =|TL|,e=0 (19)

[0144] st′ e +P′ m,e,s ≤st′ e′ + M × (1 − β e,e′,t ),e,e′∈KN,e≠e′,t∈TL (20)

[0145] st′ e +P′ m,e,s ≤st′ e′ +M ×(2−γ e′,t -β 0,e,t ),e,e′∈KN,e≠e′,t∈TL (21)

[0146] st′ j =st i,k ,j=JK i,k ,i∈N,k∈O i (22)

[0147] P′ m,j,s =P i,k,s ,j=JK i,k ,i∈N,k∈O i ,s∈S i,k (23)

[0148]

[0149] x i,i′,m ∈B,i∈N′,i′∈N′,m∈NC (26)

[0150] y i,m ∈B,i∈N′,m∈NC (27)

[0151] z m,i,k,s ∈B,m∈NC,i∈N,k∈O i ,s∈S i,k (28)

[0152] st i,k ≥R i ,i∈N,k∈O i (29)

[0153] β e,e′,t ∈B,e,e′∈KN′,t∈TL (30)

[0154] γ e,t ∈B,e∈KN′,t∈TL (31)

[0155] st′ e ≥0, e∈KN (32)

[0156] wt i ≥0, i∈N (33)

[0157] ep m ≥0, m∈NC (34)

[0158] ei m ≥0, m∈NC (35)

[0159] In the formula: (1) represents the objective function of minimizing the total weighted delay. (2) represents the objective function of minimizing the total energy consumption; constraint (3) describes wt i The relationship between the weighted delay times of each workpiece and the workpiece; constraints (4) and (5) describe ep m and ei m The relationship between the machine tool in the running state and the idle state; constraints (6) and (7) represent the machine tool shutdown time; M represents a large positive number in the big-M form; y i,m This indicates that if workpiece i is assigned to machine tool m, the binary variable is 1; otherwise, it is 0. i,i′,m The binary variable is equal to 1 only when workpiece i is processed on machine tool m and then workpiece i′ is processed; otherwise, it is 0, i′∈N, i′≠i; constraints (8) and (9) represent the relationship between variables; N′ represents the set of workpiece indices containing a virtual job 0, i.e., N′=N∪{0}, i∈N′; y i′,m If workpiece i′ is assigned to machine tool m, the binary variable is 1; otherwise, it is 0. Constraint (10) ensures that each job is assigned to only one machine tool. Constraint (11) assigns virtual job 0 to each machine tool. In constraint (12), the completion time of the last operation of a workpiece must be less than or equal to the start time of the first operation of the next workpiece. i′,1 The non-negative continuous variable represents the start time of the first operation of workpiece i′; constraint (13) indicates that the processing sequence of each workpiece is fixed, st i,k-1 P represents the start time of the (k-1)th operation of workpiece i, which is a non-negative continuous variable. i,k-1,s Let represent the time required for the (k-1)th operation of workpiece i to be processed at speed s; constraint (14) indicates that the first operation of the workpiece processed after the virtual workpiece has the earliest completion time; constraints (15) and (16) indicate the relationship between variables; KN′ represents the set of all operations of all workpieces containing virtual operation 0, i.e., KN′=KN∪{0}, KN represents the set of all operations of all workpieces, e′ represents the operation contained in KN′, e∈KN′, e≠e′, e′∈KN′; β e,e′,tThis indicates that the binary variable β only occurs when the tool t is used to process operation e, followed by operation e′. e,e′,t It equals 1 only if it is γ, otherwise it is 0. e′,t This means that if the operation e′ is processed using tool t, the binary variable is equal to 1; otherwise, it is 0. e,t This means that if tool t is used to process operation e, the binary variable is equal to 1, otherwise it is 0; constraint (17) means that each operation is processed using only one of the same tools; TS e This represents the set of tools that can be used to complete operation e according to the process requirements; constraint (18) indicates that only one tool is selected for each operation; constraint (19) indicates that each tool processes one virtual operation 0; constraint (20) indicates that for each tool, the completion time of the previous operation is less than or equal to the start time of the next operation; st′ e P′ represents the start time of operation e, which is a non-negative continuous variable. m,e,s This represents the time required for operation e to perform machining at speed s on machine tool m; st′ e′ Let β represent the start time of operation e′, which is a non-negative continuous variable; constraint (21) ensures that the operation following the virtual operation has the minimum completion time; 0,e,t This indicates that the binary variable β only occurs when tool t processes virtual operation 0 followed by operation e. 0,e,t Only equals 1, otherwise equals 0; constraints (22) to (25) represent the relationship between two variables; st′ j This indicates the start time of the operation at index j, where j = JK. i,k i∈N, k∈O i ;st i,k Let j represent the start time of the l-th operation of workpiece i, which is a non-negative continuous variable; j represents the index of the k-th operation of workpiece i in KN, where j = JK. i,k i∈N, k∈O i JK i,k P′ represents the index of the k-th operation on workpiece i; m,j,s Let represent the time required for the operation at index j to be processed at speed s on machine tool m; constraints (26) to (35) define the range of values ​​for each variable; B represents a binary set, B = {0, 1}; R i This indicates the release time of workpiece i.

[0160] S102. Using a single-layer real number encoding method, machine tool allocation, processing sequence and processing speed are uniformly encoded as a one-dimensional real number sequence to generate an initial population. A multi-objective optimization algorithm is used to solve the mixed integer linear programming model to obtain the optimal solution of the mixed integer linear programming model.

[0161] In some specific embodiments, the multi-objective optimization algorithm can be the multi-objective gray wolf optimization algorithm, genetic algorithm, and simulated annealing algorithm.

[0162] Among them, the Multi-Objective Gray Wolf Optimization Algorithm (MOGWO) is an intelligent optimization method inspired by the hierarchical structure and cooperative hunting behavior of gray wolves, capable of effectively solving multi-objective optimization problems. Its core mechanisms include: Social Hierarchy: MOGWO constructs a hierarchical framework using four types of gray wolves: α, β, δ, and ω. α wolves represent the optimal solution for the current population, guiding the search direction; β and δ wolves represent the second-best and third-best individuals, respectively, assisting in guiding and improving the diversity and robustness of the population; the remaining ω wolves complete the global exploration of the search space under the guidance of the other three. Cooperative Hunting Mechanism: The algorithm dynamically updates individual positions by simulating the encirclement, tracking, and hunting behaviors of gray wolves. Vector coefficients are introduced during the update process. and To adjust the search intensity and direction, The value decreases as the iteration progresses, achieving a smooth transition from global exploration to local development. Individual positions are updated comprehensively based on the guiding information from α, β, and δ, driving the population to gradually converge to the Pareto front. External archive mechanism: An external archive is introduced to preserve historical non-dominated solutions, preventing the loss of high-quality solutions. The archive uses non-dominated sorting to select advantageous solutions; if the capacity limit is exceeded, individuals in dense regions are deleted according to the crowding distance criterion to maintain the diversity of the solution set and its boundary expansion capability. Leader selection strategy: α, β, and δ leaders are preferentially selected from the sparsest non-dominated solutions in the external archive, guiding the search to expand towards sparse regions of the solution space, improving the coverage and balance of the solution set. The multi-objective gray wolf optimization algorithm uses a one-dimensional real-number encoded sequence as the position vector of individual wolves. It achieves optimization by simulating the social hierarchy and hunting behavior of the gray wolf pack, specifically including:

[0163] Step 1: Initialize the wolf pack population, with each individual corresponding to a set of real-number codes for a potential scheduling scheme;

[0164] Step two: Calculate the fitness value of individuals based on the dual objectives of total weighted delay and total energy consumption. Then, determine the α, β, and δ wolves in the wolf pack (corresponding to the current optimal, suboptimal, and near-optimal solutions, respectively) through fast non-dominated sorting and crowding calculation. The remaining individuals (ω wolves) update their own codes by tracking the positions of the α, β, and δ wolves. This updated code represents a one-dimensional real-number sequence of scheduling schemes, containing decision information on machine tool allocation, processing sequence, and processing speed. The update formula is: Xt+1 = Xpt - A·D, where D represents the position difference vector between wolf ω and wolf α, β, or δ. The calculation result is a set of non-negative real numbers, corresponding to the coding level. Each component reflects the degree of difference between a certain decision dimension (such as the processing sequence, processing speed, and machine tool allocation of a certain process) in the ω-wolf encoding and the better solution encoding, providing a quantitative basis for subsequent adjustments; The position vectors representing α, β, or δ wolves, i.e., the one-dimensional real-valued encoded sequence corresponding to the known better solution in the current iteration, have an encoding structure similar to... Consistent, including scheduling decision information that has passed the fitness assessment (better total weighted delay and total energy consumption); Let ω represent the position vector of the wolf at the current iteration time t, corresponding to a one-dimensional real-number encoded sequence of potential scheduling schemes. The integer part, first decimal place, and second decimal place of each real number in the sequence carry decision information regarding processing order, processing speed, and machine tool allocation, respectively. This represents the updated position vector of ω wolf, i.e., the new one-dimensional real number encoding sequence. It adjusts each real number in the original encoding sequence (such as correcting the decimal part corresponding to the processing speed and the second decimal part corresponding to the machine tool allocation), so that the new encoding moves closer to the decision information of the better solution, thereby iteratively optimizing the scheduling scheme. and This represents a coefficient vector with dimensions matching the length of the real-number encoded sequence, where... The component values ​​decrease linearly from 2 to 0, used to control the direction of ωwolf. By getting closer, global exploration can be achieved. When the absolute value is large) and partial development ( Equilibrium when the absolute value is small The value decreases as the iteration progresses, achieving a smooth transition from global exploration to local development; The components are randomly generated in the interval [0,2] to introduce randomness and prevent the algorithm from getting stuck in local optima. Its randomness promotes the exploration of the solution space by adjusting the weights of each decision dimension in the real number encoding.

[0165] Step 3: After a preset number of iterations, select the optimal solution from the non-dominated solution set of the final population.

[0166] In some specific embodiments, a three-stage collaborative optimization architecture algorithm is constructed by using MOGWO as the basic framework and integrating an adaptive large-scale neighborhood search mechanism. (Reference) Figure 2 , Figure 2A flowchart of a multi-objective optimization algorithm for a CNC multi-objective energy-saving optimization method according to an embodiment of this application is shown. As shown in the figure, firstly, the algorithm adopts a multi-rule collaborative initialization strategy to generate an initial population and constructs an external archive based on the Pareto front. It then selects three types of leader wolves (α, β, and δ) from the archive using a roulette wheel mechanism. In the initial stage, the algorithm performs global exploration according to the MOGWO standard position update rule. When the iteration progress reaches the primary perturbation threshold (AT1), a local perturbation mechanism based on an adaptive large neighborhood search (ALNS) algorithm is introduced for the α leader wolf. A multi-armed slot machine model based on upper confidence bounds (UCB) is used to dynamically adjust the selection probability of the destruction and repair operators. When the iteration progress reaches the deep perturbation threshold (AT2), the hybrid perturbation mechanism is further extended to the β and δ leader wolves, forming a three-level collaborative perturbation architecture to achieve a dynamic balance between global exploration and local development. After reaching the preset maximum iteration time, the algorithm outputs an approximate Pareto optimal solution set. The above algorithm specifically includes the following steps:

[0167] Step 201: Generate the initial population. Randomly create a group of wolves (solutions). Each wolf is represented by a one-dimensional real number encoding of a complete scheduling scheme, including decision variables such as process sequence, machine tool allocation, and processing speed.

[0168] Specifically, the diversity of the initial population and the quality of the solutions have a significant impact on the algorithm. This application employs a multi-rule collaborative initialization strategy to generate structurally sound and representative initial solutions, thereby improving the algorithm's convergence speed and reducing computational resource consumption. This strategy introduces a heuristic rule-based initialization method to construct a subpopulation in the region close to the lower bound of the optimization objective, effectively compressing the search space and improving solution efficiency. The specific initialization rules used are shown in Table 1. Simultaneously, a random initialization strategy is employed to generate a wide range of individuals covering the solution space, providing diversity support for subsequent evolution and enhancing the algorithm's ability to explore non-dominated frontiers.

[0169] Table 1 Initialization Rules

[0170]

[0171] Among them, D i For the delivery date of workpiece i, P i W represents the total machining time for workpiece i under constant speed operation. i Let be the weight of workpiece i, t′ be the earliest start time of current workpiece i, and F be the scaling parameter. S is the average processing time for the remaining workpieces. i,k P is the set of selectable processing speeds for the k-th operation of workpiece i. i,k E is the time required for the k-th operation of workpiece i. i,kLet be the power required for the k-th operation of workpiece i. First, based on the Earliest Due Date (EDD), Shortest Processing Time (SPT), Weighted Shortest Processing Time (WSPT), Least Flow Time (LFT), Apparent Tardiness Cost (ATC), and Minimum Slack (MS) rules, a guided subpopulation is generated, targeting the minimization of Total Weighted Tardiness (TWT), in conjunction with the Fastest Speed ​​Priority (FSP) strategy. Subsequently, using the same sorting rule combination and introducing the Lowest Energy Consumption (LEC) strategy, a subpopulation is constructed targeting the minimization of Total Energy Consumption (TEC), thus ensuring the quality of initial solution coverage under different objective orientations. Finally, by randomly initializing and supplementing the remaining individuals, we ensure that the population has sufficient structural diversity in the initial stage, thereby improving the algorithm's ability to explore non-dominated frontiers and its global search stability.

[0172] Step 202: Calculate the objective function value and construct the external archive. Initialize the external archive by creating an empty set to store non-dominated solutions (Pareto optimal solutions) found during the search process. Calculate the objective values: for each wolf (scheduling scheme), calculate its total weighted delay time (TWT) and total energy consumption (TEC) as two objective function values.

[0173] Step 203, Update the archive. Add non-dominated solutions from the current population to the archive and remove old solutions dominated by the new solutions, maintaining the non-dominated nature of all solutions in the archive.

[0174] Step 204: Determine if the algorithm has reached the set maximum running time. If "No", continue iteratively to step 205; if "Yes", output the approximate Pareto optimal solution set saved in the external file and end the operation.

[0175] Step 205: Calculate the attenuation factor. Dynamically adjust control parameters (such as those in MOGWO). The coefficients (indicate that the algorithm is biased towards global exploration in the early stages and towards local development in the later stages) make the algorithm more inclined towards global exploration in the early stages and local development in the later stages.

[0176] Step 206: Select α wolf, β wolf, and δ wolf. Three leader wolves (α, β, δ) are selected from the archive using a roulette wheel mechanism, representing the currently found optimal, suboptimal, and third-optimal solutions.

[0177] Step 207: Determine the first perturbation threshold (AT1) where the current running time is greater than or equal to the total time. If "yes", proceed to step 208; if "no", proceed to step 209. Check if the primary perturbation threshold has been reached: when the iteration time exceeds the proportion of AT1 of the total time, trigger enhanced optimization for the α wolf.

[0178] Step 208: After applying ALNS local perturbation (fine-tuning the current optimal solution) to the α wolf, proceed to step 211. Apply adaptive large neighborhood search to the α wolf: explore its neighborhood by locally perturbing the current optimal solution through a destruction-repair mechanism (such as random process exchange, machine tool reallocation).

[0179] Step 209: If the current running time is greater than or equal to the second perturbation threshold (AT2) of the total time, proceed to step 210 if “yes”; otherwise, proceed to step 211.

[0180] Step 210: After applying the ALNS local perturbation to both β and δ wolves, proceed to step k. Apply adaptive large neighborhood search to both β and δ wolves: expand the range of local perturbation and enhance the algorithm's ability to escape local optima.

[0181] Specifically, a set of local search operators was designed around the two sub-problems of processing sequence and machine tool allocation, and a dual threshold triggering mechanism was introduced: when the search iterates to the threshold AT1, for the α wolf individual, the ALNS module combined with the multi-armed gambling machine model is called to realize adaptive reinforcement search of the local neighborhood; when the search reaches a higher threshold AT2, a three-level cooperative perturbation mechanism is further triggered to extend ALNS to β wolf and δ wolf individuals, and the global search depth and solution space exploration breadth are improved by leveraging the multi-dimensional cooperative evolution of elite solutions.

[0182] The destruction operator achieves deconstruction and recombination by removing parts of the current solution. Its core objective is to overcome the structural constraints of local optima and expand the large-scale neighborhood search capability. This application addresses the two-dimensional characteristics of the flexible job shop scheduling problem by constructing differentiated destruction strategies from two levels: processing sequence and machine tool allocation.

[0183] Destruction operators based on processing order include random destruction operators, scarce tool-oriented destruction operators, tool gap-based destruction operators, and tool load-based destruction operators:

[0184] By randomly destroying operators and randomly selecting q operations to add to the deletion set, the diversity of the search is enhanced by introducing random perturbations, which effectively avoids premature convergence of the algorithm.

[0185] The scarce tool-oriented destruction operator prioritizes the deletion of operations that use the scarcest tools, alleviating critical resource bottlenecks and reducing waiting issues caused by tool conflicts during the refactoring phase.

[0186] Based on the tool gap destruction operator, the q workpieces with the largest machining gaps due to tool occupancy are selected. The gap is defined as the cumulative time a workpiece waits for the tool to complete. Operations with severe gap occupancy are prioritized for removal to improve the overall scheduling efficiency. The formula for calculating the gap of the i-th workpiece on machine tool m due to tool waiting is:

[0187]

[0188] In the formula, K i Let jst be the number of operations performed on the i-th workpiece on machine tool m. m,i,k and JCT m,i,k-1 Let represent the start time of the k-th operation on the i-th workpiece on machine tool m and the completion time of the previous operation, respectively.

[0189] Tool load-based destruction operators selectively delete certain artifacts based on the tool's load, reducing resource concentration and improving the balance of tool usage. First, we determine the number of artifacts to be deleted from each tool using a formula. The result is obtained, where q is the number of workpieces to be deleted, and N is the set of workpieces. t It is the set of workpieces processed by tool t. Then, it is randomly selected from the workpieces processed by tool t. One workpiece.

[0190] Destruction operators based on machine tool allocation include dynamic idle ratio destruction operators, destruction operators based on release time intervals, destruction operators based on tool intervals, and destruction operators based on TWT:

[0191] The dynamic idle ratio destruction operator prioritizes removing workpieces from machine tools with high idle rates based on the machine tool idle time ratio (idle time / total running time), thereby improving equipment resource utilization.

[0192] The destruction operator based on the release time interval deletes q jobs whose machine tool waiting time is too long due to differences in workpiece release time, thereby reducing resource idle time and improving scheduling efficiency. The release time interval can be represented as:

[0193]

[0194] In the formula, gst′ m,i , gct′ m,i-1 and R′ m,i These are the start time, completion time, and release time of the i-th workpiece on machine tool m, respectively.

[0195] The tool gap-based destruction operator is similar to the tool gap destruction operator in the processing sequence dimension. It deletes operations that have a significant impact on resource scheduling based on the waiting time caused by tool conflicts.

[0196] The destruction operator based on TWT prioritizes the deletion of the q jobs that contribute the most to the total weighted delay (TWT) in order to reduce the objective function value and improve the quality of the solution.

[0197] The repair operator is used to re-insert deleted operations into the scheduling sequence to reconstruct the solution. This application designs the following repair strategy from the perspectives of processing sequence and machine tool allocation:

[0198] Repair operators based on processing order include random insertion repair operators, forward insertion repair operators, and backward insertion repair operators:

[0199] A random insertion repair operator randomly inserts q jobs from the deletion set into arbitrary positions in the scheduling sequence. This process is executed independently multiple times, ultimately retaining the optimal solution to enhance solution diversity.

[0200] The forward insertion repair operator prioritizes inserting the job to be repaired at the beginning of the sequence, reducing the waiting time of critical jobs and machine idle time, thereby reducing the total weighted delay and standby power consumption.

[0201] The backward insertion repair operator prioritizes inserting jobs at the end of the scheduling sequence, effectively alleviating resource congestion at the front end and improving the slackness and robustness of the scheduling scheme.

[0202] Repair operators based on machine tool allocation include load balancing repair operators and energy efficiency optimization repair operators:

[0203] The load balancing repair operator allocates workpieces to the feasible machine tool with the lowest current load, thereby achieving resource load balancing and optimizing scheduling performance and total weighted delay index.

[0204] The energy efficiency optimization and repair operator allocates workpieces to the feasible machine tool with the highest current load, centralizes resource scheduling to reduce idle periods, and improves energy efficiency.

[0205] Furthermore, to enable adaptive adjustment in the operator selection process, this application introduces a dynamic selection strategy based on the Multi-Armed Bandit (MAB) model, modeling the operator selection problem as a profit maximization problem. This strategy employs an Upper Confidence Bound (UCB) mechanism, which, while balancing exploration and development, tends to select operators with better historical performance, thereby improving global optimization capabilities and search efficiency. Specifically, the MAB model first guides the selection of operators related to processing sequence and machine tool allocation, and then selects corresponding destruction and repair operators. The performance of each operator is scored through a reward mechanism. Initially, all operators have a score of 0; in each iteration, if a selected operator can generate a candidate solution not dominated by an archived solution, its score will increase by 1. The UCB value of an operator is calculated based on the cumulative score and the number of calls, as shown in the following formula:

[0206]

[0207] Among them, scores g The cumulative score for operator g, attempts g Let be the number of times operator g is called, otal_attempts represent the total number of operator calls, and c is a hyperparameter that adjusts the exploration intensity. For operators that have not yet been called, the algorithm will prioritize allocating selection opportunities to ensure sufficient exploration of the search space. Ultimately, operators with higher UCB values ​​will be selected to participate in subsequent searches, thereby effectively guiding the search process towards a better solution domain.

[0208] Specifically, the ALNS algorithm process is as follows:

[0209] Step A': Initialize the call count and score of each selection operator, destruction operator, and repair operator to 0, and initialize the total call count to 0.

[0210] Step B': If the stopping condition is not met, repeat the following steps in a loop:

[0211] Based on the UCB (Upper Confidence Bound) multi-armed gambling machine strategy, a selection operator is selected, and the number of calls to the selection operator and the total number of calls are updated;

[0212] Similarly, based on the UCB multi-armed gambling machine strategy, a destruction operator D is selected. - and a repair operator R + Update the call counts of these two operators;

[0213] Apply the selected destruction operator D to the current solution - and repair operator R + This leads to a new solution;

[0214] If the new solution is not dominated by a solution in the external file, the current solution is replaced with the new solution, the external file is updated, and the scores of the selection operator, destruction operator, and repair operator are increased.

[0215] Regardless of whether the new solution is better, the score of the selection operator is increased.

[0216] Step C': When the stopping condition is met, return the optimized solution.

[0217] Step 211: Update the individual wolf pack positions. Based on the standard MOGWO mechanism and guided by α, β, and δ wolves, update the overall wolf pack position (solution encoding).

[0218] Step 212: Recalculate the objective function value, update the external archive, and return to step 204. Evaluate the TWT and TEC of the updated solution, add the new non-dominated solution to the archive, and remove the dominated old solution.

[0219] S103. Decode the optimal solution of the algorithm to obtain the corresponding machine tool allocation information, processing sequence information and processing speed information, and allocate tools to each process based on the processing sequence information and the earliest available strategy to generate a production plan.

[0220] In some specific embodiments, for the MOFJSP-TRC problem, the scheduling scheme involves four key decision dimensions: machining sequence, machining speed, machine tool allocation, and tool selection. The machining sequence, machining speed level, and machine tool allocation are uniformly encoded as a one-dimensional real number sequence and then restored to a feasible scheduling solution through a specific decoding mechanism. Specifically, the machining sequence is determined using the Smallest Position Value (SPV) rule, and both the machining speed level and machine tool allocation are decoded based on a uniform partitioning strategy. Tool allocation adopts the earliest available priority principle to improve resource utilization and scheduling flexibility.

[0221] refer to Figure 3 and Figure 4 , Figure 3 A flowchart illustrating the decoding mechanism of a CNC multi-objective energy-saving optimization method according to an embodiment of this application is shown. Figure 4 An example of encoding and decoding for processing sequence, processing speed, and machine tool allocation according to an embodiment of this application is shown. Figure 3 As shown, the decoding process includes:

[0222] Step 301: Obtain the real-number encoded sequence. Map the solution space of the scheduling problem (covering decision dimensions such as processing sequence, machine tool allocation, and processing speed) into real-number encoded individuals, which serve as the basic input for subsequent scheduling decisions. For example... Figure 4(a) Taking the real number encoding sequence [4.72, 2.23, 1.93, 3.87, 1.35] as an example, each real number in the real number encoding [4.72, 2.23, 1.93, 3.87, 1.35] corresponds to a different scheduling decision dimension. The integer part is only used as a sorting basis in the SPV rule and has no actual semantics. The first decimal place of the fractional part is used to map the processing speed level, and the second decimal place of the fractional part is used to map the machine tool allocation (only valid for the first operation).

[0223] Step 302 involves decoding the real-number encoded sequence using both the SPV rule and the uniform segmentation method, specifically including:

[0224] The processing sequence is generated from the real-number encoded sequence using the SPV rule. This rule first sorts the real-number codes in ascending order, and then determines the processing order based on the original indices of the sorted elements. For example, the real-number encoded sequence [4.72, 2.23, 1.93, 3.87, 1.35], after sorting, becomes [1.35, 1.93, 2.23, 3.87, 4.72], with the corresponding original indices (5, 3, 1, 4, 2). Therefore, the initial processing order is (5, 3, 1, 4, 2), which is: Process 5 → Process 3 → Process 1 → Process 4 → Process 2. Although the SPV rule effectively simplifies the sequence conversion process, the operation sequence generated by this method may not conform to specific job constraints (such as the requirement that job operations must be executed in a predetermined order). To ensure the feasibility of the operation sequence, a repair mechanism is used to adjust the initial operation sequence to satisfy the job order constraints. Specifically, suppose the operation order of task 1 is (1,2,3), and the operation order of task 2 is (4,5), while the initial operation sequence is S0 = (5,3,1,4,2), which does not meet the constraints. The repair step first adjusts the sequence according to the operation order of task 1, replacing the indices of the second, third, and fifth positions in S0, resulting in the corrected sequence S1 = (5,1,2,4,3). Subsequently, the first and fourth positions are adjusted according to the order of task 2, finally yielding a feasible solution S2 = (4,1,2,5,3) that satisfies all constraints.

[0225] The processing speed decoding employs a uniform segmentation strategy, mapping the first decimal part of the real number encoding to a preset speed level range, thereby determining the processing speed of the process. Figure 4 As shown in (b). For example, suppose the speed level is [1.5, 1.2, 1.0, 0.8], and its corresponding intervals are [0, 0.25), [0.25, 0.5), [0.5, 0.75), and [0.75, 1.0]. If the real number code of a certain process is 1.35, then its first decimal is 0.3, which falls into the interval [0.25, 0.5), and the corresponding processing speed is 1.2.

[0226] Machine tool allocation is also based on a uniform partitioning strategy, such as Figure 4 As shown in (c). For the first operation of each job, the second decimal place of the real number code is extracted, scaled to the interval [0,1), and mapped to the machine tool set accordingly. For example, if there are two candidate machine tools, corresponding to the intervals [0,0.5) and [0.5,1) respectively, if the first operation code of job 1 is 2.23, the second decimal place is 3, which is 0.3 after scaling, falling into the interval [0,0.5), so it is assigned to machine tool 1; if the first operation code of job 2 is 3.87, the second decimal place is 7, which is 0.7 after scaling, falling into the interval [0.5,1), so it is assigned to machine tool 2.

[0227] Step 303, Tool Allocation. Following the earliest available strategy, and under the premise of satisfying tool resource constraints (i.e., the same tool is not simultaneously occupied by multiple operations), allocate the required tools to each operation within a feasible machining sequence to ensure a smooth machining flow. Specifically, provided that the operation's executable conditions are met, prioritize the available tool with the earliest current idle time to maximize the utilization of tool resources.

[0228] Step 304: Generate a production plan: Integrate information such as processing sequence, machine tool allocation, processing speed, and tool allocation to form a complete production execution plan, output the production plan, and guide the scheduling and execution of the actual CNC machining process.

[0229] Through the above decoding process, the abstract code obtained by the algorithm search is gradually transformed into an executable scheduling scheme that fits the actual production constraints, so as to realize the practical application of multi-objective energy-saving optimization in CNC machining.

[0230] S104. Calculate the total weighted delay and total energy consumption corresponding to the production plan to obtain the energy-saving optimization scheduling scheme of the algorithm.

[0231] In some specific embodiments, in order to further reduce total energy consumption (TEC), this application proposes an energy-saving strategy based on rate adjustment, which aims to optimize energy consumption by combining the resource constraint characteristics in the TRC-MOFJSP problem. In this problem, the machining process is not only limited by the availability of machine tools, but also by the synchronous constraint of tool resources. If the tool is temporarily unavailable, even if the preceding process is completed at an extremely high speed, the subsequent process cannot be connected in time, which leads to the machine tool being in standby mode, resulting in double energy consumption loss: on the one hand, high-speed machining itself brings high operating energy consumption; on the other hand, the subsequent idle waiting will also generate significant standby energy consumption. In order to alleviate the above-mentioned energy consumption superposition problem, this application proposes to moderately reduce the machining rate under the premise of keeping the total weighted delay (TWT) unchanged, so as to extend the machining time of the current process, thereby shortening the machine tool idle time between it and its subsequent processes, and finally reducing the operating and standby energy consumption in a coordinated manner. This strategy only involves the adjustment of machining rate, and the process sequence and machine tool allocation remain unchanged, so TEC can be effectively optimized without sacrificing timeliness. The implementation of this strategy requires the following three constraints to be met: (1) The machining rate of the current process is not at the lowest level (i.e. S i,k >1); (2) The time gap between the current process and its subsequent processes is greater than the processing time delay caused by the rate adjustment; (3) The available gap of the tool currently used also meets the above time delay requirements.

[0232] refer to Figure 5 , Figure 5 A schematic diagram of an energy-saving strategy for a multi-objective energy-saving optimization method for CNC systems according to an embodiment of this application is shown. Figure 5 As shown, the complexity of this strategy lies in the collaborative optimization of tool resources. In practice, three key time parameters need to be calculated simultaneously: the subsequent operation backhaul time (the time interval between the end of the current operation and the start of the next operation) and the available tool backhaul time (the time interval between the release of the tool in the current operation and its next invocation). Rate downgrading is only performed when both meet threshold conditions. By traversing all non-terminal operations (i.e., the last operation that is not the final job), this mechanism can systematically eliminate potential machine tool idle time. Figure 5By comparing upper and lower Gantt charts, the implementation process of the energy-saving strategy is visually demonstrated. Before optimization, the 2.1 process of Job2 was completed early due to high-speed machining, causing machine tool M2 and associated tools (such as T4) to have idle periods (shown in red boxes), resulting in a double waste of energy consumption from high-speed machining and idle standby. Under the triple constraints of "the current process machining rate is not at the lowest level, the process gap and the available tool gap are greater than the machining time delay caused by the rate adjustment", a speed reduction operation is performed on this process to extend its machining time (the orange block becomes longer), filling the original idle period. After optimization, the idle of machine tool M2 and tool T4 is eliminated, the standby energy consumption is reduced, and since subsequent processes are not delayed, the total weighted delay time (TWT) remains unchanged, achieving a reduction in total energy consumption (TEC). This verifies that the energy-saving strategy based on rate adjustment can effectively optimize operating and standby energy consumption while ensuring timeliness.

[0233] Example

[0234] To facilitate understanding, a simple example of MOFJSP-TRC is given. Assume five workpieces need to be scheduled on three parallel machine tools (M1, M2, M3), sharing a toolkit consisting of two turning tools, one drill tool, and two milling cutters. The tools are denoted as T1 to T5: {T1, T2} is the set of turning tools labeled "tt"; {T3} is the set of drill tools labeled "dt"; and {T4, T5} is the set of milling tools labeled "mt". Each workpiece has an operation sequence, and each operation requires a specific type of tool and consumes a certain amount of machining time.

[0235] Table 2 lists the specific data for the workpieces. Taking workpiece 1 as an example, after being loaded onto the CNC machine tool, it requires 3 hours of turning at normal speed, followed by 1 hour of drilling, and finally 2 hours of milling. When a turning tool is available, workpiece 1 will use it for the first operation; after turning, workpiece 1 will wait for the drill to be ready before the milling operation. The workpiece will not be unloaded from the machine tool until all operations of workpiece 1 are completed, i.e., after the two-hour milling operation is completed.

[0236] Table 2. Job data for small-scale instances

[0237]

[0238] Table 3 lists the selectable processing speeds and corresponding power consumption for each operation. Taking the first operation of workpiece 1 as an example, its selectable processing speeds are high speed, normal speed, and low speed, with corresponding processing times of 1.5 hours, 2 hours, and 3 hours, and power consumptions of 11 kW / h, 8 kW / h, and 5 kW / h, respectively.

[0239] Table 3 shows the selectable processing speeds and corresponding power data for small-scale examples.

[0240]

[0241]

[0242] Figure 6 The optimal timeline for the same objective weights of a mixed-integer linear programming model according to an embodiment of this application is shown in the figure. When the weights of the two objectives are set to be equally important, the optimal solution timeline is as follows: Figure 6 As shown, the total weighted delay is 6.22, and the total energy consumption is 217.22. In this scheduling scheme, workpieces 1 and 5 are assigned to machine tool M1, workpieces 3 and 4 are processed on machine tool M2, and workpiece 2 is processed on machine tool M3. Besides the machine tools, each operation also requires corresponding cutting tools. It is clear from the Gantt chart that operations only begin when the machine tools and required cutting tools are available.

[0243] refer to Figure 7 , Figure 7 The Pareto fronts of a mixed-integer linear programming model according to embodiments of this application are illustrated under different combinations of objective weights. The Pareto fronts under different combinations of objective weights are as follows: Figure 7 As shown, this illustrates the trade-off between total weighted delay and total energy consumption. Each point on the Pareto front represents the optimal solution under different weight combinations, indicating that improvement in any objective comes at the cost of degradation in another. This result demonstrates that in multi-objective optimization problems, it is impossible to optimize all objectives simultaneously; a reasonable trade-off and balance must be made among them.

[0244] Continue to refer to Figure 8 As an implementation of the above method, in a second aspect, this application provides an embodiment of the framework diagram 800 of a CNC multi-objective energy-saving optimization system, which is similar to... Figure 1 Corresponding to the illustrated method embodiment, this system can be specifically applied to various electronic devices. The system 800 includes a model building module 801, an algorithm optimal solution module 802, a production plan generation module 803, and an energy-saving optimization scheduling scheme generation module 804, all interconnected.

[0245] The model building module 801 is configured to build a mixed integer linear programming model for multi-objective flexible job shop scheduling. The model uses machine tool allocation, processing sequence, tool allocation and processing speed adjustability as decision variables, and total weighted delay and total energy consumption as optimization objectives.

[0246] The algorithm optimal solution module 802 is configured to use a single-layer real number encoding method to uniformly encode machine tool allocation, processing sequence and processing speed with a one-dimensional real number sequence to generate an initial population, and use a multi-objective optimization algorithm to solve the mixed integer linear programming model to obtain the algorithm optimal solution of the mixed integer linear programming model;

[0247] The production plan generation module 803 is configured to decode the optimal solution of the algorithm to obtain the corresponding machine tool allocation information, processing sequence information and processing speed information, and to allocate tools to each process based on the processing sequence information and the earliest available strategy to generate a production plan.

[0248] The energy-saving optimization scheduling scheme generation module 804 is configured to calculate the total weighted delay and total energy consumption corresponding to the production plan table to obtain the algorithmic energy-saving optimization scheduling scheme.

[0249] This application proposes a computer-readable storage medium storing a computer program that, when executed by a processor, implements a numerical control multi-objective energy-saving optimization method as described above.

[0250] The following is for reference. Figure 9 It shows a schematic diagram of the structure of a computer system 900 suitable for implementing terminal devices or servers in the embodiments of this application. Figure 9 The terminal device or server shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0251] like Figure 9 As shown, the computer system 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 902 or programs loaded from storage section 908 into random access memory (RAM) 903. The RAM 903 also stores various programs and data required for the operation of the computer system 900. The CPU 901, ROM 902, and RAM 903 are interconnected via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.

[0252] The following components are connected to I / O interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including a liquid crystal display (LCD) and speakers, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN card and a modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to I / O interface 905 as needed. A removable medium 911, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 910 as needed so that computer programs read from it can be installed into storage section 908 as needed.

[0253] Specifically, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 909, and / or installed from removable medium 911. When the computer program is executed by central processing unit (CPU) 901, it performs the functions defined in the methods of this application. It should be noted that the computer-readable medium of this application can be a computer-readable signal medium or a computer-readable medium or any combination thereof. The computer-readable medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, a computer-readable medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable medium that can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. Program code contained on a computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0254] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages—such as Java, Smalltalk, and C++—as well as conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0255] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0256] Although the principles of the present invention have been described in detail above with reference to preferred embodiments, those skilled in the art should understand that the above embodiments are merely illustrative explanations of the implementation of the present invention and are not intended to limit the scope of the present invention. The details in the embodiments do not constitute a limitation on the scope of the present invention. Any obvious changes, such as equivalent transformations or simple substitutions, based on the technical solutions of the present invention without departing from the spirit and scope of the present invention fall within the protection scope of the present invention.

Claims

1. A numerical control multi-objective energy-saving optimization method, characterized in that, The method includes: S1. Construct a mixed-integer linear programming model for multi-objective flexible workshop scheduling. The model uses machine tool allocation, processing sequence, tool allocation, and adjustable processing speed as decision variables, and total weighted delay and total energy consumption as optimization objectives. S2. Using a single-layer real number encoding method, the machine tool allocation, the processing sequence, and the processing speed are uniformly encoded as a one-dimensional real number sequence to generate an initial population. A multi-objective optimization algorithm is then used to solve the mixed integer linear programming model to obtain the optimal solution of the mixed integer linear programming model. S3. Decode the optimal solution of the algorithm to obtain the corresponding machine tool allocation information, processing sequence information and processing speed information, and allocate tools to each process based on the processing sequence information and the earliest available strategy to generate a production plan table; S4. Calculate the total weighted delay and total energy consumption corresponding to the production plan table to obtain the energy-saving optimization scheduling scheme of the algorithm.

2. The CNC multi-objective energy-saving optimization method according to claim 1, characterized in that, The expression for the mixed-integer linear programming model is: min∑ i∈N wt i (1) min∑ m∈NC (ep m +no m ) (2) The constraints include: In the formula, N represents the set of workpieces, i∈N; wt i The weighted delay time for workpiece i is represented; NC represents the set of CNC machine tools; ep m Indicates the total energy consumption of machine tool m during operation; ei m W represents the total energy consumption of machine tool m in idle state. i This represents the weight of workpiece i; Let the non-negative continuous variable be workpiece i at the Kth position. i The start time of the operation; NC represents the set of CNC machine tools, m∈NC; This represents the set of selectable processing speeds for workpiece i during the Kth operation. Indicates the Kth workpiece i i If the operation is performed on machine tool m at speed s, the binary variable is 1; otherwise, it is 0. Indicates the Kth workpiece i i The time required for processing at speed s in this operation; W i Indicates the delivery date of workpiece i; O i K represents the fixed processing sequence of workpiece i. i Indicates the number of operations for workpiece i, O i = (1,2,...,K) i ), k∈O i S i,k Let S represent the set of selectable processing speeds for the k-th operation on workpiece i. i,k ;z m,i,k,s Let P represent the k-th operation of workpiece i being processed on machine tool m at speed s, then the binary variable is 1; i,k,s E represents the time required for the k-th operation of workpiece i to be processed at speed s; i,k,s Let represent the power required for machining workpiece i at speed s in the k-th operation; E represents the power of the machine tool in idle state; mc m Let m be the non-negative continuous variable representing the end time of machine tool m.

3. The CNC multi-objective energy-saving optimization method according to claim 2, characterized in that, The mixed-integer linear programming model also includes the following constraints: ∑ i′∈N′ x i,i′,m / and i,m ,i∈N′,m∈NG (8) ∑ i∈N′,i≠i′ x i,i′,m =y i′,m ,i′∈N′,m∈NC (9) ∑ m∈NC and i,m =1,i∈N (10) ∑ m∈NC y i,m =|NC|,i=0 (11) st i,k-1 +P i,k-1,s ≤st i,k ,k∈2,3,...,K i ,i∈N (13) st i,1 +P i,1,s ≤st i′,1 +M×(2-y i,m -x 0,i,m ),m∈NC,i,i′∈N,i≠i′ (14) ∑ e∈KN′,e≠e′ b e,e′,t =c e′,t ,e′∈KN′,t∈TL (15) ∑ e′∈KN′,e≠e′ b e,e′,t =c e,t ,e∈KN′,t∈TL (16) ∑ t∈TL c e,t =1,e∈KN (18) ∑ t∈TL c e,t =|TL|,e=0 (19) st′ e +P′ m,e,s ≤st′ e′ + M × (1 − β e,e′,t ),e,e′∈KN,e≠e′,t∈TL (20) st′ e +P′ m,e,s ≤st′ e′ +M×(2-γ e′,t -β 0,e,t ),e,e′∈KN,e≠e′,t∈TL (21) st′ j =st i,k ,j=JK i,k ,i∈N,k∈O i (22) P′ m,j,s =P i,k,s ,j=JK i,k ,i∈N,k∈O i ,s∈S i,k (23) x i,i′,m ∈B,i∈N′,i′∈N′,m∈NC (26) and i,m ∈B,i∈N′,m∈NC (27) With m,i,k,s ∈B,m∈NC,i∈N,k∈O i ,s∈S i,k (28) st i,k ≥R i ,i∈N,k∈O i (29) β e,e′,t ∈B,e,e′∈KN′,t∈TL (30) c e,t ∈B,e∈KN′,t∈TL (31) st′ e ≥0,e∈KN (32) wt i ≥0,i∈N (33) ep m ≥0,m∈NC (34) no m ≥0,m∈NC (35) In the formula, constraints (6) and (7) represent the machine tool shutdown time; M represents a large positive number of the big-M form; y i,m This indicates that if workpiece i is assigned to machine tool m, the binary variable is 1; otherwise, it is 0. i,i′,m The binary variable is equal to 1 only when workpiece i is processed on machine tool m and then workpiece i′ is processed; otherwise, it is 0. i′∈N, i′≠i; constraints (8) and (9) represent the relationship between variables. N′ represents the set of job indices containing a virtual job 0, i.e., N′=N∪{0}, i∈N′; y i′,m If workpiece i′ is assigned to machine tool m, the binary variable is 1; otherwise, it is 0. Constraint (10) ensures that each job is assigned to only one machine tool. Constraint (11) assigns virtual job 0 to each machine tool. In constraint (12), the completion time of the last operation of a workpiece must be less than or equal to the start time of the first operation of the next workpiece. i′,1 The non-negative continuous variable represents the start time of the first operation of workpiece i′; constraint (13) indicates that the processing sequence of each workpiece is fixed, st i,k-1 P represents the start time of the (k-1)th operation of workpiece i, which is a non-negative continuous variable. i,k-1,s This represents the time required for workpiece i to be processed at speed s in the (k-1)th operation. Constraint (14) indicates that the first operation of the workpiece processed after the virtual workpiece has the earliest completion time; constraints (15) and (16) indicate the relationship between variables; KN′ represents the set of all operations of all workpieces containing virtual operation 0, i.e., KN′=KN∪{0}, KN represents the set of all operations of all workpieces, e′ represents the operation contained in KN′, e∈KN′, e≠e′, e′∈KN′; β e,e′,t This indicates that the binary variable β only occurs when the tool t is used to process operation e, followed by operation e′. e,e′,t It equals 1 only if it is γ, otherwise it is 0; e′,t This means that if the operation e′ is processed using tool t, the binary variable is equal to 1; otherwise, it is 0. e,t This means that if tool t is used to process operation e, the binary variable is equal to 1, otherwise it is 0; constraint (17) means that each operation is processed using only one of the same tools; TS e This represents the set of tools that can be used to complete operation e according to the process requirements; constraint (18) indicates that only one tool is selected for each operation; constraint (19) indicates that each tool processes one virtual operation 0; constraint (20) indicates that for each tool, the completion time of the previous operation is less than or equal to the start time of the next operation; st′ e P′ represents the start time of operation e, which is a non-negative continuous variable. m,e,s This represents the time required for operation e to perform machining at speed s on machine tool m; st′ e′ Let β represent the start time of operation e′, which is a non-negative continuous variable; constraint (21) ensures that the operation following the virtual operation has the minimum completion time; 0,e,t This indicates that the binary variable β only occurs when tool t processes virtual operation 0 followed by operation e. 0,e,t Only equals 1, otherwise equals 0; constraints (22) to (25) represent the relationship between two variables; st′ j This indicates the start time of the operation at index j, where j = JK. i,k i∈N, k∈O i ;st i,k Let j represent the start time of the k-th operation of workpiece i, which is a non-negative continuous variable; j represents the index of the k-th operation of workpiece i in KN, where j = JK. i,k i∈N, k∈O i JK i,k P′ represents the index of the k-th operation on workpiece i; m,j,s Let represent the time required for the operation at index j to be processed at speed s on machine tool m; constraints (26) to (35) define the range of values ​​for each variable; B represents a binary set, B = {0, 1}; R i This indicates the release time of workpiece i.

4. The CNC multi-objective energy-saving optimization method according to claim 1, characterized in that, Step S3 includes the following sub-steps: S31. Obtain the real number encoding sequence corresponding to the optimal solution of the algorithm; S32. Determine the processing order by decoding the integer part of the real number encoding sequence using the SPV rule, determine the processing speed by decoding the first decimal part of the real number encoding sequence using the uniform segmentation method, and determine the machine tool allocation by decoding the second decimal part. S33. Adjust the initial processing sequence based on the job constraints to form the final processing sequence information; S34. Using the earliest available strategy and the processing sequence information, allocate tools to each process and generate the production plan.

5. The CNC multi-objective energy-saving optimization method according to claim 4, characterized in that, Step S32 includes: A uniform segmentation strategy is adopted to map the first decimal part of the elements in the real number encoding sequence to a preset processing speed range, thereby determining the processing speed of the process; and to map the second decimal part of the elements in the real number encoding sequence to a preset machine tool allocation range, thereby determining the machine tool allocation of the process. Using the SPV rule, the elements in the real number encoding sequence are sorted in ascending order, and the processing order of the steps is determined based on the original index of the sorted elements.

6. The CNC multi-objective energy-saving optimization method according to claim 1, characterized in that, Step S4 further includes the following sub-steps: S41. Calculate the subsequent process backlash time and available tool backlash time for each non-terminal process and non-minimum processing speed in the production schedule table. In response to the fact that the subsequent backlash time and the available tool backlash time are greater than the deceleration delay time of the current process, the machining speed corresponding to the current process is adjusted. The subsequent backlash time is the time interval from the end of the current process to the start of the next process of the machine tool. S42. After traversing all current processes that are not the final process and do not have the minimum processing speed, update the production schedule table, and calculate the total weighted delay and total energy consumption of the updated production schedule table to obtain the adjusted optimal energy-saving scheduling scheme.

7. The CNC multi-objective energy-saving optimization method according to claim 6, characterized in that, Step S42 includes the following sub-steps: S421. Traverse the processes to be optimized in the production plan table and determine whether the processing speed of the process to be optimized is the lowest. If "yes", continue to traverse the next process to be optimized. If "no", execute step S422. The process to be optimized is not the last process in the production plan table. S422. Calculate the first blank time between the end time of the current process to be optimized and the start time of the next process to be optimized; calculate the second blank time between the end time of the tool corresponding to the current process to be optimized and the start time of the next use of the tool; and calculate the speed reduction delay time of the current process to be optimized, wherein the speed reduction delay time is the processing time delay time after the speed reduction of the process to be optimized. S423. In response to the fact that both the first blank time and the second blank time are greater than the speed reduction delay time, reduce the processing speed of the process to be optimized, and re-execute S421-S422 until all processes to be optimized in the production plan are traversed.

8. A numerical control multi-objective energy-saving optimization system, characterized in that, The system includes: The model building module is configured to build a mixed-integer linear programming model for multi-objective flexible job shop scheduling. The model uses machine tool allocation, processing sequence, tool allocation and processing speed adjustability as decision variables, and total weighted delay and total energy consumption as optimization objectives. The algorithm optimal solution module is configured to use a single-layer real number encoding method to uniformly encode the machine tool allocation, the processing sequence and the processing speed as a one-dimensional real number sequence, generate an initial population, and use a multi-objective optimization algorithm to solve the mixed integer linear programming model to obtain the algorithm optimal solution of the mixed integer linear programming model; The production plan generation module is configured to decode the optimal solution of the algorithm to obtain the corresponding machine tool allocation information, processing sequence information and processing speed information, and to allocate tools to each process based on the processing sequence information and the earliest available strategy, and generate a production plan. The energy-saving optimization scheduling scheme generation module is configured to calculate the total weighted delay and total energy consumption corresponding to the production plan table, and obtain the algorithmic energy-saving optimization scheduling scheme.

9. An electronic device, characterized in that, Includes a processor and a memory communicatively connected to the processor; the memory stores computer-executed instructions; When the processor executes the computer execution instructions stored in the memory, it is used to implement the numerical control multi-objective energy-saving optimization method as described in any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the numerical control multi-objective energy-saving optimization method as described in any one of claims 1 to 7.

Citation Information

Cited By

  • Data service-oriented computing platform distribution method

    CN122137879A