Plate processing dynamic scheduling method based on digital twinning and real-time optimization

By constructing a digital twin workshop model and a real-time multi-objective optimization scheduling algorithm, the problem of insufficient energy consumption assessment in traditional dynamic scheduling of sheet metal processing was solved, realizing energy consumption optimization and time efficiency balance during production disturbances, and reducing production costs.

CN121836282APending Publication Date: 2026-04-10GUANGXI FUSUI FANGZHOU WOOD IND CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-02-10
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Traditional dynamic scheduling methods for sheet metal processing lack the ability to effectively perceive and predict real-time energy consumption during production. This can lead to high-energy-consuming equipment load combinations or process sequences during equipment rescheduling, increasing production costs and contradicting the concept of green manufacturing.

Method used

A dynamic scheduling method for sheet metal processing based on digital twins and real-time optimization is constructed. The energy consumption of processing equipment is perceived and predicted in real time through a digital twin workshop model. Combined with a real-time multi-objective optimization scheduling algorithm, a Pareto optimal scheduling scheme is generated to optimize the overall energy consumption of the workshop.

Benefits of technology

It enables rapid response to production disruptions while optimizing workshop energy consumption, reducing production costs, and improving the scientific nature and response speed of production scheduling.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The invention relates to a plate processing dynamic scheduling method based on digital twinning and real-time optimization, and belongs to the technical field of intelligent manufacturing and production scheduling. The problems that energy waste and production cost increase are possibly caused when disturbance rescheduling is dealt with because production energy consumption is ignored in existing plate processing dynamic scheduling are solved. A digital twin workshop model comprising a physical workshop layer, a virtual workshop layer and a workshop service system layer is constructed, a real-time energy consumption prediction sub-model is integrated for processing equipment in the virtual workshop layer, equipment operation state data are collected and synchronized in real time, the energy consumption prediction sub-model is used for calculating instantaneous estimated power and workshop real-time total power, and the real-time total power of the workshop is calculated. And a dynamic scheduling trigger condition is determined based on the equipment alarm, the newly added task instruction and the real-time total power information. The method is mainly used for achieving dynamic optimization scheduling considering production efficiency and energy consumption when disturbance occurs in the plate machining process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of intelligent manufacturing and production scheduling technology. More specifically, this invention relates to a dynamic scheduling method for sheet metal processing based on digital twins and real-time optimization. Background Technology

[0002] In the sheet metal processing industry, production scheduling is a crucial link in ensuring workshop efficiency and effectiveness. With increasingly complex and volatile manufacturing environments, various disturbances frequently occur during production, such as sudden equipment failures, urgent order insertions, and task delays. To address these disturbances, dynamic scheduling technology has emerged, its core being the rapid adjustment and rearrangement of established production plans based on real-time status. Traditional dynamic scheduling methods, when dealing with disturbances, often focus on optimizing time-related indicators, such as maximum completion time and task delays, aiming to quickly restore production rhythm and reduce time losses through rescheduling. However, this time-efficiency-driven optimization approach has gradually revealed its limitations in practice. Production equipment exhibits significantly different energy consumption characteristics when processing different tasks and operating in different states (such as different spindle speeds and feed rates). When a disturbance necessitates rescheduling, if the goal is solely to shorten completion time through task reallocation and reordering, it may unintentionally create a high-energy-consuming equipment load combination or process sequence. For example, concentrating multiple high-power tasks into parallel processing during the same time period to catch up with schedules, or ignoring the low-efficiency operating range of an idle piece of equipment to utilize it, can lead to unnecessary energy peaks or overall energy consumption increases during disturbance recovery, increasing production costs and contradicting the development concept of green manufacturing. The reason for this problem is that traditional scheduling systems lack the ability to effectively perceive and predict real-time energy consumption during production. Their energy consumption assessments are often based on fixed equipment rated power or historical average data, making it difficult to reflect the actual energy consumption of equipment under specific process parameters and real-time loads. Therefore, at the decision-making stage of dynamic scheduling, the system cannot incorporate real-time and predicted energy consumption information as key constraints or optimization objectives, resulting in blind spots in the energy efficiency dimension of the scheduling results. This is a shortcoming that urgently needs improvement in current dynamic scheduling of sheet metal processing. Summary of the Invention

[0003] One object of the present invention is to address at least the aforementioned deficiencies and to provide at least the advantages described below.

[0004] This invention provides a dynamic scheduling method for sheet metal processing based on digital twins and real-time optimization. It can realize real-time perception and prediction of energy consumption of processing equipment, and when production disturbances occur, it comprehensively considers real-time energy consumption status and time efficiency to trigger and execute dynamic rescheduling. This allows for rapid response to changes while optimizing overall energy consumption in the workshop and reducing production costs.

[0005] This invention provides a dynamic scheduling method for sheet metal processing based on digital twins and real-time optimization, which includes the following steps: Includes the following steps: Step S1: Construct a digital twin workshop model for sheet metal processing. This model includes a physical workshop layer, a virtual workshop layer, and a workshop service system layer. The virtual workshop layer is equipped with virtual equipment models that correspond one-to-one with the processing equipment in the physical workshop layer. Each virtual equipment model integrates a real-time energy consumption prediction sub-model that has been trained. The workshop service system layer is used to manage production tasks, store model data, and conduct bidirectional data interaction with the virtual workshop layer, including data synchronization and service request response. Step S2: Through the sensor network and equipment CNC system deployed in the physical workshop layer, the physical operating status data of each processing equipment is collected in real time. The physical operating status data includes spindle speed setpoint, feed rate setpoint, real-time load current and voltage values, and equipment alarm status signals. Step S3: Synchronize the physical operation status data collected in step S2 to the digital twin workshop model; In the virtual workshop layer, the received physical operating status data is used to update the operating parameters of the corresponding equipment virtual model, and the real-time energy consumption prediction sub-model is driven to perform calculations based on the updated operating parameters, and output the real-time status energy consumption data of the corresponding processing equipment. The real-time status energy consumption data includes at least the instantaneous estimated power. In the workshop service system layer, the instantaneous estimated power of all online processing equipment obtained from the virtual workshop layer is aggregated in real time, and summed to calculate the real-time total power of the workshop. Step S4: In the workshop service system layer, based on the equipment alarm status signal, the production instructions received from the external system, and the calculated real-time total power of the workshop, it is determined in real time whether the preset dynamic scheduling triggering conditions are met.

[0006] Preferably, the preset dynamic scheduling triggering condition in step S4 includes any of the following situations: (1) Determine that the equipment in the physical workshop has malfunctioned based on the alarm status signal of the equipment; (2) Receive a new emergency processing task instruction through the workshop service system layer; (3) Based on the completed work hours data periodically fed back from the equipment CNC system, compare it with the corresponding task plan work hours stored in the workshop service system layer, and calculate the actual progress deviation value which exceeds 5% and is less than or equal to 15%; (4) The total real-time power of the workshop continuously exceeds the preset power threshold within a time interval of 30 to 120 seconds.

[0007] Preferably, it also includes: Step S5: When it is determined that any of the dynamic scheduling trigger conditions are met, the real-time multi-objective optimization scheduling algorithm is started in the workshop service system layer. Step S6: The current state of each virtual device model updated in the virtual workshop layer, the queue of tasks to be executed managed in the workshop service system layer, and the processing energy consumption prediction data corresponding to each task in the queue of tasks to be executed obtained from the virtual workshop layer are used as inputs to the real-time multi-objective optimization scheduling algorithm. Step S7: The real-time multi-objective optimization scheduling algorithm adopts a genetic algorithm based on fast non-dominated sorting to solve the scheduling problem in parallel with the optimization objectives of minimizing the total completion time and minimizing the total processing energy consumption, and outputs a set of Pareto optimal scheduling schemes. Step S8: Send the set of Pareto optimal scheduling schemes to the scheduling terminal for decision-making or automatically select the final scheduling scheme; Step S9: The final selected scheduling scheme is sent to the CNC system of the corresponding processing equipment in the physical workshop layer, and the equipment is controlled to execute the new processing task sequence.

[0008] Preferably, step S6 specifically includes: Step S61: In the workshop service system layer, obtain the current status data of each equipment virtual model from the virtual workshop layer. The current status data includes at least the equipment availability status identifier and the estimated recovery time when the equipment is unavailable. Step S62: In the workshop service system layer, extract the queue of tasks to be executed from the task management module. The queue of tasks to be executed is a sequence containing all sheet metal processing tasks that have not started execution and have not been canceled. Each task contains a task identifier, the identifier of the required processing equipment, and the process sequence constraint relationship between tasks. Step S63: In the workshop service system layer, for each task in the queue of tasks to be executed, based on the identifier of the processing equipment and the process parameters, the real-time energy consumption prediction sub-model integrated with the virtual model of the corresponding equipment in the virtual workshop layer is called for the equipment in the available equipment set to simulate the processing process of the task and predict the estimated total processing energy consumption required for the task to be executed on the equipment; the estimated total processing energy consumption data of all tasks are summarized to form a total processing energy consumption prediction dataset, which is used to calculate the total processing energy consumption target value of the scheduling scheme. Step S64: In the workshop service system layer, the current status data of the equipment obtained in step S61, the queue information of the tasks to be executed obtained in step S62, and the total processing energy consumption prediction dataset obtained in step S63 are integrated and encapsulated according to the preset standardized data interface format to generate a standardized input data packet for the scheduling optimization algorithm. Step S65: The standardized input data packet is transmitted to the computing engine of the real-time multi-objective optimization scheduling algorithm as its input.

[0009] Preferably, step S7 involves using a genetic algorithm based on fast non-dominated sorting for parallel solution, specifically including the following steps: Step S71, Encoding and Population Initialization: The scheduling solution is encoded using a two-layer encoding method based on processes and equipment; Based on the above encoding rules, an initial population consisting of multiple encoded individuals is generated, and this initial population is used as the first generation current population. Step S72, Decoding and Target Value Calculation: For each coded individual in the current population, perform decoding and scheme simulation in sequence; Based on the completion times of all decoded processes, calculate the total completion time of the scheduling scheme corresponding to this individual. Based on the decoded device allocation sequence and the total processing energy consumption prediction dataset obtained in step S63, the total processing energy consumption of the scheduling scheme corresponding to this individual is calculated. Step S73, Non-dominated sorting and diversity maintenance: Based on the two target values ​​of total completion time and total processing energy consumption of each individual calculated in step S72, perform fast non-dominated sorting on all individuals in the current population to obtain multiple non-dominated levels; The target value of the total completion time of all individuals is normalized by using the maximum and minimum total completion time of all individuals in the current population; the target value of the total processing energy consumption of all individuals is normalized by using the maximum and minimum total processing energy consumption of all individuals in the current population. Within the same non-dominated hierarchy, calculate the crowding degree of each individual in the normalized target space; Step S74, selection operation: Based on the non-dominant hierarchy to which the individual belongs and its crowding, an elite retention strategy is used to select individuals from the current population to form a mating pool for reproduction; Step S75, Genetic Operations: Perform crossover and mutation operations on individuals in the mating pool to generate a progeny population; Step S76, Iterative evolution: Merge the current population with the offspring population to form a merged population; According to step S73, the merged population is re-sorted for non-dominated order, normalized for target value, and its crowding degree is recalculated. According to step S74, a new generation of population is selected from the merged population as the new current population; Repeat steps S72 to S76, using the new current population as input for the next round of evolution; Step S77, Result Output: When the preset termination condition is reached, the scheduling schemes corresponding to all individuals in the current population belonging to the first non-dominant level in the final generation are output as the set of Pareto optimal scheduling schemes.

[0010] Preferably, in step S71, each gene bit in the process sequence layer represents a process to be executed, and the generation of the process sequence must strictly follow the process sequence constraints defined in step S62; each gene bit in the equipment allocation layer represents the identifier of the target processing equipment allocated to the corresponding process, and the identifier must be selected from the set of equipment whose equipment availability status is marked as "available" in step S61.

[0011] Preferably, in step S72, during decoding, processing time is arranged for each process sequentially according to the order of the process sequence layer and the device identifier of the device allocation layer; when a process is assigned to a device with a status identifier of "unavailable", the start time of the process must be later than the expected recovery time of the device and the completion time of all its preceding processes, and the resulting time delay is included in the completion time of the process.

[0012] Preferably, in step S75, the probability of crossover operation decreases linearly from a preset higher value to a preset lower value as the number of generations increases; the mutation operation includes two types: the first is at the process sequence layer, adjusting the order of adjacent processes without violating the process sequence constraints; the second is at the equipment allocation layer, resetting the equipment identifier of the selected gene site based on the currently available equipment set obtained in step S61.

[0013] Preferably, the process sequence constraint relationship between tasks mentioned in step S62 is defined and stored through the following data structure: For each task in the queue of tasks to be executed, configure a list of preceding task identifiers for it; The preceding task identifier list records the identifiers of all tasks that must be completed before the current task begins processing. If the list of preceding task identifiers for a task is empty, it means that the task has no preceding constraints and can be scheduled for processing immediately.

[0014] Preferably, the automatic selection of the final scheduling scheme is achieved through the following steps: In the workshop service system layer, a completion time weight coefficient Wt and a processing energy consumption weight coefficient We are preset, where the sum of Wt and We is 1, and Wt ≥ 0, We ≥ 0; For each of the Pareto optimal scheduling schemes, the total completion time and total processing energy consumption of the scheme are determined based on its process and equipment allocation relationship. The total completion time and total processing energy consumption of all schemes are respectively used to construct the completion time dataset {T1, T2, ..., T}. n} and the processing energy consumption dataset {E1, E2, ..., E n}; Calculate the maximum value T in the completion time dataset respectively. max With minimum value T min and the maximum value E in the processing energy consumption dataset. max With minimum value E min ; For each scheme i in the set of Pareto optimal scheduling schemes, based on its total completion time T i Total processing energy consumption E i Calculate its normalized total completion time evaluation index It i With the normalized total processing energy consumption evaluation index Ie i ,in: It i = (T max - T i ) / (T max - T min ), Ie i = (E max - E i ) / (E max - E min ); According to the formula Score i = Wt × It i + We × Ie i Calculate the overall evaluation value (Score) for each scheme i. i ; From the set of Pareto optimal scheduling schemes, select the comprehensive evaluation value Score. i The best scheduling scheme will be the final selected scheme.

[0015] The present invention has at least the following beneficial effects: This invention constructs a digital twin workshop model and integrates a real-time energy consumption prediction sub-model, which can dynamically predict the energy consumption of equipment based on its actual operating parameters. This enables the perception and prior assessment of the real energy consumption status during the production process, overcoming the problem of evaluation distortion caused by traditional scheduling relying on fixed energy consumption parameters.

[0016] This invention introduces monitoring conditions based on the real-time total power of the workshop into the dynamic scheduling triggering mechanism, enabling the scheduling system to proactively respond to abnormal energy consumption states, prevent energy waste, and transform energy consumption management from passive statistics to proactive control.

[0017] When a disturbance triggers rescheduling, the system can comprehensively consider real-time equipment status, tasks to be executed, and energy consumption prediction data to perform optimization solutions with completion time and processing energy consumption as common objectives. This generates multiple feasible scheduling schemes that achieve a balance between time efficiency and energy efficiency, thereby avoiding the high energy consumption scheduling results that may be caused by simply pursuing the shortest time.

[0018] This invention forms a complete closed-loop dynamic scheduling process, from real-time data synchronization in a digital twin environment to the preparation of standardized input data, and then to the execution of multi-objective optimization algorithms coupled with real-time constraints. This improves the overall response speed and scientific nature of the system in dealing with production disturbances, and helps to reduce production costs while ensuring production progress.

[0019] Other advantages, objectives and features of the present invention will become apparent in part from the following description, and in part from those skilled in the art through study and practice of the invention. Detailed Implementation

[0020] The present invention will be further described in detail below with reference to embodiments, so that those skilled in the art can implement it based on the description.

[0021] It should be noted that, unless otherwise specified, the experimental methods described in the following implementation plan are all conventional methods, and the reagents and materials described are all commercially available unless otherwise specified.

[0022] A dynamic scheduling method for sheet metal processing based on digital twins and real-time optimization includes the following steps: Step S1: Construct a digital twin workshop model for sheet metal processing. This model includes a physical workshop layer, a virtual workshop layer, and a workshop service system layer. The virtual workshop layer is equipped with virtual equipment models that correspond one-to-one with the processing equipment in the physical workshop layer. Each virtual equipment model integrates a real-time energy consumption prediction sub-model that has been trained. The workshop service system layer is used to manage production tasks, store model data, and conduct bidirectional data interaction with the virtual workshop layer, including data synchronization and service request response. Step S2: Through the sensor network and equipment CNC system deployed in the physical workshop layer, the physical operating status data of each processing equipment is collected in real time. The physical operating status data includes spindle speed setpoint, feed rate setpoint, real-time load current and voltage values, and equipment alarm status signals. Step S3: Synchronize the physical operation status data collected in step S2 to the digital twin workshop model; In the virtual workshop layer, the received physical operating status data is used to update the operating parameters of the corresponding equipment virtual model, and the real-time energy consumption prediction sub-model is driven to perform calculations based on the updated operating parameters, and output the real-time status energy consumption data of the corresponding processing equipment. The real-time status energy consumption data includes at least the instantaneous estimated power. In the workshop service system layer, the instantaneous estimated power of all online processing equipment obtained from the virtual workshop layer is aggregated in real time, and summed to calculate the real-time total power of the workshop. Step S4: In the workshop service system layer, based on the equipment alarm status signal, the production instructions received from the external system, and the calculated real-time total power of the workshop, it is determined in real time whether the preset dynamic scheduling triggering conditions are met.

[0023] In the field of dynamic scheduling in sheet metal processing workshops, existing methods typically rely on fixed equipment rated power or historical average energy consumption data for scheduling decisions. When disturbances such as equipment failures or emergency orders occur during production, these methods mainly focus on rescheduling optimization around time indicators such as minimizing completion time. Due to the lack of real-time perception and prediction capabilities for instantaneous energy consumption under actual equipment operating conditions, such rescheduling schemes may unintentionally lead to excessively high power loads or increased overall energy consumption in the workshop during specific periods, failing to organically integrate energy efficiency optimization into the dynamic response process.

[0024] In this embodiment of the invention, firstly, a digital twin system for a sheet metal processing workshop is constructed. This system is logically divided into a physical workshop layer, a virtual workshop layer, and a workshop service system layer. The physical workshop layer includes actual sheet metal processing equipment such as CNC punching machines, laser cutting machines, and bending machines. Each piece of equipment is equipped with a CNC system, such as a Siemens 840D system or a FANUC CNC system. Hall effect current sensors and voltage sensors, such as CHB-50NP sensors, are installed in the main power input circuit or drive motor circuit of the equipment to collect real-time load current and voltage values. Simultaneously, the spindle speed setpoint and feed rate setpoint are read in real-time through the open interface provided by the equipment's CNC system. The alarm output signals of the equipment itself are also connected to the monitoring network. All sensor data and CNC system data are aggregated through an industrial data acquisition gateway installed on-site in the workshop. This gateway can be an off-the-shelf product based on an ARM processor and an embedded Linux system.

[0025] The virtual workshop layer is deployed on one or more high-performance servers, with Intel Xeon CPUs and ample memory. Within this layer, a one-to-one 3D geometric model and behavioral logic model are established for each processing device in the physical workshop, collectively forming the virtual device model. The behavioral logic model integrates a pre-trained real-time energy consumption prediction sub-model. This sub-model can employ a machine learning model trained based on historical device operating data, such as a gradient boosting decision tree model. The model input consists of parameters characterizing the device's operating state, including spindle speed, feed rate, load current, and voltage; the output includes the instantaneous estimated power of the device in its current state, typically in kilowatts.

[0026] The workshop service system layer is also deployed on a server, sharing hardware resources with the virtual workshop layer but logically isolated through software services. This layer runs the Manufacturing Execution System, responsible for managing all sheet metal processing orders and storing digital twin model data. It maintains bidirectional data interaction with the virtual workshop layer through industrial communication protocols based on OPC UA or MQTT, both receiving updated data from the virtual layer and sending service requests, such as requests for energy consumption prediction simulations.

[0027] During operation, the sensors and CNC system in the physical workshop continuously collect physical operating status data at a frequency of no less than once per second, and transmit it to the data acquisition gateway via industrial Ethernet. The gateway performs preliminary timestamp alignment and packaging of the data before sending it to the server residing in the virtual workshop layer via the workshop network switch. The data synchronization service in the virtual workshop layer receives these real-time data packets and immediately updates the operating parameters of the corresponding equipment's virtual model. Subsequently, the system drives the energy consumption prediction sub-model integrated into the equipment's virtual model to perform calculations based on the newly updated speed, feed, current, and voltage parameters. The calculation cycle is synchronized with the data acquisition cycle, thereby continuously outputting real-time status energy consumption data for each online processing device, the core of which is the instantaneous estimated power value.

[0028] Subsequently, the virtual workshop layer pushes the instantaneous estimated power data of each device to the workshop service system layer. A real-time monitoring module in the service system layer continuously aggregates the instantaneous power of all online devices, sums them up, and obtains the real-time total power of the entire workshop. This total power value, in kilowatts, is dynamically refreshed on the monitoring interface.

[0029] Finally, the scheduling decision module in the workshop service system layer determines the dynamic scheduling trigger based on three main information sources: first, equipment alarm status signals transmitted from the physical layer to determine if any equipment has malfunctioned; second, new emergency processing task instructions received from the upper-level enterprise resource planning system interface; and third, the calculated real-time total power of the workshop. Several trigger conditions are preset in the module. For example, if the real-time total power of the workshop continuously exceeds a power threshold set based on the workshop transformer capacity and safety factor for a continuous 60-second time interval, the trigger condition is deemed met. This threshold can be set to 80% of the workshop's rated total power. Once any preset condition is met, the system determines that a dynamic rescheduling optimization process needs to be initiated. Through the above method, this invention internalizes the accurate prediction and monitoring of real-time energy consumption as one of the key factors driving dynamic adjustments in production scheduling.

[0030] Furthermore, the preset dynamic scheduling triggering condition in step S4 includes any of the following situations: (1) Determine that the equipment in the physical workshop has malfunctioned based on the alarm status signal of the equipment; (2) Receive a new emergency processing task instruction through the workshop service system layer; (3) Based on the completed work hours data periodically fed back from the equipment CNC system, compare it with the corresponding task plan work hours stored in the workshop service system layer, and calculate the actual progress deviation value which exceeds 5% and is less than or equal to 15%; (4) The total real-time power of the workshop continuously exceeds the preset power threshold within a time interval of 30 to 120 seconds.

[0031] In this embodiment, when the sensor network at the physical shop floor layer collects a clear alarm status signal from the CNC system of the equipment, such as spindle overload or servo drive failure, the decision module at the shop floor service system layer will immediately analyze the signal and determine that the equipment has malfunctioned; this is the first triggering scenario. When the service system layer receives a new processing task instruction with an "urgent" flag from the upper-level production management system through its data interface, such as a standard WebService API, the system will immediately identify and determine that the second triggering scenario is met.

[0032] The third scenario involves monitoring production schedule deviations. The service system layer periodically, for example every five minutes, extracts the actual completed time for each task from the work report data fed back by the equipment's CNC system. Simultaneously, it retrieves the original planned time for the corresponding task from the locally stored task process database. The system automatically calculates the percentage deviation between the two. When the actual schedule deviation of a task or a group of related tasks exceeds a set threshold of 5% (lower limit) and reaches 15% (upper limit), it is determined that a schedule lag requiring intervention has occurred, meeting the trigger condition. This threshold range can be adjusted according to the strictness of the production cycle time.

[0033] In the fourth scenario, at the workshop service system layer, there is a configurable power threshold. This threshold is typically set by the factory's energy management department based on power distribution capacity, peak and off-peak electricity pricing periods, and energy-saving targets; for example, it might be set to 85% of the workshop's rated power distribution capacity. The system continuously monitors the real-time total power curve. If it detects that the power value consistently exceeds the preset threshold for a period of time, such as between 60 and 90 seconds, it determines that the overall power load of the workshop is abnormally high, indicating room for optimization and adjustment, thus triggering the dynamic scheduling process. These four scenarios together constitute a triggering logic driven by events and based on data quantification, enabling the scheduling system to keenly capture production disturbances and optimization opportunities from multiple dimensions, thereby promptly initiating subsequent optimization algorithms.

[0034] Furthermore, it also includes: Step S5: When it is determined that any of the dynamic scheduling trigger conditions are met, the real-time multi-objective optimization scheduling algorithm is started in the workshop service system layer. Step S6: The current state of each virtual device model updated in the virtual workshop layer, the queue of tasks to be executed managed in the workshop service system layer, and the processing energy consumption prediction data corresponding to each task in the queue of tasks to be executed obtained from the virtual workshop layer are used as inputs to the real-time multi-objective optimization scheduling algorithm. Step S7: The real-time multi-objective optimization scheduling algorithm adopts a genetic algorithm based on fast non-dominated sorting to solve the scheduling problem in parallel with the optimization objectives of minimizing the total completion time and minimizing the total processing energy consumption, and outputs a set of Pareto optimal scheduling schemes. Step S8: Send the set of Pareto optimal scheduling schemes to the scheduling terminal for decision-making or automatically select the final scheduling scheme; Step S9: The final selected scheduling scheme is sent to the CNC system of the corresponding processing equipment in the physical workshop layer, and the equipment is controlled to execute the new processing task sequence.

[0035] In existing research on sheet metal processing scheduling based on multi-objective optimization, such as the improved NSGA-II algorithm, the optimization process is often offline, periodic, or only executed once during the planning phase. These methods typically perform global optimization based on a fixed set of production tasks and fixed equipment performance parameters, resulting in a static scheduling scheme. When dynamic disturbances occur in actual production, such static schemes cannot be directly applied and require intervention based on human experience or another set of independent emergency rules. There is a breakpoint between optimization and execution, making it difficult to achieve closed-loop automatic management from perceiving disturbances to generating and executing a new scheduling scheme.

[0036] In this implementation, when the workshop service system layer determines that dynamic scheduling needs to be initiated based on the aforementioned triggering conditions, its scheduling engine will immediately launch a real-time multi-objective optimization scheduling algorithm. This algorithm does not run offline but is invoked in real time as a high-priority service process. After the algorithm starts, it first needs to obtain the latest input data at the current moment. This data is not a fixed value in a static database but is dynamically aggregated: the system obtains the current state of each equipment virtual model after the latest data synchronization from the virtual workshop layer. For example, a laser cutting machine is marked as "unavailable" due to short-term maintenance and is expected to be restored in fifteen minutes; the system extracts the latest queue of tasks to be executed from the management module of the workshop service system layer itself. This queue contains all tasks that have not yet started processing and newly added urgent tasks; at the same time, the system will send a request to the virtual workshop layer according to the process requirements of each task in the queue of tasks to be executed, call the real-time energy consumption prediction sub-model in the corresponding equipment virtual model, simulate the complete process of the task running on the equipment, quickly predict the estimated total processing energy consumption required to execute the task, and summarize it to form the energy consumption prediction dataset of the current task set on different available equipment.

[0037] The real-time acquired equipment status, task queue, and energy consumption prediction data together constitute the input to the optimization algorithm. The algorithm then begins to solve the scheduling problem in parallel, with the dual objectives of minimizing the total completion time of all tasks and minimizing total processing energy consumption. This algorithm employs a genetic algorithm framework based on fast non-dominated sorting, performing efficient searches within a short timeframe (e.g., setting a maximum computation time of two minutes) within the limits of available computing resources (e.g., using multi-core CPUs for parallel population evaluation). After the algorithm finishes running, it outputs a set of Pareto optimal scheduling schemes. These schemes are non-dominant to each other in terms of completion time and processing energy consumption, representing optimal trade-offs under different preferences.

[0038] This set of Pareto optimal solutions is then sent to the interactive interface of the scheduling terminal. The scheduler can view detailed data on the completion time and energy consumption of each solution and manually select one based on the current production urgency or energy-saving priority strategy. The system also supports an automatic selection mode, such as automatically calculating and recommending the solution with the highest comprehensive score based on preset completion time and energy consumption weight preferences. Finally, the selected scheduling solution is converted into a specific sequence of equipment control commands through the data channel between the shop floor service system layer and the physical shop floor layer, and sent to the CNC system of the corresponding processing equipment. After receiving the new commands, the CNC system will execute the new processing tasks sequentially, thus completing a complete closed-loop scheduling process from dynamic perception and real-time optimization to precise execution.

[0039] Furthermore, step S6 specifically includes: Step S61: In the workshop service system layer, obtain the current status data of each equipment virtual model from the virtual workshop layer. The current status data includes at least the equipment availability status identifier and the estimated recovery time when the equipment is unavailable. Step S62: In the workshop service system layer, extract the queue of tasks to be executed from the task management module. The queue of tasks to be executed is a sequence containing all sheet metal processing tasks that have not started execution and have not been canceled. Each task contains a task identifier, the identifier of the required processing equipment, and the process sequence constraint relationship between tasks. Step S63: In the workshop service system layer, for each task in the queue of tasks to be executed, based on the identifier of the processing equipment and the process parameters, the real-time energy consumption prediction sub-model integrated with the virtual model of the corresponding equipment in the virtual workshop layer is called for the equipment in the available equipment set to simulate the processing process of the task and predict the estimated total processing energy consumption required for the task to be executed on the equipment; the estimated total processing energy consumption data of all tasks are summarized to form a total processing energy consumption prediction dataset, which is used to calculate the total processing energy consumption target value of the scheduling scheme. Step S64: In the workshop service system layer, the current status data of the equipment obtained in step S61, the queue information of the tasks to be executed obtained in step S62, and the total processing energy consumption prediction dataset obtained in step S63 are integrated and encapsulated according to the preset standardized data interface format to generate a standardized input data packet for the scheduling optimization algorithm. Step S65: The standardized input data packet is transmitted to the computing engine of the real-time multi-objective optimization scheduling algorithm as its input.

[0040] In traditional dynamic scheduling systems, the data required to initiate an optimization algorithm is typically scattered across different subsystems or databases. For example, equipment status data comes from a monitoring system, task lists from a production management system, and energy consumption parameters from another energy management system. This data often comes in various formats and has different update cycles. When rescheduling is triggered, additional data extraction, transformation, and integration processes are required, sometimes even necessitating manual intervention to verify data validity and consistency. This process is not only time-consuming and affects the real-time performance of rescheduling, but it can also lead to the optimization algorithm calculating based on outdated or contradictory information due to data asynchrony, reducing the feasibility of the scheduling scheme.

[0041] In this implementation, when dynamic scheduling is triggered, the workshop service system layer initiates a structured data preparation process to provide standardized and integrated input for the subsequent real-time multi-objective optimization scheduling algorithm. First, the data acquisition module of the service system layer proactively sends a query request to the virtual workshop layer to obtain the latest current status data of each device's virtual model. This data includes at least one device availability status identifier determined by the virtual model based on real-time physical signals, such as "available," "busy," or "faulty." If the status is "unavailable," the virtual model also provides an estimated recovery time based on a fault code or maintenance plan, such as "faulty, expected recovery in 30 minutes." This information reflects the most accurate device resource status at the time of scheduling.

[0042] Next, the service system layer retrieves the current queue of tasks to be executed from its internal task management module. This queue is a dynamic list containing all sheet metal processing tasks that have been assigned but not yet started, as well as tasks that may be interrupted due to equipment failure and await rescheduling. Each task object contains a unique task identifier, the type identifier of the processing equipment required for the task, and process constraints defining the processing order between this task and other tasks. These constraints clarify which tasks must be completed before this task begins.

[0043] Then, for each task in the queue of tasks to be executed, the service system layer performs energy consumption prediction for its available processing equipment. Based on the task's process parameters and the list of available equipment, the system initiates a series of simulation requests to the virtual workshop layer. Upon receiving the request, the virtual workshop layer invokes the real-time energy consumption prediction sub-model integrated into the corresponding equipment's virtual model. This sub-model, based on the typical process parameters required for processing the task on that equipment and the current equipment status, quickly simulates the processing procedure and predicts the total electrical energy consumed in executing the task, for example, "Task A is executed on laser cutting machine 1, with an estimated energy consumption of 15.8 kWh." All such prediction results for all tasks are aggregated to form a structured dataset of total processing energy consumption predictions.

[0044] Next, the data integration module at the service system layer encapsulates the three pieces of information—current device status data, pending task queue information, and total processing energy consumption prediction dataset—according to a predefined standardized data interface format. This format may be a schema based on JSON or Protocol Buffers, which explicitly specifies the field names, types, and units for each type of data. The integration module ensures data integrity and uniform formatting, ultimately generating a complete, self-describing, standardized input data package.

[0045] Finally, the data packet is directly transmitted to the memory of the computing engine of the real-time multi-objective optimization scheduling algorithm via a high-efficiency memory bus or local network interface. Since the data format is a standardized format known to the algorithm in advance, the engine does not need to perform complex parsing or format conversion. It can directly read all the information in the data packet and immediately start optimization calculation, thereby greatly shortening the delay from triggering to starting the solution and ensuring the real-time requirements of dynamic rescheduling.

[0046] Furthermore, step S7, which employs a genetic algorithm based on fast non-dominated sorting for parallel solution, specifically includes the following steps: Step S71, Encoding and Population Initialization: The scheduling solution is encoded using a two-layer encoding method based on processes and equipment; Based on the above encoding rules, an initial population consisting of multiple encoded individuals is generated, and this initial population is used as the first generation current population. Step S72, Decoding and Target Value Calculation: For each coded individual in the current population, perform decoding and scheme simulation in sequence; Based on the completion times of all decoded processes, calculate the total completion time of the scheduling scheme corresponding to this individual. Based on the decoded device allocation sequence and the total processing energy consumption prediction dataset obtained in step S63, the total processing energy consumption of the scheduling scheme corresponding to this individual is calculated. Step S73, Non-dominated sorting and diversity maintenance: Based on the two target values ​​of total completion time and total processing energy consumption of each individual calculated in step S72, perform fast non-dominated sorting on all individuals in the current population to obtain multiple non-dominated levels; The target value of the total completion time of all individuals is normalized by using the maximum and minimum total completion time of all individuals in the current population; the target value of the total processing energy consumption of all individuals is normalized by using the maximum and minimum total processing energy consumption of all individuals in the current population. Within the same non-dominated hierarchy, calculate the crowding degree of each individual in the normalized target space; Step S74, selection operation: Based on the non-dominant hierarchy to which the individual belongs and its crowding, an elite retention strategy is used to select individuals from the current population to form a mating pool for reproduction; Step S75, Genetic Operations: Perform crossover and mutation operations on individuals in the mating pool to generate a progeny population; The probability of crossover decreases linearly from a preset high value to a preset low value as the number of generations increases; The mutation operation includes two types: the first is at the process sequence level, adjusting the order of adjacent processes without violating the process sequence constraints; the second is at the equipment allocation level, resetting the equipment identifier of the selected gene site based on the currently available equipment set obtained in step S61. Step S76, Iterative evolution: Merge the current population with the offspring population to form a merged population; According to step S73, the merged population is re-sorted for non-dominated order, normalized for target value, and its crowding degree is recalculated. According to step S74, a new generation of population is selected from the merged population as the new current population; Repeat steps S72 to S76, using the new current population as input for the next round of evolution; Step S77, Result Output: When the preset termination condition is reached, the scheduling schemes corresponding to all individuals in the current population belonging to the first non-dominant level in the final generation are output as the set of Pareto optimal scheduling schemes.

[0047] In existing technologies, multi-objective genetic algorithms applied to shop floor scheduling typically base their encoding and evolutionary mechanisms on a fixed, idealized production environment assumption. For example, the algorithm assumes all equipment is always available, process constraints are implicitly present in the problem definition, crossover and mutation operations are fixed, and population diversity maintenance often relies on a single congestion calculation. When directly applied to dynamic environments with sudden equipment failures, changes in task urgency, and real-time energy consumption fluctuations, the generated scheduling schemes are often infeasible due to non-compliance with real-time constraints, or suffer from low search efficiency and unstable solution quality because the algorithm's search is not linked to the real-time state.

[0048] In this embodiment, after the real-time multi-objective optimization scheduling algorithm is activated, its core is a genetic algorithm based on fast non-dominated sorting, but each step of this algorithm is deeply coupled with real-time information from the digital twin system. The algorithm first performs encoding and population initialization. It adopts a two-layer encoding method based on processes and equipment. The encoding of the process sequence layer is a list representing the order of all processes to be executed. Its generation is not random, but strictly follows the process sequence constraints extracted from the task queue, ensuring that any chromosome has basic logical feasibility at the beginning. The encoding of the equipment allocation layer is a list of equipment identifiers that correspond one-to-one with the process. Each equipment identifier must be selected from the set of "available" equipment provided by the digital twin system at the current moment, completely excluding equipment that has been marked as faulty or occupied. Based on this rule, the system generates an initial population containing a certain number of individuals (e.g., 100) as the first generation of the current population.

[0049] The algorithm then proceeds to the decoding and target value calculation phase. It decodes each individual in the current population, simulating the actual execution of its scheduling scheme. During decoding, it strictly follows the sequence of operations and, based on the identifier of the equipment allocation layer, assigns specific start and end times for each operation, considering the constraints between operations and the actual occupancy of the equipment. A key aspect here is that if the equipment assigned to a certain operation is currently "unavailable," the start time of that operation will be forcibly set no earlier than the estimated recovery time of that equipment. This ensures the time feasibility of the scheduling scheme in a dynamic environment. Based on the decoded completion times of all operations, the system calculates the total completion time of the scheme. Simultaneously, based on the equipment allocation sequence, the algorithm quickly retrieves and accumulates the estimated energy consumption corresponding to each operation from the previously prepared total processing energy consumption prediction dataset to obtain the total processing energy consumption of the scheme.

[0050] Next, non-dominated sorting and diversity maintenance are performed. The system performs a fast non-dominated sort on the entire current population based on the two target values: total completion time and total processing energy consumption for each individual, dividing individuals into multiple non-dominated levels. To fairly measure the distribution density of individuals in the target space, the system normalizes the completion time and energy consumption values ​​for all individuals. The maximum and minimum values ​​used for normalization are derived from the current population itself, allowing the evaluation to adapt to different target value scales at different optimization stages. Then, within each non-dominated level, the system calculates the crowding degree of each individual in its normalized two-dimensional target space, quantifying the density of other individuals around it.

[0051] In the selection process, the system selects superior individuals from the current population based on two criteria: the non-dominant level to which an individual belongs (priority is given to higher levels) and its crowding level (priority is given to lower crowding levels to promote even distribution). These individuals form a mating pool for reproduction.

[0052] Genetic operations are then performed. Crossover and mutation are applied to individuals in the mating pool to produce offspring. The probability of crossover is not fixed, but decreases linearly from a high initial value (e.g., 0.85) to a low final value (e.g., 0.6) as the number of generations increases. This promotes global exploration in the early stages of evolution and favors local development in the later stages. Mutation operations are designed in two targeted types: the first is process sequence mutation, which randomly swaps the positions of two adjacent interchangeable processes while strictly adhering to the process sequence constraints; the second is equipment allocation mutation, which randomly selects a process gene locus based on the latest available equipment set and resets its equipment identifier to another optional equipment in the current available set. These mutation operations directly utilize real-time information to ensure that the mutated individuals still satisfy dynamic constraints.

[0053] Then, iterative evolution is performed. The algorithm merges the current population with the offspring population, re-sorts the merged population for non-dominated data, normalizes the target value, and calculates crowding. A new generation of population is then selected from this merged population according to the same selection criteria to replace the old current population. The above steps (from decoding to population update) are repeated until a preset termination condition is met, such as reaching the maximum number of generations (e.g., 200 generations) or if there is no significant improvement in the solution set across multiple consecutive generations.

[0054] Finally, when the algorithm terminates, the system decodes all individuals belonging to the first non-dominated level in the current population of the final generation into specific scheduling schemes, outputting a set of Pareto optimal scheduling schemes. This series of steps ensures that the algorithm can efficiently search for a set of high-quality scheduling schemes that are balanced and feasible in terms of completion time and processing energy consumption while responding quickly to dynamic constraints.

[0055] Furthermore, in step S71, each gene bit in the process sequence layer represents a process to be executed, and the generation of the process sequence must strictly follow the process sequence constraints defined in step S62; each gene bit in the equipment allocation layer represents the identifier of the target processing equipment allocated to the corresponding process, and the identifier must be selected from the set of equipment whose equipment availability status is marked as "available" in step S61.

[0056] It imposes clear and mandatory constraints on the coding rules for process sequences and equipment allocation, ensuring that any scheduling solutions generated by the algorithm during initialization and evolution strictly follow the actual production process and real-time equipment availability. This measure fundamentally avoids the numerous invalid solutions generated by traditional algorithms due to random coding that violate process sequences or attempt to use faulty equipment, greatly improving the "quality" of the algorithm's search space and concentrating computational resources on optimizing feasible solutions, thereby significantly improving optimization efficiency and the actual executability of the final solution.

[0057] Further, in step S72, during decoding, processing time is arranged for each process sequentially according to the order of the process sequence layer and the device identifier of the device allocation layer; when a process is assigned to a device with a status identifier of "unavailable", the start time of the process must be later than the estimated recovery time of the device and the completion time of all its preceding processes, and the resulting time delay is included in the completion time of the process.

[0058] By mandating that the start time of a process assigned to unavailable equipment cannot be earlier than the equipment's estimated recovery time, and by simultaneously considering the completion time of its preceding processes, the algorithm can accurately quantify the time delays caused by production disturbances (such as equipment failures). This ensures that the total completion time of each scheduling scheme evaluated in a dynamic environment is realistic, accurate, and achievable, avoiding plan failures due to optimistic estimations and enhancing the reliability and feasibility of scheduling schemes under complex dynamic conditions.

[0059] Furthermore, in step S75, the probability of crossover operation decreases linearly from a preset higher value to a preset lower value as the number of generations increases; the mutation operation includes two types: the first is at the process sequence layer, adjusting the order of adjacent processes without violating the process sequence constraints; the second is at the equipment allocation layer, resetting the equipment identifier of the selected gene site based on the currently available equipment set obtained in step S61.

[0060] The strategy of adaptively decreasing crossover probability with each generation allows the algorithm to conduct a thorough global search in the early stages, while focusing on detailed local exploration of high-quality solution regions in the later stages, thus balancing the breadth and depth of the search. Two mutation operations target process ordering and equipment allocation with specific perturbations, respectively, and equipment mutation is directly linked to the real-time available equipment set. This not only ensures the feasibility of mutated individuals but also guides the algorithm to quickly adapt to changes in equipment status. These mechanisms work together to significantly improve the algorithm's search efficiency under dynamic constraints and its ability to converge to high-quality Pareto fronts.

[0061] Furthermore, the process sequence constraints between tasks mentioned in step S62 are defined and stored through the following data structure: For each task in the queue of tasks to be executed, configure a list of preceding task identifiers for it; The preceding task identifier list records the identifiers of all tasks that must be completed before the current task begins processing. If the list of preceding task identifiers for a task is empty, it means that the task has no preceding constraints and can be scheduled for processing immediately.

[0062] In existing technical solutions for sheet metal processing scheduling, especially those involving multi-process task optimization, the descriptions of complex process sequence constraints between tasks are often imprecise and computationally inadequate. A common approach is to use textual descriptions in the problem description, such as "Task B must be performed after Task A," or to implicitly embed constraints within the task's own process sequence. When these descriptions are directly input into automated optimization programs such as genetic algorithms, the algorithms struggle to directly and unambiguously resolve these constraints. This leads to a high likelihood of generating numerous invalid scheduling schemes that violate actual production logic during encoding, crossover, and mutation processes, reducing optimization efficiency and potentially even resulting in infeasible outputs.

[0063] In this implementation, to provide clear and parsable input to the aforementioned real-time multi-objective optimization scheduling algorithm, the process constraints of each sheet metal processing task in the task queue to be executed are defined in a structured and digital manner. Specifically, in the task management module of the shop floor service system layer, a data attribute named "Preceding Task Identifier List" is configured for each task object. This list is a simple string or array of numbers, the contents of which clearly record the unique identifiers of all tasks that must be completed before the current task can begin processing. For example, for a composite sheet metal processing task Y involving "cutting-bending-welding", its "Preceding Task Identifier List" might be set to ['Task X - Cutting Completed', 'Task Z - Preprocessing Completed'], indicating that task Y can only start after tasks X and Z are both completed. If a task (e.g., the task of the first process) has no prior dependencies, its "Preceding Task Identifier List" is explicitly set to an empty array or null value, which the system interprets as "this task has no prior constraints and can be scheduled for processing immediately". This data structure is a common expression in the field of discrete manufacturing and is very convenient for computer programs to process. In step S62, when extracting the queue of tasks to be executed, the system extracts not only the task identifiers and equipment requirements, but also the "list of preceding task identifiers". Subsequently, in the encoding initialization phase of the genetic algorithm (step S71), when generating the process sequence layer encoding, the algorithm strictly verifies and forces the arrangement order of individual genes to satisfy the constraints defined by the preceding task lists of all tasks, thereby ensuring that the generated chromosomes are feasible from the source. Similarly, when performing mutation operations at the process sequence layer, any attempt to adjust the order of adjacent processes must be checked in advance to see if it violates the preceding task relationships of related tasks, ensuring that the evolutionary operation is always carried out within the feasible solution space. Through this explicit and digital constraint definition and transmission, different modules of the entire optimization system have a unified and accurate understanding of the process logic, ensuring the practical feasibility of the dynamic scheduling results.

[0064] Furthermore, the automatic selection of the final scheduling scheme is achieved through the following steps: In the workshop service system layer, a completion time weight coefficient Wt and a processing energy consumption weight coefficient We are preset, where the sum of Wt and We is 1, and Wt ≥ 0, We ≥ 0; For each of the Pareto optimal scheduling schemes, the total completion time and total processing energy consumption of the scheme are determined based on its process and equipment allocation relationship. The total completion time and total processing energy consumption of all schemes are respectively used to construct the completion time dataset {T1, T2, ..., T}. n} and the processing energy consumption dataset {E1, E2, ..., E n}; Calculate the maximum value T in the completion time dataset respectively. max With minimum value T min and the maximum value E in the processing energy consumption dataset. max With minimum value E min ; For each scheme i in the set of Pareto optimal scheduling schemes, based on its total completion time T i Total processing energy consumption E i Calculate its normalized total completion time evaluation index It i With the normalized total processing energy consumption evaluation index Ie i ,in: It i = (T max - T i ) / (T max - T min ), Ie i = (E max - E i ) / (E max - E min ); According to the formula Score i = Wt× It i + We×Ie i Calculate the overall evaluation value (Score) for each scheme i. i ; From the set of Pareto optimal scheduling schemes, select the comprehensive evaluation value Score. i The best scheduling scheme will be the final selected scheme.

[0065] In existing technologies, selecting the final execution plan from a set of Pareto optimal solutions generated by multi-objective optimization often relies on schedulers manually comparing and analyzing Gantt charts and related indicators, making subjective decisions based on experience. This approach is inefficient and lacks consistency. Another approach is to use multi-attribute decision-making methods such as TOPSIS, but their calculation process is relatively complex and requires pre-determining the weights of each objective and the positive and negative ideal solutions. In a real-time dynamic scheduling environment, configuration and calculation are somewhat complicated and may affect the decision-making speed.

[0066] In this embodiment, once the system obtains a set of Pareto optimal scheduling schemes as described above, if the automatic selection mode is set, an efficient and objective automated decision-making process will be initiated. First, in the configuration module of the shop floor service system layer, production managers can preset two weighting coefficients based on the overall strategy of the current production cycle: a completion time weighting coefficient Wt and a processing energy consumption weighting coefficient We. For example, when delivery deadlines are tight, Wt can be set to 0.7 and We to 0.3; during peak electricity consumption periods or when energy conservation is emphasized, Wt can be set to 0.4 and We to 0.6. The sum of both is always 1, and both are non-negative, thus quantifying the relative importance of the two objectives.

[0067] Subsequently, for each Pareto scheme in this set, based on the decoded specific process and equipment allocation relationships, the system accurately calculates the total completion time (in minutes or hours) and total processing energy consumption (in kilowatt-hours) required to complete all tasks under that scheme. The system collects the total completion times of all schemes to form a dataset and automatically finds the maximum value T. max and minimum value T min Similarly, the total processing energy consumption of all schemes also constitutes a dataset, and its maximum value E is found. max and minimum value E min .

[0068] Next, for each solution i to be evaluated, the system uses its total completion time T. i and total processing energy consumption E i Calculate two normalized evaluation metrics. For completion time, metric It... i = (T max - T i ) / (T max - T min This calculation transforms the completion time of all options onto a scale between 0 and 1, with shorter completion times (T) representing higher completion times. i The smaller), It i The closer the value is to 1, the better the performance. For processing energy consumption, the indicator Ie... i = (E max - E i ) / (E max - E min The principle is the same; the lower the energy consumption, the higher the Ie. i The closer the value is to 1.

[0069] Then, the system performs a linear weighted summation based on preset weights. It follows the formula Score. i = Wt × It i +We ×Ie iFor each scheme i, calculate a comprehensive evaluation value (Score). i This score directly reflects the merits of the scheme in terms of both time and energy efficiency under a given weighted preference.

[0070] Finally, the system automatically compares the overall score of all Pareto solutions. i The system selects the highest-scoring option and designates it as the final choice for this round of dynamic scheduling. The entire process is completed automatically by the system without human intervention. The decision-making is rapid and objective, and it strictly adheres to the time and energy efficiency preferences preset by management, effectively supporting a closed loop from intelligent optimization to automatic execution.

[0071] Furthermore, in this invention, the available state identifier of the device is used to accurately describe the real-time schedulability of the device at the time of scheduling decision, and it includes at least the following explicit state values: "Available": This means that the device is currently idle and functioning normally, and can immediately accept processing tasks.

[0072] "Busy": This indicates that the device is currently performing a processing task, and its resources are already occupied. This status includes an "Estimated Idle Time" attribute, which indicates the estimated completion time of the current task.

[0073] "Unavailable": This indicates that the equipment is unable to perform processing due to malfunction, scheduled maintenance, or other reasons. This status includes an "Estimated Recovery Time" attribute, which indicates when the equipment is expected to resume normal operation.

[0074] In the context of real-time multi-objective optimization scheduling algorithms, when allocating devices, the "set of available devices" specifically refers to devices whose status is marked as "available". For devices whose status is "busy" or "unavailable", their resource timelines will be precisely considered at the start time of the decoding calculation process (see step S72 for details), but they will not be selected during the initial allocation.

[0075] Example 1: Construction, Training, and Application of a Real-Time Energy Consumption Prediction Sub-model This embodiment details the construction, training, and integrated application process of the real-time energy consumption prediction sub-model. This model is a core component of the equipment virtual model in the digital twin workshop model, used to predict the energy consumption of equipment based on its real-time operating parameters, providing crucial energy consumption prediction data for dynamic scheduling.

[0076] 1. Data Sources and Preprocessing Data source: Data was collected from the historical production processes of multiple identical CNC laser cutting machines in the physical workshop. Hall effect current / voltage sensors (such as model CHB-50NP) were installed in the main power circuit of the equipment, and the internal data interface of the equipment's CNC system (such as Siemens 840D) was read to synchronously collect the following timing data at a sampling frequency of 10 Hz: Operating parameters: Spindle speed setting (unit: rpm), feed rate setting (unit: mm / min), cutting head status (start / stop); Electrical parameters: Three-phase real-time current (unit: A), real-time line voltage (unit: V); Environmental parameters (optional): Instantaneous ambient temperature (unit: °C) obtained by the workshop temperature and humidity sensor.

[0077] Data preprocessing: Alignment and Cleaning: Based on a unified timestamp, data streams from sensors and the CNC system are aligned. Data from non-processing periods, such as equipment standby and program idle runs, are deleted, and transient noise in current and voltage signals is smoothed using a sliding window averaging method (window size of 5 sampling points).

[0078] Feature engineering: Constructing the target variable: A target variable is constructed to effectively characterize the real-time energy consumption level of the equipment for model training. Considering the strong correlation between apparent power and active power of the same type of equipment under a stable power grid environment, the approximate value of the three-phase apparent power per second is calculated as the label (Y) for supervised learning. Specifically, it is calculated according to the formula, where U... line I is the average line voltage. avg The result is the average of the three-phase currents, expressed in kilovolt-amperes (kVA). This apparent power series effectively reflects the energy consumption trend of the equipment under different operating conditions (spindle speed, feed rate, load).

[0079] Constructing the input feature vector (X): For each second of data, extract the following features to form a training sample: Average spindle speed in the previous second; The average feed rate of the previous second; The average value of the three-phase current RMS value in the previous second; Binary encoding of the cutting head status (1 indicates working, 0 indicates stopped); Current ambient temperature; The power value calculated in the previous second (as a time-dependent feature used to capture the inertia of device operation).

[0080] Dataset partitioning: The processed feature vectors (X) and target variables (Y) are divided into training set, validation set and test set in chronological order, with a ratio of 7:2:1.

[0081] 1.1 Explanation of the representativeness and coverage of training data To ensure the generalization ability and prediction accuracy of the real-time energy consumption prediction sub-model in dynamic scheduling scenarios, the historical data used for model training must be sufficiently representative. Its construction should follow these principles: Comprehensive process coverage: The collected historical data should cover all sheet metal materials routinely processed in the workshop (such as low carbon steel, stainless steel, and aluminum alloy), all standard thickness specifications (e.g., 1mm to 25mm), and all typical processing steps (such as laser cutting, stamping, and bending). For each "material-thickness-step" combination, the data should include its complete processing cycle.

[0082] Full Parameter Range: Data should record the equipment's operating status under various typical combinations of process parameters. For example, for laser cutting, it should include different feed rate and spindle speed combinations from roughing to finishing; for bending, it should include different pressure and angle settings. This ensures that the model can learn the equipment's energy consumption response across the entire adjustable parameter space.

[0083] Dynamic scenario coverage: The training data should include data on different operating stages of the equipment, such as startup, no-load, stable processing, and tool / mold changing, to simulate the non-steady-state processes in real production. Simultaneously, it should include load fluctuation data caused by material anomalies, short pauses, etc., to enhance the model's robustness to disturbances.

[0084] Data Association and Labeling: Each data sample (feature vector per second) must be associated with a clear "processing context" metadata. This metadata includes at least the workpiece identifier currently being processed, the process name, and the target values ​​of the process parameters (such as the set rotational speed and feed). This is not only the basis for performance analysis after model training, but also a key guide for constructing the model input feature vector when making subsequent "simulation requests".

[0085] 2. Model structure, parameter settings, and training Model selection: A gradient boosting decision tree model is adopted, specifically implemented using the XGBoost library. This model is suitable for processing structured data with complex nonlinear relationships in this scenario, and its inference speed is fast, meeting real-time requirements. The real-time energy consumption prediction sub-model is not limited to gradient boosting decision trees; those skilled in the art can also implement it using other machine learning models such as neural networks and support vector machines, depending on the actual situation. Its core lies in its ability to predict instantaneous power based on the input device operating state parameters.

[0086] Model parameter settings: The objective function is set as the mean squared error loss of the regression task; The number of base learners is set to 200; The maximum depth of a single tree is set to 6 to prevent overfitting; The learning rate is set to 0.05; The proportion of samples and the proportion of features randomly sampled from each tree are both set to 0.8; Set the random seed to 42 to ensure the results are reproducible.

[0087] Training process: Input the input feature vectors of the training set and the target label (instantaneous power value) into the model; Using the gradient boosting framework, the mean squared error loss function is minimized by iteratively adding decision trees; On the validation set, a grid search method is used to fine-tune key hyperparameters (such as maximum depth and learning rate) and select the parameter combination with the minimum root mean square error. Set an early stopping strategy: If the validation set loss does not decrease for 20 consecutive rounds, terminate training and save the best model.

[0088] Input / output description: The input is a feature vector reflecting the operating status of the equipment, including: spindle speed, feed rate, average current, equipment status indicator, ambient temperature, and predicted power of the previous second. The output is the instantaneous estimated power value for the current second (unit: kilowatts).

[0089] 3. Model deployment and scenario integration Model Deployment: The trained model is integrated into the "behavioral logic module" of the device virtual model through serialization, serving as a real-time energy consumption prediction sub-model.

[0090] Workflow integrated with dynamic scheduling scenarios: Real-time monitoring: Real-time data collected at the physical workshop layer is synchronized to the virtual workshop layer, preprocessed, and then input into the model. The instantaneous estimated power of the equipment is continuously output to calculate the total real-time power of the workshop. Task energy consumption prediction process: When the workshop service system layer needs to provide energy consumption prediction data for dynamic scheduling, the following steps are executed: Request Construction: The service system layer constructs an "energy consumption simulation request" object based on the "process parameters" of the process to be predicted (these parameters are a type of structured data object, which at least includes: process type code, target material, target thickness, CNC program path or equivalent machining length / contour information, and main equipment setting parameters such as target spindle speed and target feed rate).

[0091] Send Request: Send the request object to the virtual workshop layer through a predefined application programming interface.

[0092] Feature vector reconstruction: After receiving the request, the "request processor" in the virtual workshop layer executes the core transformation logic: a. Parameter Mapping: Based on the "Process Type Code" and "Material / Thickness", a built-in "Process-Load Characteristic Mapping Table" is queried. This table defines the compensation coefficients for the actual load rate, no-load power baseline, etc., of the equipment to the theoretically set parameters under different process conditions. For example, for "Stainless Steel-Fine Cutting", the load coefficient may be 0.9, and the basic no-load power may be 1.5kW.

[0093] b. Feature Calculation: Using the compensation coefficients and the target parameters in the request, calculate the feature values ​​that conform to the model input format. For example, multiply the "target feed rate" by the "load coefficient" to obtain the "average feed rate" feature required for prediction; combine this with the current no-load power baseline of the equipment to determine the benchmark for power prediction.

[0094] Model Inference and Integration: The deployed energy consumption prediction sub-model is invoked, and the reconstructed feature vector is input to obtain the instantaneous estimated power sequence per second within the processing cycle of this process. Then, based on the "estimated processing time" of the process (which can be provided from CNC program parsing or requests), the power sequence is integrated over time to obtain the estimated total processing energy consumption of this process.

[0095] Result return: The estimated total processing energy consumption and key intermediate data (such as average power) are encapsulated into a response and returned to the shop floor service system layer.

[0096] 4. Effect Verification Evaluate the model on the test set: Prediction accuracy: The coefficient of determination on the test set is typically above 0.92; Prediction error: The root mean square error is stable within 1.5% of the equipment's rated power; Compared with traditional methods: prediction accuracy is improved by about 40%, and the inference speed meets the real-time requirement of 10 times per second; Application effectiveness: In most test cases, the average absolute percentage error of the total energy consumption prediction for the process can be controlled within 8%.

[0097] 5. Definition and explanation of key data structures Chapter content: 5.1 Process Parameter Object In this invention, the "process parameters" required for driving energy consumption simulation are a structured data object that must contain the following fields (taking laser cutting as an example): operation_type: Operation type code, such as LASER_CUT.

[0098] material_code: Material code, pointing to the physical property database.

[0099] thickness: Sheet thickness, in millimeters.

[0100] target_feed_rate: The feed rate set in the CNC program, in millimeters per minute.

[0101] target_spindle_speed: The spindle speed set in the CNC program, in revolutions per minute.

[0102] nc_program_length: (or estimated_time) Total length of the processing path or estimated processing time, used to calculate the energy consumption integral time.

[0103] 5.2 Device Status Object The "current device status data" obtained from the virtual workshop layer, where each device's status object contains: equipmentId: Unique identifier for the device.

[0104] status: An enumeration value, such as AVAILABLE, BUSY, DOWN.

[0105] available_from_time: Timestamp. When status is BUSY, it indicates the estimated end time of the current task; when status is DOWN, it indicates the estimated recovery time; when status is AVAILABLE, this field can be empty or the current time.

[0106] 5.3 Task Objects and Preceding Constraints Each task object in the "Pending Task Queue" contains: taskId: A unique identifier for the task.

[0107] operations: This task contains a list of operations, each with its own operationId and the required equipment type.

[0108] predecessors: "List of preceding task IDs", an array that lists all other taskIds that must be completed before the start of all other steps in this task. An empty array indicates that there are no preceding constraints.

[0109] 5.4. Logical Structure of Standardized Input Data Packets The "standardized input data packet" generated in step S64 is logically composed of the following three parts, and is organized in a predetermined order and by field names: Packet header: contains the timestamp of data packet generation and the trigger event identifier.

[0110] Device status snapshot list: This is an array of the aforementioned "device status objects".

[0111] Task queue snapshot: This is an array of "task objects" mentioned above, containing all tasks to be scheduled and their constraints.

[0112] Energy consumption prediction mapping table: a two-dimensional mapping structure. The first dimension key is operationId, the second dimension key is equipmentId, and the value is the estimated total processing energy consumption (kWh) for this operation performed on this equipment. For infeasible or unpredictable equipment, the value is empty or a maximum value.

[0113] Example 2: Specific Implementation of Real-Time Multi-Objective Optimization Scheduling Algorithm This embodiment details the specific implementation steps, parameter settings, and operation rules of a real-time multi-objective optimization scheduling algorithm (an improved genetic algorithm). Implemented in the shop floor service system layer, this algorithm, after dynamic scheduling is triggered, rapidly solves a scheduling problem with dual objectives of minimizing total completion time and minimizing total processing energy consumption based on real-time data, and outputs a set of Pareto optimal scheduling schemes.

[0114] 1. Algorithm Input and Output Input: The algorithm receives a normalized input data packet, which contains three types of core information: Current device status data: Provided in list format, each device includes a device identifier, availability status identifier (e.g., "available", "busy", "faulty", etc.), and estimated recovery time (in timestamp format) if the status is "unavailable".

[0115] The queue of tasks to be executed is provided in the form of a list. Each task contains a task identifier, the process steps it contains (each step has a process identifier, the type of equipment required, and the estimated processing time), and a list of preceding task identifiers (recording the process identifiers that must be completed before this task can begin).

[0116] Total processing energy consumption prediction dataset: provided in key-value pair structure, where the key is the process identifier and the value is a mapping representing the estimated total processing energy consumption (in kilowatt-hours) required to perform the process on each optional device.

[0117] Output: The algorithm outputs a set of Pareto optimal scheduling schemes, each scheme containing the following information: List of process execution order (arrangement of process identifiers); A list of equipment allocations (equipment identifiers) corresponding to the process sequence; The planned start and end times for each process; Total completion time (minutes); Total processing energy consumption (kilowatt-hours).

[0118] 2. Detailed Algorithm Steps and Parameter Settings Step S71: Encoding and Population Initialization Encoding scheme: A two-level encoding method is used. Each individual (chromosome) consists of two arrays of equal length: Process sequence layer: A list containing the identifiers of all processes to be executed, with the order of the list indicating the processing sequence of the processes.

[0119] Equipment allocation layer: a list, where each element is the specific equipment identifier assigned to the corresponding process.

[0120] Population initialization rules: When generating a sequence of operations, the algorithm strictly adheres to the preceding task constraints. It maintains a "schedulable operation pool," initially containing all operations without preceding constraints. Each time, an operation is randomly selected from the pool and added to the sequence. Then, all subsequent operations of the selected operation whose preceding constraints are fully satisfied are added to the pool. This process is repeated until all operations are scheduled.

[0121] When assigning equipment to each operation in a sequence of operations, it must be selected from the currently available set of equipment. This set is determined by the equipment status data in the input data packet and contains only equipment with a status flag of "available". For each operation, one piece of available equipment is randomly selected from its processing capabilities.

[0122] Parameter settings: The initial population size is set to 120. 120 initial individuals are generated according to the above rules to serve as the first generation of the current population.

[0123] Step S72: Decoding and Target Value Calculation For each individual in the current population, decode the process and simulate the scheduling execution to calculate two target values ​​(total completion time and total processing energy consumption): Decoding process: Initialize an empty timeline and maintain the earliest available time for each device (initially the current time or 0).

[0124] Traverse each process identifier in the process sequence layer sequentially and perform the following operations: a. Obtain all preceding operations of this operation. The latest end time of these preceding operations is the earliest start time A of this operation.

[0125] b. Obtain the equipment identifier assigned to this process and query the earliest available time B for that equipment. If the equipment status is "unavailable", then B is the larger of the earliest available time and the estimated recovery time of the equipment.

[0126] c. The actual start time of this process is set to the larger value between A and B.

[0127] d. Query the estimated processing time of the process from the task queue, and calculate the end time as the start time plus the processing time.

[0128] e. Update the device's earliest available time to the end time of this update.

[0129] f. Record the start and end times of this process.

[0130] Target value calculation: Total completion time: Take the maximum value of the completion times of all processes.

[0131] Total processing energy consumption: Traverse the equipment allocation layer, and based on each process identifier and its assigned equipment identifier, directly read the corresponding estimated energy consumption value from the input total processing energy consumption prediction dataset, and sum them up.

[0132] Step S73: Non-dominated sorting and diversity maintenance Fast nondominated sorting: Compare two objective values ​​(total completion time, total processing energy) of all individuals in the population, and assign individuals that are not dominated by any other individual to the first nondominated layer (i.e., the Pareto front). Then remove these individuals, find a new nondominated layer from the remaining individuals, and repeat this process until all individuals are stratified.

[0133] Normalization: To ensure fair calculation of crowding, range normalization is performed on each target value. Let T be the minimum total completion time in the current population. min The maximum value is T max The minimum total processing energy consumption is E. min The maximum value is E max For individual i, its normalized completion time T normi = (T i - T min ) / (T max - T min Normalized energy consumption E normi = (E i - E min ) / (E max - E min ).

[0134] Congestion calculation: Within each non-dominated level, based on the normalized completion time T... norm and normalized energy consumption E normSort the individuals. Set the crowding degree of boundary individuals (i.e., those with the minimum or maximum target value) to infinity. The crowding degree of middle individual i is the sum of the crowding degrees of its neighbors i+1 and i-1 in time T. norm and E norm The sum of the absolute values ​​of the differences.

[0135] Step S74: Select Operation (Elite Retention Strategy) A mating pool was constructed using a binary tournament selection method: Two individuals are randomly selected from the current population.

[0136] Prioritize comparing the non-dominated levels to which two individuals belong, and the one with the smaller level number wins (i.e., the individual that is closer to the Pareto front).

[0137] If two individuals are at the same level, their crowding is compared, and the one with greater crowding wins (to maintain the distribution of the solution set).

[0138] Repeat the selection process above until the number of individuals in the mating pool reaches the population size (120).

[0139] Step S75: Genetic operations (crossover and mutation) Cross operation: Probability settings: The crossover probability Pc adopts a preset linear decreasing strategy. Initial generation crossover probability Pc star t is set to 0.85, and the crossover probability Pc of the final generation (maximum number of generations G=200) is... end Let it be 0.60. The crossover probability of generation g is: Pc(g) = Pc start - (Pc start - Pc end )×(g / G).

[0140] Execution method: Perform two-point cross-processing on both the process sequence layer and the equipment allocation layer.

[0141] Process sequence crossover: This algorithm uses an order-preserving crossover operator based on task partitioning. The specific steps are as follows: Divide the task set: Randomly divide all tasks (note: this is the set of taskIds, not operationIds) into two complementary non-empty subsets, denoted as subset TaskSetA and subset TaskSetB.

[0142] Generate offspring 1: a. Copy all the steps in the parent chromosome 1 that belong to the task in TaskSetA, and place them in the corresponding positions on the offspring chromosome 1 while maintaining their original order in the parent chromosome 1 (i.e., preserve the relative order and value of the gene loci of these steps).

[0143] b. For the remaining empty gene loci in the offspring chromosome 1, scan and fill in the processes that belong to the tasks in TaskSetB, according to the order in which the processes appear in the parent chromosome 2.

[0144] Generate child generation 2: Swap the roles of parent generation 1 and parent generation 2, and repeat step 2. That is, copy the operations belonging to TaskSetA in parent generation 2, and fill the remaining positions with operations belonging to TaskSetB in the order of parent generation 1.

[0145] The feasibility of this operator is guaranteed as follows: Since the crossover operation divides and replicates the entire task, all steps within a task are copied from the parent to the child as a whole, thus completely preserving the order of steps within the task. Simultaneously, the order of steps between different tasks is mixed by copying from one parent and filling in the sequence from another parent, and the filling process does not introduce new order relationships, thereby ensuring that the generated child chromosome necessarily satisfies the immediate preceding constraints of all tasks.

[0146] Equipment allocation crossover: Within the same crossover point interval, directly swap the equipment identifiers of the corresponding intervals of the two parent individual equipment allocation layers. After the swap, check whether each equipment identifier still belongs to the currently available equipment set. If not, replace it with a random equipment from the available equipment set for that process.

[0147] Mutation operation: Probability settings: The mutation probability Pm is also preset to decrease, Pm start Set to 0.08, Pm end Let it be 0.02. The mutation probability of the g-th generation is: Pm(g) = Pm start - (Pm start - Pm end )×(g / G).

[0148] Mutation type: Type 1 (Process Sequence Variation): Randomly select a process and attempt to swap its position with an adjacent process belonging to the same task. If the swap does not violate the process order constraints of the task (i.e., does not change the predecessor relationship), then the swap is executed. Otherwise, try the adjacent processes on the other side of the selected process; if multiple attempts fail, abandon the attempt.

[0149] Type 2 (Equipment Allocation Mutation): Randomly select a process gene position, obtain the set of all available equipment for that process (from the input data), and then randomly reset it to another equipment in that set that is different from the current value.

[0150] Step S76: Iterative Evolution Merge: Merge the current population (size 120) with the offspring population (size 120) to form a merged population of size 240.

[0151] Evaluation and ranking: Repeat steps S72 (decode and calculate target value) and S73 (non-dominated ranking, normalization, and crowding calculation) for the merged population.

[0152] New generation selection: Based on non-dominant hierarchy (priority) and crowding (secondary), the top 120 individuals are selected from the merged population to form the new generation of the current population.

[0153] Loop judgment: Repeat steps S72 to S76 until the termination condition is met. The preset termination condition is: reaching the maximum evolutionary generation number of 200, or the objective function value (total completion time and total processing energy consumption) of the first non-dominant layer individuals of the population for 20 consecutive generations has not improved (the change is less than 1%).

[0154] Step S77: Output the result The algorithm stops when the termination condition is met. For the final generation, all individuals in the current population belonging to the first non-dominated level are decoded into a complete scheduling scheme (including process sequence, equipment allocation, timeline, and target value), and the output is the final set of Pareto optimal scheduling schemes.

[0155] 3. Algorithm Performance Verification To verify the effectiveness of this algorithm in dynamic scheduling scenarios, it was implemented on a high-performance server. The test data was based on a real-time disturbance scenario of 8 machines and 15 processing tasks (45 processes in total) in a sheet metal processing workshop.

[0156] Convergence: The algorithm converges on average in about 142 generations, and the time for a single complete run is about 95 seconds, which meets the real-time requirements of dynamic scheduling (usually, a rescheduling decision needs to be completed within 2-3 minutes).

[0157] Solution quality: Compared with the standard NSGA-II algorithm, under the same runtime constraints, the Pareto front obtained by this algorithm improves the overall completion time by an average of 8.5% and the overall processing energy consumption by an average of 12.1%. This indicates that the improved coding constraints, adaptive operators, and real-time data integration effectively improve search efficiency and solution quality.

[0158] Feasibility: Through decoding verification, all scheduling schemes generated by the algorithm meet the process sequence constraints and equipment real-time availability constraints in the test scenario and can be directly issued for execution.

[0159] Application example: Response and optimization of newly added emergency processing task instructions A sheet metal processing workshop is executing a batch of routine orders according to a pre-established plan. The CNC punching machines, laser cutting machines, bending machines, and other equipment in the workshop are all operating normally. At this moment, the workshop service system layer receives a new urgent processing task instruction through its data interface with the Enterprise Resource Planning (ERP) system. This urgent task requires processing a batch of sheet metal of specific specifications, with a tight delivery deadline, and needs to be inserted into the existing production sequence as soon as possible.

[0160] Specific implementation process: 1. Instruction Reception and Trigger Determination: The communication module of the workshop service system layer receives an instruction packet from the upper-layer system through the standard WebService API. This instruction packet clearly carries an "urgent" identifier and task details (including task identifier J-Urgent, required process, material specifications, quantity, and latest delivery time). The system immediately parses the instruction and, based on the trigger condition (2) "received an instruction for a new urgent processing task through the workshop service system layer", determines that the current dynamic scheduling trigger condition is met.

[0161] 2. Optimization and Data Preparation: Following step S5, after the system determines the trigger, it immediately initiates the real-time multi-objective optimization scheduling algorithm at the service system layer. Subsequently, standardized data preparation work is initiated according to the process of steps S61-S65.

[0162] Real-time status acquisition: The system obtains the latest status data of all equipment virtual models from the virtual workshop layer. For example, the laser cutting machine L1 is found to be "busy" with an estimated idle time of 20 minutes; the bending machine B1 is found to be "available"; and the punch press P1 is found to be "unavailable" with an estimated recovery time of 45 minutes.

[0163] Integrated Task Queue: The system extracts the current queue of tasks to be executed from the task management module. This queue contains all tasks that have not yet started (such as Task B and Task C) as well as newly inserted urgent tasks (J-Urgent). Each task object contains a list of its preceding task identifiers (such as a defined data structure) to describe process constraints. For example, the preceding task list of Task C contains the final operation identifier of Task B, indicating that Task C must be performed after Task B.

[0164] Energy consumption prediction simulation: For each task (including J-Urgent) in the task queue, the system initiates a simulation request to the virtual workshop layer based on its detailed process steps and parameters (such as cutting path, corresponding spindle speed, feed rate, and estimated processing time). The virtual workshop layer calls the real-time energy consumption prediction sub-model that has been trained as described in Example 1 in the corresponding equipment model, inputs the process parameter sequence of the process into the model, simulates the processing process, and obtains the instantaneous estimated power curve of the process changing over time during execution. Subsequently, the system integrates the power curve over the total estimated processing time of the process to obtain the estimated total processing energy consumption (unit: kilowatt-hours) required for the process to be executed on a specific equipment. The predicted energy consumption of all processes is summarized to form a "total processing energy consumption prediction dataset" that perfectly matches the input data structure of Example 2. For example, an entry in the dataset is: “J-Urgent-01”: {“L1”: 18.5,“L2”: 20.1}, which means that the first step of the emergency task is expected to consume 18.5 kWh of power when performed on laser cutting machine L1 and 20.1 kWh when performed on L2.

[0165] Generate standardized input: The system integrates and encapsulates the above-mentioned real-time equipment status, the integrated task queue (including process constraints), and the generated "total processing energy consumption prediction dataset" according to the predefined JSON Schema format (consistent with the input structure described in Example 2), generates a standardized input data packet, and transmits it to the calculation engine of the optimization algorithm.

[0166] 3. Real-time Multi-Objective Optimization: The optimization algorithm (i.e., the improved genetic algorithm described in detail in Example 2) begins operation after receiving the standardized input data packet. The algorithm employs a two-layer encoding. During population initialization, the generation of the process sequence strictly follows the preceding task constraints extracted from the task queue, and equipment allocation is selected only from the set of equipment currently in the "available" state. When decoding and evaluating each scheduling scheme, the algorithm precisely calculates the total completion time (including considering the estimated recovery time for processes assigned to faulty equipment P1) and accumulates the predicted energy consumption values ​​corresponding to each process retrieved from the "Total Processing Energy Consumption Prediction Dataset" to obtain the total processing energy consumption. Through iterative evolution based on fast non-dominated sorting and adaptive crossover mutation (crossover probability linearly decreasing from 0.85 to 0.60), the algorithm searches for and outputs a set of Pareto optimal scheduling schemes within approximately 90 seconds. For example, scheme Alpha: total completion time 125 minutes, total predicted energy consumption 205 kWh; scheme Beta: total completion time 140 minutes, total predicted energy consumption 188 kWh.

[0167] 4. Automated Decision-Making and Solution Distribution: Based on the automatic selection mechanism, the system presets the current preference weights (due to the tight delivery schedule, the completion time weight Wt=0.7 and the processing energy consumption weight We=0.3). The system automatically calculates the normalized evaluation index and comprehensive score of each solution, and finally selects the solution with the highest comprehensive score (for example, solution Alpha has a significant advantage in time and has a higher comprehensive score). Subsequently, this final solution is converted into a specific equipment control command sequence (e.g., immediately arrange bending machine B1 for task B; 20 minutes later, laser cutting machine L1 will immediately execute emergency task J-Urgent after completing its current task), and distributed to the CNC system of the corresponding processing equipment through the workshop network.

[0168] The final selected scheduling scheme needs to be converted into a sequence of control commands executable by the physical devices and then transmitted through a reliable communication channel. The process is as follows: Scheme Analysis and Instruction Generation: The "Instruction Conversion Module" at the workshop service system layer analyzes the final scheduling scheme. For each process assigned to each piece of equipment in the scheme, the module performs the following operations: a. Instruction matching: Based on the operationId of the operation, find the path of the corresponding standard CNC program file and the necessary process parameters (such as tool number and offset).

[0169] b. Instruction Encapsulation: Generate a structured "equipment operation instruction". This instruction must include at least: target equipment identifier, process sequence number, name or code of the CNC program to be executed, and the relative or absolute time of the planned start of execution.

[0170] Command transmission: The system sends encapsulated commands to the corresponding device's "edge agent" or directly to the device's CNC system via the workshop's industrial communication network. Communication uses standard industrial protocols, such as OPC UA. Commands are transmitted in the form of "method calls" or "variable writes," for example, calling the "LoadAndQueueProgram" method exposed by the device's CNC system, passing the program name and planned time as parameters.

[0171] Command Confirmation and Queue Management: Upon receiving a command, the equipment's CNC system or edge agent returns a confirmation signal. The workshop service system layer updates the "queue of commands to be executed" for that equipment in the digital twin model and keeps the queue synchronized with the physical equipment. If a piece of equipment is busy, its edge agent is responsible for caching the received commands and queuing them for execution according to their "scheduled start time".

[0172] Error Feedback: If the instruction fails to be issued (e.g., program not found, device offline), the device will return an error code. After receiving the error feedback, the workshop service system layer will mark the process as "issue failed" and may trigger an alarm or restart a small-scale scheduling adjustment according to preset strategies.

[0173] 5. Physical Execution and State Synchronization: The CNC systems of relevant equipment receive and execute new instructions, initiating processing according to the new sequence. Sensors at the physical layer continuously collect actual operating data and synchronize it to the digital twin model. The energy consumption prediction sub-model in the virtual workshop layer continuously outputs and updates instantaneous estimated power based on parameters such as actual load current. The workshop service system layer continuously monitors the real-time total power. The entire system enters a new round of dynamic monitoring cycle.

[0174] Technical effects: This application example demonstrates the complete workflow and technical advantages of the method of the present invention in dealing with a typical dynamic disturbance such as emergency order insertion: This approach achieves precise dynamic response based on energy consumption awareness: Unlike traditional dynamic scheduling that focuses solely on "shortest time" during emergency order insertion, this method utilizes a real-time energy consumption prediction sub-model integrated with a digital twin model. This sub-model accurately and quantitatively predicts the total energy consumption differences resulting from different equipment allocation and task sequencing schemes at the rescheduling decision point. This allows the system to quickly respond to urgent needs while consciously avoiding high-energy-consuming scheduling strategies, selecting a more balanced solution in terms of time and energy efficiency from the Pareto optimal solution set, thus achieving synergistic optimization of production efficiency and green energy conservation.

[0175] The system ensures the global feasibility and coordination of the rescheduling scheme: Through the standardized data preparation process and clear digital definitions of process constraints, the system ensures that the optimization algorithm is based on the latest, consistent, and unambiguous information across the entire workshop during rescheduling. Combined with the improved genetic algorithm with deeply coupled real-time constraints in Example 2, the final generated scheduling scheme not only includes new urgent tasks but also scientifically rearranges all affected original tasks. It rigorously considers complex dynamic factors such as equipment failure recovery time and process sequence, outputting a globally coordinated and immediately executable feasible solution, rather than a temporary patch that may trigger subsequent conflicts or resource contention.

[0176] It enhances the automation and scientific rigor of emergency production decision-making: the entire process, from dynamic triggering, real-time data preparation, multi-objective optimization, to automatic decision-making and dissemination, is highly automated, reducing the emergency scheduling response time—traditionally reliant on human experience and taking hours—to minutes. Simultaneously, by providing an objective and configurable automatic decision-making mechanism, the final solution selection is based on a quantitative comprehensive score, significantly reducing the subjectivity and arbitrariness of human intervention. This ensures that decision results stably and predictably align with management's pre-set strategic preferences (such as prioritizing delivery time in this scenario), greatly improving the scientific rigor, consistency, and responsiveness of production decisions under complex disturbances.

[0177] The above application example, using the 'addition of an emergency processing task' as an example, demonstrates the complete process of dynamic scheduling triggering and response. It can be understood that for other triggering conditions (such as equipment failure, schedule deviation, or real-time power exceeding a threshold), the system will follow the same architecture and process, making judgments based on the corresponding real-time data and initiating optimized scheduling; these will not be elaborated upon here.

[0178] Although embodiments of the present invention have been disclosed above, they are not limited to the applications listed in the specification and embodiments. It can be applied to various fields suitable for the present invention. Further modifications can be readily implemented by those skilled in the art.

Claims

1. A dynamic scheduling method for sheet metal processing based on digital twins and real-time optimization, characterized in that, Includes the following steps: Step S1: Construct a digital twin workshop model for sheet metal processing. This model includes a physical workshop layer, a virtual workshop layer, and a workshop service system layer. The virtual workshop layer is equipped with virtual equipment models that correspond one-to-one with the processing equipment in the physical workshop layer. Each virtual equipment model integrates a real-time energy consumption prediction sub-model that has been trained. The workshop service system layer is used to manage production tasks, store model data, and conduct bidirectional data interaction with the virtual workshop layer, including data synchronization and service request response. Step S2: Through the sensor network and equipment CNC system deployed in the physical workshop layer, the physical operating status data of each processing equipment is collected in real time. The physical operating status data includes spindle speed setpoint, feed rate setpoint, real-time load current and voltage values, and equipment alarm status signals. Step S3: Synchronize the physical operation status data collected in step S2 to the digital twin workshop model; In the virtual workshop layer, the received physical operating status data is used to update the operating parameters of the corresponding equipment virtual model, and the real-time energy consumption prediction sub-model is driven to perform calculations based on the updated operating parameters, and output the real-time status energy consumption data of the corresponding processing equipment. The real-time status energy consumption data includes at least the instantaneous estimated power. In the workshop service system layer, the instantaneous estimated power of all online processing equipment obtained from the virtual workshop layer is aggregated in real time, and summed to calculate the real-time total power of the workshop. Step S4: In the workshop service system layer, based on the equipment alarm status signal, the production instructions received from the external system, and the calculated real-time total power of the workshop, it is determined in real time whether the preset dynamic scheduling triggering conditions are met.

2. The method according to claim 1, characterized in that, The preset dynamic scheduling triggering conditions mentioned in step S4 include any of the following situations: (1) Determine that the equipment in the physical workshop has malfunctioned based on the alarm status signal of the equipment; (2) Receive a new emergency processing task instruction through the workshop service system layer; (3) Based on the completed work hours data periodically fed back from the equipment CNC system, compare it with the corresponding task plan work hours stored in the workshop service system layer, and calculate the actual progress deviation value which exceeds 5% and is less than or equal to 15%; (4) The total real-time power of the workshop continuously exceeds the preset power threshold within a time interval of 30 to 120 seconds.

3. The method according to claim 1 or 2, characterized in that, Also includes: Step S5: When it is determined that any of the dynamic scheduling trigger conditions are met, the real-time multi-objective optimization scheduling algorithm is started in the workshop service system layer. Step S6: The current state of each virtual device model updated in the virtual workshop layer, the queue of tasks to be executed managed in the workshop service system layer, and the processing energy consumption prediction data corresponding to each task in the queue of tasks to be executed obtained from the virtual workshop layer are used as inputs to the real-time multi-objective optimization scheduling algorithm. Step S7: The real-time multi-objective optimization scheduling algorithm adopts a genetic algorithm based on fast non-dominated sorting to solve the scheduling problem in parallel with the optimization objectives of minimizing the total completion time and minimizing the total processing energy consumption, and outputs a set of Pareto optimal scheduling schemes. Step S8: Send the set of Pareto optimal scheduling schemes to the scheduling terminal for decision-making or automatically select the final scheduling scheme; Step S9: The final selected scheduling scheme is sent to the CNC system of the corresponding processing equipment in the physical workshop layer, and the equipment is controlled to execute the new processing task sequence.

4. The method according to claim 3, characterized in that, Step S6 specifically includes: Step S61: In the workshop service system layer, obtain the current status data of each equipment virtual model from the virtual workshop layer. The current status data includes at least the equipment availability status identifier and the estimated recovery time when the equipment is unavailable. Step S62: In the workshop service system layer, extract the queue of tasks to be executed from the task management module. The queue of tasks to be executed is a sequence containing all sheet metal processing tasks that have not started execution and have not been canceled. Each task contains a task identifier, the identifier of the required processing equipment, and the process sequence constraint relationship between tasks. Step S63: In the workshop service system layer, for each task in the queue of tasks to be executed, based on the identifier of the processing equipment and the process parameters, the real-time energy consumption prediction sub-model integrated with the virtual model of the corresponding equipment in the virtual workshop layer is called for the equipment in the available equipment set to simulate the processing process of the task and predict the estimated total processing energy consumption required for the task to be executed on the equipment; the estimated total processing energy consumption data of all tasks are summarized to form a total processing energy consumption prediction dataset, which is used to calculate the total processing energy consumption target value of the scheduling scheme. Step S64: In the workshop service system layer, the current status data of the equipment obtained in step S61, the queue information of the tasks to be executed obtained in step S62, and the total processing energy consumption prediction dataset obtained in step S63 are integrated and encapsulated according to the preset standardized data interface format to generate a standardized input data packet for the scheduling optimization algorithm. Step S65: The standardized input data packet is transmitted to the computing engine of the real-time multi-objective optimization scheduling algorithm as its input.

5. The method according to claim 4, characterized in that, Step S7 describes using a genetic algorithm based on fast non-dominated sorting for parallel solution, which specifically includes the following steps: Step S71, Encoding and Population Initialization: The scheduling solution is encoded using a two-layer encoding method based on processes and equipment; Based on the above encoding rules, an initial population consisting of multiple encoded individuals is generated, and this initial population is used as the first generation current population. Step S72, Decoding and Target Value Calculation: For each coded individual in the current population, perform decoding and scheme simulation in sequence; Based on the completion times of all decoded processes, calculate the total completion time of the scheduling scheme corresponding to this individual. Based on the decoded device allocation sequence and the total processing energy consumption prediction dataset obtained in step S63, the total processing energy consumption of the scheduling scheme corresponding to this individual is calculated. Step S73, Non-dominated sorting and diversity maintenance: Based on the two target values ​​of total completion time and total processing energy consumption of each individual calculated in step S72, perform fast non-dominated sorting on all individuals in the current population to obtain multiple non-dominated levels; The target value of the total completion time of all individuals is normalized by using the maximum and minimum total completion time of all individuals in the current population; the target value of the total processing energy consumption of all individuals is normalized by using the maximum and minimum total processing energy consumption of all individuals in the current population. Within the same non-dominated hierarchy, calculate the crowding degree of each individual in the normalized target space; Step S74, selection operation: Based on the non-dominant hierarchy to which the individual belongs and its crowding, an elite retention strategy is used to select individuals from the current population to form a mating pool for reproduction; Step S75, Genetic Operations: Perform crossover and mutation operations on individuals in the mating pool to generate a progeny population; Step S76, Iterative evolution: Merge the current population with the offspring population to form a merged population; According to step S73, the merged population is re-sorted for non-dominated order, normalized for target value, and its crowding degree is recalculated. According to step S74, a new generation of population is selected from the merged population as the new current population; Repeat steps S72 to S76, using the new current population as input for the next round of evolution; Step S77, Result Output: When the preset termination condition is reached, the scheduling schemes corresponding to all individuals in the current population belonging to the first non-dominant level in the final generation are output as the set of Pareto optimal scheduling schemes.

6. The method according to claim 5, characterized in that, In step S71, each gene bit in the process sequence layer represents a process to be executed, and the generation of the process sequence must strictly follow the process sequence constraints defined in step S62; each gene bit in the equipment allocation layer represents the identifier of the target processing equipment allocated to the corresponding process, and the identifier must be selected from the set of equipment whose equipment availability status is marked as available in step S61.

7. The method according to claim 5, characterized in that, In step S72, during decoding, processing time is arranged for each process sequentially according to the order of the process sequence layer and the device identifier of the device allocation layer. When a process is assigned to a device whose status is unavailable, the start time of the process must be later than the estimated recovery time of the device and the completion time of all processes that must be completed in the preceding sequence. The resulting time delay is included in the completion time of the process.

8. The method according to claim 5, characterized in that, In step S75, the probability of crossover operation decreases linearly from a preset higher value to a preset lower value as the number of generations increases; mutation operation includes two types: the first is at the process sequence layer, adjusting the order of adjacent processes without violating the process sequence constraints; the second is at the equipment allocation layer, resetting the equipment identifier of the selected gene site based on the currently available equipment set obtained in step S61.

9. The method according to any one of claims 4-8, characterized in that, The process sequence constraints between tasks mentioned in step S62 are defined and stored through the following data structure: For each task in the queue of tasks to be executed, configure a list of preceding task identifiers for it; The preceding task identifier list records the identifiers of all tasks that must be completed before the current task begins processing. If the list of preceding task identifiers for a task is empty, it means that the task has no preceding constraints and can be scheduled for processing immediately.

10. The method according to claim 9, characterized in that, The automatic selection of the final scheduling scheme is achieved through the following steps: In the workshop service system layer, a completion time weight coefficient Wt and a processing energy consumption weight coefficient We are preset, where the sum of Wt and We is 1, and Wt ≥ 0, We ≥ 0; For each of the Pareto optimal scheduling schemes, the total completion time and total processing energy consumption of the scheme are determined based on its process and equipment allocation relationship. The total completion time and total processing energy consumption of all schemes are respectively used to construct the completion time dataset {T1, T2, ..., T}. n } and the processing energy consumption dataset {E1, E2, ..., E n }; Calculate the maximum value T in the completion time dataset respectively. max With minimum value T min and the maximum value E in the processing energy consumption dataset. max With minimum value E min ; For each scheme i in the set of Pareto optimal scheduling schemes, based on its total completion time T i Total processing energy consumption E i Calculate its normalized total completion time evaluation index It i With the normalized total processing energy consumption evaluation index Ie i ,in: It i = (T max - T i ) / (T max - T min ), Yes i = (E max - E i ) / (E max - E min ); According to the formula Score i = Wt× It i + We × Ie i Calculate the overall evaluation value (Score) for each scheme i. i ; From the set of Pareto optimal scheduling schemes, select the comprehensive evaluation value Score. i The best scheduling scheme will be the final selected scheme.