Training for integrated graph neural network and non-linear iterative algorithm

By integrating graph neural networks and nonlinear iterative algorithms, a hot-start solution is generated, which solves the convergence and computational efficiency problems of the Newton-Raphson method in power flow analysis, and realizes fast and accurate power flow analysis, adapting to the complexity and uncertainty of power systems.

CN121866569APending Publication Date: 2026-04-14HITACHI ENERGY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HITACHI ENERGY LTD
Filing Date
2024-09-18
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing Newton-Raphson (NR) methods suffer from problems such as non-guaranteed convergence, high computational resource consumption, and difficulty in parallelization in power flow analysis, especially in large-scale power systems. Furthermore, traditional methods are unable to cope with the uncertainties of renewable energy and the threat of high-impact, low-frequency events.

Method used

By combining graph neural networks (GNNs) and nonlinear iterative algorithms (such as the Newton-Raphson algorithm), hot-start solutions are generated by training artificial neural networks, and reinforcement learning is used to update the network. By combining the number of iterations with constraints, computational efficiency and accuracy are improved.

Benefits of technology

It enables fast and accurate solutions to power flow problems in large-scale power systems, reducing computation time and resource consumption, while improving system flexibility and the ability to respond to emergencies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121866569A_ABST
    Figure CN121866569A_ABST
Patent Text Reader

Abstract

Although single machine learning demonstrates the foreground under the background of power flow analysis, the machine learning model lacks interpretability and maturity, so that the confidence in the solution aspect is hindered. Thus, an integrated model is disclosed. The integrated model may include a machine learning model that provides a warm start solution for a non-linear iterative algorithm that is interpretable and well tested, such as the Newton-Raphson algorithm. During training, the machine learning model is trained to provide a good warm start solution (e.g., a warm start solution that reduces the number of iterations required for convergence of a non-linear iterative algorithm) instead of providing a good final solution. Embodiments utilize machine learning to reduce computational time while maintaining or improving accuracy and also provide a final solution that is interpretable, trustworthy and robust to changes in network topology and operating conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments described herein generally relate to machine learning, and more particularly to training an integrated model for use, for example, power flow analysis in a power system, which includes machine learning models (such as graph neural networks (GNNs)) and nonlinear iterative algorithms (such as the Newton-Raphson (NR) algorithm). Background Technology

[0002] Power grids are among the most complex systems designed by humankind. This complexity stems from the large number of interacting components and the stringent requirements for power balance, while also satisfying applicable physical, environmental, and economic constraints. Power flow analysis is required by the power system operator to ensure stable operation. Power flow analysis is formulated to obtain solutions to the power flow problem, which is defined by a set of nonlinear algebraic equations. The primary objective of steady-state power flow analysis is to determine the voltage magnitude and angle at the nodes (i.e., the bus) within the power system. Based on these parameters, the currents in the branches between nodes, as well as the active and reactive power flows, can be obtained under specified load conditions.

[0003] Numerous methods and their approximations are employed to solve power flow problems. The most common method is the Newton-Raphson (NR) method, an iterative approach for solving sparse linear equations defined by the Jacobian matrix of power errors. The NR method is widely used due to its efficiency, reliability, and accuracy in achieving fast convergence. However, convergence of the NR method is not always guaranteed, especially if the initial starting solution and / or subsequent iterations cause the Jacobian matrix to become ill-conditioned. Furthermore, solving sparse linear equations cannot be efficiently parallelized, especially for large-scale networks. Moreover, for such large-scale networks, convergence to the final solution can require significant time and substantial computational resources.

[0004] With the rapid changes in power system structure, the increasing penetration of renewable energy, the increased demand due to rapid electrification, and the threat from high-impact, low-frequency (HILF) events, traditional NR-based power flow analysis methods have been pushed to their practical limits in terms of scalability and optimality. To address the uncertainties arising from renewable energy resources and the increasing threats from HILF events, more frequent power flow solutions will be required. Furthermore, for reliability and resilience, power flow calculations will need to be performed iteratively for different possible emergency scenarios.

[0005] The challenges mentioned above will limit the utilization of existing methods used for power flow analysis. Therefore, it is crucial to develop advanced methods for solving power flow problems in a computationally fast and efficient manner. Summary of the Invention

[0006] Therefore, systems, methods, and non-transitory computer-readable media for ensemble models, including machine learning models and nonlinear iterative algorithms, are disclosed, which can be used to solve power flow problems and similar problems in a computationally fast and efficient manner.

[0007] In one embodiment, a method includes using at least one hardware processor to perform the following operations: acquiring a training dataset comprising a plurality of records, wherein each of the plurality of records includes one or more features labeled with a target solution; and training an artificial neural network for each of the plurality of records to provide a hot-start solution for a nonlinear iterative algorithm by: applying the artificial neural network to the one or more features in the record to produce a first solution; using the first solution as a start solution to execute the nonlinear iterative algorithm to produce a second solution; and updating the artificial neural network based on the difference between the second solution and the target solution in the record.

[0008] The artificial neural network can be a graph neural network. The graph neural network can be a message-passing neural network. Each of the plurality of records may include a node tensor, which includes the one or more features for each of the plurality of nodes in the graph. Training the artificial neural network may further include, for each of the plurality of records, performing the following operations: generating an adjacency matrix representing a plurality of edges between the plurality of nodes, wherein any edge in an emergency state is not represented in the adjacency matrix; and providing the adjacency matrix to the graph neural network. A first solution may represent a hot-start solution of a nonlinear iterative algorithm, a second solution may represent the state of the power system, and the graph may represent the power system. The one or more features may include one or more of node active power demand, node reactive power demand, node type, voltage magnitude setpoint, or voltage angle setpoint, and wherein each of the first and second solutions includes a voltage magnitude and a voltage angle for each of the plurality of nodes. The method may further include using the at least one hardware processor to perform the following operations: deploying a graph neural network to output a first solution, the first solution including voltage magnitude and voltage angle for each of the plurality of nodes; deploying a nonlinear iterative algorithm to use the first solution as a starting solution to generate a second solution, the second solution including voltage magnitude and voltage angle for each of the plurality of nodes; determining power flow in power lines within the power system based on the voltage magnitude and voltage angle of the plurality of nodes; and adjusting the configuration of the power system based on the determined power flow. The configuration adjustment may include one or more of the following: controlling the amount of electricity injected into the power system by at least one generator, adjusting the amount of electricity supplied to the loads in the power system, or adjusting the voltage setpoint in the power system.

[0009] Nonlinear iterative algorithms can be the Newton-Raphson algorithm. The inverse of the Jacobian matrix in the Newton-Raphson algorithm is fixed after the first iteration.

[0010] The artificial neural network can be updated based on the differences between the second solution and the target solution, as well as the differences between the first solution and the target solution. Alternatively, the artificial neural network can be updated based on a weighted combination of a first loss function and a second loss function, where the first loss function is based on the difference between the first solution and the target solution, and the second loss function is based on the difference between the second solution and the target solution.

[0011] Reinforcement learning can be used to update artificial neural networks, where the reward is based on the difference between a second solution and the target solution. The reward can be calculated based on a loss function that calculates the loss based on the difference between the second solution and the target solution. Reinforcement learning can leverage proximal policy optimization algorithms.

[0012] The method may further include: constraining the number of iterations of the nonlinear iterative algorithm. The number of iterations may be constrained to be less than or equal to a percentage (e.g., 50%) of the average number of iterations required for the nonlinear iterative algorithm to converge.

[0013] It should be understood that any of the features in the above methods may be implemented individually or in any combination with any subset of other features. Therefore, the disclosed embodiments are not limited to these specific dependencies to the extent that the appended claims would imply particular dependencies between features. Rather, any of the features described herein may be combined with any other feature described herein, or implemented in any combination of any features without any one or more other features described herein. Additionally, any of the methods described above and elsewhere herein may be embodied individually or in any combination in an executable software module of a processor-based system (such as a server) and / or in executable instructions stored on a non-transitory computer-readable medium. Attached Figure Description

[0014] By studying the accompanying drawings, details of both the structure and operation of the invention can be partially gathered. Similar reference numerals in the drawings refer to similar parts, and in the drawings:

[0015] Figure 1 The illustration shows an example infrastructure that can implement any of the processes described herein, according to an embodiment; Figure 2 An example processing system according to an embodiment is illustrated, which can perform any of the processes described herein; Figure 3 The illustration shows an example data flow for managing a target system according to an embodiment; Figure 4 The Newton-Raphson algorithm according to an embodiment is illustrated; Figure 5A and Figure 5B The illustration shows the training of an ensemble model according to an alternative embodiment, the ensemble model comprising both a machine learning model and a nonlinear iterative algorithm; Figure 6 An example of a proximal policy optimization (PPO) algorithm according to an embodiment is illustrated; and Figure 7 The illustration shows the training and operation process for the ensemble model according to an embodiment. Detailed Implementation

[0016] In the embodiments, systems, methods, and non-transitory computer-readable media for integrating models, including both machine learning models and nonlinear iterative algorithms, are disclosed. After reading this specification, it will become apparent to those skilled in the art how to implement the invention in various alternative embodiments and applications. However, although various embodiments of the invention will be described herein, it should be understood that these embodiments are presented by way of example and illustration only and not by way of limitation. Therefore, this detailed description of various embodiments should not be construed as limiting the scope or breadth of the invention as set forth in the appended claims.

[0017] 1. Infrastructure Figure 1 The illustration depicts an example infrastructure that may implement any of the disclosed processes according to an embodiment. The infrastructure may include a management system 110 (e.g., including one or more servers) that hosts and / or executes one or more of the various processes described herein, which may be implemented in software and / or hardware. Examples of the management system 110 include, but are not limited to, a Supervisory Control and Data Acquisition (SCADA) system, a Power Management System (PMS), an Energy Management System (EMS), a Distribution Management System (DMS), an Advanced DMS (ADMS), and so on. The management system 110 may include dedicated servers, or alternatively be implemented in a computing cloud where the computing resources of one or more servers are dynamically and elastically allocated to multiple tenants based on demand. In either case, these servers may be co-located (e.g., in a single data center) and / or geographically distributed (e.g., across multiple data centers). The management system 110 may also include or communicatively connect to software 112 and / or a database 114. Additionally, the management system 110 may be communicatively connected to one or more user systems 130 and / or target systems 140 via one or more networks 120.

[0018] The (multiple) networks 120 may include the Internet, and the management system 110 may communicate with (multiple) user systems 130 and / or (multiple) target systems 140 via the Internet using standard transport protocols as well as proprietary protocols. Standard transport protocols include Hypertext Transfer Protocol (HTTP), HTTP Secure (HTTPS), File Transfer Protocol (FTP), FTP Secure (FTPS), Secure Shell FTP (SFTP), Extensible Messaging and Presence Protocol (XMPP), Open FieldMessage Bus (OpenFMB), IEEE Smart Energy Profile Application Protocol (IEEE 2030.5), Internet Control Center Communication Protocol (ICCP), International Electrotechnical Commission (IEC) 61850, etc. Although the management system 110 is illustrated as being connected to various systems via a single set of (multiple) networks 120, it should be understood that the management system 110 may be connected to various systems via different arrays of one or more networks. For example, the management system 110 may be connected to a subset of user systems 130 and / or target systems 140 via the Internet, but may be connected to one or more other user systems 130 and / or target systems 140 via an intranet. Furthermore, although only a few user systems 130 and target system 140, one instance of software 112 and one database 114 are illustrated, it should be understood that the infrastructure may include any number of user systems, power systems, software instances and databases.

[0019] The (multiple) user systems 130 may include any one or more types of computing devices capable of wired and / or wireless communication, including but not limited to desktop computers, laptop computers, tablet computers, smartphones or other mobile phones, servers, game consoles, televisions, set-top boxes, electronic kiosks, point-of-sale terminals, embedded controllers, programmable logic controllers (PLCs), and / or others. However, it is generally envisioned that the (multiple) user systems 130 will include personal computers, mobile devices, or workstations through which the operator's agent of the target system 140 can interact with the management system 110. These interactions may include inputting data (e.g., parameters for configuring the processes described herein) and / or receiving data (e.g., outputs of the processes described herein) via a graphical user interface provided by the management system 110 or a system between the management system 110 and the (multiple) user systems 130. The graphical user interface may include screens (e.g., web pages) that include a combination of content and elements such as text, images, videos, animations, references (e.g., hyperlinks), frames, inputs (e.g., text boxes, text areas, check boxes, radio buttons, drop-down menus, buttons, forms, etc.), scripts (e.g., JavaScript), and so on, including elements that include or originate from data stored in database 114.

[0020] Target system 140 may include any type of system for which data can be monitored, analyzed, and acted upon. Generally, target system 140 may include any system that can be represented by a system of equations solvable using nonlinear iterative algorithms. However, within the context of the specific, non-limiting examples provided throughout this disclosure, it will be assumed that target system 140 includes or is composed of an electric system. An electric system may include one or more (and typically more) electrical resources connected in a network, which may include distribution networks, transmission networks, and / or others. Electrical resources may include generators, energy storage systems, loads (e.g., rechargeable energy storage systems or other controllable loads, uncontrollable loads, etc.) and / or others. Generators may include different types of generators, such as thermal power plants (e.g., coal, natural gas, nuclear, geothermal, etc.), hydropower plants, renewable energy power plants (e.g., solar, wind, geothermal, etc.) and / or others. Each type of power resource may be subject to complex technical and / or operational constraints, such as minimum operating time, maximum downtime, ramp-up and / or ramp-down rates, modulation or stability (e.g., a generator may not change its output too many times or at too fast a rate), ramp-up and / or ramp-down rates (e.g., when starting or stopping, a generator or load must follow a specific power curve that may depend on how long the unit has been offline or online), and / or others. Additionally, networks that may span geographical areas may have complex characteristics, such as network topology, device parameters, line flow limits, resource response rates, and / or others.

[0021] The management system 110 executes software 112, which includes one or more software modules that implement one or more of the disclosed processes. Additionally, the management system 110 may include a database 114, be communicatively coupled to, or otherwise access the database, which stores data input to one or more of the disclosed processes and / or data output from one or more of the disclosed processes. Any suitable database may be used in the database 114, including but not limited to MySQL™, Oracle™, IBM™, Microsoft SQL™, Access™, PostgreSQL™, MongoDB™, and / or others, and includes cloud-based databases, proprietary databases, and unstructured databases.

[0022] 2. Example processing device Figure 2This is a block diagram illustrating an example wired or wireless system 200 that may be used in conjunction with the various embodiments described herein. For example, system 200 may be used as one or more, or in combination with, the functions, methods, or other processes described herein (e.g., to store and / or execute software 112), and may represent components of system management system 110, user systems(s) 130, target systems(s) 140, and / or other processing apparatuses described herein. System 200 may be a server or any conventional personal computer, or any other processor-enabled device capable of wired or wireless data communication. Other computer systems and / or architectures may also be used, as will be apparent to those skilled in the art.

[0023] System 200 preferably includes one or more processors 210. The processors 210 may include a central processing unit (CPU). Additional processors may be provided, such as a graphics processing unit (GPU), an auxiliary processor for managing input / output, an auxiliary processor for performing floating-point mathematical operations, a dedicated microprocessor (e.g., a digital signal processor) with an architecture suitable for fast execution of signal processing algorithms, a processor subordinate to the main processor (e.g., a back-end processor), an additional microprocessor or controller for a dual-processor or multi-processor system, and / or a coprocessor. Such auxiliary processors may be discrete processors or may be integrated with the main processor 210. Examples of processors that can be used with System 200 include, but are not limited to, any of the processors available from Intel Corporation of Santa Clara, California (e.g., Pentium™, Core i7™, Xeon™, etc.), any of the processors available from Advanced Micro Devices (AMD) of Santa Clara, California, any of the processors available from Apple Inc. of Cupertino (e.g., A-series, M-series, etc.), any of the processors available from Samsung Electronics Ltd. of Seoul, South Korea (e.g., Exynos™), and / or others.

[0024] Processor 210 is preferably connected to communication bus 205. Communication bus 205 may include a data channel for facilitating information transfer between the storage devices of system 200 and other peripheral components. Furthermore, communication bus 205 may provide a set of signals for communicating with processor 210, including a data bus, an address bus, and / or a control bus (not shown). Communication bus 205 may include any standard or non-standard bus architecture, such as, for example, bus architectures conforming to: Industry Standard Architecture (ISA), Extended Industry Standard Architecture (EISA), Micro Channel Architecture (MCA), Peripheral Component Interconnect (PCI) local bus, standards issued by the Institute of Electrical and Electronics Engineers (IEEE), including IEEE 488 Universal Interface Bus (GPIB), IEEE 696 / S-100, and / or others.

[0025] System 200 may include main memory 215. Main memory 215 provides storage for instructions and data for programs executed on processor 210, such as one or more processes discussed herein (e.g., embodied as software 112). It should be understood that programs stored in memory and executed by processor 210 may be written and / or compiled in any suitable language, including but not limited to C / C++, Java, JavaScript, Perl, Visual Basic, .NET, etc. Main memory 215 is typically a semiconductor-based memory, such as dynamic random access memory (DRAM) and / or static random access memory (SRAM). Other semiconductor-based memory types include, for example, synchronous dynamic random access memory (SDRAM), Rambus dynamic random access memory (RDRAM), ferroelectric random access memory (FRAM), etc., including read-only memory (ROM).

[0026] System 200 may also include secondary memory 220. Secondary memory 220 may optionally include internal media 225 and / or removable media 230. Internal media 225 may include, for example, hard disk drives (HDDs), solid-state drives (SSDs), and / or others. Removable media 230 may include, for example, magnetic tape drives, compact optical disc (CD) drives, digital versatile optical disc (DVD) drives, flash memory drives, and / or others. Secondary memory 220 is a non-transitory computer-readable medium on which computer-executable code (e.g., software 112) and / or other data is stored. Computer software or data stored on secondary memory 220 is read into main memory 215 for execution by processor 210.

[0027] System 200 may include an input / output (I / O) interface 235. The I / O interface 235 provides an interface between one or more components of system 200 and one or more input and / or output devices. Example input devices include, but are not limited to, sensors, keyboards, touchscreens or other touch-sensitive devices, cameras, biometric sensing devices, computer mice, trackballs, pen-based pointing devices, and / or others. Examples of output devices include, but are not limited to, other processing devices, cathode ray tubes (CRTs), plasma displays, light-emitting diode (LED) displays, liquid crystal displays (LCDs), printers, vacuum fluorescent displays (VFDs), surface-conducting electron emission displays (SEDs), field emission displays (FEDs), and / or others. In some cases, input and output devices may be combined, such as in the case of touch panel displays (e.g., in smartphones, tablets, or other mobile devices).

[0028] System 200 may include a communication interface 240. Communication interface 240 allows the transfer of software and other data between system 200 and external devices, networks, or other external systems 245. For example, data (which may include computer software or executable code) may be transferred from external system 245 (e.g., a network server) to system 200 and / or from system 200 to external system 245 via communication interface 240. Examples of communication interface 240 include built-in network adapters, network interface cards (NICs), PCMCIA network cards, card bus network adapters, wireless network adapters, Universal Serial Bus (USB) network adapters, modems, wireless data cards, communication ports, infrared interfaces, IEEE 1394 FireWire, and any other device capable of interfacing system 200 with a network (e.g., network(s) 120) or another computing device. The communication interface 240 preferably implements industry-issued protocol standards, such as Ethernet IEEE 802 standard, Fibre Channel, Digital Subscriber Line (DSL), Asynchronous Digital Subscriber Line (ADSL), Frame Relay, Asynchronous Transfer Mode (ATM), Integrated Digital Service Network (ISDN), Personal Communication Service (PCS), Transmission Control Protocol / Internet Protocol (TCP / IP), Serial Line Internet Protocol / Point-to-Point Protocol (SLIP / PPP), etc., but may also implement custom or non-standard interface protocols.

[0029] Data transmitted via communication interface 240 is typically in the form of electrical communication signals 255. These signals 255 may be provided to communication interface 240 via communication channel 250. In embodiments, communication channel 250 may be a wired or wireless network (e.g., network(s) 120) or any other type of communication link. Communication channel 250 carries signals 255 and may be implemented using a variety of wired or wireless communication devices, including wires or cables, optical fibers, conventional telephone lines, cellular telephone links, wireless data communication links, radio frequency (“RF”) links, or infrared links, to name just a few.

[0030] Computer-executable code (e.g., computer programs, such as software 112) is stored in main memory 215 and / or secondary memory 220. Computer programs may also be received via communication interface 240 and stored in main memory 215 and / or secondary memory 220. Such computer programs, when executed, enable system 200 to perform one or more of the processes described elsewhere herein.

[0031] In this specification, the term "computer-readable medium" is used to refer to any non-transitory computer-readable storage medium used to provide computer-executable code and / or other data to or within system 200. Examples of such media include main memory 215, secondary memory 220 (including internal memory 225 and / or removable media 230), and any peripheral device communicatively coupled to communication interface 240, such as external system 245 (e.g., a network information server or other network device). These non-transitory computer-readable media are devices for providing executable code, programming instructions, software, and / or other data to processor(s) 210.

[0032] System 200 may also include optional wireless communication components that facilitate wireless communication over voice and / or data networks (e.g., in the case of user system 130 as a smartphone or other mobile device). The wireless communication components include antenna system 270, radio system 265, and baseband system 260. In system 200, radio frequency (RF) signals are transmitted and received over the air by antenna system 270 under the control of radio system 265.

[0033] In one embodiment, antenna system 270 may include one or more antennas and one or more multiplexers (not shown) that perform switching functions to provide transmission and reception signal paths to antenna system 270. In the reception path, received RF signals may be coupled from the multiplexer to a low-noise amplifier (not shown), which amplifies the received RF signals and transmits the amplified signals to radio system 265.

[0034] In alternative embodiments, radio system 265 may include one or more radios configured to communicate over various frequencies. In one embodiment, radio system 265 may combine a demodulator (not shown) and a modulator (not shown) in a single integrated circuit (IC). The demodulator and modulator may also be separate components. In the ingress path, the demodulator removes the RF carrier signal, leaving a baseband received signal, which is transmitted from radio system 265 to baseband system 260.

[0035] The baseband system 260 is also communicatively coupled to processor(s) 210, which have access to data storage areas 215 and 220. Therefore, data including computer programs can be received from the baseband processor 260 and stored in main memory 210 or secondary memory 220, or executed immediately upon receipt. Such computer programs, when executed, enable system 200 to perform one or more of the disclosed processes.

[0036] 3. Example data stream for target system management Figure 3 An example data flow between a management system 110, a user system 130, and a target system 140 according to an embodiment is illustrated. The target system 140 may include a monitoring module 310 and a control module 320. The software 112 of the management system 110 may include an analysis and control module 330 and a human-machine interface (HMI) 340. The database 114 of the management system 110 may store a system model 350. It should be understood that communication between the various systems may be performed via networks 120. Additionally, communication between a pair of modules may be performed via an application programming interface (API) provided by one of these modules or by other inter-process communication devices.

[0037] Monitoring module 310 can monitor and collect data output by one or more sensors in target system 140 (e.g., sensors in a power system network). Monitoring module 310 can also derive data from the collected data. Monitoring module 310 can transmit or “push” the collected and / or exported data as system telemetry data to analysis and control module 330 (e.g., via API of analysis and control module 330). Alternatively, analysis and control module 330 can retrieve or “pull” system telemetry data from monitoring module 310 (e.g., via API of monitoring module 310). System telemetry data may include measurements at each and / or other points in one or more nodes (e.g., buses in a power system) within the network of target system 140. System telemetry data may be communicated from monitoring module 310 to analysis and control module 330 in real time, as the data is collected and / or exported, or periodically. As used herein, the term “real time” includes events that occur simultaneously, as well as events that are time-separated by common delays caused by latency in processing, memory access, communication, and / or other processes.

[0038] The analysis and control module 330 receives system telemetry data from the monitoring module 310 and combines the system telemetry data with the system model 350 to determine the configuration of the target system 140 (e.g., one or more resources in a power system), and then controls the target system 140 to transition to the determined configuration. Specifically, the analysis and control module 330 can generate control signals that are transmitted to the control module 320 of the target system 140. For example, the control signals can be sent via the API of the control module 320. The control signals can be transmitted from the analysis and control module 330 of the management system 110 to the control module 320 of the target system 140 in real time, when system telemetry data is received and analyzed, periodically (e.g., before a sliding time window), or in response to user actions. The analysis and control module 330 can control the target system 140 automatically (e.g., without any user intervention), semi-automatically (e.g., requiring user approval or confirmation), and / or in response to manual user input.

[0039] The analysis and control module 330 can perform one or more types of analysis, such as power flow analysis, optimal power flow, distributed energy resource (DER) management, network situational awareness, emergency analysis, security analysis, Volt-Var optimization, load capacity analysis, and / or others. Analysis can be performed in response to user actions, or automatically in real-time or periodically. In some cases, analysis may be provided to the user via human-machine interface 340. In other cases, the analysis and control module 330 may initiate control operations automatically (i.e., without user intervention) or semi-automatically (e.g., with user approval or confirmation) based on the analysis. Initiation of control operations may include transmitting control commands to the target system 140, which can responsively control the target system 140 according to the control commands.

[0040] The control module 320 of the target system 140 receives control signals from the analysis and control module 330 and controls one or more components of the target system 140 based on these control signals. In the context of a power system, examples of such control include setting setpoints (e.g., active and / or reactive power of a generator, voltage, etc.), adjusting the power output of a generator, adjusting the charging or discharging of an energy storage system, adjusting the power input to a load, closing or opening switches (e.g., circuit breakers), and / or others.

[0041] The human-machine interface 340 can generate a graphical user interface (GUI) for transmission to the user system 130 and receive input from the GUI via the user system 130. The GUI can provide information regarding the current state of the target system 140 determined based on system telemetry data, the predicted state of the target system 140 determined by the analysis and control module 330, the configuration of the target system 140 determined by the analysis and control module 330, control decisions or recommendations for the target system 140 determined by the analysis and control module 330, a visual representation of the system model 350, and / or other information. Additionally, the GUI can provide inputs that enable the user of the user system 130 to configure the settings of the analysis and control module 330, configure the system model 350, specify or approve control of the control module 320 to be transmitted to the target system 140, and analyze the target system 140 and / or other aspects.

[0042] System model 350 may be stored in database 114 and accessed by modules (such as analysis and control module 330) via any known means (e.g., via the API of database 114, direct queries of database 114, etc.). Database 114 may store system models 350 for each target system 140, managed by management system 110. Each system model 350 may model the target system 140 in any suitable manner. For example, system model 350 may include single-line graphs, systems of equations, adjacency matrices, and / or others representing network components and their relationships to each other. It should be understood that system model 350 may be implemented as a data structure capable of being automatically analyzed by software modules (including analysis and control module 330).

[0043] 4. introduction In recent literature, machine learning (ML) methods have been developed to solve power flow problems. These methods either use machine learning models to obtain power flow solutions in a single-shot manner or use machine learning models to generate hot-start solutions to warm-start the NR algorithm.

[0044] In some cases, single machine learning predictions have been shown to be accurate and successful for power flow analysis. However, in other cases, single machine learning predictions can be highly inaccurate. Therefore, for critical applications such as the operation and control of power systems, there is not enough confidence to rely on single machine learning predictions.

[0045] The hot-start method uses either a previously solved power flow solution or a flat-start value as the starting solution for the NR algorithm. The flat-start value assumes that all node voltage magnitudes have a per-unit value of 1 and all voltage angles have a value of zero radians. However, this method may not always converge. Furthermore, even when it does converge, it may require many iterations to achieve convergence. It should be understood that computation time increases with the number of iterations.

[0046] In machine learning-based hot-start methods, a machine learning model can be used to generate a single prediction, which is then used to hot-start a nonlinear iterative algorithm, such as the NR algorithm. To accomplish this, the machine learning model is typically trained to minimize the prediction error relative to the final power flow solution. However, this may not always be the optimal strategy.

[0047] Therefore, in this embodiment, the machine learning model is trained in a way that generates a warm-start solution, which benefits the NR algorithm from reducing the number of iterations required to reach convergence. Specifically, the machine learning model is trained based on the impact of its warm-start solution on the NR algorithm. This contrasts with approaches that merely train the machine learning model to minimize prediction error, while remaining indifferent to how the NR algorithm will perform when the solution from the machine learning model is used as the starting solution. Such approaches assume that the NR algorithm will converge quickly if the starting solution is close to the actual solution. However, such methods do not guarantee convergence, let alone fast convergence, because it is possible that the NR algorithm's solution will deviate from the starting solution.

[0048] Furthermore, the disclosed embodiments combine the benefits of ML-based methods with the confidence level of solutions provided by conventional NR algorithms. In other words, since the final solution of the power flow analysis will be delivered using a well-understood and interpretable NR algorithm, the user will have confidence in the final solution. This allows the disclosed embodiments to be easily integrated into existing management systems 110. This contrasts with solutions delivered through purely machine learning models, which are difficult to interpret and are essentially black boxes for the operators of the target system 140. Additionally, the enhanced warm-start for the NR algorithm will improve computational efficiency while maintaining or even improving accuracy and robustness.

[0049] Furthermore, since the NR algorithm provides the final solution, there is no need to retrain the machine learning model whenever the network topology and / or operating conditions of the target system 140 change. Specifically, using the solution from the machine learning model as a warm-start solution for the NR algorithm (which then provides the final solution) alleviates the burden on the machine learning model to provide an accurate final solution. In effect, the NR algorithm acts as a guardrail to ensure the final solution has good quality, thereby reducing the frequency of retraining the machine learning model, which in turn reduces the computational cost of maintaining the machine learning model. This contrasts with methods that rely solely on the machine learning model to generate the final solution, where retraining is required whenever the network topology or operating conditions of the target system 140 change.

[0050] Implementations are typically conceived as utilizing the NR algorithm. However, any other algorithm that can benefit from a warm-start solution can be used instead of the NR algorithm, such as the Gauss-Seidel algorithm, the Fast Decoupling Load Flow algorithm, the Push-Forward Backward Scan (BFS) algorithm, the Laurent Current Flow (LPF) algorithm, optimization-based analyses with nonlinear formulas (such as interior-point optimization), alternative root-finding algorithms, and so on. It should be understood that any algorithm initialized using a starting solution can benefit from a warm-start solution. Therefore, algorithms provided with a warm-start solution will generally be described herein as “nonlinear iterative algorithms,” except when discussing something specific to a particular type of nonlinear iterative algorithm (such as the NR algorithm). It should be understood that warm-start solutions are not unique to the NR algorithm, and other nonlinear iterative algorithms can also utilize warm-start solutions.

[0051] Furthermore, the embodiments described herein will primarily be set out in the context of power flow analysis for power systems. However, it should be understood that the embodiments can be applied to other types of analysis for power systems, as well as to analysis for other types of systems. Therefore, the system managed by the disclosed embodiments will generally be described herein as the “target system,” except when a specific application for a power system is discussed. In general, any system that can be analyzed using a nonlinear iterative algorithm (such as the NR algorithm) initialized with a starting solution can benefit from the disclosed embodiments.

[0052] 5. Trend issues While power flow analysis is not the only application of the disclosed embodiments, it represents an important application. Therefore, the power flow problem will be briefly described. In this context, it should be understood that the target system 140 is a power system.

[0053] set up This refers to the number of buses in the power system network. Let be the number of edges in the power system network, and The number of generators in the power system network, where, Each It has the following parameters, where "net" refers to the difference between load and power generation: The active (net) power requirement of bus n, of which ; The reactive (net) power requirement of bus n, of which ; : The voltage of bus n, where and ,in, It is the voltage amplitude, and It is the voltage angle; and Y: Admittance matrix of the network ( ).

[0054] The goal of power flow analysis is to use Kirchhoff's laws to apply them to a given net active power demand (...). ), net reactive power demand ( ) and admittance matrix (Y) information to calculate complex steady-state bus voltage ( Therefore, for all Solve the following power equations to calculate : Equation (1):

[0055] Equation (2):

[0056] in It is the real part of the input parameter, and It is the imaginary part of the input parameter. For all Equations (1) and (2) form a highly sparse nonlinear system of equations.

[0057] 6. Newton-Raphson algorithm Figure 4 The illustration depicts a Newton-Raphson (NR) algorithm for power flow analysis according to an embodiment. The NR algorithm 400 can be implemented by software 112. While the NR algorithm 400 is illustrated with a certain arrangement and ordering of subprocesses, it can be implemented with fewer, more, or different subprocesses, as well as different arrangements and / or orders of subprocesses. Furthermore, it should be understood that any subprocess independent of the completion of another subprocess can be executed before, after, and / or in parallel with another independent subprocess, even if these subprocesses are described or illustrated in a particular order. Moreover, while the illustrated example of the NR algorithm 400 is specific to power flow analysis, it should be understood that the NR algorithm 400 can be adapted to other contexts by utilizing different data and equations.

[0058] While the NR algorithm 400 is not the only example of a nonlinear iterative algorithm, it is a classic and stable method for solving equations (1) and (2). The NR algorithm 400 is a root-finding algorithm that iteratively produces better approximations of the roots of a function. In the context of power flow analysis, the function comprises equations (1) and (2). The NR algorithm 400 begins with these equations and a starting solution, which represents an initial guess about the roots of these equations. The NR algorithm 400 then iteratively searches for the final solution in a region of the solution space surrounding the starting solution. This means that a good starting solution is crucial to the performance of the NR algorithm 400.

[0059] In subroutine 405, initial data is loaded. In the context of power flow analysis, the initial data includes the voltages (V) of all buses in the power system network, including... and The initial data includes net active power demand (P) and net reactive power demand (Q). It should be understood that the initial data may include other data such as the impedance of branches between nodes in the network, information about the type of each node in the network (e.g., whether the node is a load bus (PQ node), a generator bus (PV node), or a relaxation bus). Additionally, it should be understood that other initial data may be loaded in other contexts. In any case, the initial data includes a starting solution for the problem being solved (e.g., a power flow problem). Traditionally, this starting solution can be a fixed set of values. A standard starting solution typically used for power flow analysis is a flat-start solution, where for each non-PV bus (i.e., a bus without a generator that regulates the terminal voltage to the voltage setpoint), the voltage magnitude (P) is... ) is set to a per-unit value of 1, and for each bus, the voltage angle ( It is set to zero radians.

[0060] In subprocess 410, the admittance matrix (Y) of the power system network is constructed. The admittance matrix (Y) can be constructed in any suitable manner. For example, the admittance matrix (Y) can be constructed using the voltages of the nodes and the currents between the nodes.

[0061] In subroutine 415, the iteration count is initialized. For ease of understanding, the iteration count is initialized to 1. However, it should be understood that, programmatically, the iteration count can be initialized to zero or another value.

[0062] In subprocess 420, the power injection at the nodes in the network is calculated. The power injection can be calculated using equations (1) and (2) from the power flow problem. Specifically, each node can be calculated based on the voltage (V) and admittance matrix (Y). Net active power demand ( ), net reactive power demand ( ).

[0063] In subprocess 425, the error between the net active power demand in the current solution and the known net active power demand is calculated. P), and the error between the current net reactive power demand and the known net reactive power demand. Q). These errors represent the errors in the calculated power injection amount ( P, Q).

[0064] In subroutine 430, the calculated error is determined ( P, Q) Is the error less than a predefined threshold or has the iteration count reached the maximum number of iterations? The predefined threshold represents the tolerance within which NR algorithm 400 has converged. In other words, NR algorithm 400 has converged to a solution when the error is within the tolerance. The maximum number of iterations represents the computational budget assigned to NR algorithm 400. When NR algorithm 400 has neither converged nor reached the computational budget (i.e., "No" in subprocess 430), NR algorithm 400 continues to subprocess 435. Otherwise, when NR algorithm 400 has converged or reached the computational budget (i.e., "Yes" in subprocess 430), NR algorithm 400 stops and reports the latest solution in subprocess 455.

[0065] In subprocess 435, the Jacobian matrix of the calculated error is calculated. J Jacobian matrix () J It can be calculated using any suitable method and is usually not computationally expensive.

[0066] In subprocess 440, based on the Jacobian matrix calculated in subprocess 435 ( J The inverse of ) ) Calculate the correction vector ( This requires the Jacobian matrix (). J Find the inverse of the Jacobian matrix. As the network size increases, the Jacobian matrix (...) J The size of the Jacobian matrix increases and the Jacobian matrix ( J This makes the Jacobian matrix () sparse. J The Jacobian matrix is ​​considered irreversible. At the very least, inverting a large-dimensional Jacobian matrix is ​​computationally expensive. Therefore, in subprocess 440, the number of iterations and the number of iterations required to invert the Jacobian matrix ( J The number of inversions depends on the quality of the starting solution. Therefore, a high-quality starting solution that reduces the number of iterations of the NR algorithm 400 (even by just one iteration) will significantly reduce the computation time and cost for finding the final solution for large networks, such as typical power system networks.

[0067] In sub-procedure 445, the correction vector calculated in sub-procedure 440 is used to correct the voltage values ​​in the solution. Specifically, the correction vector is added to the previous solution to produce a new solution. For example, the correction vector for the voltage magnitude ( The voltage magnitude added to the previous solution ( To generate a new voltage amplitude ( ), and the voltage angle correction vector ( The voltage angle added to the previous solution ( To generate a new voltage angle ( ).

[0068] In sub-procedure 450, the iteration count is incremented. Then, NR algorithm 400 returns to sub-procedure 420 to perform another iteration. It should be understood that these iterations will continue until NR algorithm 400 converges or reaches its computational budget.

[0069] It is worth noting that the performance of NR Algorithm 400 in terms of both speed and accuracy depends on the size of the network solving the power flow problem and the quality of the initial solution. For example, flat-start solutions do not always converge. Furthermore, the computation time for NR Algorithm 400 to converge increases with the number of iterations required for convergence.

[0070] 7. Machine learning models In this embodiment, instead of using a flat-starting solution or other fixed starting solution for a nonlinear iterative algorithm (e.g., NR algorithm 400), a machine learning model is used to provide a hot-starting solution to be used as the starting solution for the nonlinear iterative algorithm. The machine learning model can be an artificial neural network.

[0071] A power system network can be represented as a graph, where nodes represent generators and loads, and edges between nodes represent power lines (e.g., transmission or distribution lines). While traditional convolutional neural networks (CNNs) are well-suited for time series prediction, regression, and classification, they typically perform poorly with graph-based data (such as networks in power systems) because they cannot represent the ordering of the graph. In other words, CNNs cannot account for dependencies between nodes.

[0072] Therefore, for a target system 140 (such as a power system) comprising a network of nodes (represented as a graph), the artificial neural network of the machine learning model may include a graph neural network (GNN). A graph neural network is a class of artificial neural networks that processes data represented in graph form. Graph neural networks can be directly applied to graph-structured data for node-level, edge-level, or graph-level predictions. An example of a graph neural network is described by F. Scarselli et al. in “Graph Neural Network Models” (IEEE Transactions on Neural Networks, pp. 61–80, 2009), which is hereby incorporated herein by reference in its entirety. Graph neural networks are particularly well-suited for networks such as circuit networks. However, it should be understood that artificial neural networks may include or be composed of another type of neural network, such as convolutional neural networks, recurrent neural networks (RNNs), and so on.

[0073] While the target system 140 is primarily exemplified herein as an electrical system, it should be understood that the target system 140 can be any system that can be represented as a graph with nodes and edges. For example, the target system 140 may include a network of connected components. In an electrical system, these components represent resources connected via power lines. In a gas pipeline, components represent equipment (e.g., gas compressors, pumps, storage tanks, etc.) connected via gas pipes. In a computing system, these components may represent computing resources connected via communication paths. In a geographic system, these components may represent locations connected via roads. It should be understood that these are merely a few examples. Any network can be transformed into a graph that includes components as nodes and connections between components as edges.

[0074] Message-passing neural networks (MPNNs) are a special type of special graph neural network. In MPNNs, information between different parts of the neural network is propagated in a scalable manner by iteratively updating the representation of each node based on an aggregation function that aggregates information from the node and its neighbors. MPNNs are particularly well-suited for power flow prediction in electrical networks. An example of an MPNN is presented by J. Gilmer et al. in "Neural Message Passing for Quantum Chemistry" (…). arXiv:1704.01212 The description is found in (pages 1-14, April 2017), which is hereby incorporated herein by reference in its entirety.

[0075] The input to a message-passing neural network or other graph neural network may include one or more input features for each of the plurality of nodes in the graph, and an adjacency matrix representing the adjacency relationships of the plurality of nodes in the graph. The adjacency matrix provides the graph neural network with an awareness of the network topology. The output of the graph neural network may include one or more output parameters for each of the plurality of nodes in the graph. For example, in the context of power flow analysis, the input and output features of a graph neural network (e.g., a message-passing neural network) may be: Input features

[0076] Output features

[0077] In the above inputs, the node type can be one of a PV node, a PQ node, or a relaxed node, which can be encoded using an indicator vector. A PV node is a bus that regulates the terminal voltage to the voltage setpoint of a generator. Therefore, a PV node will cause the PV reference voltage amplitude ( The voltage setpoint is equal to the voltage level. A PQ node is a bus without voltage control (e.g., without a generator) and not remotely controlled by a voltage control device. A relaxation node is a bus in an electrical island with a fixed voltage amplitude and a fixed voltage angle. Therefore, a relaxation node will relax the reference voltage amplitude ( ) equals a fixed voltage amplitude and relaxes the reference voltage angle ( () equals a fixed voltage angle.

[0078] In the above outputs, the output voltage angle ( The sine and cosine values ​​of the voltage angle (not the voltage angle). This makes it possible to capture the voltage angle ( ) itself. Quadrant behavior of ).

[0079] 8. Integration of machine learning models with nonlinear iterative algorithms Figure 5A The illustration shows the training of an ensemble model 500 according to a first embodiment, which includes both a machine learning model 510 and a nonlinear iterative algorithm 520. In this embodiment, training the machine learning model 510 includes the output of the nonlinear iterative algorithm 520, such that the machine learning model 510 is trained to output a good warm-start solution rather than a good final solution, in order to improve the convergence of the nonlinear iterative algorithm 520. As discussed elsewhere herein, the machine learning model 510 may be a graph neural network, such as a message-passing neural network, but may also be another type of artificial neural network or a completely different type of artificial intelligence. Additionally, the nonlinear iterative algorithm 520 may be the Newton-Raphson algorithm 400, but may also be another type of algorithm utilizing the warm-start solution.

[0080] For training, a training dataset is obtained. The training dataset may include multiple records. Each of the multiple records may include one or more input features labeled with a target solution for each of the multiple nodes, the target solution including target output features for each of the multiple nodes. In the context of power flow analysis, for each node in the graph, these input features may include active power demand, reactive power demand, node type (e.g., PV, PQ, or relaxation), PV reference voltage for PV nodes, and / or relaxation reference voltage magnitude and angle for relaxation nodes. In this case, for each node in the graph, the target solution may include voltage magnitude and voltage angle. Each of the multiple records may be normalized and formatted according to the requirements of machine learning model 510.

[0081] If the machine learning model 510 includes a graph neural network (such as a message-passing neural network), each of the plurality of records may also include an adjacency matrix representing the edges between nodes. In the context of power flow analysis, the adjacency matrix may be weighted such that each edge is represented by the admittance value on the power line between the corresponding node pair.

[0082] During training, each of the plurality of records in the training dataset is fed into machine learning model 510 to produce a hot-start solution. In the context of power flow analysis, the output of machine learning model 510 will include voltage predictions (e.g., voltage magnitude and angle) for each node in the graph, represented in the records. This output can be denormalized to a hot-start solution compatible with nonlinear iterative algorithm 520.

[0083] Furthermore, for each of the plurality of records in the training dataset, a warm-start solution generated from the machine learning model 510 is input into the nonlinear iterative algorithm 520. In other words, the warm-start solution is used as the starting solution to execute the nonlinear iterative algorithm 520 to produce a final solution. For example, the nonlinear iterative algorithm 520 may iterate until the solution converges or reaches the computational budget. The output of the nonlinear iterative algorithm 520 may be normalized as needed to produce the final solution.

[0084] For each of the plurality of records in the training dataset, a model error 515 is calculated based on the difference between the warm-start solution and the target solution. Similarly, an algorithm error 525 is calculated based on the difference between the final solution and the target solution. The algorithm error 525 quantifies the quality of the warm-start solution, which is predicted by the machine learning model 510 and used as the starting solution for the nonlinear iterative algorithm 520. Any suitable loss function can be used to calculate each of the model error 515 and the algorithm error 525. For example, the loss function could utilize mean squared error (MSE), root mean square error (RMSE), mean absolute error (MAE), etc.

[0085] Model error 515 and algorithm error 525 can be combined to produce a composite training loss used to update the parameters (e.g., weights) of machine learning model 510 via backpropagation. Specifically, after each execution of the ensemble model 500 on one of the plurality of records in the training dataset, machine learning model 510 can be iteratively updated in the training loop to minimize the composite training loss. Model error 515 and algorithm error 525 can be combined according to the weight w1 of model error 515 and the weight w2 of algorithm error 525, where w1 + w2 = 1. Specifically, each weight can represent the contribution of the corresponding error to the composite training loss. Therefore, model error 515 can be multiplied by weight w1, algorithm error 525 can be multiplied by weight w2, and these products can be summed to produce the composite training loss. At one extreme, the weights... This will train machine learning model 510 to predict more accurate single-step solutions. At the other extreme, weights... The machine learning model 510 will be trained to predict more accurate warm-shot solutions. Weights A precise balance will be achieved between these two extremes. The weights w1 and w2 can be predefined, or they can be heuristically updated based on the performance of the machine learning model 510 during training to define the training priority of the machine learning model 510. For example, users can adjust these weights as needed to customize the training priority of the machine learning model 510.

[0086] The following Algorithm 1 represents pseudocode for training the machine learning model 510 according to the first embodiment:

[0087] The following Algorithm 2 represents pseudocode for evaluating the performance of the ensemble model 500 according to the first embodiment (e.g., after training according to Algorithm 1):

[0088] Figure 5B The illustration shows the training of the ensemble model 500 according to the second embodiment. In some cases, it may be difficult to backpropagate the error from the loss function using the nonlinear iterative algorithm 520 (as in the first embodiment of training). For example, the nonlinear iterative algorithm 520 may be inherently complex and nondifferentiable, making backpropagation using gradient-based methods difficult. Furthermore, in existing deployments of the ensemble model 500, it may be difficult to modify the nonlinear iterative algorithm 520 to suit the needs of the first embodiment of training. In particular, it may be difficult to determine which loss function to optimize, and the loss function may not be modelable by a differentiable function that can be directly inserted into the training loop. Therefore, the second embodiment utilizes reinforcement learning (RL).

[0089] In this second embodiment, the machine learning model 510 can be trained as an RL agent to take optimal actions that enable the nonlinear iterative algorithm 520 to quickly converge to the final solution. In this case, these actions are warm-start solutions. The nonlinear iterative algorithm 520 is considered as a stochastic game environment, and its goal is to converge to the final solution using the fewest or a fixed number of iterations. The role of the machine learning model 510 as an RL agent is to provide the nonlinear iterative algorithm 520, which is the stochastic game environment, with starting solutions (i.e., warm-start solutions) that enable the stochastic game environment to achieve its goal.

[0090] It should be understood that the training dataset used in the second embodiment may be the same as the training dataset described with respect to the first embodiment. Furthermore, as in the first embodiment, each of the plurality of records in the training dataset is input into the machine learning model 510 to generate a warm-start solution, which is then input into the nonlinear iterative algorithm 520. The nonlinear iterative algorithm 520 then iterates until the solution converges or the computational budget is reached.

[0091] In each loop of the training process, a reward is calculated based on the difference between the final solution and the target solution in the record processed in that loop. The reward can be calculated according to any suitable reward function. For example, the reward function could be the negation of the loss function in the first embodiment. Alternatively, the reward can be based on the total number of iterations required for convergence (e.g., where the reward is higher for fewer iterations and lower for more iterations). In this case, the nonlinear iterative algorithm 520 should not be constrained to a fixed number of iterations. In any case, the parameters (e.g., weights) of the machine learning model 510 can be updated based on the reward (e.g., its goal is to produce a higher reward in the next loop of the training process). The next record with the next set of input features is then fed into the ensemble model 500 for another loop of the training process until all records have been processed.

[0092] In an embodiment, the reinforcement learning in the second embodiment may include a proximal policy optimization (PPO) algorithm. The PPO algorithm is a model-free RL technique. The policy (π) in the PPO algorithm is a function of the probability distribution of actions to be taken, mapped from the input features of the RL agent (i.e., the input features in the records input to the machine learning model 510) to the hot-start solution output by the machine learning model 510. The fundamental goal of the PPO algorithm is to improve the training stability of the policy by limiting the changes made to the policy during each training epoch. An example of the PPO algorithm is described by J. Schulman et al. in “Proximal Policy Optimization Algorithms” (arXiv: 1707.06347v2, 2017), which is hereby incorporated herein by reference in its entirety.

[0093] Figure 6 An example PPO algorithm 600 according to an embodiment is illustrated. The PPO algorithm 600 includes an actor network 610 (also called a policy network) and an evaluator network 620 (also called a value network). The policy-based actor network 610 controls the actions taken by the machine learning model 510 (i.e., the output hot-start solution). The value-based evaluator network 620 measures the quality of the actions taken.

[0094] Use the pruning loss function ( To update the executor network 610. Pruning loss function ( This can be mathematically described as:

[0095] Where 'a' represents the action (i.e., the hot start solution). It is the advantage of action (a) This indicates the degree to which the new strategy can change from the old strategy (e.g., typically 0.1 or 0.2), and Will Crop to between and Between. A generalized advantage estimation method can be used to estimate the advantage (between). The advantage estimation method calculates the discounted sum of time difference errors, as described by J. Schulman et al. in “High-dimensional continuous control using generalized advantage estimation” (arXiv:1506.02438v6, 2015), which is hereby incorporated in its entirety by reference.

[0096] Using the value loss function ( To update the evaluator network 620. Value loss function ( This can be mathematically described as:

[0097] in, It is the value head of the executor network 610, and It is the objective of the value function.

[0098] Entropy loss ( Add to the clipping loss function ( The output of ) is used to encourage exploration in the actor network 610. Entropy loss ( This can be mathematically described as:

[0099] Where C is the total number of consecutive actions output by the executor network 610. e is Euler's constant, and It is the standard deviation of action i. Reduce this negative entropy loss ( This increases the uncertainty of action (a), thereby encouraging exploration by the actor network 610.

[0100] The following Algorithm 3 represents pseudocode for training the machine learning model 510 using the PPO algorithm 600 according to the second embodiment.

[0101]

[0102]

[0103]

[0104] It should be understood that the PPO algorithm 600 is merely one example of reinforcement learning. The second embodiment may alternatively utilize other reinforcement learning methods, including other policy gradient methods. Examples of other RL methods include, but are not limited to: Trust Region Policy Optimization (TRPO), as described by J. Schulman et al. in "Trust Region Policy Optimization" (arXiv: 1502.05477v5, 2017), which is hereby incorporated in its entirety; Actor-Evaluator with Experience Replay (ACER), as described by Z. Wang et al. in "Sampling Efficient Actor-Evaluator with Experience Replay" (arXiv: 1611.01224v2, 2017), which is hereby incorporated in its entirety; Staged Policy Gradient (PPG), as described by K. Cobbe et al. in "Staged Policy Gradient" (arXiv: 2009.04416v1, 2020), which is hereby incorporated in its entirety, etc.

[0105] Figure 7The illustration depicts a training process 700 of training an ensemble model 500 during the training phase and an operation process 800 of utilizing the ensemble model 500 during the operation phase, according to an embodiment. The training process 700 and / or the operation process 800 may be implemented by software 112. While each process is illustrated with a certain arrangement and order of subprocesses, processes 700 and / or 800 may be implemented with fewer, more, or different subprocesses, and with different arrangements and / or orders of subprocesses. Furthermore, it should be understood that any subprocess that does not depend on the completion of another subprocess may be executed before, after, and / or in parallel with another independent subprocess, even if these subprocesses are described or illustrated in a particular order.

[0106] In subprocess 710, a training dataset is obtained. An embodiment of the training dataset has been described elsewhere herein and will therefore be described again only in general terms. The training dataset may include multiple records. Each of the multiple records may include one or more features labeled with the target solution. In particular, each of the multiple records may include a node tensor comprising one or more features for each of the multiple nodes in the graph. Additionally, for each of the multiple records, an adjacency matrix may be generated. The adjacency matrix represents multiple edges between the multiple nodes in the node tensor. In an embodiment, to account for emergency situations, any edge in an emergency state (e.g., a failure state) is not represented in the adjacency matrix. In the context of a power system, the graph represents the power system, each of the multiple nodes represents a bus in the power system, and each of the multiple edges represents an electrical connection between a pair of buses. The one or more features may include node active power demand, node reactive power demand, node type, voltage magnitude setpoint, voltage angle setpoint, and / or others.

[0107] In subprocesses 720-750, machine learning model 510 is trained to provide a hot-start solution for nonlinear iterative algorithm 520. Specifically, for each of the plurality of records in the training dataset, iterations of subprocesses 730-750 are performed within one or more (and typically more) training epochs, each iteration representing one cycle of the training loop. Algorithms 1 and 3 represent alternative embodiments of this training loop. When another record is pending (i.e., "yes" in subprocess 720), another iteration of the training loop is performed. Otherwise, when no more records are pending (i.e., "no" in subprocess 720), training process 700 terminates the training loop and continues to subprocess 760.

[0108] In subprocess 730, the machine learning model 510 of the ensemble model 500 is applied to the one or more features in the records to produce a first solution. This first solution represents the hot-start solution of the nonlinear iterative algorithm 520 of the ensemble model 500. The machine learning model 510 may include an artificial neural network, such as a graph neural network. In a preferred embodiment, the graph neural network is a message-passing neural network. In embodiments where the machine learning model 510 includes a graph neural network, the adjacency matrix of the records may be provided to the graph neural network along with the one or more features.

[0109] In subprocess 740, the first solution (i.e., the hot-start solution) is used as the starting solution to execute the nonlinear iterative algorithm 520 of the integrated model 500 to produce a second solution representing the final solution. As discussed elsewhere, the nonlinear iterative algorithm 520 may include the NR algorithm 400, another iterative root-finding algorithm, etc. This second solution represents the state of the target system 140. In the context of a power system, both the first and second solutions represent the state of the power system. In the more specific context of power flow analysis, both the first and second solutions may include the voltage magnitude and voltage angle (e.g., represented as sine and cosine values ​​of the voltage angle) of each of the plurality of nodes recorded.

[0110] In an embodiment of subprocess 740, the number of iterations of the nonlinear iterative algorithm 520 can be constrained during training process 700. Specifically, the number of iterations can be constrained to be less than or equal to a percentage of the average number of iterations required for the nonlinear iterative algorithm 520 to converge. In a fixed case, the number of iterations can be fixed as a percentage of the average number of iterations required for the nonlinear iterative algorithm 520 to converge. For example, in either case, the percentage could be 50%, in which case the number of iterations is constrained or fixed to half the average number of iterations. As an example, an IEEE 118 bus system comprising 19 generators, 35 synchronous condensers, 177 power lines, 9 transformers, and 91 loads requires an average of four iterations of the NR algorithm 400 to converge. In this case, the number of iterations of the NR algorithm 400 can be constrained to two iterations. Empirically, when a flat-start solution is used for the NR algorithm 400, the error in the final solution decreases significantly in the first two iterations, and the latter two iterations produce a smaller reduction in error. Therefore, if the flat-start solution is replaced with a hot-start solution from the machine learning model 510, there is room to increase the computational speed of the NR algorithm 400. In this embodiment, the goal of the machine learning model 510 is to predict a hot-start solution that enables the nonlinear iterative algorithm 400 to converge to a reasonable final solution faster than the average speed (i.e., within a fixed or otherwise constrained number of iterations).

[0111] In an alternative or additional embodiment of subprocess 740 of another nonlinear iterative algorithm 520 that repeatedly inverts the Jacobian matrix using the NR algorithm 400, the inverse Jacobian matrix may be computed once (e.g., in the first iteration of subprocess 440) and fixed to that computed value in each subsequent iteration (e.g., retrieved from memory in each subsequent iteration of subprocess 440). Specifically, the inverse Jacobian matrix may be computed in the first iteration of the nonlinear iterative algorithm 520 and stored in memory for retrieval in each subsequent iteration of the nonlinear iterative algorithm 520. Computing the inverse Jacobian matrix is ​​computationally expensive, especially for sparse networks. Therefore, by computed the inverse Jacobian matrix only once and then fixed it thereafter, the total computational cost (e.g., computation time) of the nonlinear iterative algorithm 520 can be significantly reduced. Furthermore, empirically, the inverse Jacobian matrix does not change much after the first iteration, and therefore the accuracy of the nonlinear iterative algorithm 520 is not significantly affected.

[0112] In subprocess 750, the machine learning model 510 is updated based on the difference from the recorded target solution. Again, the machine learning model 510 can be an artificial neural network, such as a graph neural network (e.g., a message-passing neural network). The difference from the recorded target solution can be the difference between a first solution (i.e., the warm-start solution) and the recorded target solution, and / or the difference between a second solution (i.e., the final solution) and the recorded target solution. In an embodiment, this difference is a composite training loss derived from a weighted combination of a first loss function and a second loss function, the first loss function being based on the difference between the first solution and the target solution, and the second loss function being based on the difference between the second solution and the target solution. In an alternative embodiment, reinforcement learning is used to update the machine learning model 510, where the reward is based on the difference between the first solution and the target solution and / or the difference between the second solution and the target solution. Specifically, the reward can be calculated based on a loss function that calculates the loss based on the difference between the first solution and the target solution and / or the difference between the second solution and the target solution. Reinforcement learning can utilize the PPO algorithm 600 or any other suitable RL method.

[0113] In subprocess 760, the ensemble model 500, which has been trained through the training loops formed by subprocesses 720-750, is evaluated. Algorithm 2 illustrates one embodiment of subprocess 760. Subprocess 760 may utilize a test dataset, which may include a portion of the training dataset obtained in subprocess 710 that was not utilized in the training loops formed by subprocesses 720-750. The output of subprocess 760 may be a measure of the accuracy, efficiency, etc., of the ensemble model 760. Any suitable evaluation metrics may be used.

[0114] In subprocess 770, it is determined whether the ensemble model 500 is sufficient. For example, each evaluation metric of the ensemble model 500 can be compared with a predefined threshold. When the evaluation metric meets (e.g., equal to or greater than) the predefined threshold, the ensemble model 500 can be determined to be sufficient. On the other hand, when the evaluation metric does not meet (e.g., less than) the predefined threshold, the ensemble model 500 can be determined to be insufficient. When it is determined that the ensemble model 500 is sufficient (i.e., "yes" in subprocess 770), the training process 700 can continue to subprocess 780. Otherwise, when it is determined that the ensemble model 500 is insufficient (i.e., "no" in subprocess 770), the training process 700 can return to subprocess 710 to retrain the machine learning model 510, for example, using a new training dataset.

[0115] In subprocess 780, integration model 500 can be deployed. For example, integration model 500 can be deployed from a training or development environment to an operational or production environment. As an example, integration model 500 can be deployed with an application programming interface (API) accessible to other services on management system 110 (such as analysis and control module 330) (e.g., in a microservices architecture). Alternatively, integration model 500 can be integrated into analysis and control module 330 or stored in database 114 (e.g., as system model 350 or associated with that system model).

[0116] Once deployed, the ensemble model 500 can be utilized in the operation process 800. It should be understood that the deployed ensemble model 500 is the same as the ensemble model 500 trained during the training process 700. However, during the operation phase, the ensemble model 500 will no longer backpropagate errors (e.g., model error 515 and / or algorithm error 525) or utilize reinforcement learning to train the machine learning model 510.

[0117] In subprocess 810, it is determined whether new data has been received. For example, new data may be received from system telemetry data from monitoring module 310 of target system 140. This data may be received continuously (e.g., in real time), periodically, in response to events (e.g., user action or other triggers), and / or otherwise. When new data is received (i.e., "yes" in subprocess 810), operation process 800 continues to subprocess 820. Otherwise, when no new data is received (i.e., "no" in subprocess 810), operation process 800 continues to subprocess 850.

[0118] In subprocess 820, one or more (and typically more) features are extracted from the data. It should be understood that these features are the same as those included for each of the multiple nodes in the multiple records in the training dataset obtained in subprocess 710.

[0119] In subprocess 830, the features(s) extracted in subprocess 820 are input into an ensemble model 500, as deployed in subprocess 780 of training process 700. Specifically, a trained machine learning model 510 of the ensemble model 500 (e.g., an artificial neural network, such as a graph neural network (e.g., a message-passing neural network)) processes the features(s) to produce a first solution (i.e., a warm-start solution), which is then provided to a nonlinear iterative algorithm 520 of the ensemble model 500, which outputs a second solution (i.e., a final solution). In the context of power flow analysis, both the first and second solutions can include the voltage magnitude and voltage angle for each of the plurality of nodes in the graph of the power system.

[0120] In subprocess 840, the output of the integrated model 500 may be provided to one or more downstream functions. A downstream function is any function that can use the final solution from the integrated model 500 to apply to the target system 140. For example, the analysis and control module 330 may use the final solution to generate one or more control signals, which are transmitted to the control module 320 to control one or more components of the target system 140, such as adjusting the operational configuration of the target system 140.

[0121] In the context of power flow analysis, the analysis and control module 330 can determine the power flow in the power lines (i.e., the edges of the graph) of the power system based on the voltage magnitude and voltage angle of the multiple buses (i.e., the nodes of the graph). The analysis and control module 330 can then adjust the configuration of the power system based on the determined power flow. Adjusting the power system configuration may include: controlling the amount of electricity injected into the power system by at least one generator (e.g., at a bus); adjusting the amount of electricity supplied to the loads in the power system; adjusting the voltage setpoint in the power system (e.g., on a voltage control device) (e.g., to perform voltage regulation, reactive power compensation, etc.); adjusting the loads in the power system (e.g., load shedding); rescheduling generation to reduce network congestion; modifying the network topology and / or other actions.

[0122] In sub-procedure 850, it is determined whether the integrated model 500 will be de-deployed. For example, de-deployment can be performed via human-machine interface 340 in response to a user operation. When it is determined that the integrated model 500 will be de-deployed (i.e., "yes" in sub-procedure 850), operation procedure 800 can end. Otherwise, when it is determined that the integrated model 500 will not be de-deployed (i.e., "no" in sub-procedure 850), operation procedure 800 can return to sub-procedure 810.

[0123] 9. Example Application As discussed throughout this disclosure, the disclosed embodiments can be applied to a target system 140 including or composed of power systems. In this context, the integrated model 500 can be used to perform power flow analysis on inputs representing generation and load (e.g., the described input characteristics) and network topology (e.g., as an adjacency matrix) to produce a steady-state power flow, which includes voltage magnitudes and angles (e.g., a final solution, including the described output characteristics). This steady-state power flow can then be used as input to any downstream function that typically uses power flow. The fact that machine learning model 510 is used to generate a hot-start solution for the nonlinear iterative algorithm 520 does not alter the applicability of the final solution to any downstream function using the results of power flow analysis. The only difference is the reduced computation time required to determine the final solution and the improved stability of the determined final solution.

[0124] It should be understood that the disclosed embodiments can be generalized to perform other system planning and system operation tasks, including but not limited to nonlinear optimal power flow (e.g., security-constrained optimal power flow), DER management, situational awareness of the network, emergency incident analysis or security analysis, Volt-Var optimization, load capacity analysis, and / or others. Even more generally, the disclosed embodiments can be used to provide warm-start solutions for any iterative algorithm that will benefit from a good start solution or other start conditions.

[0125] As an example, the final solution (e.g., including voltage magnitude and angle) output by the power flow analysis performed by the integrated model 500 can be used in downstream functions to calculate the power flow on power lines within the power system network. Based on the calculated power flow on the power lines, it can be determined whether any of the power lines is overloaded (e.g., exceeding its rated limit). This information is beneficial for managing network congestion because operators can reschedule generation in the network to alleviate congestion. For example, if a power line is overloaded (e.g., the power flow exceeds a predefined threshold), the analysis and control module 330 (e.g., automatically or in response to operator input) can activate or increase the power supplied by one or more generators in another part of the network to alleviate congestion on the overloaded power line.

[0126] As another example, the final solution of the integrated model 500 can be used to determine whether a network is safe for different emergency scenarios. In this context, a network can be considered unsafe if the failure of a component would cause substantial network congestion or cause the network voltage to shift beyond defined limits. Therefore, one or more emergency scenarios can be supplied to the integrated model 500 (e.g., by switching various nodes to emergency states) to determine the impact on network congestion or network voltage when one or more components fail. This can assist operators in system planning and / or system operation.

[0127] As another example, the final solution of the integrated model 500 can be used to manage reactive power compensation. Specifically, the final solution can be used to determine how much reactive power compensation must be applied to the load bus to improve the voltage profile at that load bus. Based on the determined reactive power compensation, the analysis and control module 330 can control (e.g., automatically or in response to operator input) the reactive power compensation devices on the network within the power system via the control module 320 to adjust the voltage profile at the load bus.

[0128] As another example, the final solution of the integrated model 500 can be used in system planning. For instance, when new equipment (such as power lines or transformers) needs to be installed, each of the old and new network topologies (e.g., as an adjacency matrix) can be provided to the integrated model 500 to determine the power flow in each topology. The differences in power flow between the old and new topologies can then be compared to understand the impact of the new equipment on the power system network. This understanding can inform system planning and investment decisions, as well as measures and / or others to reduce power losses in the network.

[0129] 10. Experimental results The implementations of Algorithms 1 and 2 were tested in the context of power flow analysis of an IEEE 118 bus system. In this experiment, machine learning model 510 was a message-passing neural network with six hidden layers, thirty-two hidden layer dimensions, and forty thousand trainable parameters. Additionally, nonlinear iterative algorithm 520 was an implementation of NR algorithm 400, where the number of iterations was constrained to two when the inverse Jacobian matrix was not fixed, and to five when the inverse Jacobian matrix was fixed. The training dataset contained 12,000 records, and the test dataset contained 5,000 records. Test cases were executed with weights (w1, w2) for the loss function equal to (0, 1) and (0.5, 0.5). The following table illustrates the results for the four test cases:

[0130] It is worth noting that test cases 2 and 4 (i.e., The best results among the four test cases were demonstrated. Overall, the hot-start solution determined by MPNN proved beneficial for obtaining accurate power flow solutions in just two iterations, compared to the traditional flat-start solution. The advantage of fixing the inverse Jacobian matrix is ​​that it can increase the number of iterations without a significant increase in the overall computation time of the ensemble model 500, compared to the implementation with a non-fixed inverse Jacobian matrix.

[0131] To quantify the improvement in computational speed, the warm-start solutions in test cases 2 and 4 were tested on the flat-start solution of the NR algorithm 400, where the maximum number of iterations for the NR algorithm 400 was set to one hundred. The following table shows the obtained computation time:

[0132]

[0133] It is worth noting that, compared to the flat-start solution, the warm-start solutions in both test cases 2 and 4 achieved a significant reduction in computation time. Furthermore, compared to the non-fixed inverse Jacobian matrix in test case 2, the use of a fixed inverse Jacobian matrix in test case 4 resulted in a significant reduction in computation time.

[0134] 11. Example Implementation Implementations of the integrated system 500 offer numerous advantages over current technology. One objective achievable through the disclosed embodiments is to maintain a model that is interpretable and reliable for system operators, while still gaining the benefits of machine learning, which is often uninterpretable or unreliable. Another objective achievable through the disclosed embodiments is to enhance, rather than replace, well-known and well-tested nonlinear iterative algorithms. Yet another objective achievable through the disclosed embodiments is to reduce the computation time required for nonlinear iterative algorithms to converge, while maintaining or improving the accuracy of the final solution. Another objective achievable through the disclosed embodiments is to reduce training frequency by providing a robust model that does not require retraining for every change in network topology or operating conditions. A further objective achievable through the disclosed embodiments is to apply the integrated model 500 to power flow analysis in power systems.

[0135] To state one or more of these objectives, example embodiments include, but are not limited to: Example 1: A method comprising using at least one hardware processor to: acquire a training dataset comprising a plurality of records, wherein each of the plurality of records includes one or more features labeled with a target solution; and train an artificial neural network for each of the plurality of records to provide a hot-start solution for a nonlinear iterative algorithm by: applying the artificial neural network to the one or more features in the record to produce a first solution; using the first solution as the starting solution to execute the nonlinear iterative algorithm to produce a second solution; and updating the artificial neural network based on the difference between the second solution and the target solution in the record. This embodiment produces an interpretable, reliable, and robust model that reduces computation time while maintaining accuracy.

[0136] Example 2: The method according to Example 1, wherein the artificial neural network is a graph neural network. This embodiment is well-suited for a target system 140 that includes a network or can otherwise be represented as a graph.

[0137] Example 3: The method described in Example 2, wherein the graph neural network is a message-passing neural network. This example is well-suited for power systems.

[0138] Example 4: The method according to any of the foregoing embodiments, wherein each of the plurality of records includes a node tensor, the node tensor including one or more features for each of the plurality of nodes in the graph. This embodiment facilitates training.

[0139] Example 5: According to the method of Example 4, training the artificial neural network further includes performing the following operations for each of the plurality of records: generating an adjacency matrix representing a plurality of edges between the plurality of nodes, wherein any edge in an emergency state is not represented in the adjacency matrix; and providing the adjacency matrix to the graph neural network. This embodiment is well suited for a target system 140 that includes a network or can otherwise be represented as a graph.

[0140] Example 6: Following the method described in Example 4 or 5, where the first solution represents the hot-start solution of the nonlinear iterative algorithm, the second solution represents the state of the power system, and the graph represents the power system. This example applies the integrated model 500 to the power system.

[0141] Example 7: According to the method described in Example 6, the one or more features include one or more of node active power demand, node reactive power demand, node type, voltage amplitude setpoint, or voltage angle setpoint, and wherein each of the first solution and the second solution includes voltage amplitude and voltage angle for each of the plurality of nodes. This example applies the integrated model 500 to a power system.

[0142] Example 8: The method according to Example 7 further includes using the at least one hardware processor to perform the following operations: deploying a graph neural network to output a first solution, the first solution including voltage magnitude and voltage angle for each of the plurality of nodes; deploying a nonlinear iterative algorithm to use the first solution as a starting solution to generate a second solution, the second solution including voltage magnitude and voltage angle for each of the plurality of nodes; determining the power flow in the power lines within the power system based on the voltage magnitude and voltage angle of the plurality of nodes; and adjusting the configuration of the power system based on the determined power flow. This example applies the integrated model 500 to the power system.

[0143] Example 9: According to the method described in Example 8, the adjustment configuration includes one or more of the following: controlling the amount of electricity injected into the power system by at least one generator, adjusting the amount of electricity supplied to the loads in the power system, or adjusting the voltage setpoint in the power system. This example applies the integrated model 500 to the power system.

[0144] Example 10: The method according to any of the foregoing embodiments, wherein the nonlinear iterative algorithm is the Newton-Raphson algorithm. This embodiment combines a well-known and well-tested nonlinear iterative algorithm to improve the confidence level of the final solution.

[0145] Example 11: The method described in Example 10, wherein the inverse of the Jacobian matrix in the Newton-Raphson algorithm is fixed after the first iteration of the Newton-Raphson algorithm. This example reduces computation time.

[0146] Example 12: The method according to any of the foregoing embodiments, wherein the artificial neural network is updated based on the difference between the second solution and the target solution, and the difference between the first solution and the target solution. This embodiment achieves prioritization and flexibility in how the machine learning model 510 is trained.

[0147] Example 13: According to the method described in Example 12, the artificial neural network is updated based on a weighted combination of a first loss function and a second loss function, wherein the first loss function is based on the difference between a first solution and a target solution, and the second loss function is based on the difference between a second solution and a target solution. This example achieves prioritization and flexibility in how the machine learning model 510 is trained.

[0148] Example 14: The method according to any of the foregoing embodiments, wherein reinforcement learning is used to update the artificial neural network, and the reward is based on the difference between the second solution and the target solution. This embodiment implements the training of the machine learning model 510 when backpropagation is not feasible.

[0149] Example 15: Following the method described in Example 14, a reward is calculated based on a loss function that calculates a loss based on the difference between the second solution and the target solution. This example enables the training of the machine learning model 510 when backpropagation is not feasible.

[0150] Example 16: The method described in Example 14 or 15, wherein reinforcement learning utilizes a proximal policy optimization algorithm. This example enables the training of machine learning model 510 when backpropagation is not feasible.

[0151] Example 17: The method according to any of the foregoing embodiments further includes: constraining the number of iterations of the nonlinear iterative algorithm. This embodiment enables the training of the machine learning model 510 to generate a warm-start solution, which reduces the number of iterations required by the nonlinear iterative algorithm, thereby reducing the overall computation time.

[0152] Example 18: According to the method described in Example 17, the number of iterations is constrained to be less than or equal to a percentage of the average number of iterations required for the nonlinear iterative algorithm to converge. This example implements training of the machine learning model 510 to generate a warm-start solution, which reduces the number of iterations required by the nonlinear iterative algorithm, thereby reducing the overall computation time.

[0153] Example 19: A system comprising: at least one hardware processor; and software configured to perform the method according to any one of Examples 1 to 18 when executed by said at least one hardware processor.

[0154] Example 20: A non-transitory computer-readable medium having instructions stored thereon, wherein, when executed by a processor, the processor causes the processor to perform the method according to any one of Examples 1 to 18.

[0155] The above description of the disclosed embodiments has been provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will readily become apparent to those skilled in the art, and the general principles described herein can be applied to other embodiments without departing from the spirit or scope of the invention. Therefore, it will be understood that the description and drawings presented herein represent presently preferred embodiments of the invention and thus represent the broad subject matter contemplated by the invention. It should be further understood that the scope of the invention fully encompasses other embodiments that will become apparent to those skilled in the art, and the scope of the invention is accordingly not limited.

[0156] As used herein, the terms “comprising,” “including,” and “comprises” are open-ended. For example, “A comprises B” means that A may include any of the following: (i) B alone; or (ii) B combined with one or more, and potentially any number of, other components. In contrast, the terms “consisting of,” “consist of,” and “consists of” are closed-ended. For example, “A consists of B” means that A includes only B, without any other components in the same context.

[0157] The combinations described herein (such as "at least one of A, B, or C", "one or more of A, B, or C", "at least one of A, B, and C", "one or more of A, B, and C", and "A, B, C, or any combination thereof") include any combination of A, B, and / or C, and may include multiple A, multiple B, or multiple C. Specifically, combinations such as "at least one of A, B, or C", "one or more of A, B, or C", "at least one of A, B, and C", "one or more of A, B, and C", and "A, B, C, or any combination thereof" may be only A, only B, only C, A and B, A and C, B and C, or A and B and C, and any such combination may include one or more members of its constituent parts A, B, and / or C. For example, a combination of A and B may include one A and multiple B, multiple A and one B, or multiple A and multiple B.

Claims

1. A method comprising using at least one hardware processor to perform the following operations: Obtain a training dataset that includes multiple records, where, Each of the plurality of records includes one or more features labeled with the target solution; as well as The artificial neural network is trained by performing the following operations on each of the plurality of records to provide a hot-start solution for a nonlinear iterative algorithm: The artificial neural network is applied to one or more features in the record to generate a first solution. The first solution is used as the starting solution to execute the nonlinear iterative algorithm to produce the second solution. The artificial neural network is updated based on the difference between the second solution and the target solution in the record, and Constrain the number of iterations of the nonlinear iterative algorithm.

2. The method according to claim 1, wherein, The artificial neural network is a graph neural network.

3. The method according to claim 2, wherein, The graph neural network is a message-passing neural network.

4. The method according to claim 2, wherein, Each of the plurality of records includes a node tensor, the node tensor including one or more features for each of the plurality of nodes in the graph.

5. The method according to claim 4, wherein, Training the artificial neural network further includes performing the following operations for each of the plurality of records: Generate an adjacency matrix representing multiple edges between the plurality of nodes, wherein any edge in an emergency state is not represented in the adjacency matrix; and The adjacency matrix is ​​provided to the graph neural network.

6. The method according to claim 4, wherein, The first solution represents the hot-start solution of the nonlinear iterative algorithm, wherein the second solution represents the state of the power system, and wherein the graph represents the power system.

7. The method according to claim 6, wherein, The one or more features include one or more of node active power demand, node reactive power demand, node type, voltage amplitude setpoint, or voltage angle setpoint, and wherein each of the first solution and the second solution includes voltage amplitude and voltage angle for each of the plurality of nodes.

8. The method of claim 7, further comprising using the at least one hardware processor to perform the following operations: The graph neural network is deployed to output the first solution, which includes the voltage magnitude and voltage angle for each of the plurality of nodes; The nonlinear iterative algorithm is deployed to generate the second solution using the first solution as the starting solution, the second solution including the voltage magnitude and voltage angle for each of the plurality of nodes; The power flow in the power lines within the power system is determined based on the voltage amplitude and voltage angle of the multiple nodes. as well as The power system configuration is adjusted based on the determined power flow.

9. The method according to claim 8, wherein, Adjusting the configuration includes one or more of the following: controlling the amount of electricity injected into the power system by at least one generator, adjusting the amount of electricity supplied to the loads in the power system, or adjusting the voltage setpoint in the power system.

10. The method according to claim 1, wherein, The nonlinear iterative algorithm is the Newton-Raphson algorithm.

11. The method according to claim 10, wherein, The inverse of the Jacobian matrix in the Newton-Raphson algorithm is fixed after the first iteration of the Newton-Raphson algorithm.

12. The method according to claim 1, wherein, The artificial neural network is updated based on the difference between the second solution and the target solution, as well as the difference between the first solution and the target solution.

13. The method according to claim 12, wherein, The artificial neural network is updated based on a weighted combination of a first loss function and a second loss function, wherein the first loss function is based on the difference between the first solution and the target solution, and the second loss function is based on the difference between the second solution and the target solution.

14. The method according to claim 1, wherein, The artificial neural network is updated using reinforcement learning, where the reward is based on the difference between the second solution and the target solution.

15. The method according to claim 14, wherein, The reward is calculated based on a loss function, which calculates the loss based on the difference between the second solution and the target solution.

16. The method of claim 14, wherein, The reinforcement learning method utilizes a proximal policy optimization algorithm.

17. The method according to claim 1, wherein, The number of iterations is constrained to be less than or equal to a percentage of the average number of iterations required for the nonlinear iterative algorithm to converge.

18. A system comprising: At least one hardware processor; as well as The software is configured to perform the following operations when executed by the at least one hardware processor: Obtain a training dataset comprising multiple records, wherein each of the multiple records includes one or more features labeled with the target solution, and The artificial neural network is trained by performing the following operations on each of the plurality of records to provide a hot-start solution for a nonlinear iterative algorithm: The artificial neural network is applied to one or more features in the record to generate a first solution. Using the first solution as the starting solution, the nonlinear iterative algorithm is executed to generate the second solution. The artificial neural network is updated based on the difference between the second solution and the target solution in the record, and Constrain the number of iterations of the nonlinear iterative algorithm.

19. A non-transitory computer-readable medium having instructions stored thereon, wherein, The instruction, when executed by the processor, causes the processor to: Obtain a training dataset comprising multiple records, wherein each of the multiple records includes one or more features labeled with the target solution; and The artificial neural network is trained by performing the following operations on each of the plurality of records to provide a hot-start solution for a nonlinear iterative algorithm: The artificial neural network is applied to one or more features in the record to generate a first solution. Using the first solution as the starting solution, the nonlinear iterative algorithm is executed to generate the second solution. The artificial neural network is updated based on the difference between the second solution and the target solution in the record, and Constrain the number of iterations of the nonlinear iterative algorithm.