Dynamic capacity allocation of battery energy storage systems for ancillary services

CN122663597APending Publication Date: 2026-08-28HITACHI ENERGY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202580011100.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-04-03
Filing Date
2025-01-21
Publication Date
2026-08-28

AI Technical Summary

Technical Problem

这种解决方案既不能确保BESS容量的最优利用,也无法提高买单被接受的概率

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122663597A_ABST
    Figure CN122663597A_ABST
Patent Text Reader

Abstract

In supporting ancillary services for a target power system, existing solutions consider a fixed capacity of a battery energy storage system. In contrast, the disclosed embodiments utilize a prediction of an ancillary event, in combination with an optimization model, to produce an optimal determination of the ancillary service. In particular, a required capacity can be calculated from the prediction of the ancillary event, and a capacity constraint can be generated from the required capacity and incorporated into the optimization model. The optimization model can then be solved to produce the optimal determination of the ancillary service.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments described herein generally relate to battery energy storage systems, and more specifically to dynamically allocating the capacity of battery energy storage systems for ancillary services. Background Technology

[0002] In power systems, transmission and distribution networks require ancillary services to maintain stability and power quality. To secure support for these ancillary services, operators of such networks typically prefer to purchase capacity from existing distributed energy resources, such as battery energy storage systems (BESS), through ancillary service markets. Owners of BESS participate in these markets to generate revenue and support grid stability. The goal of each participating owner in a BESS is to place the optimal bid for selling ancillary services in the market to maximize revenue.

[0003] Traditionally, the prediction of ancillary events has not been considered when determining the optimal bid. Instead, existing solutions consider the fixed capacity of the battery energy storage system, where the capacity increases with the market price. This solution neither ensures optimal utilization of BESS capacity nor increases the probability of bid acceptance. Therefore, this disclosure relates to overcoming this and other problems discovered by the inventors. Summary of the Invention

[0004] Therefore, a system, method, and nontransitory computer-readable medium for dynamically allocating the capacity of a battery energy storage system for ancillary services are disclosed.

[0005] In one embodiment, a method includes using at least one hardware processor to perform the following operations: for each of one or more future time intervals, receiving predictions of one or more auxiliary events within a target system within that future time interval; calculating a required capacity of a battery energy storage system based on the predictions of the one or more auxiliary events; generating a capacity constraint based on the required capacity of the battery energy storage system; incorporating the capacity constraint into an optimization model that models the bidding determination of energy for the battery energy storage system; and calculating a solution to the optimization model within that future time interval. The one or more future time intervals may be multiple future time intervals.

[0006] The method may further include using at least one hardware processor to generate the prediction for the one or more auxiliary events. Generating the prediction for the one or more auxiliary events may include applying a prediction model to one or more input features to predict the occurrence of the one or more auxiliary events within the future time interval. The one or more input features may include one or more weather parameters of the geographic location of the target system for the predicted future time interval. The one or more input features may include the load of the target system for the predicted future time interval. The one or more input features may include an indication of the historical frequency of the one or more auxiliary events in the target system.

[0007] The predictive model may include a machine learning algorithm. This machine learning algorithm may be a deep neural network.

[0008] The prediction output by the predictive model may include the estimated number of one or more auxiliary events to occur within the future time interval. The required capacity of the battery energy storage system can be calculated based on the estimated number of one or more auxiliary events to occur within the future time interval. The required capacity of the battery energy storage system can be further calculated based on the maximum capacity of the battery energy storage system and the charging or discharging efficiency of the battery energy storage system. In the solution of the optimization model, the capacity constraint may limit one or both of the amount of energy that can be released from the battery energy storage system or the amount of energy that can be used to charge the battery energy storage system to the required capacity.

[0009] The one or more auxiliary events may include one or both of a frequency rise event or a frequency fall event, in which the electrical frequency in the power system exceeds the nominal frequency by at least a predefined amount, and in which the electrical frequency in the power system falls below the nominal frequency by at least the predefined amount.

[0010] The method may further include using at least one hardware processor to perform the following operations: generating a market request for the future time interval based on a solution to the optimization model; and sending the market request to an ancillary services market or an energy market. The market request may include a sell order for a certain amount of energy to be sold during at least one of the one or more future time intervals, wherein the certain amount of energy is determined based on a solution to the optimization model. The method may further include using at least one hardware processor to perform the following operations: receiving acceptance of the sell order; and controlling the battery energy storage system to supply the certain amount of energy to the target system during the at least one future time interval. Controlling the battery energy storage system may include reconfiguring one or more switches in the battery energy storage system.

[0011] It should be understood that any feature in the above methods can be implemented individually or in any combination with any subset of other features. Therefore, even though the appended claims indicate a specific dependency between features, the disclosed embodiments are not limited to those specific dependencies. Rather, any feature described herein can 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. Furthermore, any methods described above and elsewhere herein can be embodied individually or in any combination in an executable software module of a processor-based system (such as a server) and / or stored in executable instructions on a non-transitory computer-readable medium. Attached Figure Description

[0012] By studying the accompanying drawings, details of both the structure and operation of the invention can be partially gathered. In the drawings, similar reference numerals refer to similar parts, and in the drawings: Figure 1 The illustration shows an example infrastructure in which any of the processes described herein can be implemented according to an embodiment; Figure 2 The illustration shows an example processing system according to an embodiment that can be used to perform any of the processes described herein; Figure 3 An example architecture according to an embodiment is illustrated; Figure 4 The illustration depicts an example process for dynamically allocating the capacity of a battery energy storage system for ancillary services according to an embodiment; Figure 5 The illustration shows an example data stream for dynamically allocating the capacity of a battery energy storage system for ancillary services according to an embodiment; Figure 6 The illustration depicts a process for training a machine learning algorithm to predict auxiliary events according to an embodiment; and Figure 7 The illustration depicts a process for operating a machine learning algorithm to predict auxiliary events according to an embodiment. Detailed Implementation

[0013] In the embodiments, systems, methods, and non-transitory computer-readable media for dynamically allocating the capacity of a battery energy storage system for ancillary services are disclosed. After reading this specification, those skilled in the art will understand how the invention can be practiced in various alternative embodiments and applications. However, while 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.

[0014] 1. Infrastructure Figure 1 The illustration depicts an example infrastructure in which any of the disclosed processes can be implemented 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, Supervisory Control and Data Acquisition (SCADA) systems, Power Management Systems (PMS), Energy Management Systems (EMS), Distribution Management Systems (DMS), Advanced DMS (ADMS), Asset Management Systems (ASM), etc. The management system 110 may include dedicated servers, or alternatively, may 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, the servers may be centrally deployed (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 database 114. Additionally, the management system 110 can be communicatively connected to one or more user systems 130, battery energy storage systems 140, markets 150, third-party systems 160, and / or target systems 170 via one or more networks 120.

[0015] Network 120 may include the Internet, and management system 110 may communicate with user system 130, battery energy storage system 140, market 150, third-party system 160, and / or target system 170 via the Internet and / or other networks using standard transport protocols such as Hypertext Transfer Protocol (HTTP), HTTP Secure Protocol (HTTPS), File Transfer Protocol (FTP), FTP Secure Protocol (FTPS), Secure Shell FTP (SFTP), Extensible Messaging and Presence Protocol (XMPP), Open FieldMessage Bus (OpenFMB), IEEE Smart Energy Specification Application Protocol (IEEE 2030.5), and proprietary protocols. Although management system 110 is illustrated as being connected to various systems via a single set of networks 120, it should be understood that management system 110 may be connected to various systems via one or more different sets of networks. For example, management system 110 may be connected via the Internet to a subset of user systems 130, battery energy storage systems 140, marketplaces 150, third-party systems 160, and / or target systems 170, but may also be connected via an intranet to one or more other user systems 130, battery energy storage systems 140, marketplaces 150, third-party systems 160, and / or target systems 170. Furthermore, although only a few user systems 130, battery energy storage systems 140, marketplaces 150, third-party systems 160, and target systems 170, 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 130, battery energy storage systems 140, marketplaces 150, third-party systems 160, target systems 170, software instances 112, and databases 114.

[0016] User system 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), etc. However, it is generally envisioned that user system 130 will include personal computers, mobile devices, or workstations that can be used by agents of the operator of battery energy storage system 140 and / or participants in market 150 to interact with 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 management system 110 or the system between management system 110 and user system 130. A 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 elements that contain data stored in database 114 or elements derived from that data.

[0017] Battery energy storage system 140 may include any system that uses one or more, and typically multiple, batteries to store energy (e.g., electricity). Each battery energy storage system 140 may be electrically connected to one or more target systems 170, enabling the battery energy storage system 140 to supply energy to the target system 170, for example, to provide short-term peak power and / or ancillary services; and / or to receive energy from the target system 170, for example, to charge one or more batteries in the battery energy storage system 140. Therefore, operators of battery energy storage systems 140 may participate as suppliers and / or consumers in one or more markets 150, which may include ancillary service markets and / or energy markets, in which operators of target systems 170 also participate.

[0018] Market 150 may include any one or more types of computing devices capable of wired and / or wireless communication. However, it is generally contemplated that market 150 will include one or more servers implementing a market for tradable goods. In the context of the specific non-limiting examples provided throughout this disclosure, it will be assumed that market 150 includes an energy market in which energy (e.g., electricity) is bought and sold and / or an ancillary services market in which ancillary services are bought and sold. Market 150 may enable participants to list and bid on a quantity of energy and / or one or more ancillary services, and to match sell orders with buy orders, facilitate transactions between matched sell orders and buy orders, and facilitate the delivery or supply of purchased energy, etc.

[0019] As used herein, the term "ancillary services" refers to any operation, other than generation and transmission, that supports the reliable transmission of electricity from generators to consumers. Ancillary services may include active power or frequency control, reactive power or voltage control, dispatch and distribution, operational reserves, etc. As an example, for frequency control, the operator of battery energy storage system 140 may commit BESS capacity (e.g., as a seller in ancillary services market 150) to a power system (e.g., the grid) acting as a target system 170 (e.g., acting as a buyer in the ancillary services market) to ensure that the grid frequency remains within a certain percentage (e.g., + / - 5%) of the nominal frequency. For voltage control, the operator of battery energy storage system 140 may commit BESS capacity to the grid acting as a target system 170 to ensure that the voltage in the grid remains within a certain percentage (e.g., + / - 5%) of the nominal voltage. For dispatch and distribution, the operator of battery energy storage system 140 may commit BESS capacity to the grid acting as a target system 170 to coordinate generation and transmission units, thereby maintaining grid reliability. For operational reserves, the operator of the battery energy storage system 140 can commit to providing BESS capacity to the grid, which is the target system 170, to ensure sufficient power generation to meet the load in the grid.

[0020] Third-party system 160 may include any one or more types of computing devices capable of wired and / or wireless communication. However, it is generally envisioned that third-party system 160 will include one or more servers that supply external data to management system 110. For example, external data may represent forecast data or data from which forecasts can be derived. As an example, third-party system 160 may include a weather service that provides current weather data (i.e., real-time weather data) and / or forecast weather data (e.g., for future time intervals).

[0021] Target system 170 may include any type of system that monitors, analyzes, and / or takes action on its data. However, it is generally envisioned that target system 170 will include an electricity system whose data can be predicted, and whose operators participate in market 150 as suppliers and / or consumers. The electricity system may include a power grid, which includes a transmission network and / or a distribution network. The electricity system may include one or more electrical resources, which may include, but are not limited to, generators, energy storage systems, electrical loads (e.g., rechargeable energy storage systems or other controllable loads, uncontrollable loads, etc.). Generators may include different types of generators, such as thermal power plants (e.g., coal, natural gas, nuclear power, geothermal, etc.), hydropower plants, renewable energy power plants (e.g., solar, wind, geothermal, etc.). Electrical loads may include anything that consumes electricity, including but not limited to electric vehicles, household appliances, machinery, commercial buildings, residential buildings, etc.

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

[0023] 2. Example processing device Figure 2 This is a block diagram illustrating an example wired or wireless system 200 that can be used in conjunction with the various embodiments described herein. For example, system 200 can be used as one or more of, or in combination with, the functions, methods, or other processes described herein (e.g., for storing and / or executing software 112, storing database 114, etc.), and can represent components of management system 110, user system 130, battery energy storage system 140, marketplace 150, third-party system 160, target system 170, and / or other processing devices described herein. System 200 can be a server, a conventional personal computer, or any other processor-enabled device capable of wired or wireless data communication. Those skilled in the art will appreciate that other computer systems and / or architectures can also be used.

[0024] System 200 preferably includes one or more processors 210. Processor 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 rapidly executing signal processing algorithms, a processor subordinate to the main processor (e.g., a back-end processor), an additional microprocessor or controller and / or coprocessor for dual-processor or multi-processor systems. Such auxiliary processors may be discrete processors or integrated with the main processor 210. Examples of processors 210 that may be used with system 200 include, but are not limited to, any processor supplied by Intel Corporation of Santa Clara, California (e.g., Pentium™, Core i7™, Xeon™, etc.), any processor supplied by Advanced Micro Devices Inc. (AMD) of Santa Clara, California, any processor supplied by Apple Inc. of Cupertino (e.g., A-series, M-series, etc.), any processor supplied by Samsung Electronics Ltd. of Seoul, South Korea (e.g., Exynos™), any processor supplied by NXP Semiconductors Ltd. of Eindhoven, Netherlands, etc.

[0025] Processor 210 can be 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 can provide a set of signals for communicating with processor 210, including a data bus, address bus, and / or control bus (not shown). Communication bus 205 may include any standard or non-standard bus architecture, such as Industry Standard Architecture (ISA), Extended Industry Standard Architecture (EISA), Micro Channel Architecture (MCA), Peripheral Component Interconnect (PCI) local bus, or bus architectures published by the Institute of Electrical and Electronics Engineers (IEEE) including IEEE 488 Universal Interface Bus (GPIB) or IEEE 696 / S-100.

[0026] System 200 may include main memory 215. Main memory 215 provides storage for instructions and data of programs executed on processor 210, such as one or more procedures discussed herein (e.g., embodied in software 112). It should be understood that programs stored in memory and executed by processor 210 can 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).

[0027] System 200 may also include auxiliary storage 220. Auxiliary storage 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), etc. Removable media 230 may include, for example, magnetic tape drives, compact optical disc (CD) drives, digital versatile optical disc (DVD) drives, flash memory drives, etc. Auxiliary storage 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 auxiliary storage 220 is read into main memory 215 for execution by processor 210.

[0028] System 200 may include an input / output (I / O) interface 235. 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, etc. 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), etc. 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).

[0029] System 200 may include a communication interface 240. Communication interface 240 allows software and other data to be transferred between system 200 and external devices, networks, or other external systems 245. For example, data that may include computer software or executable code may be transferred from external system 245 (e.g., a network server, personal computer, or other device) 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 connecting system 200 to a network (e.g., network 120) or another computing device. The communication interface 240 preferably implements industry-published 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 Services Digital Network (ISDN), Personal Communication Services (PCS), Transmission Control Protocol / Internet Protocol (TCP / IP), Serial Line Internet Protocol / Point-to-Point Protocol (SLIP / PPP), etc., but it may also implement customized or non-standard interface protocols.

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

[0031] A computer program, including computer-executable code or instructions (e.g., included in software 112), is stored in main memory 215 and / or secondary memory 220. The computer program may also be received via communication interface 240 and stored in main memory 215 and / or secondary memory 220. When executed, the computer program enables system 200 to perform one or more processes described elsewhere herein.

[0032] 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. These non-transitory computer-readable media are means for providing executable code, programming instructions, software, and / or other data to processor 210.

[0033] System 200 may also include optional wireless communication components that facilitate wireless communication over voice and / or data networks (e.g., in cases where user system 130 is a smartphone or other mobile device, battery energy storage system 140, or sensors and / or actuators within target system 170). 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.

[0034] 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 transmit signal paths and receive signal paths to antenna system 270. In the receive path, the received RF signal may be coupled from the multiplexer to a low-noise amplifier (not shown), which amplifies the received RF signal and transmits the amplified signal to radio system 265.

[0035] In an alternative embodiment, radio system 265 may include one or more radios configured to communicate on various frequencies. In another 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 incoming path, the demodulator removes the RF carrier signal, leaving the baseband received signal transmitted from radio system 265 to baseband system 260.

[0036] The baseband system 260 is also communicatively coupled to a processor 210, which has access to data storage areas 215 and 220. Therefore, data including a computer program can be received from the baseband processor 260 and stored in main memory 210 or secondary memory 220, or executed upon receipt. When executed, such a computer program enables the system 200 to perform one or more of the disclosed processes.

[0037] 3. Example data stream for target system management Figure 3 An example data flow is illustrated between a management system 110, a user system 130, a battery energy storage system 140, one or more marketplaces 150, one or more third-party systems 160, and one or more target systems 170 according to an embodiment. The battery energy storage 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 analysis and control module 330 may interact with or include an optimization model 350, which may be stored in a database 114 of the management system 110. It should be understood that communication between the various systems may be performed via a network 120. Additionally, communication between a pair of modules may be performed via an application programming interface (API) provided by one of these modules or through other inter-process communication means.

[0038] Monitoring module 310 can monitor and collect data output from one or more sensors in battery energy storage system 140. Monitoring module 310 can also otherwise obtain data from the collected data. Monitoring module 310 can transmit or “push” the collected data and / or otherwise obtained data as BESS system telemetry to analysis and control module 330 (e.g., via API of analysis and control module 330). Alternatively, analysis and control module 330 can obtain or “pull” BESS system telemetry from monitoring module 310 (e.g., via API of monitoring module 310). BESS system telemetry can include measurements at each of one or more nodes (e.g., buses) or other points within battery energy storage system 140. These measurements can include, but are not limited to, voltage, current, frequency, state of charge of one or more batteries, charging efficiency, discharging efficiency, etc. BESS system telemetry can be transmitted from monitoring module 310 to analysis and control module 330 in real time or periodically as data is collected and / or otherwise obtained. As used herein, the term “real-time” includes events that occur simultaneously, as well as events that have time intervals due to inherent delays caused by latency in processing, memory access, communication, etc.

[0039] A target system model can be received from each target system 170. For example, target system 170 can transmit or “push” the target system model to analysis and control module 330 (e.g., via analysis and control module 330’s API). Alternatively, analysis and control module 330 can obtain or “pull” the target system model from target system 170 (e.g., via target system 170’s API). As another alternative, the target system model can be published through market 150 and pushed to or pulled by analysis and control module 330. Operators of each target system 140 can publish the target system model within market 150 to receive sell orders in the ancillary services market and / or energy market. The target system model can model the target system 170 in a way that allows inferences about predictions regarding the future operation of the target system 170, including the occurrence of ancillary events.

[0040] The analysis and control module 330 can receive system telemetry from the monitoring module 310, analyze the system telemetry in conjunction with a model of the battery energy storage system 140 to determine the configuration of the battery energy storage system 140, and then control the battery energy storage 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 battery energy storage 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 battery energy storage system 140 in real time, periodically (e.g., before a sliding or scrolling time window), or in response to user operation, as the system telemetry is received and analyzed. The analysis and control module 330 can control the battery energy storage 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.

[0041] Each third-party system 160 may supply external data to the analysis and control module 330. The third-party system 160 may transfer or push external data to the analysis and control module 330 (e.g., via the API of the analysis and control module 330). Alternatively, the analysis and control module 330 may obtain or pull external data from the third-party system 160 (e.g., via the API of the third-party system 160). External data may include any data utilized by the analysis and control module 330 and not obtainable from internal sources (such as monitoring module 310 or database 114). External data may include one or more historical weather parameters and / or predicted weather parameters, such as temperature, humidity, sunshine intensity, wind speed, air pressure, precipitation, warnings, etc. In this case, the third-party system 160 may include a weather service, such as the U.S. National Weather Service.

[0042] Each market 150 may also supply external data, such as historical or current prices for energy or ancillary services, to the analysis and control module 330. Market 150 may transmit or push external data to the analysis and control module 330 (e.g., via the API of the analysis and control module 330). Alternatively, the analysis and control module 330 may obtain or pull external data from market 150 (e.g., via the API of market 150).

[0043] The analysis and control module 330 can receive internal data from the monitoring module 310 and / or the database 114, external data from one or more third-party systems 160 and / or one or more markets 150, target system models from one or more target systems 170, and obtain the value of each parameter in one or more parameters of the optimization model 350 from the received internal and / or external data. The received data itself may include parameter values, or parameter values ​​may be otherwise obtained from the received data (e.g., calculation, inference, interpolation, interpolation, etc.). Parameters may include input parameters and / or constraint parameters. The analysis and control module 330 can input the values ​​of any input parameters into the optimization model 350, which can be solved under any conditions defined by the constraint parameters to determine the optimal bid for selling and / or purchasing energy from the battery energy storage system 140 to charge the battery energy storage system 140 at future times.

[0044] Based on the optimal bid determination for future times output by the optimization model 350, the analysis and control module 330 can generate market requests for future times and send them to the market 150. Market requests can be sell orders for a certain amount of energy or BESS capacity, such as sell orders for supplying or providing a certain amount of electricity in the future, or buy orders for a certain amount of energy, such as buy orders for consuming a certain amount of electricity in the future. The market 150 can receive sell and buy orders from multiple participants (including the management system 110), match buy orders with sell orders where possible, or reject buy orders when a match cannot be made (e.g., automatically or by approval / rejection from the market operator), and return market decisions to the relevant participants. Participants (including the management system 110) can then make decisions and / or perform operations on the battery energy storage system 140 and / or the target system 170 based on the market decisions.

[0045] As an example, the analysis and control module 330 can utilize optimal bid determination to sell ancillary services in the ancillary services market of market 150. Based on this determination, the analysis and control module 330 can automatically (i.e., without any user involvement), semi-automatically (e.g., via user approval or confirmation through human-machine interface 340), or manually (e.g., in response to a manual user request) generate and send a market request to market 150. Subsequently, the analysis and control module 330 can receive market decisions from market 150 regarding the market request and, based on the market decisions, automatically, semi-automatically, or manually initiate control operations to modify the real-time or planned operation of battery energy storage system 140. Initiating control operations may include transmitting control commands to the control module 320 of battery energy storage system 140, which can responsively control battery energy storage system 140 according to the control commands.

[0046] The control module 320 of the battery energy storage system 140 receives control signals from the analysis and control module 330 and controls one or more components of the battery energy storage system 140 according to the control signals. Examples of such control include, but are not limited to, setting setpoints (e.g., active power and / or reactive power, voltage, etc.), regulating the power output of one or more batteries, regulating the charging or discharging of one or more batteries, enabling or disabling loads, closing or opening switches (e.g., circuit breakers), etc.

[0047] The human-machine interface 340 can generate a graphical user interface (GUI) that is transmitted to the user system 130, and receive input to the GUI via the user system 130. The GUI can provide information about: the current state of the battery energy storage system 140 as determined by BESS system telemetry; the estimated state of the battery energy storage system 140 as determined by the analysis and control module 330; the configuration of the battery energy storage system 140 as determined by the analysis and control module 330; market requests, decisions, or recommendations for the battery energy storage system 140 as determined by the analysis and control module 330; and control decisions or recommendations for the battery energy storage system 140 as determined by the analysis and control module 330. Additionally, the graphical user interface can provide inputs that enable users of the user system 130 to configure the settings of the analysis and control module 330, train, configure, test and / or deploy the optimization model 350, generate market requests and / or send market requests to the market 150 and / or otherwise participate in the market, accept or reject market requests, decisions or recommendations, specify, approve and / or reject controls to be transmitted to the control module 320 of the battery energy storage system 140, analyze the battery energy storage system 140, etc.

[0048] The optimization model 350 can be stored as a data structure 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 to database 114, etc.). For example, the optimization model 350 can be loaded from database 114 into memory (e.g., main memory 215 and / or auxiliary memory 220) and executed by management system 110 as a service accessible via API by analysis and control module 330 (e.g., as a microservice). Management system 110 can provide a separate optimization model 350 for each battery energy storage system 140 managed by management system 110, and / or provide a collective optimization model 350 for two or more battery energy storage systems 140.

[0049] 4. Example process Figure 4 An example process 400 for dynamically allocating the capacity of a battery energy storage system 140 for ancillary services, according to an embodiment, is illustrated. Process 400 can be implemented by software 112. Although process 400 is illustrated by a certain arrangement and order of subprocesses, process 400 can be implemented by fewer, more, or different subprocesses, as well as different arrangements and / or orders of the subprocesses. Furthermore, it should be understood that any subprocess that does not depend on the completion of another subprocess can be executed before, after, and / or in parallel with that other independent subprocess, even if these subprocesses are described or illustrated in a particular order.

[0050] Process 400 can run iteratively within a sliding or rolling time window that includes one or more future time intervals. In an alternative embodiment, process 400 can be executed non-iteratively for a single fixed time window, depending on the needs of the operator of the battery energy storage system 140.

[0051] In a preferred embodiment, the time window comprises multiple future time intervals. The time window may begin at the current time or a first future time and end at a second future time. The length of the time window can be any value, depending on specific design objectives, forecast resolution, the length of the bidding window within market 150, etc., but should generally be a multiple of the length of the future time intervals. Therefore, the length of the time window can be one minute, several minutes, one hour, several hours, one day, several days, etc., and the length of each future time interval can be any time length less than or equal to the time window. In embodiments, the length of each future time interval and / or time window can be equal to or a multiple of the length of the bidding interval (i.e., the time unit for bidding) within market 150. In another embodiment, the length of the time window can be a multiple (e.g., two, three, or more) of the length of the bidding interval (i.e., the time unit for bidding) within market 150, and bidding takes place within the multiple and / or all bidding intervals included by the time window. For example, the time window is twice the length of a bidding window (e.g., the next two bidding windows), and bidding takes place in each of these two bidding windows. In some embodiments, the time interval may correspond to a buy / sell interval.

[0052] In subroutine 405, it is determined whether there is another future time interval to consider within the time window. If there is another future time interval to consider (i.e., "yes" in subroutine 405), process 400 proceeds to subroutine 410. Otherwise, if there is no future time interval to consider (i.e., "no" in subroutine 405), process 400 can terminate.

[0053] In subprocess 410, predictions of one or more ancillary events in target system 170 within the considered future time interval are obtained. In embodiments of subprocess 410, predictions may be received from another system (e.g., third-party system 160, market 150, target system 170, etc.). In this case, the predictions may be provided by the operator of target system 170. In alternative embodiments of subprocess 410, the predictions of one or more ancillary events may be generated, for example, using a target system model provided by the operator of target system 170 (e.g., generated by analysis and control module 330). In either case, the predictions may include the number of ancillary events, potentially including estimates of the number of each type of ancillary event among multiple types of ancillary events occurring within the considered future time interval.

[0054] Examples of auxiliary event types include, but are not limited to, frequency rise events, frequency fall events, voltage rise events, and voltage fall events. A frequency rise event occurs when the electrical frequency within target system 170 exceeds the nominal frequency of target system 170 by at least a predefined amount. In this case, battery energy storage system 140 can absorb energy from target system 170 by charging battery energy storage system 140 to mitigate the rise in electrical frequency within target system 170. A frequency fall event occurs when the electrical frequency within target system 170 falls below the nominal frequency by at least a predefined amount. In this case, battery energy storage system 140 can release energy into target system 170 to mitigate the fall in electrical frequency within target system 170. The predefined amount can be the same for both frequency rise and frequency fall events. The predefined amount can be defined as a percentage of the nominal frequency (e.g., + / - 5%) or a frequency range (e.g., + / - 2.5 Hz). Therefore, if the nominal frequency is 50 Hz and the predefined amount is + / - 5% or + / - 2.5 Hz, a frequency rise above 52.5 Hz will represent a frequency rise event, and a frequency drop below 47.5 Hz will represent a frequency drop event. Voltage rise and voltage drop events can be defined in the same way. In other words, a voltage rise event may occur when the voltage in target system 170 exceeds the nominal voltage in target system 170 by at least a predefined amount, and a voltage drop event may occur when the voltage in target system 170 falls below the nominal voltage by at least a predefined amount. Again, the predefined amount can be the same for both voltage rise and voltage drop events, and can be defined as a percentage of the nominal voltage (e.g., 5%) or a voltage range (e.g., + / - 2.5 volts).

[0055] In embodiments that generate predictions for auxiliary events, predictions can be generated by applying a prediction model to one or more input features to predict the occurrence of one or more auxiliary events in target system 170 within a considered future time interval. One or more input features may include: one or more weather parameters in the geographic location of target system 170 that have been predicted for the considered future time interval; the load of target system 170 predicted for the considered future time interval; an indication of the historical frequency of one or more auxiliary events within target system 170, etc. These input features may be received from and / or otherwise derived from data received from one or more other systems (e.g., third-party system 160, market 150, target system 170, etc.) and / or from one or more internal data sources (e.g., database 114, battery energy storage system 140, etc.). The prediction model may include machine learning algorithms. Examples of suitable machine learning algorithms include, but are not limited to, artificial neural networks (e.g., deep neural networks), random forest algorithms, linear regression algorithms, logistic regression algorithms, decision trees, support vector machines (SVM), Naive Bayes algorithms, k-nearest neighbors (kNN) algorithms, K-means algorithms, dimensionality reduction algorithms, gradient boosting algorithms, etc.

[0056] In subprocess 420, the required capacity of the battery energy storage system 140 during the considered future time interval can be calculated based on the prediction of auxiliary events obtained in subprocess 410. In other words, the amount of BESS capacity required to mitigate the predicted auxiliary events for the target system 170 is calculated. For example, the required capacity can be calculated based on the estimated number of auxiliary events occurring in the target system 170 during the considered future time interval, the maximum capacity of the battery energy storage system 140, the charging or discharging efficiency of the battery energy storage system 140, etc. In embodiments, the required capacity may include the capacity required for each type of auxiliary event. For example, the required capacity may include the capacity required for frequency rise events, the capacity required for frequency fall events, the capacity required for voltage rise events, the capacity required for voltage fall events, and / or the capacity required for each of one or more other types of auxiliary events in the target system 170. It should be understood that the capacity required for a given type of auxiliary event is the amount of BESS capacity that should be reserved to cope with the predicted occurrence of auxiliary events during the considered future time interval, thereby maintaining the reliability of the target system 170.

[0057] As an example, future time intervals Required capacity for internal frequency rise events It can be calculated as follows:

[0058] in, The discharge efficiency of the battery energy storage system is 140. It is a future time interval The number of occurrences of internal frequency increase events (e.g., in the predictions for target system 170 obtained in subprocess 410), and It is a future time interval The maximum capacity of the internal battery energy storage system is 140.

[0059] Similarly, future time intervals Required capacity for internal frequency drop events It can be calculated as follows:

[0060] in, It is the charging efficiency of the battery energy storage system 140, and It is a future time interval The number of times an internal frequency decrease event occurs (e.g., in the prediction for target system 170 obtained in subprocess 410).

[0061] In subprocess 430, capacity constraints are generated based on the required capacity calculated in subprocess 420. Typically, in the solution of optimization model 350, capacity constraints can limit one or both of the amount of energy (e.g., electricity) that can be released from battery energy storage system 140 or the amount of energy that can be used to charge battery energy storage system 140 to the required capacity calculated in subprocess 420. If the required capacity calculated in subprocess 420 includes the capacity required for each of multiple types of auxiliary events, the capacity constraints can include constraints for each of those multiple types of auxiliary events. Each constraint can constrain variables in optimization model 350 to not exceed the capacity required for the corresponding type of auxiliary event. Constraints can be expressed as mathematical inequalities. In the solution of optimization model 350, the constrained variables can at least represent parameters of the bidding decision.

[0062] As an example, regarding future time intervals The constraint on the frequency increase event within can be expressed as: Constraint (1):

[0063] in, This is a variable in optimization model 350, and its value in the solution of optimization model 350 represents the value for a future time interval. The amount of power to be released during a frequency rise event. It should be understood that constraint (1) ensures that the amount of power released from the battery energy storage system 140 for a frequency rise event does not exceed .

[0064] Similarly, for future time intervals The constraint on the frequency decrease event within can be expressed as: Constraint (2):

[0065] in, This is a variable in optimization model 350, and its value in the solution of optimization model 350 represents the value for a future time interval. The amount of power required to charge the battery energy storage system during a frequency descent event. It should be understood that constraint (2) ensures that the amount of power charged into the battery energy storage system for a frequency descent event does not exceed [a certain limit]. .

[0066] In subprocess 440, the capacity constraints generated in subprocess 430 can be incorporated into optimization model 350. For example, using the above example, constraints (1) and (2) can be added as constraints to optimization model 350, thereby restricting the solution of optimization model 350. and The value. It should be understood that optimization model 350 models the bid determination of the energy of battery energy storage system 140. After incorporating constraints in subprocess 440, process 400 can return to subprocess 405 to determine if there is another future time interval to consider.

[0067] The optimization model 350 can be further formulated in any suitable manner. At a high level, the optimization model 350 can be defined as maximizing or minimizing an objective function. The objective function can be expressed over one or more future time intervals. Future time window The bidding decision. As an example, optimization model 350 can maximize the objective function representing the profit obtained from the bidding decision:

[0068] in, This indicates the future time window given a given bidding decision. (It may include one or more future time intervals) Total profit within ) Indicates a future time window Future time intervals within The decision to sell (e.g., the amount of energy to sell to the market in 150), and Indicates a future time window Future time intervals within Purchase decisions (e.g., the amount of energy to buy from the market at 150).

[0069] variable It can be defined as:

[0070] in, This refers to zero, one or more additional variable and / or fixed amounts of energy to be sold by the battery energy storage system 140 to the market 150. It should be understood that variables... It can be defined in a similar manner as the sum of one or more variable and / or fixed amounts of energy to be purchased by the battery energy storage system 140 from the market 150.

[0071] In addition to constraints (1) and (2), the solution of optimization model 350 may be subject to one or more other constraints. For example, optimization model 350 may include constraints for power balance: Constraint (3):

[0072] in, In the future time interval The amount of electricity released from the battery energy storage system 140, and In the future time interval The amount of electricity used to charge the battery energy storage system 140.

[0073] The optimization model 350 may also include constraints for balancing the state of charge of the battery energy storage system 140: Constraint (4):

[0074] in, It is a future time interval The state of charge of the internal battery energy storage system 140, and Time interval The state of charge of the internal battery energy storage system 140.

[0075] The optimization model 350 may also include constraints for maintaining the state of charge of the battery energy storage system 140: Constraint (5):

[0076] in, This is the minimum state of charge of the battery energy storage system 140, and This is the maximum state of charge of the battery energy storage system 140.

[0077] In subprocess 450, the optimization model 350 can be calculated in the future time window. The solution within this time window can include one or more future time intervals. Optimization model 350 can be solved using any suitable solver. Using the formulas above for optimization model 350, the solver will determine the objective function. The output of maximizes the solution of the objective function.

[0078] In subprocess 460, the solution of the optimization model 350 computed in subprocess 450 can be output to one or more downstream functions. In an embodiment, the downstream functions include generating a solution for one or more future time intervals based on the solution of the optimization model 350 computed in subprocess 450. Future time window The market request. In particular, the analysis and control module 330 can generate a market request and send it to market 150, which may be an ancillary services market where ancillary services are bought and sold and / or an energy market where energy (e.g., electricity) is bought and sold.

[0079] For example, a market request can be included in one or more future time intervals. The sell orders are for a certain amount of energy to be sold during at least one future time interval. The amount of energy in the sell orders can be determined based on the solution of optimization model 350. In particular, the amount of energy in the sell orders can be determined from the solution of optimization model 350. The final value.

[0080] Subsequently, the analysis and control module 330 can receive acceptance of the sell order. In response, the analysis and control module 330 can control the amount of energy supplied from the sell order by the battery energy storage system 140 to the target system 170. Specifically, the analysis and control module 330 can (e.g., via control module 320) control the battery energy storage system 140 to supply a certain amount of power to the target system 170. Such control may include reconfiguring one or more switches in the power systems of the battery energy storage system 140 and / or the target system 170.

[0081] 5. Example data stream Figure 5An example data flow 500 for dynamically allocating the capacity of a battery energy storage system 140 for ancillary services, according to an embodiment, is illustrated. Data flow 500 can be used in the implementation of process 400. Therefore, data flow 500 will be described with reference to process 400. Furthermore, it should be understood that any component description in data flow 500 corresponding to a component described with respect to process 400 applies to that corresponding component, and vice versa.

[0082] The prediction 510 of the auxiliary event is provided to the required capacity calculation module 520, which can be implemented by the analysis and control module 330. The prediction 510 can be obtained, as discussed with respect to subprocess 410. The required capacity calculation module 520 can implement subprocess 420 to generate the required capacity 525.

[0083] The required capacity 525 is provided to the capacity constraint generation module 530, which can be implemented by the analysis and control module 330. The capacity constraint generation module 530 can implement subprocess 430 to generate capacity constraints 535.

[0084] As discussed with respect to subprocess 440, capacity constraint 535 can be incorporated into optimization model 350. As represented by the loop of subprocesses 405-440, the data flow represented by components 510-535 can be executed for each future time interval to be optimized within a future time window.

[0085] One or more price forecasts 540 can be input as parameters into the optimization model 350. Price forecasts 540 may include forecasts of energy prices (e.g., the price per kilowatt-hour or other unit of electricity) in the energy market of market 150, forecasts of prices for ancillary services in the ancillary services market of market 150, etc. It should be understood that other input parameters can be input into the optimization model 350, such as the current configuration of the battery energy storage system 140 (e.g., current switching position, current state of charge, etc.), and predicted weather parameters for each future time interval.

[0086] As discussed with respect to subprocess 450, the optimization model 350 is solved to produce a solution 550, which can be input into downstream functions, such as the market request generation module 560. The market request generation module 560 can be implemented by the analysis and control module 330 and can generate market requests 565, as discussed with respect to subprocess 460.

[0087] 6. Example machine learning algorithms Figure 6The illustration depicts a process 600 for training a machine learning (ML) algorithm to predict auxiliary events, according to an embodiment. Process 600 can be implemented by software 112. Process 600 can be performed under the guidance of a developer working on behalf of an operator of the battery energy storage system 140. Although process 600 is illustrated by a certain arrangement and order of subprocesses, process 600 can be implemented by fewer, more, or different subprocesses, and different arrangements and / or orders of subprocesses. It should also be understood that any subprocess that does not depend on the completion of another subprocess can be executed before, after, or in parallel with that other independent subprocess, even if these subprocesses are described or illustrated in a particular order.

[0088] It should be understood that the machine learning algorithm trained by process 600 can be used as a predictive model to generate predictions of auxiliary events in subprocess 410 of process 400. Therefore, the goal of process 600 can be to train the machine learning algorithm to accurately predict the count or other quantity of each type of one or more auxiliary events that will occur in target system 170 within a future time interval. Alternatively, the machine learning algorithm can be trained to predict another parameter of the auxiliary events in target system 170 within a future time interval.

[0089] The input to process 600 may be historical data 605, which includes or consists of the following: historical values ​​of multiple characteristics of the target system 170 at multiple different past times, and indications of ancillary events that occurred during these past times. It should be understood that the multiple characteristics should represent variables related to the occurrence of the ancillary events. For example, the multiple characteristics may include one or more weather parameters of the geographic location of the target system 170 at each past time, the load of the target system 170 at each past time, indications of the historical frequency of one or more ancillary events in the target system 170, etc. Historical data 605 may be received from one or more external data sources (e.g., third-party system 160, target system 170, etc.) and / or one or more internal data sources (e.g., database 114, etc.).

[0090] In subprocess 610, a training dataset 615 is generated based on historical data 605. In an embodiment, the training dataset 615 includes multiple labeled feature vectors. Each feature vector may contain the value of each of the multiple features in the historical data 605 and is labeled with a target value representing a parameter (e.g., the number) of ancillary events actually observed in the past time period when the values ​​of the multiple features were observed. When converting the historical data 605 into feature vectors, the values ​​of the multiple features may be standardized and / or normalized (e.g., converted to a uniform unit of measurement). The target value of each feature vector in the training dataset 615 can be obtained from the indications of ancillary events in the historical data 605, for example, by counting the number of indications of ancillary events during the past time interval corresponding to the feature vector.

[0091] In subprocess 620, a machine learning algorithm is trained using training dataset 615. Specifically, the machine learning algorithm can be trained by minimizing a loss function over multiple training iterations. In each training iteration, a feature vector from training dataset 615 can be input into the machine learning algorithm to output a prediction based on multiple features. The loss function can calculate the error between the output value and the target value used to label the feature vector, and one or more weights in the machine learning algorithm can be adjusted according to an appropriate technique (e.g., gradient descent) to reduce the error. Training iterations can be performed for each feature vector in at least a major subset of the labeled feature vectors in training dataset 615. The remainder of training dataset 615 can be used to evaluate the trained machine learning algorithm. Examples of suitable machine learning algorithms include, but are not limited to, artificial neural networks (e.g., deep neural networks), random forest algorithms, linear regression algorithms, logistic regression algorithms, decision trees, support vector machines (SVM), Naive Bayes algorithms, k-nearest neighbors (kNN) algorithms, K-means algorithms, dimensionality reduction algorithms, gradient boosting algorithms, etc.

[0092] In subprocess 630, the machine learning algorithm trained in subprocess 620 can be evaluated. Evaluation may include using portions of the training dataset 615 that were not used to train the machine learning algorithm in subprocess 620 to validate and / or test the machine learning algorithm. The result of subprocess 630 may be a performance metric for the machine learning algorithm, such as the accuracy of the machine learning algorithm. The evaluation in subprocess 630 can be performed in any suitable manner.

[0093] In subprocess 640, the acceptability of the machine learning algorithm trained in subprocess 620 is determined based on the evaluation performed in subprocess 630. For example, a performance metric from subprocess 640 can be compared to a threshold or one or more other criteria. If the performance metric meets the criteria (e.g., greater than or equal to the threshold), the machine learning algorithm can be determined to be acceptable (i.e., "yes" in subprocess 640). Conversely, if the performance metric does not meet the criteria (e.g., less than the threshold), the machine learning algorithm can be determined to be unacceptable (i.e., "no" in subprocess 640). When the machine learning algorithm is determined to be acceptable (i.e., "yes" in subprocess 640), process 600 can proceed to subprocess 650. Otherwise, when the machine learning algorithm is determined to be unacceptable (i.e., "no" in subprocess 640), process 600 can return to subprocess 610 to retrain the machine learning algorithm (e.g., using a new or modified training dataset 615).

[0094] In subprocess 650, the trained machine learning algorithm can be deployed as machine learning algorithm 655. In an embodiment, machine learning algorithm 655 receives values ​​of multiple features over a future time interval as input and outputs a prediction of an auxiliary event. Machine learning algorithm 655 can be deployed by moving it from the development environment of management system 110 to a production environment. For example, machine learning algorithm 655 can be provided at an address on management system 110 (e.g., in a microservices architecture), which can be accessed by software 112 in subprocess 410. Alternatively, machine learning algorithm 655 can be included in software 112.

[0095] Figure 7 The illustration depicts a process 700 for operating a machine learning algorithm 655 to predict auxiliary events according to an embodiment. Process 700 can be implemented by software 112 and executed within a subprocess 410 of process 400 to obtain predictions of auxiliary events for future time intervals. Although process 700 is illustrated by a certain arrangement and order of subprocesses, process 700 can be implemented with fewer, more, or different subprocesses, and different arrangements and / or orders of subprocesses. It should also be understood that any subprocess that does not depend on the completion of another subprocess can be executed before, after, or in parallel with that other independent subprocess, even if these subprocesses are described or illustrated in a particular order.

[0096] Initially, in subprocess 710, data for future time intervals can be received. For example, data related to auxiliary events can be obtained from one or more external data sources (e.g., third-party system 160, target system 170, etc.) and / or one or more internal data sources (e.g., server database 114). The data may represent weather forecasts for the geographical location of target system 170 in future time intervals, load forecasts for target system 170 in future time intervals, historical data of auxiliary events in target system 170, etc.

[0097] In subprocess 720, the value of each of the multiple features can be extracted from the data received in subprocess 710. The values ​​of the multiple features can be extracted in the same manner as in subprocess 610, which extracts these values ​​from historical data 605 to generate the feature vector in training dataset 615. This extraction may include standardizing and / or normalizing the values ​​of the multiple features in the same manner as in subprocess 610.

[0098] In sub-process 730, a machine learning algorithm 655, trained in sub-process 620 of process 600 and deployed by sub-process 650 of process 600, can be applied to the features extracted in sub-process 720. Specifically, a feature vector comprising the value of each of the multiple features can be input into machine learning algorithm 655.

[0099] In subprocess 740, the output of machine learning algorithm 655 can be output, which includes parameters (e.g., quantity) of auxiliary events predicted for the target system 170 in future time intervals, or is composed of such parameters. In particular, this prediction can be output to subprocess 420 of process 400.

[0100] 7. Example Implementation The disclosed embodiments utilize ancillary event prediction 510, combined with optimization model 350, to generate an optimal bid determination for ancillary services and / or the energy market 150. Specifically, for each of one or more future time intervals, the required capacity calculation module 520 uses prediction 510 to calculate the required capacity 535 for the future time interval in subprocess 420. The capacity constraint generation module 530 uses the calculated required capacity 525 to generate a capacity constraint 535 for the future time interval in subprocess 430, and the generated capacity constraint 535 is combined with a price prediction 540 for the future time interval in subprocess 440 into optimization model 350. Then, in subprocess 450, optimization model 350 is solved for a future time window including the future time interval to produce a solution 550 representing the optimal bid determination. This optimal bid determination can balance the use of capacity within the battery energy storage system 140 between ancillary services and the energy market 150. The market request generation module 560 can use solution 550 to generate market requests 565 in subprocess 460 to implement the optimal bid determination.

[0101] Although the embodiments are primarily described herein for use with battery energy storage system 140, the disclosed embodiments can also be used with any power system participating in the ancillary services market. For example, instead of battery energy storage system 140, the disclosed embodiments can be applied to microgrids, virtual power plants, electric vehicle (EV) charging stations, and any power system that includes battery energy storage system 140. Furthermore, the disclosed embodiments can be extended to bidding for generation capacity in market 150, either as a substitute for or as a supplement to bidding for BESS capacity in market 150.

[0102] Because the described embodiments reserve energy in the battery energy storage system 140 for ancillary services provided to the target system 170, the operator of the battery energy storage system 140 can have greater bargaining power in the ancillary services market, which increases the likelihood that the operator's bids will be accepted. Excess energy capacity in the battery energy storage system 140 that is not reserved or used for ancillary events can be sold to the energy market. In other words, by using constraints incorporated into the optimization model 350 in subprocess 440 to reserve energy for ancillary services, BESS capacity is released for bidding in the energy market. This allows the operator of the battery energy storage system 140 to utilize excess energy capacity in other markets 150 after serving the ancillary services market, thus economically benefiting the operator.

[0103] The disclosed embodiment for utilizing the prediction 510 for ancillary events can be an optional user setting, allowing the operator of the battery energy storage system 140 to enable and disable the use of prediction 510 at any given time according to the operator's preferences. For example, the operator of the battery energy storage system 140 can disable this option if they do not wish to bear the risk of penalties that might arise if the BESS capacity reserved for ancillary services of the target system 170 becomes unavailable after the bid settlement.

[0104] The disclosed embodiments can provide numerous advantages over the prior art. A first objective achievable by the disclosed embodiments is to ensure sufficient BESS capacity during auxiliary events while maximizing BESS capacity utilization. A second objective achievable by the disclosed embodiments is to more accurately calculate the capacity requirements of the battery energy storage system 140. A third objective achievable by the disclosed embodiments is to enable optimal bidding for BESS capacity in the market 150. A fourth objective achievable by the disclosed embodiments is to increase the likelihood of acceptance of bids in the market 150. To achieve 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 perform the following operations: for each of one or more future time intervals, receiving predictions of one or more auxiliary events within a target system within the future time interval; calculating a required capacity of a battery energy storage system based on the predictions of the one or more auxiliary events; generating a capacity constraint based on the required capacity of the battery energy storage system; incorporating the capacity constraint into an optimization model that models a bid determination of the energy of the battery energy storage system; and calculating a solution of the optimization model within the future time interval. These elements may achieve at least one or more of the first, second, third, or fourth objectives described above.

[0105] Example 2: The method as described in Example 1 further includes using the at least one hardware processor to generate the prediction for the one or more auxiliary events. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0106] Example 3: The method as described in Example 2, wherein generating the prediction for the one or more auxiliary events includes applying a prediction model to one or more input features to predict the occurrence of the one or more auxiliary events within the future time interval. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0107] Example 4: The method as described in Example 3, wherein the one or more input features include one or more weather parameters of the geographic location of the target system predicted for the future time interval. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0108] Example 5: The method as described in any one of Examples 3 or 4, wherein the one or more input features include the load of the target system predicted for the future time interval. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0109] Example 6: The method as described in any one of Examples 3 to 5, wherein the one or more input features include an indication of the historical frequency of the one or more auxiliary events in the target system. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0110] Example 7: The method as described in any one of Examples 3 to 6, wherein the prediction model includes a machine learning algorithm. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0111] Example 8: The method described in Example 7, wherein the machine learning algorithm is a deep neural network. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0112] Example 9: The method as described in any one of Examples 3 to 8, wherein the prediction output by the prediction model includes the estimated number of the one or more auxiliary events to occur within the future time interval. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0113] Example 10: The method as described in Example 9, wherein the required capacity of the battery energy storage system is calculated based on the number of the one or more auxiliary events estimated to occur within the future time interval. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0114] Example 11: The method as described in Example 10, wherein the required capacity of the battery energy storage system is further calculated based on the maximum capacity of the battery energy storage system and the charging or discharging efficiency of the battery energy storage system. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0115] Example 12: The method as described in Example 11, wherein, in the solution of the optimization model, the capacity constraint limits one or both of the amount of energy that can be released from the battery energy storage system or the amount of energy that can be used to charge the battery energy storage system to the desired capacity. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0116] Example 13: The method as described in any of the preceding embodiments, wherein the one or more auxiliary events include one or both of a frequency rise event and a frequency fall event, wherein in the frequency rise event, the electrical frequency in the power system exceeds the nominal frequency by at least a predefined amount, and in the frequency fall event, the electrical frequency in the power system falls below the nominal frequency by at least the predefined amount. These elements can achieve at least one or more of the first, second, third, or fourth objectives described above.

[0117] Example 14: The method as described in any of the foregoing embodiments further includes using the at least one hardware processor to perform the following operations: generating a market request for the future time interval based on the solution of the optimization model; and sending the market request to an ancillary services market or an energy market. These elements may achieve at least one or both of the third or fourth objectives described above.

[0118] Example 15: The method as described in Example 14, wherein the market request includes a sell order to sell a certain amount of energy during at least one of the one or more future time intervals, wherein the certain amount of energy is determined based on a solution of the optimization model. These elements can achieve at least one or both of the third or fourth objectives described above.

[0119] Example 16: The method as described in any one of Examples 14 or 15 further includes using the at least one hardware processor to perform the following operations: receiving acceptance of the sell order; and controlling the battery energy storage system to supply the specified amount of energy to the target system during the at least one future time interval. These elements at least achieve the third objective described above.

[0120] Example 17: The method as described in Example 16, wherein controlling the battery energy storage system includes reconfiguring one or more switches in the battery energy storage system. These elements at least achieve the third objective described above.

[0121] Example 18: The method as described in any of the preceding embodiments, wherein the one or more future time intervals are multiple future time intervals. These elements at least achieve the third objective described above.

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

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

[0124] The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will become readily 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 should be understood that the description and drawings presented herein represent currently preferred embodiments of the invention, and thus represent a broad range of subjects considered in the invention. It should be further understood that the scope of the invention fully encompasses other embodiments that may be obvious to those skilled in the art, and therefore the scope of the invention is not limited.

[0125] As used herein, the terms “comprising,” “comprise,” and “comprises” are open-ended. For example, “A comprises B” means that A may include either (i) B alone, or (ii) a combination of B with one or more (and potentially any number) other components. In contrast, the terms “consisting of,” “consist of,” and “consistsof” are closed-ended. For example, “A constitutes B” means that A includes only B and excludes no other components in the same context.

[0126] 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 contain 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: For each of one or more future time intervals, Receive predictions of one or more auxiliary events within the target system within the said future time interval. Based on the predictions of the one or more auxiliary events, the required capacity of the battery energy storage system is calculated. Based on the required capacity of the battery energy storage system, a capacity constraint is generated, and The capacity constraint is incorporated into an optimization model that models the bidding determination of the energy of the battery energy storage system; Calculate the solution of the optimization model within the future time interval; as well as The prediction for the one or more auxiliary events is generated using the at least one hardware processor. The process of generating the prediction for the one or more auxiliary events includes applying a prediction model to one or more input features to predict the occurrence of the one or more auxiliary events within the future time interval. The prediction model includes machine learning algorithms; The machine learning algorithm mentioned is a deep neural network.

2. The method as described in claim 1, wherein, The one or more input features include one or more weather parameters that predict the geographic location of the target system for the future time interval.

3. The method of claim 1, wherein, The one or more input features include the load of the target system predicted for the future time interval.

4. The method of claim 1, wherein, The one or more input features include an indication of the historical frequency of the one or more auxiliary events in the target system.

5. The method of claim 1, wherein, The prediction output by the prediction model includes the estimated number of the one or more auxiliary events that are expected to occur within the future time interval.

6. The method of claim 5, wherein, The required capacity of the battery energy storage system is calculated based on the number of the one or more auxiliary events that are estimated to occur within the future time interval.

7. The method of claim 6, wherein, The required capacity of the battery energy storage system is further calculated based on the maximum capacity of the battery energy storage system and the charging or discharging efficiency of the battery energy storage system.

8. The method of claim 7, wherein, In the solution of the optimization model, the capacity constraint limits one or both of the amount of energy that can be released from the battery energy storage system or the amount of energy that can be used to charge the battery energy storage system to the required capacity.

9. The method according to any one of claims 1 to 8, wherein, The one or more auxiliary events include one or both of a frequency rise event and a frequency fall event, wherein in the frequency rise event, the electrical frequency in the power system exceeds the nominal frequency by at least a predefined amount, and in the frequency fall event, the electrical frequency in the power system falls below the nominal frequency by at least the predefined amount.

10. The method of any one of claims 1 to 9, further comprising using the at least one hardware processor to perform the following operations: Based on the solution of the optimization model, market requests for the future time interval are generated; and The market request is sent to the ancillary services market or the energy market.

11. The method of claim 10, wherein, The market request includes a sell order to sell a certain amount of energy during at least one of the one or more future time intervals, wherein the certain amount of energy is determined based on a solution of the optimization model.

12. The method of claim 10 or 11, further comprising using the at least one hardware processor to perform the following operations: Receive acceptance of the sale order; and During the at least one future time interval, the battery energy storage system is controlled to supply the target system with the specified amount of energy.

13. The method of claim 12, wherein, Controlling the battery energy storage system includes reconfiguring one or more switches in the battery energy storage system.

14. The method according to any one of claims 1 to 13, wherein, The one or more future time intervals are multiple future time intervals.

15. A system comprising: At least one hardware processor; Software, the software being configured to, when executed by the at least one hardware processor, For each of one or more future time intervals, Receive predictions of one or more auxiliary events within the target system within the said future time interval. Based on the predictions of the one or more auxiliary events, the required capacity of the battery energy storage system is calculated. Based on the required capacity of the battery energy storage system, a capacity constraint is generated, and The capacity constraint is incorporated into an optimization model that models the bidding determination of the energy of the battery energy storage system; as well as Calculate the solution of the optimization model within the future time interval; as well as The prediction for the one or more auxiliary events is generated using the at least one hardware processor. The process of generating the prediction for the one or more auxiliary events includes applying a prediction model to one or more input features to predict the occurrence of the one or more auxiliary events within the future time interval. The prediction model includes machine learning algorithms; The machine learning algorithm mentioned is a deep neural network.

16. A non-transitory computer-readable medium having instructions stored thereon, wherein, When executed by the processor, the instruction causes the processor to perform the following operations: For each of one or more future time intervals, Receive predictions of one or more auxiliary events within the target system within the said future time interval. Based on the predictions of the one or more auxiliary events, the required capacity of the battery energy storage system is calculated. Based on the required capacity of the battery energy storage system, a capacity constraint is generated, and The capacity constraint is incorporated into an optimization model that models the bidding determination of the energy of the battery energy storage system; as well as Calculate the solution of the optimization model within the future time interval; as well as The prediction for the one or more auxiliary events is generated using the at least one hardware processor. The process of generating the prediction for the one or more auxiliary events includes applying a prediction model to one or more input features to predict the occurrence of the one or more auxiliary events within the future time interval. The prediction model includes machine learning algorithms; The machine learning algorithm mentioned is a deep neural network.