Systems and devices for aggregating distributed energy resources

JP7936731B2Active Publication Date: 2026-10-16ENEL X SOCIETA A RESPONSABILITA LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2022534262
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-12-06
Filing Date
2020-12-07
Publication Date
2026-10-16
Estimated Expiration
2040-12-07

Smart Images

  • Figure 0007936731000033
    Figure 0007936731000033
  • Figure 0007936731000034
    Figure 0007936731000034
  • Figure 0007936731000035
    Figure 0007936731000035
Patent Text Reader

Abstract

The aggregation engine receives aggregation opportunity information requesting an aggregate change in power for one or more sites. The aggregation engine sends participation opportunity information to the multiple site controllers. The participation opportunity information indicates a site interest for providing the site change in power. The aggregation engine also receives commitment information from the multiple site controllers, the commitment information indicating a commitment level of the multiple site controllers to contribute the site change in power to the target change in power of the aggregation opportunity. The aggregation engine further sends updated participation opportunity information, including the adjusted proposed site interest, the adjusted proposed site change in power, or both, to the multiple site controllers, as necessary, until the aggregate change in power of the one or more sites is within a threshold level of the target change in power.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (Related applications) This application claims priority to U.S. Provisional Patent Application No. 62 / 944,893, entitled “SYSTEMS AND APPARATUSES TO AGGREGATE DISTRIBUTED ENERGY RESOURCES,” filed on 6 December 2019 under 19 U.S. Patent Act, which is incorporated herein by reference in its entirety. [Background technology]

[0002] Electricity supply and distribution costs continue to rise, especially in remote or densely populated areas. Furthermore, load centers (e.g., population centers where electricity is consumed) require increasingly greater power. Historically, the US energy infrastructure has been structured so that electricity is generated primarily from inland resources, while electricity consumption is increasing at load centers along the coast. Transmission and distribution (T&D) systems have been used to move electricity from where it is generated to where it is consumed at load centers. As electricity demand at load centers increases, additional T&D systems are needed, particularly to meet peak demand. However, T&D systems are expensive, and the full utilization of this additional infrastructure is only needed during relatively short periods of peak demand, remaining unused or idle otherwise. Therefore, constructing additional T&D systems may not be prudent or desirable. When actual use is relatively infrequent, justifying the significant costs of constructing additional T&D resources may be largely meaningless.

[0003] Distributed energy resources (DERs) are gaining increasing attention as a viable means of minimizing the cost of additional T&D construction by refraining from storing, generating, or consuming electricity at or near the load center for use during peak demand. A DER may refer to one or more modular generation, storage, or consumption technologies, either individually or in combination, that are supplied by the DER, or located near or within the load containing the DER. Many DER applications are interconnected with the local power company's distribution system ("grid").

[0004] Examples of DERs include energy storage systems (ESSs) and power generation systems. Individual DERs (e.g., behind-the-meter DERs) can provide energy consumers with a significant ability to manage costs. However, this cost management capability provided by behind-the-meter DERs is not discovered by the grid-side electricity providers (e.g., power companies). While electricity providers can offer incentives and other persuasive measures to consumers using DERs, the adoption of DERs and their use in a way that provides desired behavior is at the discretion of consumers. For example, during "peak demand," the grid can remain unaffected by multiple DERs that prevent consumers from using electricity from DERs rather than from electricity providers. Electricity providers cannot simply rely on independent DERs to cooperate and supply power on short notice to maintain grid stability.

[0005] Attempts to leverage cost reductions from Decentralized Energy Resources (DERs) for the benefit of electric utilities include collaborative aggregation of DERs to provide responses to demand on the grid (e.g., collaborative or aggregated demand response). By connecting multiple DERs to each other via electronic communication networks and remotely controlling them with a centralized management system, they can be operated as a virtual power plant (VPP) to reduce peak customer energy demand, provide reliable energy generation to electric utilities, and offset some of the need for more conventional power sources to meet consumer demand. Electric utilities in the United States and Europe are increasingly working on validating VPPs to manage and utilize the usefulness of DERs scattered across the grid.

[0006] While the VPP concept is theoretically attractive, implementing it to effectively aggregate DERs (Data Resources) is challenging. Leveraging DERs to provide the power level response required by utilities without negatively impacting electricity consumer services, including consumers' DER resources, is extremely difficult. For example, VPPs do not consider planned activities at the location where the DERs are installed, the size of the DERs, or the expected operating costs on a particular day. For instance, a VPP group site may already be using DERs for other services, potentially leading to higher participation costs. Another example is a VPP group site that may have larger DERs, thus offering more available capacity and thus lower participation costs. Traditional VPPs fail to consider these unique factors specific to individual DERs and sites.

[0007] An aggregation engine (e.g., a centralized controller) that functions as a centralized optimization engine for economically optimizing DER aggregation can be useful, and it is desirable that it enables intelligent operation to make better use of DER, such as minimizing the total power-related costs of the group without the aforementioned drawbacks.

[0008] To facilitate the identification of any particular element or operation in discussion, the most significant digit or number in the reference number refers to the drawing number in which that element is first introduced. [Brief explanation of the drawing]

[0009] [Figure 1] This is a schematic diagram of a system for aggregating distributed energy resources (DERs) according to one embodiment of the present disclosure. [Figure 2] This is a block diagram of an aggregation engine (e.g., a centralized optimization engine, an aggregation controller) according to one embodiment of the present disclosure. [Figure 3] This flowchart shows several embodiments of methods for aggregating DER contributions from multiple different sites toward compliance with aggregation operations. [Figure 4] This flowchart shows several embodiments of methods for aggregating DER contributions from multiple different sites toward compliance with aggregation operations. [Figure 5] This is a block diagram showing a system architecture of a site according to one embodiment of the present disclosure. [Figure 6] This is a flowchart illustrating a method for controlling an electrical system at a site according to one embodiment of the present disclosure. [Figure 7] This is a control diagram showing the system architecture of a site according to another embodiment of the present disclosure. [Figure 8] This is a flowchart illustrating a method for controlling an electrical system at a site according to one embodiment of the present disclosure. [Figure 9] This is a flowchart illustrating a method for controlling an electrical system at a site according to one embodiment of the present disclosure. [Figure 10] This is a flowchart of a method for predicting the load and / or generation of an electrical system in the time domain that will occur, according to one embodiment of the present disclosure. [Figure 11]is a graph illustrating an example of segmenting an upcoming time domain into a plurality of time segments according to an embodiment of the present disclosure. [Figure 12] is a schematic diagram of a cost function evaluation module according to an embodiment of the present disclosure. [Figure 13] is a flow diagram of a method for creating a cost function according to an embodiment of the present disclosure. [Figure 14] is a flow diagram of a method for evaluating a cost function according to an embodiment of the present disclosure. [Figure 15] is a flow diagram illustrating a method for evaluating a created cost function according to an embodiment of the present disclosure. [Figure 16] is a schematic diagram of an optimization subsystem according to an embodiment of the present disclosure. [Figure 17] is a graph illustrating an example of results from an economic optimizer of a battery energy storage system (ESS). [Figure 18] is a dynamic manager method according to an embodiment of the present disclosure. [Figure 19] is a graph showing a plot for an exemplary application of a specific four-parameter control set during a time segment. [Figure 20] is a graph providing a plot of wear rate versus state of charge for a specific battery degradation model according to an embodiment of the present disclosure. [Figure 21] is a graph providing a plot illustrating the relationship between state of charge and aging rate (or aging factor) for a specific battery degradation model according to an embodiment of the present disclosure. [Figure 22] is a pair of graphs showing the service life of a battery. [Figure 23] is a schematic diagram of an economic optimizer according to an embodiment of the present disclosure. [Figure 24] is a schematic diagram of a dynamic manager according to an embodiment of the present disclosure. [Figure 25] is a signal flow diagram of a power control system according to several embodiments. DETAILED DESCRIPTION OF EMBODIMENTS

[0010] Especially in remote areas or overcrowded areas, as power supply and delivery costs increase, distributed energy resources (DER) are increasingly regarded as a viable means to reduce these costs. As more and more consumers install local power generation and / or energy storage systems (e.g., behind-the-meter), DER is rapidly gaining popularity.

[0011] There are many reasons for the rapid growth of DER, which are mainly attributed to programs and products that enable energy storage systems (ESS) to provide consumers with the ability to control the net consumption and delivery of electrical energy, and can offer utility in multiple ways.

[0012] A site may include an ESS that can enable an energy consumer to reduce or otherwise control net consumption from the energy supplier. For example, when power supply and / or delivery costs are high in a specific time period, the ESS, which may include one or more batteries or other storage devices, can generate / discharge electrical energy during high-cost periods to reduce net consumption from the supplier. Similarly, when electricity tariffs are low, the ESS can be charged to have reserve energy for use in subsequent situations as described above when supply and delivery costs are high. The ESS at the site can be utilized or obtained as a DER.

[0013] The technique of charging an ESS (e.g., of a DER) when tariffs are low and discharging it when tariffs are high can provide utility through time-of-use (ToU) supply tariff reduction, demand charge reduction, improved utilization of local power generation, and leverage of incentive operations.

[0014] ToU charges are typically predetermined in the utility company's tariff document by one or more supply rates and associated time windows. ToU charges can be calculated by multiplying the supply rate by the total amount of energy consumed during the time window. Discharging the ESS (Energy Storage System) can reduce ToU charges.

[0015] Demand charges are electricity rates based on the rate of electricity consumption (also called "demand") during a specific time window (called the "demand window"). Demand charges can be reduced by discharging the ESS (Electric Energy Storage) to lower peak demand.

[0016] To improve the use of local power generation, use ESS: (a) To support the maximization of self-consumption of renewable energy, And, (b) Reduce fluctuations in renewable energy generators, such as when clouds pass over solar PV arrays. This can be achieved by [method].

[0017] Furthermore, ESSs can be charged and discharged in a way that enhances grid stability, reduces peak load, or takes actions that can do similarly (e.g., reduce consumption or release power back into the grid), taking advantage of programs that offer consumers benefits (e.g., billing credits) or other incentives for working with their local power company.

[0018] The site may also include a generating system that can be activated to generate energy for consumption by the load center, for storage by the ESS for later consumption, and / or for returning power to the grid. For example, any of a PV system, wind farm, or fuel generator can generate electrical energy that is supplied to the load, stored by the ESS, or returned to the grid. The site's generating system may also be available or acquired as a DER (Developmental Energy Resource).

[0019] A site may include energy-consuming technologies, such as loads, that can be deactivated during peak demand periods to reduce the demand on the grid. For example, an air conditioning system can be deactivated during specific demand periods to reduce the net consumption of electricity from the grid at the site. An element of energy storage can also be utilized in this example. Specifically, an air conditioning system can be activated before the demand period to cool the space below a target temperature, thereby lowering the peak temperature that would rise in the space during the demand period when the air conditioning system is deactivated. From this example, it should be clear that anything that consumes electricity can be utilized or otherwise obtained as a DER, but not all of these will necessarily include an energy storage element like the one described with reference to the air conditioning system.

[0020] Individual DERs can provide energy consumers with a significant ability to control costs. However, this cost control ability bypasses the electric utilities or distributors (e.g., power companies) on the grid side of distribution. While electric utilities or distributors can offer incentives and other persuasive measures to encourage consumers to use DERs, it is ultimately up to consumers to decide whether to implement DERs and use them, or otherwise make them available, in a way that provides actions that help electric utilities and distributors reduce costs. For example, during "peak demand," the grid can remain unaffected by multiple DERs that are not in a state where consumers are supplying power to the grid or reducing their power consumption. Electric utilities cannot simply rely on independent DERs to cooperate and supply power on short notice to maintain grid stability.

[0021] Attempts to leverage cost reductions through DERs for the benefit of electric utilities include collaborative aggregation of DERs to provide responses to demand on the grid. Multiple DERs are connected to each other via electronic communication networks or in other ways. CollaborationBy remotely controlling them through a centralized management system, they can be operated as virtual power plants (VPPs), reducing peak customer energy demand, providing reliable energy generation to utility companies, and offsetting some of the need for more conventional power sources to meet consumer demand. Utility companies in the United States and Europe are increasingly working to validate VPPs to manage and utilize the usefulness of DERs scattered across the grid.

[0022] For example, individual sites may have a DER controlled by an optimal controller. At this site, on any given day, the optimal controller schedules the DER to optimize the total energy-related costs for a particular building or site. Now consider a group of such sites, each using an optimal controller to manage power-related costs with DERs. If this group of sites is part of a VPP group, the VPP orchestrator can request specific energy supply profiles from each site within the VPP group to achieve the aggregation target. For example, if the target is to supply 1 MWh of energy between 6pm and 7pm on a given day, and each group has 5 sites, then each site can be requested to supply 2 kWh between 6pm and 7pm. This would achieve the VPP target. However, this approach does not take into account the planned activities of each site, the size of the DER, or the expected operating costs for that particular day. For example, a site in the VPP group may already be using DERs for other services or operations, which could increase the cost of participating in additional services or operations for the VPP group. In addition, VPP group sites can have a relatively large DER compared to other sites, and therefore can have a relatively large available capacity, which means they can participate at a lower cost than other sites.

[0023] A superior approach to VPPs is one that achieves aggregation targets with the lowest total power-related costs. Such approaches are disclosed herein.

[0024] This embodiment provides an aggregation system, controller, and method that can function to economically optimize the aggregation of DERs by enabling them to take intelligent actions to utilize DERs more effectively. This disclosure includes systems and methods directed to the aggregation of distributed energy resources, and more particularly, systems and methods for the intelligent and / or automated aggregation of automatically controlled, self-optimizing distributed energy resources.

[0025] Figure 1 is a schematic diagram of a DER aggregation system 100 according to one embodiment of the present disclosure, which includes an aggregation engine 102 (or other similar system or aggregation controller) that cooperates with aggregation responses with a plurality of site controllers 104, 106, 108, each configured to control the operation of a plurality of DERs at a plurality of sites 110, 112, 114. System 100 can operate as a VPP or similar to provide aggregation responses that provide power levels for a period of aggregation opportunities, or to participate in aggregation response events in other ways. In Figure 1, the centralized aggregation engine 102 can network-connect and therefore communicate with the plurality of site controllers 104, 106, 108, each of which controls one or more DERs at one of each of sites 110, 112, 114. Sites 110, 112, 114 include a plurality of different locations. For example, site 110 may include a high-rise building, site 112 may include a single-family home, and site 114 may include a factory or other industrial location or business. Each of these sites 110, 112, and 114 includes one or more DERs, which include power storage, power generation, and / or load resources. As can be understood, any variation and amount of the DERs, or any combination thereof, is controlled by site controllers 104, 106, and 108, which communicate with the aggregation engine 102, and can participate in one or more operations (e.g., aggregation response, demand response operation) to provide aggregated changes in power (e.g., providing power generation, providing stored power, reducing power consumption by limiting or deactivating loads, etc.). The aggregation engine 102 can further communicate with the local power company 116 to receive requests for operations (e.g., requests to change the power of one or more sites) and communicate responses and / or capabilities to respond to such requests.The aggregation engine 102 can respond to power company requests to change the power supply by cooperating with multiple site controllers 104, 106, and 108 to control the DER at sites 110, 112, and 114, and provide aggregated power changes that are aligned with the power company's power target changes (for example, reducing power consumption and generating power that can be supplied to the local electrician's grid 116).

[0026] The aggregation engine 102 may include circuitry, one or more processors, and / or other computing devices for performing operations to aggregate what may be an optimized control of the DER at multiple sites 110, 112, 114. The aggregation engine 102 may further include one or more communication interfaces to facilitate communication with site controllers 104, 106, 108 and with the local utility 116. The aggregation engine 102 may receive requests for power changes or other aggregation opportunities, invitations to participate in aggregation operations or other response operations or response events. In some embodiments, requests may be received from the local utility 116. In other embodiments, requests may be present at or received by the local utility 116. Requests may specify a requested power change (at one or more sites) over a period of time. Requests may specify a benefit (e.g., an upshot) to provide the requested power change during the period. As used herein, the term “aggregate change in power” means the collective or overall change in power consumed at sites 110, 112, and 114 (e.g., net power), and may include power generation or provision (e.g., by generators and / or ESSs), reduction or cessation of power consumption (e.g., by loads), or a combination thereof. The term “target change in power” may be used herein to refer to a requested change in power, or a target change in power to achieve a requested change in power. The benefits or upshots specified by the request may be aggregation benefits (e.g., monetary or other economic incentives) received to provide the requested change in power during or over the period of the aggregation response, and / or penalties (e.g., monetary or other economic penalties) imposed or received for not providing the requested change in power over the period.

[0027] The aggregation engine 102 can transmit participation opportunity information to site controllers 104, 106, and 108 at one or more sites 110, 112, and 114 based on aggregation opportunities. The participation opportunity information may indicate one or more parameters relating to site power changes that contribute to bringing the aggregate power changes at one or more sites 110, 112, and 114 closer to the target power changes. Parameters describing a power change request may include one or more of the following: start date and time, end date and time, and request period.

[0028] Participation opportunity information can also indicate benefits related to site changes in power. To motivate larger (or smaller) participation of one or more sites 110, 112, 114, the related benefits can be adjusted upward (or downward). If participation of one or more sites 110, 112, 114 does not result in an aggregate change in power that falls within the threshold for target change in power (in order to realize an aggregation operation or in response to a request to change power otherwise), the aggregation engine 102 can modify the participation opportunity information, such as by increasing the related benefits. In contrast, if the participation of one or more sites 110, 112, 114 results in an excessive aggregation change of power that exceeds the threshold of the target change of power, the aggregation engine 102 may attempt to optimize by modifying the participation opportunity information, such as by reducing the associated benefits (for example, by minimizing or otherwise reducing the aggregation benefits provided to one or more sites 110, 112, 114).

[0029] By communicating the benefits of participating in a response operation and adjusting the benefits to adjust the response operation, the aggregation engine 102 can effectively aggregate one or more sites 110, 112, 114 into an aggregation response. The communication of benefits and the adjustment of benefits in accordance with the resulting participation generate something like a virtual market for the demand response capabilities of one or more sites 110, 112, 114 (e.g., the ability to contribute to site changes in power). In this scheme of generating a virtual market for participation in an aggregation response, the aggregation engine 102 can decide whether and how to aggregate changes in power from one or more DERs of sites 110, 112, 114 or to perform operations that realize other aggregation requests or other aggregation opportunities in order to receive a specified benefit and / or avoid any specified penalty.

[0030] In this embodiment, the aggregation engine 102 provides participation opportunity information so that one or more of sites 110, 112, and 114 can easily respond and determine the level of site power change to contribute toward the power target change indicated in the request. The aggregation engine 102 iteratively provides aggregation responses. In other words, the aggregation engine 102 iteratively transmits (and possibly coordinated) participation opportunity information to one or more of sites 110, 112, and 114 during the period of the aggregation opportunity and adjusts the aggregation response based on the implemented site power changes reported by the corresponding site controllers 104, 106, and 108.

[0031] To optimize the participation (and the collective response) of one or more of sites 110, 112, and 114, the aggregation engine 102 is configured to leverage the optimization capabilities of site controllers 104, 106, and 108 to balance the costs and benefits to sites 110, 112, and 114 associated with bearing some of the operational burden and some of the upshot. For example, site controllers 104, 106, and 108 can be configured to economically optimize the operation of the electrical systems corresponding to sites 110, 112, and 114. In performing this economic optimization, site controllers 104, 106, and 108 can take into account the benefits provided (e.g., provided by the aggregation engine 102) that are awarded for providing site-level power changes. As used herein, the term “site-level power changes” means power provision by a site (e.g., from generators and / or ESSs), a reduction or cessation of power consumption from the grid by a site (e.g., by one or more loads), or a combination thereof.

[0032] In another embodiment, the aggregation engine 102 can play a more active and central role in determining whether and how to aggregate a specified net change in power from DERs at one or more sites 110, 112, and 114 based on aggregation opportunities, or in determining whether to perform any other operation to realize the aggregation opportunity in order to receive a specified benefit and / or avoid any specified penalty. The aggregation engine 102 can determine (e.g., prior to implementation) an economically optimized response for sites 110, 112, and 114. As part of determining whether and how to perform an operation to realize an aggregation opportunity, the aggregation engine 102 can determine how to allocate the burden of operations among sites 110, 112, and 114 in an economically efficient manner. To accomplish this, the aggregation engine 102 is reconfigured to leverage the capabilities of the site controllers 104, 106, and 108 to balance the costs and benefits for sites 110, 112, and 114 associated with bearing some of the operational burden and some of the upshot. For example, site controllers 104, 106, and 108 can be configured to economically optimize the operation of the electrical systems corresponding to sites 110, 112, and 114. In performing this economic optimization, site controllers 104, 106, and 108 can take into account the benefits provided (e.g., those proposed by the aggregation engine 102) that are awarded to provide the proposed site changes in power.

[0033] The aggregation engine 102 can provide participation opportunity information to site controllers 104, 106, and 108 via a communication interface in the form of allocation information indicating the site benefits (e.g., a portion of the aggregate benefits) that site controllers 104, 106, and 108 will receive in exchange for providing site changes of power to comply with the target change of power for the aggregation opportunity. In some embodiments, the target change of power may be the minimum net change of power required to comply with or respond to the request. The participation opportunity information may take the form of allocation information when the site benefits are indicated as an allocation of the aggregate benefits. The aggregation engine 102 can determine site changes of power and corresponding site benefits based on the target (e.g., minimum net) change of power and the associated aggregate benefits for complying with the aggregation operation. In other words, the allocation information indicates to site controllers 104, 106, and 108 how much site benefit will be awarded for each unit of site change of power that they commit. To make it clear, allocation information may include separate values ​​for site power changes and site benefits, or it may simply include a single value indicating the ratio between site power changes and site benefits.

[0034] In some embodiments, the aggregation engine 102 determines the allocation information. The aggregation engine 102 provides participation opportunity information, which includes the allocation information, and one or more of sites 110, 112, and 114 readily respond to determine the level of site-specific power changes according to the allocation information. The aggregation engine 102 iterates through the aggregation response, repeatedly sending allocations to one or more of sites 110, 112, and 114 throughout the duration of the aggregation opportunity, and adjusting the allocation information (and thereby the aggregation response) based on the power implementation site changes reported by the corresponding site controllers 104, 106, and 108.

[0035] In another embodiment where the aggregation engine 102 determines the allocation information, the aggregation engine 102 can pre-poll the site controllers 104, 106, 108 by providing the allocation information of the proposal, receiving commitment information from the site controllers 104, 106, 108, and then adjusting the allocation information of the proposal based on the commitment information. If the allocation information of a successful proposal leads to a successful (e.g., optimized) proposal aggregate operation, the aggregation engine 102 can provide the site controllers 104, 106, 108 with the actual allocation information to perform the aggregate operation.

[0036] Site controllers 104, 106, and 108 can determine the economically optimal level of commitment to contribute to the target net change in power, based on their ability to economically optimize the operation of these corresponding electrical systems at these sites 110, 112, and 114. As a non-limiting example, one of site controllers 104, 106, and 108 may determine that it is most economically efficient to provide or commit to providing a site change in power that is half of the target change in power in order to receive a relatively large profit or a relatively large portion of the aggregation profit. In other words, one of site controllers 104, 106, and 108 may determine that the cost of providing half of the target change in power is less than a relatively large portion of the aggregation profit. Another of site controllers 104, 106, and 108 may determine that it is most economically efficient not to commit at all to the proposed site change in power. In other words, another site controller 104, 106, or 108 may determine that the cost of committing to providing any level of power target change at that site outweighs the local benefit. Site controllers 104, 106, or 108 may transmit site commitment information indicating the level of their commitment to contributing to power target change.

[0037] In some embodiments, commitment information can indicate how much power site variation the site controllers 104, 106, and 108 are committed to contributing to the aggregation operation over a time period. As a non-limiting example, commitment information may include site variation of power values ​​(e.g., in kWh units) which can be discrete amounts of power that a site provides or commits to providing during the time period of the aggregation operation (e.g., for part of the time period or for the entire time period). Also as a non-limiting example, commitment information may include energy generation values ​​(e.g., 100 kWh). As a further non-limiting example, commitment information may include values ​​or time variation profiles indicating site variation of power provided as power or energy per unit time that a site is providing or commits to providing. In other non-limiting examples, commitment information may also communicate as a ratio or multiplier and generation pair (e.g., 0.3, 600 kWh), where the generation value is the site variation of the proposed power in the allocation information, and the ratio or multiplier is a portion or factor of the generation value that a given site commits to providing. To make it easier to understand, other combinations of the aforementioned elements of the commitment value can be used (e.g., an allocation set including ratio, rate of change, and duration).

[0038] The aggregation engine 102 can receive commitment information from each of the site controllers 104, 106, and 108. Using the commitment information, the aggregation engine 102 can determine the aggregate change of power or the aggregation level of commitments (e.g., the sum of commitment levels) of the site controllers 104, 106, and 108, and compare this aggregate change of power or the aggregation level of commitments to a target change of power or a minimum net change of power (e.g., a given range around the minimum net change of power) to meet requirements. In some embodiments, the minimum value within a predetermined range from the net change of power may include an excess of the minimum net change of power to compensate if one or more of the site controllers 104, 106, and 108 are unable to achieve these commitment levels. Next, the aggregation engine 102 adjusts the relevant benefits (e.g., site benefits) and / or site power changes proposed to the site controllers 104, 106, and 108 in the allocation information, based on a comparison between the commitment aggregation level and the target change in power or the minimum net change in power, as necessary.

[0039] In some embodiments, the aggregation engine 102 can adjust the site profit when the aggregated power change or commitment level compared to the target power change or minimum net power change falls outside a predetermined range of the minimum net power change.

[0040] For example, if the aggregate change in power is insufficient to meet the power change request, the aggregation engine 102 can increase the site profit and send the increased site profit to the site controllers 104, 106, and 108 (e.g., in updated allocation information). Also, if the aggregate change in power is greater than the target change in power (e.g., greater than what is needed to comply with the power change request), the aggregation engine 102 can decrease the site profit and send the decreased site profit to the site controllers 104, 106, and 108. When the aggregation engine 102 sends the adjustment of the site profit to the site controllers 104, 106, and 108, the site controllers 104, 106, and 108 respond with updated commitment information, which the aggregation engine 102 compares with the target change in power. If the aggregation level of commitments is at a desired level (for example, within a predetermined range or within a threshold of target power change), the aggregation engine 102 may maintain site benefits without alteration and allow site controllers 104, 106, and 108 to proceed with executing these committed portions of the aggregation operation. In some embodiments, the aggregation engine 102 may send messages to site controllers 104, 106, and 108 instructing them to proceed with executing these committed portions of the aggregate operation.

[0041] As another example, if the commitment aggregation level is insufficient to complete the aggregation operation (e.g., smaller than a predetermined range), the aggregation engine 102 may increase the site profit (e.g., maintain the corresponding site change in power in the same way as the allocation information) and send the increased site profit to the site controllers 104, 106, and 108 (e.g., in the updated allocation information). Also, if the commitment aggregation level is greater than required (e.g., larger than a predetermined range), the aggregation engine 102 may decrease the site profit (e.g., maintain the corresponding site change in power in the same way as the allocation information) and send the decreased site profit to the site controllers 104, 106, and 108 (e.g., in the updated allocation information). When the aggregation engine 102 sends the site profit adjustment to the site controllers, the site controllers 104, 106, and 108 respond with the updated commitment information, which the aggregation engine 102 compares to the predetermined range as described above. If the commitment aggregation level is at a desired level (e.g., within a predetermined range), the aggregation engine 102 can maintain site interests without alteration and allow site controllers 104, 106, and 108 to proceed with executing these committed portions of the aggregation operation. In some embodiments, the aggregation engine 102 can send messages to site controllers 104, 106, and 108 instructing them to proceed with executing these committed portions of the aggregate operation.

[0042] In some embodiments, the aggregation engine 102 can adjust the proposed site change if the aggregation level of commitments for the minimum net change in power is outside a predetermined range of the minimum net change in power. For example, if the aggregation level of commitments is not sufficient to complete the aggregation operation (e.g., smaller than a predetermined range), the aggregation engine 102 can reduce the proposed site change in power (e.g., to maintain the corresponding site benefit the same as in the allocation information) and send the reduced site change in power to the site controllers 104, 106, 108 (e.g., in the updated allocation information). Alternatively, if the aggregate commitment level is greater than required (e.g., greater than a predetermined range), the aggregation engine 102 can increase the site change in power (e.g., to maintain the corresponding site benefit the same as in the allocation information) and send the increased site change in power to the site controllers 104, 106, 108 (e.g., in the updated allocation information). When the aggregation engine 102 transmits adjustments to the site changes of power to the site controllers 104, 106, and 108, the site controllers 104, 106, and 108 respond with updated commitment information, which the aggregation engine 102 compares to a predetermined range as described above. If the aggregation level of commitments is at a desired level (e.g., within a predetermined range), the aggregation engine 102 can maintain the site changes of power without modification and allow the site controllers 104, 106, and 108 to proceed with executing these committed portions of the aggregation operation. In some embodiments, the aggregation engine 102 can send messages to the site controllers 104, 106, and 108 instructing them to proceed with executing these committed portions of the aggregation operation.

[0043] In some situations, the appropriate level of aggregation of commitments may not be attainable without increasing site profits to a level that exceeds the aggregation benefits of the aggregation operation (which may include compliant upshots and / or non-compliant penalties). In these situations, the aggregation engine 102 may decide not to participate in the aggregation operation because the aggregation costs of participation exceed the aggregation benefits. In these situations, the aggregation engine 102 may generate compliance information confirming that the aggregation operation will not be compliant and transmit this to the local power company 116. In other words, in these situations, the aggregation engine 102 may generate compliance information indicating that the aggregation controller 102 and the corresponding site controllers 104, 106, 108 will not participate in the operation or response event and transmit this to the local electric utility 116.

[0044] In other circumstances, an appropriate aggregation level of commitments may be obtained before site profits are increased to a level that reaches the aggregation profits of the aggregation operation, resulting in a surplus of funds after distributing an appropriate amount of site profits to make a committed contribution to the net change in power. In these circumstances, the surplus can be divided among sites 110, 112, and 114 (e.g., equally, proportionally to the commitment levels of sites 110, 112, and 114, in other distribution forms, etc.). The aggregation engine 102 can also generate compliance information to confirm that the aggregation operation is compliant and transmit this to the local electricity operator 116.

[0045] The cost for any one of the site controllers 104, 106, and 108 to commit to a given portion of the minimum net change in power of the aggregate operation can differ from that of the other site controllers 104, 106, and 108. The aggregation engine 102 can rely on each of the site controllers 104, 106, and 108 to precisely optimize the economics of operating these electrical systems when committing to their respective portions of the minimum net change in power of the aggregate operation, so that the burden of the aggregation operation is optimally distributed to the site controllers 104, 106, and 108 that can contribute the most comfortably to the minimum net change in power. The point at which the aggregation engine 102 sets the price of the local profit so that the demand by the site controllers 104, 106, and 108 for a predefined unit of site change in power is equal to the minimum net change in power of the aggregate operation can be called the optimal site profit. A given range around the minimum net change in power may cause slight deviations from the exact optimal point, but this range can reduce the risk of compliance violations resulting from errors and / or slight deviations from planned performance.

[0046] In some cases, if one of the site controllers 104, 106, or 108 is obligated to bear part of the burden of the minimum net change in power for the aggregation operation, the cost may be high, potentially resulting in significant economic losses. As a specific and non-limiting example, a production facility may face contractually imposed catastrophic penalties if it fails to meet production deadlines, and if it uses its resources to participate in the aggregation operation, it may be unable to meet those deadlines. In this example, the cost of bearing the burden of the aggregation operation for the others at sites 110, 112, and 114 can be far less. Therefore, the site controllers 104, 106, and 108 at the other sites 110, 112, and 114 can commit to providing the minimum net change in power for the aggregation operation before the production facility commits, and as a result, these other site controllers 104, 106, and 108 can receive the allocation and corresponding benefits.

[0047] In one embodiment, the aggregation engine 102 in Figure 1 is a centralized and / or dedicated entity. In other embodiments, the aggregation engine 102 may be integrated into or included on a virtual machine running on multiple distributed resources (e.g., on a cloud computing system) and / or on one or more site controllers of sites 110, 112, 114.

[0048] In one embodiment, the site controllers 104, 106, and 108 in Figure 1 are local controllers located at sites 110, 112, and 114, respectively. In other embodiments, one or more of the site controllers 104, 106, and 108 are located remotely from their corresponding sites and can communicate with the electrical components of these corresponding sites 110, 112, and 114 via one or more communication networks (e.g., the Internet). In some embodiments, a single site controller can be configured to operate as a site controller for two or more sites, each site having one or more DERs that can be utilized to provide a portion of the net change in power to participate in aggregation opportunities (e.g., by storing, generating, or refraining from consuming power).

[0049] The high-rise building 110 may be an office building, an apartment building, or a facility of other multi-unit buildings. The type of building may not be important. The high-rise building 110 may include a site controller 104, a DER including an ESS 118, and a local electrical system including one or more power generating devices (e.g., generators) such as a combustion engine generator 120, a wind turbine 122, and a photovoltaic (PV) cell 124 (e.g., a solar panel). The high-rise building 110 may also include a communication line 126 for interconnecting the site controller 104 with other components (e.g., the ESS 118, the combustion engine generator 120, the wind turbine 122, and the PV cell 124). The electrical system of the high-rise building 110 will naturally include one or more electrical loads. In other words, the electrical system of the high-rise building 110 may include loads, generators, and / or ESSs in various numbers and combinations of these components. For example, an electrical system may have loads and an ESS (Electrical System Assistance), but may not have local generators (e.g., photovoltaic, wind power). An electrical system may or may not be connected to a power company's distribution system (or grid). If not connected to a power company's distribution system, it can be called "off-grid."

[0050] The ESS118 of the electrical system of a high-rise building 110 may include one or more energy storage devices and any number of power conversion devices. The power conversion devices can transfer energy between the energy storage devices and a main electrical connection, which connects to the electrical system load and, in some embodiments, to the grid. The energy storage devices may vary in various embodiments of the ESS118. A familiar example of a chemical energy storage device is a battery. For example, in one embodiment of the present disclosure, one or more electric vehicles having batteries may be connected to the electrical system (e.g., in a parking lot) and used to store energy for later use by the electrical system. A flywheel is an example of a mechanical energy storage device.

[0051] The electrical system of the high-rise building 120 can provide input to the site controller 104 via a communication line 126 in the form of information or feedback regarding the status of the building's electrical system and / or one or more components therein (e.g., loads, generators, ESS). The site controller 104 can determine one or more outputs (e.g., control variables) from the input and transmit them to one or more components of the electrical system to achieve one or more site objectives (e.g., minimizing demand (kW) over a specified time interval, minimizing demand charges (dollars) over a specified time interval, minimizing total electricity charges (dollars) from the grid, reducing demand (kW) from the grid by a specified amount during a specified time window, maximizing the lifespan of energy storage devices(s)). The site controller 104 can also receive the configuration of the electrical system (e.g., a set of setting elements) as input, which can specify one or more constraints on the electrical system. The site controller 104 can also receive external inputs (e.g., weather forecasts, variable tariffs, fuel costs, event data) that can notify the determination of the values ​​of the control variables. The set of external inputs can be received by the site controller 104. The set of external inputs can provide indications for one or more conditions outside of the site controller 104, the high-rise building 120, and / or the electrical system.

[0052] The site controller 104 can receive allocation information for aggregation opportunities from the aggregation engine 102, and the allocation information can be processed as an input and / or external input. The site controller 104 can determine the output for efficient operation of the electrical system taking the allocation information into account by considering the cost of providing site changes in power and the associated site benefits of the proposal. The site controller 104 can then provide commitment information to the aggregation engine 102 indicating the level of commitment of the site controller 104, and can provide site changes in power toward the minimum net change in power of the aggregation opportunity.

[0053] A detached house 112 may be similar to a high-rise building 110 and have similar or different combinations of components as part of the electrical system of the house 112. The house 112 may include a local electrical system that includes one or more power generating devices (e.g., generators) such as a site controller 106, an ESS 128, and a combustion engine generator 130, and PV cells 132 (e.g., solar panels). The house 112 may also include a communication line 134 for interconnecting the site controller 106 with the other components (e.g., the ESS 128, the combustion engine generator 130, and the PV cells 132).

[0054] The electrical system of the house 112 can provide the site controller 106 with input in the form of information or feedback regarding the status of the electrical system and / or one or more of its components (e.g., loads, generators, ESS) via the communication line 134. The site controller 106 can determine one or more outputs (e.g., control variables) from the inputs and transmit them to one or more components of the electrical system, thereby achieving one or more purposes, similar to the site controller 104 of the high-rise building 110. The site controller 106 can also receive the configuration of the electrical system (e.g., a set of components) as input, which can specify one or more constraints on the electrical system. The site controller 106 can receive external inputs (e.g., weather forecasts, variable tariffs, fuel costs, event data) that can notify the determination of the values ​​of the control variables. A set of external inputs can be received by the site controller 106. A set of external inputs can provide indications of one or more conditions outside of the site controller 106 and the electrical system of the house 112.

[0055] The site controller 106 can receive allocation information for aggregation opportunities from the aggregation engine 102, and the allocation information can be processed as an input and / or external input. The site controller 106 can determine the output for efficient operation of the electrical system taking the allocation information into account by considering the cost of providing site changes in power and the associated site benefits of the proposal. The site controller 106 can then provide commitment information to the aggregation engine 102 indicating the level of commitment of the site controller 106, and can provide site changes in power toward the minimum net change in power of the aggregation opportunity.

[0056] Factory 114 may be analogous to a high-rise building 110 and / or residence 112 and have similar or different combinations of components as part of an electrical system. Factory 114 may include a local electrical system including one or more power generating devices (e.g., generators) such as a site controller 108, an ESS 136, and a combustion engine generator 138, a wind turbine 140, and / or PV cells 142 (e.g., solar panels). Factory 114 may also include a communication line 144 for interconnecting the site controller 108 with the other components (e.g., the ESS 136, the combustion engine generator 138, the wind turbine 140, and the PV cells 142).

[0057] The electrical system of Plant 114 can provide input to the site controller 108 via the communication line 144 in the form of information or feedback regarding the status of the electrical system and / or one or more of its components (e.g., loads, generators, DER including ESS). The site controller 108 can determine one or more outputs (e.g., control variables) from the inputs and transmit them to one or more components of the electrical system to achieve one or more purposes. The site controller 108 can also receive the configuration of the electrical system (e.g., a set of components) as input, which can specify one or more constraints on the electrical system. The site controller 108 can also receive external inputs (e.g., weather forecasts, variable tariffs, fuel costs, event data) that can notify the determination of the values ​​of the control variables. A set of external inputs can be received by the site controller 108. A set of external inputs can provide indications of one or more conditions outside of the site controller 108 and the electrical system of Plant 114.

[0058] The site controller 108 can receive allocation information for aggregation opportunities from the aggregation engine 102, and the allocation information can be processed as an input and / or external input. The site controller 108 can determine the output for efficient operation of the electrical system taking the allocation information into account by considering the cost of providing site changes in power and the associated site benefits of the proposal. The site controller 108 can then provide commitment information to the aggregation engine 102 indicating the level of commitment of the site controller 108, and can provide site changes in power toward the minimum net change in power of the aggregation opportunity.

[0059] Figure 2 is a block diagram of an aggregation engine 202 (e.g., a centralized optimization engine) according to one embodiment of the present disclosure. The aggregation engine 202 can perform similar operations and / or provide similar functions, identical or similar to the aggregation engine 102 in Figure 1. For example, the aggregation engine 202 can perform operations to generate aggregated changes in power, such as coordinating multiple site controllers 216 (e.g., site controllers 104, 106, and 108 in Figure 1) to provide demand responses. The aggregation engine 202 can receive aggregation opportunity information (e.g., from a utility company 218) for aggregation opportunities to participate in response events. In one embodiment, an aggregation opportunity may include parameters describing a request to change the power of one or more sites, including a target change in power to comply with the request.

[0060] The aggregation engine 202 can determine participation opportunity information based on aggregation opportunity information and commitment information received from multiple site controllers 216. The participation opportunity information indicates one or more parameters related to site changes in power that contribute to bringing the aggregated power change closer to the target power change. The aggregation engine 202 repeatedly sends participation information to multiple site controllers and receives commitment information from multiple site controllers until the aggregated power change falls within the threshold of the target power change. Based on the commitment information, it can appropriately modify the participation opportunity information to achieve the target power change with the minimum total benefit to the site in order to comply with the requirements. The commitment information from each of the multiple site controllers can indicate the level of site change in power that contributes to bringing the aggregated power change closer to the target power change.

[0061] In one embodiment, the aggregation engine 202 can transmit participation opportunity information, including allocation information, to multiple site controllers. The allocation information may indicate site benefits for providing allocated site changes of power toward compliance with the target change of power for the aggregate operation (e.g., minimum net change of power). Based on the aggregation opportunity information and commitment information received from the multiple site controllers 216, the aggregation engine 202 can decide whether to aggregate site changes of power from the multiple site controllers 216 to benefit (e.g., as indicated in the aggregation opportunity information) and / or avoid any designated penalties, or to perform a response operation to realize the aggregation opportunity (e.g., allocating all of the net change of power that realizes the aggregation opportunity to one of the sites). With the assistance of the multiple site controllers 216, the aggregation engine 202 can determine an economically optimized response (e.g., an operation) to the multiple site controllers 216 and communicate commands, instructions, and / or other data to the multiple site controllers 216 via the communication network 212.

[0062] The aggregation engine 202 in Figure 2 includes one or more processors 204, an input / output (I / O) interface 206, a network or other communication (COM) interface 208, memory 210 and / or other computer-readable storage media, and a system bus 230.

[0063] One or more processors 204 may include one or more general-purpose devices such as Intel®, AMD®, or other standard microprocessors. One or more processors 204 may include application-specific processing devices such as application-specific integrated circuits (ASICs), system-on-chip, system-in-package (SiP), field-programmable gate arrays (FPGAs), programmable array logic (PALs), programmable logic arrays (PLAs), field-programmable logic arrays (FPLAs), programmable logic devices (PLDs), or other customized or programmable devices. One or more processors 204 perform distributed (e.g., parallel) processing to perform or otherwise implement the functions of this embodiment. One or more processors 204 can run a standard operating system and perform standard operating system functions. For example, it is recognized that any standard operating system can be used, such as Microsoft® Windows®, Apple® macOS®, Disk Operating System (DOS), UNIX®, IRJX, Solaris, SunOS, FreeBSD, Linux®, ffiM® OS / 2® operating systems, and similar systems.

[0064] The I / O interface 206 can facilitate interfacing with one or more input devices and / or one or more output devices. Input devices may include keyboards, mice, touchscreens, light pens, tablets, microphones, sensors, or other hardware with firmware and / or software. Output devices may include monitors or other displays, printers, speech or text synthesis devices, switches, signal lines, or other hardware with firmware and / or software.

[0065] The network / COM interface 208 can facilitate communication with other computing devices 214 and / or network 212, such as the Internet and / or other computing and / or communication networks. The network / COM interface 208 can have conventional network connectivity such as Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Data Link Interface (FDDI), or Asynchronous Transfer Mode (ATM). Furthermore, the network / COM interface 208 can be configured to support various network protocols such as Internet Protocol (IP), Transport Control Protocol (TCP), Network File System over UDP / TCP, Server Message Block (SMB), Microsoft® Common Internet File System (CIFS), Hypertext Transfer Protocol (HTTP), Direct Access File System (DAFS), Real-Time Publish Subscribe (RTPS), Open Systems Interconnection (OSI) protocol, Simple Mail Transfer Protocol (SMTP), Secure Shell (SSH), Secure Sockets Layer (SSL), and similar.

[0066] The system bus 230 can facilitate communication and / or interaction between other components of the system, including one or more processors 204, memory 210, I / O interface 206, and network / COM interface 208.

[0067] The memory 210 may include, but is not limited to, static read-only memory (RAM), dynamic RAM, flash memory, one or more flip-flops, read-only memory (ROM), electrically programmable ROM (EPROM), CD-ROM, DVD, disk, tape, or magnetic, optical, or other computer storage media. The memory 210 may also include a plurality of program modules 220 and program data 232.

[0068] The program module 220 may include all or some of the other elements of the aggregation engine 202. The program module 220 can execute multiple operations simultaneously or in parallel by or on one or more processors 204, or on one or more processors 204. In some embodiments, parts of the disclosed modules, components, and / or equipment are embodied as executable instructions embodied in hardware or firmware, or stored in a non-temporary machine-readable storage medium. The instructions may include computer program code that, when executed by a processor and / or computing device, causes a computing system to perform specific processing steps, procedures, and / or operations, as disclosed herein. The modules, components, and / or equipment disclosed herein may be implemented and / or embodied as drivers, libraries, interfaces, APIs, FPGA configuration data, firmware (e.g., stored in EEPROM), and / or similar. In some embodiments, some of the modules, components, and / or equipment disclosed herein are embodied as mechanical components such as general-purpose and / or application-specific devices, including but not limited to circuits, integrated circuits, processing components, interface components, hardware controllers, storage controllers, programmable hardware, FPGAs, ASICs, and / or similar. Accordingly, the modules disclosed herein may be referred to as controllers, layers, services, engines, equipment, drivers, circuits, and / or similar.

[0069] The system memory 210 can also contain data 232. Data generated by the aggregation engine 202, such as program modules 220 or other modules, can be stored in the system memory 210, for example, as stored program data 232. The stored program data 232 can be configured as one or more databases.

[0070] Module 220 may include an optimization engine 222, a polling engine 224, a distribution engine 226, and a forecaster 228.

[0071] In one embodiment, the optimization engine 222 can determine participation opportunity information in order to collaborate (or optimize) the aggregation response to an aggregation opportunity. The optimization engine 222 can determine participation information based on aggregation opportunity information and commitment information received from a plurality of site controllers 216. The participation opportunity information indicates one or more parameters relating to site changes in power that contribute to bringing the power aggregation change closer to the target change in power. The participation opportunity information also indicates the relevant benefit to the site change in power. The optimization engine 222 can iteratively determine the participation information and then adjust the participation information based on feedback from the plurality of site controllers 216 in the commitment information. The optimization engine 222 can iteratively improve the participation opportunity information until the power aggregation change falls within the threshold of the target change in power.

[0072] In another embodiment, the optimization engine 222 can work with multiple site controllers 216 to determine whether and how to participate in an aggregation opportunity. An aggregation opportunity can be an opportunity to participate in a demand response event. In other words, the aggregation engine 202 can determine, based on commitment information provided by the multiple site controllers 216, whether to perform an operation to aggregate the multiple site controllers 216 to provide a requested net change in power or energy (e.g., generation or reduction of the requested power or energy level in consumption) according to the aggregation opportunity. In one embodiment, the requested net change in power can be an amount relative to a baseline (e.g., non-participation) level. In another embodiment, the requested net change in power can be an amount relative to an expected level. To determine whether and how to participate in an aggregation opportunity, the optimization engine 222 can determine allocation information and, essentially, test the economics of the allocation information with the multiple site controllers 216 to learn how to adjust the allocation information based on the commitment information received from the multiple site controllers 216 toward the optimal implementation or non-participation in the aggregation opportunity. Furthermore, the allocation information defines the proposed site benefit awarded to multiple site controllers 216 for providing site changes of power proposals toward realizing aggregation opportunities. The allocation information may have one or more associated numerical values. As a first example, the allocation information may specify a site change value of power proposals, which indicates a certain amount of site change of power to be provided during a specific period, and a corresponding site benefit value, which indicates the benefit (e.g., in dollars) for providing site changes of power proposals. Alternatively, as another example, the allocation information may specify a ratio value indicating the site benefit per unit of site change of power over a specified period (e.g., dollars / kW) or the site change of power per unit benefit (e.g., kW / dollar). The allocation information may also specify multiple periods and allocation information corresponding to each period (e.g., time-varying allocation information).

[0073] Determining allocation information may include determining initial allocation information. In some embodiments, determining initial allocation information includes generating random initial values ​​for proposed site changes of proposed site benefits and corresponding power, or random initial values ​​for proposed ratios between site benefits and power changes. The optimization engine 222 can then use a steepest descent algorithm to converge to optimal allocation information. In some embodiments, initial allocation information may be determined to be the average of previously averaged optimal allocation information, in other words, the average of previously observed optimal allocation information. The optimization engine 222 may update the previously averaged optimal allocation information by calculating a weighted average between the previously observed optimal allocation information and the current optimal allocation information (for example, previously observed optimal allocation information may be weighted more heavily than the current optimal allocation information to prevent non-repeated artifacts of the current optimal allocation information from having an excessive impact on the updated previously averaged optimal allocation information). In some embodiments, the optimization engine 222 can use random variables (e.g., based on historical observations of optimal allocation information) to model the probability distribution of optimal allocation information and determine that the initial optimal allocation is the expected value of the optimal allocation information. The optimization engine 222's decision can, in part, be based on external conditions (e.g., external data 236). The optimization engine 222 can also consider previously determined and proposed allocation information (e.g., allocation information 238) and / or the values ​​of decision variables (e.g., decision variables 240). The optimization engine 222 can consider historical data (e.g., historical observations 244) to take into account the overall surrounding circumstances and the set of allocation information previously determined to be effective for optimization.

[0074] The optimization engine 222 can determine how close the initial allocation information is to the optimal by polling the site controller 216 for initial allocation information. The optimization engine 222 can provide the polling function using the polling engine 224 or by other means. According to the optimization algorithm, the optimization engine 222 can iteratively poll the site controller 216 to find an optimized value or set of values. During repeated polling, the proposed allocation information can be iteratively provided to the site controller 216 until the desired level of commitment is achieved. Similar results to iterative polling can be obtained by providing the site controller 216 with a set of multiple allocation information values ​​and receiving multiple commitment values ​​corresponding to the set of multiple allocation information values ​​returned from the site controller 216. The optimization engine 222 utilizes the polling engine 224 to iteratively poll each given site controller for commitment information (e.g., committed site change in power) and can adjust the allocation information based on the commitment information until the aggregation commitment of the multiple site controllers 216 falls within a predetermined range around the minimum net change in power of the aggregation opportunity. If the aggregation commitment of the multiple site controllers 216, as indicated by the commitment information, is smaller than the predetermined range around the minimum net change in power, the optimization engine 222 increases the ratio between the proposed site profit and the proposed site change in power. However, if the aggregation commitment of the multiple site controllers 216 is larger than the predetermined range around the minimum net change in power, the optimization engine 222 decreases the ratio between the proposed site profit and the proposed site change in power. In embodiments where the allocation information includes values ​​for the proposed site profit and the proposed site change in power, the increase or decrease in the ratio between the proposed site profit and the proposed site change in power can be achieved by adjusting the proposed site profit, the proposed site change in power, or both.In embodiments where the allocation information includes the value of the ratio itself, an increase or decrease in the ratio between the proposed site benefit and the proposed site change in power can be achieved by adjusting the value of the ratio itself. In this way, the optimization engine 222 can use control theory (e.g., model predictive control) to control the aggregation commitments of the multiple site controllers 216 so that they fall within a predetermined range around the minimum net change in power of the aggregation opportunity.

[0075] In some embodiments, an aggregation opportunity may offer multiple different levels of participation. As a non-limiting example, an aggregation opportunity may include two levels of aggregation opportunities. In the two-level example, the aggregation engine 202 may receive aggregation opportunity information from the power company 218, and the aggregation opportunity information may indicate a first level minimum net change of power, a corresponding first-level aggregation benefit for compliance with the first-level minimum net change of power, and / or a first-level penalty for non-compliance with the first-level minimum net change of power. The aggregation opportunity information may also indicate a second level minimum net change of power, a corresponding second-level aggregation benefit for compliance with the second-level minimum net change of power, and / or a second-level penalty for non-compliance with the second-level minimum net change of power. One way the optimization engine 222 can process the allocation information in this two-level example is to include multiple levels of aggregation information (e.g., first-level aggregation information aiming for compliance with the first level and second-level aggregation information aiming for compliance with the second level). Each of the multiple site controllers 216 can then respond to two levels of commitment information (e.g., a first-level commitment corresponding to the first-level allocation information and a second-level commitment corresponding to the second-level allocation information). The optimization engine 222 can use the polling engine 224 to poll the multiple site controllers 216 for multiple different variations of the two-level allocation information and converge to an optimal value for both the first and second levels of allocation information. The optimization engine 222 can compare the overall economies of compliance with first and second levels of aggregation opportunities and select a more beneficial compliance level (for example, a level that results in a larger surplus of the corresponding aggregation profit after the site profits have been distributed to multiple site controllers 216 based on these commitments to provide site changes of power proposals and site profits of the corresponding proposals).It should be understood that this two-level example can be extended to any number of levels, including three, four, ten, and N levels of aggregation opportunities (where N is any positive integer).

[0076] The commitment information returned by each of the multiple site controllers 216 can be determined by each of the multiple site controllers 216, taking into account any incentive, reward payment, or other incentive applicable to a given site controller, separate from the site benefits of the aggregation opportunity. Thus, the aggregation opportunity may compete with other opportunities offered to the multiple site controllers 216.

[0077] Tables 1-3 below show the values ​​of allocation information, commitment information, aggregation commitment, and aggregation cost for three exemplary embodiments of the present disclosure when multiple allocation information sets are repeatedly polled or provided. The examples in Tables 1-3 illustrate various ways in which the allocation information may be varied to obtain optimal allocation information. In Tables 1-3, while the allocation is varied in various ways, it will be found that the optimization shown by each of Tables 1-3 is equivalent to that of the others in the table. Each row in Tables 1-3 represents a separate proposal by the aggregation engine 202 for the allocation information and the corresponding commitment information received in response from multiple site controllers 216 (e.g., for Site A, Site B, and Site C). Each row in Tables 1-3 also shows the aggregation commitment for Site A, Site B, and Site C (the sum of the commitment information for each of Site A, Site B, and Site C), and the aggregation cost to provide the proposed site benefits to Site A, Site B, and Site C based on the commitment information.

[0078] Tables 1-3 illustrate examples of optimizing aggregation opportunities with a minimum net power change of 6 MW and a corresponding aggregation benefit of $30,000. In each of these examples, allocation information is modified until the aggregation commitments of the multiple site controllers 216 fall within a predetermined range around the minimum net power change. In the embodiments of Tables 1-3, the predetermined range around the minimum net power change is selected as 6.50 MW to 6.75 MW (leaving a buffer of at least 0.5 MW between the lowest value of the predetermined range and the minimum net power change of the aggregation operation to compensate for any slight underperformance in providing committed site changes of power).

[0079] TIFF0007936731000001.tif57159 Table 1

[0080] Table 1 shows that the allocation information includes the site change for the proposed power and the site benefit for providing the site change for the proposed power. In this example, the site benefit for the proposed power is varied while keeping the site change for the proposed power constant (e.g., row by row) in order to find the optimal allocation information. As shown in Table 1, the aggregation engine 202 can generate initial allocation information that includes an initial proposed site benefit value of $1,000 and an initial proposed site change of 1 MW of power. In response, the multiple site controllers 216 (e.g., site controllers for sites A, B, and C) provide the aggregation engine 202 with commitment information indicating that site A commits to providing a site change of 1 MW of power, site B commits to providing a site change of 2 MW of power, and site C commits not to providing a site change of power for the initial proposed allocation information. The corresponding aggregation commitment is 3 MW (equivalent to an aggregation cost of $3,000), which is smaller than the predetermined range around the minimum net change in power (6,500 MW to 6,750 MW). As a result, aggregation engine 202 increases the proposed site benefit to $4,000 for a site change of 1 MW of power (second row of Table 1). In response, Site A commits 3 MW, Site B commits 5 MW, and Site C commits 2 MW. The corresponding aggregation commitment is 10 MW (equivalent to an aggregation cost of $40,000), which is above the predetermined range. As a result, aggregation engine 202 decreases the proposed site benefit to $2,500 for a site change of 1 MW of power (third row of Table 1). In response, Site A commits 2 MW, Site B commits 3 MW, and Site C commits 1 MW. The corresponding aggregation commitment is 6MW (equivalent to an aggregation cost of $15,000).

[0081] This aggregation commitment is equal to the minimum net change in power of the aggregation opportunity (and therefore corresponds to true optimal allocation information), but because the aggregation commitment is smaller than the given range (allowing the site to have a buffer shortfall for that commitment), the aggregation engine 202 increases the proposed site benefit. The aggregation engine 202 increases the proposed site benefit to $3,000 for a 1 MW change in power site (row 4 of Table 1). In contrast, Site A commits 2.3 MW, Site B commits 3.5 MW, and Site C commits 1.2 MW. The corresponding aggregation commitment is 7 MW (equivalent to an aggregation cost of $21,000), which is beyond the given range. As a result, the aggregation engine 202 decreases the proposed site aggregation benefit to $2,750 for a 1 MW change in power site (row 5 of Table 1). In response, Site A commits to 2.15 MW, Site B to 3.25 MW, and Site C to 1.1 MW. The corresponding aggregation commitment is 6.5 MW (equivalent to an aggregation cost of $17,875), which is within the given range. Since the aggregation commitment is within the given range, the aggregation engine 202 determines whether the corresponding aggregation cost is less than the aggregation benefit of the aggregation opportunity (in this case, $30,000). Since the aggregation cost of $17,875 is less than the aggregation benefit of $30,000, the aggregation opportunity is fitted, resulting in an estimated surplus of approximately $12,125. This surplus can be distributed to each site.

[0082] TIFF0007936731000002.tif57159 Table 2

[0083] Table 2 is the same as Table 1, except that the site change in power was varied and the site profit was kept constant in order to determine the optimal allocation information.

[0084] TIFF0007936731000003.tif57159 Table 3

[0085] Table 3 is similar to Tables 1 and 2, except that the allocation information includes the proposed ratio of site profits to site changes in electricity.

[0086] As is evident from Tables 1-3, regardless of how the allocation information is changed, similar or identical solutions for optimizing the allocation information can be achieved by changing the proposed site benefit, changing the proposed site change of power, the proposed ratio between site benefit and site change of power, or a combination thereof. Changing the allocation information, regardless of the method, adjusts the proposed site benefit to some amount of site change of power, which is used to evaluate the economics of multiple site controllers 216 committing to providing site change of power toward contributing to the minimum net change of power for aggregation opportunities.

[0087] The optimization engine 222 can decide whether to participate in an aggregation opportunity by comparing the aggregation benefit specified in the aggregation opportunity (e.g., specified in the aggregation opportunity information) with the aggregation cost of providing the proposed site benefit to the total site change of the power commits of one or more site controllers, as indicated in the commitment information. The aggregation cost may include the sum of the committed site changes of power of multiple site controllers 216 multiplied by the ratio of the proposed site benefit to the proposed site change of power. The aggregation benefit for following an aggregation opportunity may include either or both of the benefits for participating in the aggregation opportunity (e.g., economic benefits) and / or penalties for not participating in the aggregation opportunity (e.g., economic penalties). For example, the aggregation benefit may be a rate reduction, statement credit, or payment or other tangible benefit. The aggregation benefit may also be a function of power level generation (e.g., actual power level generation) above either the baseline (e.g., participation) level and / or the expected level. Aggregation profits can be a function of the required power level generation (for example, as required by the aggregation opportunity). Aggregation profits may also take into account any incentives, rewards, or other incentives applicable to individual sites, in addition to the incentives specified by the aggregation opportunity.

[0088] Multiple site controllers 216 can self-determine which of the multiple site controllers 216 will contribute to an aggregation operation in response to an aggregation opportunity. Site participation in an operation compliant with an aggregation opportunity may include providing at least a portion of the requested minimum net change in power for at least a portion of the duration of the aggregation opportunity. Generating or otherwise providing a portion of the requested net change in power may include reducing power consumption (e.g., through control of loads, generators, or batteries). Alternatively or additionally, generating or otherwise providing a portion of the requested change in power may include initial power generation (e.g., via generators, photovoltaic panels, etc.).

[0089] In some embodiments, once a decision is made to participate in an aggregation opportunity, the optimization engine 222 can provide instructions to the multiple site controllers 216 to proceed with the committed site changes in power. For example, the optimization engine 222 can send a command to the multiple site controllers 216 via the network / COM interface 208 to schedule participation in the aggregation opportunity. As another example, the optimization engine 222 can simply allow the multiple site controllers 216 to control their DER operation during the duration of the aggregation opportunity without providing any commands.

[0090] To make it clearer, in other embodiments, some or all of the functions of the optimization engine 222 may be provided by additional modules 220 or submodules of the aggregation engine 202. The optimization engine 222 can orchestrate and organize the other modules 220 to perform operations for aggregating power from multiple site controllers 216.

[0091] The polling engine 224 can poll each of the multiple site controllers 216 via the network / COM interface 208 to query the level of commitment of a given site controller 216 participating in an aggregation opportunity based on allocation information. In some embodiments, polling each site controller 216 may include providing allocation information and then receiving commitment information from the site controller 216, which is derived based on the optimization of the expected operation of the site controller 216 during the time period of the aggregation operation. For example, polling each site controller 216 may include providing proposed allocation information and then receiving commitment information (e.g., committed power level values) from the site controller 216. The optimization performed by the corresponding site controller 216 may also take into account any incentives, rewards, or other incentives applicable to the individual site controller 216, in addition to the site benefits specified by the allocation information.

[0092] The polling engine 224 can poll multiple site controllers 216 by polling the corresponding site controllers 216 for multiple sites. Each site may include a site controller 216 capable of optimizing the operation of one or more DERs for the corresponding site. Accordingly, a site controller 216 for a given site may generate and provide commitment information that returns to the polling engine 224 in response to allocation information. The polling engine 224 polls the site controllers 216 to query the commitment level of the site controller 216 to contribute to the minimum net change in power of the aggregation opportunity. The site controller 216 for a site may be on-site (e.g., located in close proximity to the site) or may be located remotely from the site, such as in a cloud-based computing environment or other remote server for servicing or otherwise controlling the site's DER.

[0093] The allocation engine 226 can determine rules, parameters, control variables, or similar to create allocation information to show the site controller 216 the proposed site benefits and the period for which the site controller 216 will participate in the aggregation opportunity, in order to provide site changes for the proposed power. The period may be all or part of the period of the aggregation opportunity. In other words, the period shown in the allocation information may be a portion of the entire period of the aggregation opportunity. Since other site controllers 216 of multiple site controllers 216 can process power generation or reduction during other parts of the period of the aggregation opportunity, the allocation engine 226 may determine that a given site controller 216 is only needed for a portion of the entire period of the aggregation opportunity.

[0094] Allocation information includes a representation of the proposed site benefit offered for the proposed amount of site change in power. This may include a proposed dollar amount for the proposed site benefit and a separate amount for the proposed energy or power value for the proposed site change in power. In some embodiments, aggregation information includes a representation of the power generation in terms of participation benefit, such as a unit value per unit power (e.g., a dollar ($) value per unit power -- $ / kW). In other words, a set of engagement rules can represent the amount of power generated in terms of providing participation benefit (e.g., "pay $40 for every kW generated, produced, stored, or otherwise provided to the grid during the period of the aggregation opportunity").

[0095] In some embodiments, the polling engine 224 can transmit different allocation information to one or more of the multiple site controllers 216 than is transmitted to the others. This can be useful when the aggregator has different compensation agreements with each site. For example, one site might receive a $0.50 per kWh offer for participation, while another site might receive a $0.30 per kWh offer for participation.

[0096] The distribution engine 226 can receive commitment information from multiple site controllers 216. The commitment information may include a display of the committed site change (e.g., power generation or reduction) of power that each of the multiple site controllers 216 is committed to providing, which can be specified in power units (e.g., kW) or energy units (e.g., kWh).

[0097] The distribution engine 226 can determine committed site changes in power values ​​for each given site controller 216. The distribution engine 226's determination may be based on commitment information 242 received from multiple site controllers 216.

[0098] The data 232 stored in memory 210 may include configuration data 234, external data 236, allocation information 238, decision variables 240, commitment information 242, and / or historical observation values ​​244.

[0099] Configuration data 234 can be received from each of the multiple site controllers 216 to communicate constraints and characteristics of the multiple site controllers 216. For example, data 232 can communicate the size or other capacity information of one or more batteries in the energy storage system of the site controller 216. Configuration data 234 can include tariff information for a given site controller 216 and can provide usage rate and / or demand rate for any given day and / or hour. In some embodiments, configuration data 234 can include market data (e.g., data related to changes in profit for participation). In some embodiments, configuration data 234 can include information indicating historical distribution system loads to help the optimizer determine when an aggregation opportunity event may be invoked before the call. Module 220 can include a forecaster 228 configured to predict and initiate planning for aggregation opportunities before they are invoked.

[0100] External data 244 may include information such as weather forecasts, variable tariffs, fuel costs, event data, and market values ​​of resources (e.g., costs of site components such as batteries), which may inform or influence the determination of the proposed set of allocation information and / or the values ​​of the decision variables.

[0101] The allocation information 238, decision variables 240, and commitment information 242 can be records of previously proposed values ​​and / or final values, determined by the optimization engine 222, polling engine 224, and / or allocation engine 226 and recorded in memory 210.

[0102] Commitment information 242 can be a value returned to the aggregation engine 202 by multiple site controllers 216. Commitment information 242 may include information indicating the level of commitment of the site controllers 216 to contribute site changes in power toward the minimum net change in power of an aggregation opportunity. For example, commitment information 242 may include one or more power or energy values ​​(e.g., one or more periods between aggregation opportunities). Commitment information 242 can be referenced or otherwise utilized by one or more of the optimization engine 222, the polling engine 224, and / or the allocation engine 226.

[0103] The historical observations 244 can be continuously recorded and stored in memory 210 to notify future optimization and / or aggregation information and the values ​​of the decision variables 240.

[0104] To make it clear, the aggregation engine 202 can store other types of data 232 in memory 210. Other types of data 232 can be generated and / or utilized by the optimization engine 222, the polling engine 224, and the allocation engine 226.

[0105] The aggregation engine 202, or a combination of components of the aggregation engine 202, can receive aggregation opportunities (e.g., demand response calls to participate in aggregation opportunities) from, for example, a power company 218. An aggregation opportunity may specify the minimum net change in power to be provided over a certain period (future). An aggregation opportunity may also specify an aggregation benefit to provide the requested net change in power during this period. The aggregation engine 202 can poll each of the multiple site controllers 216 to indicate the site benefit of a proposal to provide a proposed site change in power toward providing the minimum net change in power. The aggregation engine 202 receives commitment information from the multiple site controllers 216 via the network / COM interface 208. After one or more polls, the aggregation engine 202 can decide whether to participate in an aggregation opportunity based on the commitment information, allocation information, minimum net change in power, and aggregation benefit.

[0106] The aggregation engine 202 can also determine, based on commitment information, allocation information, minimum net change in power, and aggregation profit, whether and how the aggregation profit received for participating in the aggregation opportunity can be divided or otherwise distributed among the multiple site controllers 216 in exchange for the participation of the multiple site controllers 216. According to one embodiment, the aggregation engine 202 can distribute the aggregate profit in proportion to the proportion of power generated by the sites to the requested total power.

[0107] Figure 3 is a flowchart of Method 300 for aggregating DER contributions from multiple different sites toward compliance with an aggregation operation, according to several embodiments. Method 300 includes receiving aggregation opportunity information from an aggregation engine (e.g., from a utility company) that indicates aggregation benefits that provide a target net change in power and a minimum net change in power for the time period of the aggregation operation. Method 300 also includes determining participation opportunity information that indicates site benefits for providing site changes in power. Method 300 further includes providing participation opportunity information to site controllers at multiple different sites in 306. The site controllers weight the costs and benefits (e.g., proposed site benefits) that provide a level or amount of site changes in power toward contributing to the target change in power and determine the site changes in power that the site controllers are committed to providing. The site controllers transmit the site changes in power with commitment information to the aggregation engine.

[0108] Method 300 includes, in the aggregation engine, step 308, receiving commitment information from a site controller, and step 310, comparing the aggregate change in power with the target change in power of the aggregation opportunity. If the aggregation commitment is smaller than a predetermined range, Method 300 includes step 312, determining whether the composite site benefit is greater than or equal to the aggregate benefit of the aggregation opportunity information, based on the site benefit of the proposed participation opportunity information and the commitment information. If the composite site benefit is greater than or equal to the aggregate benefit, Method 300 includes step 318, transmitting compliance information (e.g., to the utility company) indicating that the aggregation operation will not be complied with. This non-compliance is due to the cost of compliance exceeding the aggregate benefit of the aggregation operation.

[0109] If step 312, which determines whether the composite site profit is greater than or equal to the aggregation profit, reveals that the composite site profit is less than the aggregation profit, the method 300 includes step 314, which updates the participation opportunity information by increasing the site profit; step 306, which provides the updated participation opportunity information to the site controller; step 308, which receives commitment information from the site controller based on the updated participation opportunity information; and step 310, which compares the aggregation commitment to a predetermined range around a minimum net change in the power of the aggregation opportunity.

[0110] If the aggregation commitment is greater than a predetermined range, the method 300 includes the steps of updating participation opportunity information by reducing site profits, providing the updated participation opportunity information to a site controller, receiving commitment information from the site controller based on the updated participation opportunity information, and comparing the aggregation commitment to a predetermined range around a minimum net change in the power of the aggregation opportunity.

[0111] If the aggregation commitment is within a predetermined range, method 300 includes a step 320 of transmitting compliance information (e.g., to a utility company) indicating that the aggregation operation will be complied with.

[0112] Figure 4 is a flowchart of Method 400 for aggregating DER contributions at multiple different sites toward compliance with aggregation operations, according to several embodiments. Method 400 includes participation opportunity information, which is allocation information, and is similar to Method 300 in Figure 3, except that Method 400 includes steps 402, 404 to update the allocation information by decreasing or increasing the site change in power, rather than updating the participation opportunity information 314, 316 by increasing or decreasing the site profits, as discussed with reference to Figure 3. As described above with reference to Tables 1-3 above, methods in which the allocation information is updated by changing the site profit, changing the site change in power proposals, changing both the site profit and the site change in power proposals, or changing a certain ratio between the site profit and the site change in power proposals do not change the optimization. In other words, the same optimization will be achieved by using Method 300 in Figure 3, Method 400 in Figure 4, or any other method of updating the allocation information in other ways.

[0113] Distributed energy resources and their local control

[0114] Figure 5 is a block diagram illustrating the system architecture of Site 500 according to one embodiment of the present disclosure. Figure 5 also provides a control diagram of Site 500 according to one embodiment of the present disclosure. In other words, Figure 5 is a representative diagram of the system architecture of Site 500, including a Site Controller 504, according to one embodiment. Site 500 comprises an electrical system 506 controlled by the Site Controller 504. The electrical system 506 includes a DER which comprises one or more loads 508, one or more generators 510 and one or more energy storage systems (ESS) 512. The electrical system 506 is coupled to the electric company distribution system 514 and can therefore be considered on-grid. Similar electrical systems exist in other applications, such as solar power plants, off-grid buildings, and so on.

[0115] In the schematic diagram of Figure 5, the site controller 504 is shown on the left, and the electrical system 506, sometimes called the "plant," is shown on the right. The aggregation engine 502 interconnects with the site controller 504 and the power company distribution system 514 at site 500, allowing the aggregation engine 502 to receive aggregation opportunities from the power company distribution system 514 and communicate with the site controller 504 at site 500 to cooperate in the operation of aggregation opportunities. The aggregation engine 502 can interconnect with site controllers at multiple sites.

[0116] The site controller 504 can be the site controller for site 500 and, in one embodiment, may include electronic hardware and software. In one example configuration, the site controller 504 includes one or more processors and a suitable storage medium, the storage medium storing programming in the form of executable instructions that are executed by the processors to carry out control processes. The site controller 504 communicates with the aggregation engine 502 via the network 516, which can be similar to the aggregation engine 502 in Figure 1 or the aggregation engine 202 in Figure 2.

[0117] The electrical system 506 includes all combinations of one or more loads 508, one or more generators 510, and one or more ESS 512 at site 500. The electrical system 506 can provide local energy distribution or connection from the power company distribution system 514 to or between one or more loads 508, one or more generators 510, and / or one or more ESS 512 at site 500.

[0118] A load is a consumer of electrical energy within an electrical system. Examples of loads include air conditioning systems, motors, electric heaters, and others. The sum of the power consumption rates of loads can be measured in units of power (e.g., kW) and can simply be called a "load" (e.g., building load).

[0119] A generator can be a device, apparatus, or other means for generating electrical energy within an electrical system. Examples include photovoltaic systems, wind turbines, combined heat and power (CHP) systems, and diesel generators or "generating assemblies." The sum of the electrical energy generation rates of one or more generators 510 can be measured in units of power (e.g., kW) and is simply referred to as "generation."

[0120] To understand this, loads can also occur at specific times. An example is an elevator system where regenerative braking is possible when the carriage descends. Therefore, this load can, in some cases, function as a DER similar to a generator. In this context, a distributed energy resource (DER) is any device that can generate or consume energy and is often controllable in some way. In one embodiment, an electrically connected DER (simplified here as DER) can generate or consume electrical energy. Almost all DERs are controllable to some extent. PV generators, wind turbines, and diesel generators are DERs and similarly energy storage systems (ESS). Loads are also DERs, and most of them (such as lighting) can be controlled in a limited way by other means, such as turning off the power or changing the thermostat settings. The net load of a DER or a collection of DERs is the load (power consumption) minus the generation (power generation). The net load can be positive or negative.

[0121] Unadjusted net power or unadjusted net load may, in this specification, refer to the net load that is not actively controlled by the site controller 504. For example, if, at a given moment, the building has a load consuming 100 kW and a photovoltaic system generating 25 kW, the unadjusted net power is 75 kW. Similarly, if, at a given moment, the building has a power consumption of 70 kW and a photovoltaic system generating 100 kW, the unadjusted net power is -30 kW. As a result, the unadjusted net power is positive if load energy consumption exceeds generation, and negative if generation exceeds load energy consumption.

[0122] In this specification, ESS power refers to the sum of the proportion of electrical energy consumption of the ESS. When ESS power is positive, the ESS is charging (consuming energy). When ESS power is negative, the ESS is generating (supplying energy).

[0123] Adjusted net power, as defined herein, is the unadjusted net power plus the power contribution of any controllable element, such as an ESS. Therefore, adjusted net power is the net consumption rate of electrical energy of an electrical system, considering all loads, generators, and ESSs within the system, as controlled by the controller described herein.

[0124] Unadjusted demand is the electricity demand defined by locally applicable tariffs, but is based solely on unadjusted net power. In other words, unadjusted demand does not take into account any contribution from energy storage systems (ESS).

[0125] Adjusted demand, or simply "demand," is demand defined by locally applicable tariffs and is based on adjusted net power, including contributions from any and all controllable elements such as ESS. Adjusted demand is demand that is monitored by the utility and can be used to calculate demand charges.

[0126] Referring again to Figure 5, the electrical system 506 can provide information to the site controller 504, for example, by providing process variables. The process variables can provide information or feedback regarding the status of the electrical system 506 and / or one or more components therein (e.g., loads, generators, ESSs). For example, the process variables can provide one or more measurements of the state of the electrical system 506. The site controller 504 receives the process variables to determine the values ​​of control variables that should be transmitted to the electrical system 506 in order to bring about changes in the electrical system 506 toward achieving the objectives of the controller of the electrical system 506. For example, the site controller 504 can provide control variables to adjust one or more loads 508, increase or decrease the power generation by one or more generators 510, and utilize one or more ESSs 512 (e.g., charge or discharge).

[0127] The site controller 504 can receive a configuration (e.g., a set of components) that can specify one or more constraints of the electrical system 506. The configuration can notify the determination of the values ​​of control variables.

[0128] The site controller 504 can also receive external inputs (e.g., weather forecasts, variable tariffs, fuel costs, event data) that can signal the determination of control variable values. A set of external inputs can be received by the site controller 504. The set of external inputs can provide indications for one or more conditions outside of the site controller 504 and the electrical system 506.

[0129] The site controller 504 can receive participation opportunity information (e.g., allocation information) (e.g., from the aggregation engine 502), which can provide the site benefit for site changes of power proposals and the period for site 500 to participate in the aggregation opportunity. For example, the participation opportunity information can provide site benefit values ​​for one or more proposals, site change values ​​for one or more power proposals, one or more ratios between site benefit and site change of power, constraints, rules, instructions, and / or commands from the aggregation engine 502 to participate in the aggregation operation for the aggregation opportunity. The site controller 504 can utilize the aggregation information to notify the determination of the values ​​of control variables.

[0130] Participation opportunity information is used to evaluate scenarios (e.g., potentially hypothetical scenarios) so that the site controller 504 can determine the optimal level of commitment to provide site changes of power to contribute to the minimum net change of power in the aggregation operation. In some embodiments, aggregation information provides proposed values. In some embodiments, aggregation information provides commit values ​​so that the site controller 504 delivers committed site changes of power without receiving further instructions from the aggregation engine 502. In some embodiments, the site controller 504 receives a command from the aggregation engine 502 to provide committed site changes of power.

[0131] To make it clear, the proposed site benefits for providing site changes for power proposals can be provided to the site controller 504 of site 500 in aggregation information, configuration, external input, or any appropriate input and / or communication.

[0132] As described above, the site controller 504 may attempt to achieve a specific objective by changing the values ​​associated with one or more control variables as needed. The objective can be predefined and may depend on time, any external input, any participation opportunity information, any process variables obtained from the electrical system 506, and / or the control variables themselves. Some examples of controller objectives for different applications are as follows: To provide a power level that is proportional to the site change of the received power over a predetermined period; To reduce power consumption over a predetermined period in proportion to changes in the proposed power supply site; Minimizing the amount of demand (kW) over a given time interval; To minimize the demand charge (fee) over a predetermined time interval; Minimize the total electricity cost ($) from the grid; To reduce the demand (kW) from the grid by a predetermined amount during a predetermined time window; and To maximize the lifespan of energy storage devices (e.g., one or more ESS512s).

[0133] Objectives can also be composite objectives; that is, a controller objective can include multiple individual objectives. One example of a composite objective is to minimize demand charges while maximizing the lifespan of energy storage devices. Another example of a composite objective is to provide a committed level of site-based power variation for at least a portion of the operation of aggregation opportunities while minimizing demand charges. Other composite objectives are also possible, including different combinations of individual objectives.

[0134] Inputs that the site controller 504 can use to determine (or otherwise notify of) control variables may include configuration, external inputs, participation opportunity information, and process variables.

[0135] Process variables can typically be measures of the state of the electrical system 506 and are used by the site controller 504 to determine, among other things, the extent to which the objectives of the site controller are being met. These process variables can be read and used by the site controller 504 at site 500 to generate new control variable values. The rate at which process variables are read and used by the site controller 504 depends on the application and can typically range from once per millisecond to once per hour. For battery energy storage system applications, the rate is often between 10 times / second and once / 15 minutes. Examples of process variables include: • Unadjusted net power • Unadjusted demand • Adjusted Net Power ·demand • Load (for example, the energy consumption of one or more loads 508) • Power generation from one or more loads • Power generation for 1 or more loads • Actual ESS charge or generation rate of 1 or more ESSs ·frequency • Charge status (SoC) (%) of one or more ESS energy storage devices • Temperature (deg. C) of one or more ESS energy storage devices • Output of the electricity meter, such as kilowatt-hours (kWh) or demand.

[0136] The configuration received by (or input to) the site controller 504 may include or may include one or more components (e.g., a set of components). A component may specify one or more constraints related to the operation of the electrical system 506. A component may define one or more cost elements related to the operation of the electrical system 506. Each component may set a status, state, constant, or other aspect of the operation of the electrical system 506. A component may be a value that is typically constant during the operation of the electrical system 506 at the site controller 504 and site 500. A component may specify one or more constraints on the electrical system 506 and / or specify one or more cost elements related to the operation of the electrical system 506.

[0137] Examples of components may include the following: • ESS type (for example, in the case of batteries: chemistry, manufacturer, and cell model) • ESS configuration (e.g., in the case of a battery: number of cells in series and parallel) and constraints (e.g., maximum charge and discharge power) • Efficiency characteristics of ESS • ESS degradation characteristics (as a function of SoC, discharge or charge rate, and time) • Power supply tariff (including ToU supply rate and associated time window) • Electricity demand tariff (including demand rate and associated time window) • Constraints on the electrical system, such as minimum electricity import requirements. • ESS constraints such as SoC limits or power limits • Unadjusted net power or unadjusted demand, weather data, and historical data such as occupation. Operational constraints such as the requirement that the ESS (Energy Storage System) have a specified minimum power output during a specified time period.

[0138] External inputs are variables that can be used by the site controller 504 and that can change during the operation of the site controller 504. Examples include weather forecasts (e.g., irradiance for solar power and wind speed for wind power) and event data (e.g., occupancy forecasts). In some embodiments, tariffs (e.g., a defined demand rate) may change during the operation of the site controller 504 and can therefore be treated as external inputs. In some embodiments, participation opportunity information (e.g., site benefits of proposals to provide site changes for power proposals) can be received by the site controller 504.

[0139] The output of the site controller 504 includes control variables that can affect the behavior of the electrical system 506. Examples of control variables include: • ESS power command (kW or %). For example, a 50kW ESS power command instructs the ESS to charge at a rate of 50kW per unit time, and a -20kW ESS power command instructs the ESS to discharge at a rate of 20kW per unit time. • Increase or decrease (kW or %) in the net power of a building or subsystem. • Increase or decrease (kW or %) of renewable energy. For example, a -100kW curtailment command for a solar power system commands the PV system to limit power generation to -100kW or more. In this case as well, the negative sign indicates that the value is power generation (non-consumption).

[0140] In some embodiments, the control variable representing the power level can have a positive sign for consumption and a negative sign for power generation, for example.

[0141] The output of the site controller 504 may also include commitment information, which may indicate or otherwise represent the commitment level of site-specific power changes that site 500 is committed to providing to participate in an aggregation opportunity. In some embodiments, the commitment information may include one or more power or energy values ​​corresponding to one or more time periods of the aggregation operation.

[0142] In one exemplary example, consider the objective of the site controller 504 to reduce demand charges while maintaining battery life. In this example, it can control only one or more ESS512s. To achieve this objective, the site controller 504 should have knowledge of the configuration of the electrical system 506, such as the demand rate and associated time window, battery capacity, battery type and placement, and so on. Other external inputs, such as forecasts of future loads and / or future weather (e.g., temperature, expected solar irradiance, wind), can also be used to help the site controller 504 achieve its objective. Process variables from the electrical system 506 that can be used can provide information about the net power, power or energy consumption, demand, battery SoC, unadjusted building load, and actual battery charge or discharge power of the electrical system 506. In this exemplary example, the control variable could be the charge or discharge power of one or more ESS512s (e.g., the charge or discharge power of the batteries of one or more ESS512s). To more effectively fulfill the objective, the site controller 504 can continuously track peak net building demand (kW) across each applicable time window and use batteries to charge or generate at appropriate times to limit demand charges. In one specific exemplary scenario, one or more ESS 512s may be used to realize substantially flat (or constant) demand from the power company distribution system 514 (e.g., the grid) during applicable time windows to which demand charges apply.

[0143] The objective of the site controller 504 can be to receive participation opportunity information from the aggregation engine 502, which may include proposed site benefits to provide site changes for proposed power over a period of time. The site controller 504 then optimizes the operation of the electrical system 506 with respect to the aggregation information (for example, to determine if the operation can be more optimal if proposed site benefits are utilized) and determines control variable values(s) to maintain the objective of reducing demand charges while preserving battery life.

[0144] As will be described in more detail below, the site controller 504 can utilize an optimization algorithm to determine the control variables before the period in which they will be used. Prior determination of the control variables can minimize the cost of participating in aggregation opportunities by enabling repeated querying or polling of sites 500 by the aggregation engine 502 to test changing participation opportunity information and determine optimized commitment information.

[0145] Figure 6 is a flowchart illustrating a method 600 for controlling the electrical system of a site (e.g., site 500 in Figure 5) according to one embodiment of the present disclosure. Method 600 can be implemented by a site controller of an electrical system, such as site controller 504 controlling the electrical system 506 of site 500 in Figure 5. Method 600 may include a step 602 in which the site controller receives (e.g., reads or otherwise receives) the configuration of the electrical system of the site (e.g., a set of components). As described above, the components can provide information about the configuration of the electrical system.

[0146] Method 600 also includes step 604, in which the site controller receives (e.g., by reading or otherwise) participation opportunity information (e.g., proposed site benefits for providing proposed site changes of power) from a remote aggregation engine (e.g., aggregation engine 502 in Figure 5). Participation opportunity information may be received in relation to aggregation opportunities published to the remote aggregation engine by a utility or other operator who wishes to obtain additional net changes of power. For example, a utility or other operator may wish to obtain additional power resources and may seek power from an aggregation of power provided by the use of DERs at multiple sites. Participation opportunity information may indicate one or more proposed site benefits for providing one or more proposed site changes of power toward conformity to the minimum net change of power of the aggregation opportunity. Depending on the circumstances, multiple sets of proposed site benefits and proposed site changes of power may be included in the participation opportunity information, such as when the proposed site changes of power and / or proposed site benefits change over a period of time. For example, an aggregation request might specify a total requested power level of 100 MW for 60 minutes of a 90-minute total time, and a total requested power level of 75 MW for the remaining 30 minutes of the 90-minute total time. Thus, participation opportunity information can provide multiple sets of proposed site benefits and proposed site changes in power to accommodate changes in the total requested power level (for example, to incentivize a larger provision of site changes in power during periods when the aggregation request requires a larger net change in power). Furthermore, or alternatively, participation opportunity information may include or otherwise accompany a time quantity corresponding to a given set of values ​​relating to the proposed site benefits and proposed site changes in power. In other words, each set of proposed site benefits and proposed site changes in power may include timing information, such as timing values, that specify the duration or period to which the set of proposed site benefits and proposed site changes in power applies. If no aggregation opportunity is available, step 602 of receiving participation opportunity information may be omitted.

[0147] Method 600 may also include step 606 in which the site controller receives (e.g., read or otherwise receives) external inputs such as weather reports (e.g., temperature, solar irradiance, wind speed), variability tariffs, event data (e.g., occupancy forecasts, large gatherings of people at a place or venue) and the like.

[0148] Method 600 may further include step 608, in which the site controller reads (e.g., reads or receives by other means) process variables, including measurements of the state of the electrical system, and in particular, indicating the extent to which the objectives of the site controller are being met. The process variables provide feedback from the site's electrical system to the site controller as part of a feedback loop.

[0149] Method 600 includes a step 610 in which the site controller determines new control variables that can be used to improve the realization of the site controller's objectives, including realizing aggregation opportunities. The determination step 610 can be performed using configuration, any available participation opportunity information, external inputs, and / or process variables. In other words, the site controller determines new values ​​610 for each control variable that would result in a change to the electrical system toward realizing the objectives of one or more controllers of the electrical system, and the objectives of one or more controllers may include participation of operations in response to aggregation opportunities (providing a commitment level of site change of power toward contributing to the minimum net change of power of the aggregation opportunity).

[0150] Method 600 also includes step 614 in which a site controller transmits commitment information to the aggregation engine. The commitment information can be transmitted as power or energy values ​​614, which may include, for example, committed site changes of power that the site controller has committed to providing based on the participation opportunity information received. In some embodiments, the commitment information may include multiple committed site changes of power corresponding to different periods specified by the participation opportunity information. The aggregation engine can then provide the site controller aggregated by the aggregation engine and other site controllers with the new or otherwise modified participation opportunity information.

[0151] The aggregation engine's optimization algorithm may include iterative polling of site controllers, so that method 600 is iteratively executed by the site controllers when the aggregation engine attempts to optimize the participation of multiple site controllers (including instant site controllers) in an aggregation opportunity.

[0152] optimization

[0153] In some embodiments, a site controller at a site uses an algorithm (e.g., an optimization algorithm) to determine control variables, for example, to improve the performance of the site's electrical system. Optimization can be the process of finding one or more variables that minimize or maximize a function f(x). Optimization can be performed by referring to such global extrema (e.g., global maximum and / or minimum values). Given that an algorithm for finding the minimum of a function can generally also find the maximum of the same function by negating it, the terms “minimize,” “maximize,” and “optimize” may, in some cases, be used interchangeably in this disclosure.

[0154] The objective of optimizing the electrical system of a DER by a site controller can be economic optimization, i.e., determining the economically optimal control variables that result in one or more changes to the electrical system in order to achieve economic efficiency (e.g., operating the electrical system at the lowest possible cost considering the circumstances). A more complex objective of optimization can be economic optimization while providing committed site changes of power toward the minimum net change of power for aggregation opportunities. In some embodiments, participation opportunity information can be input to the optimization and / or considerations for the optimization, and economic optimization is targeted with the optional choice of utilizing the benefits associated with the contribution of site changes of power for aggregation opportunities. As understood, other objectives are also possible (e.g., extending equipment life, system reliability, system availability, fuel consumption, etc.).

[0155] This disclosure includes embodiments of a site controller for a site that optimizes a single parameterized cost function (or objective function) for effectively utilizing the controllable components of the site's electrical system in an economically optimal manner. In certain embodiments and / or scenarios, the cost function may include, or consider, costs and benefits related to participation opportunity information of aggregation opportunities. Various forms of optimization are available to economically optimize the site's electrical system.

[0156] Continuous optimization

[0157] Site controllers for one or more DERs according to some embodiments of this disclosure can use continuous optimization to determine control variables. More specifically, a site controller can use a continuous optimization algorithm to, for example, find economically optimal control variables and make one or more changes to the site's electrical system to achieve economic efficiency (e.g., operate the electrical system at the lowest possible cost considering the circumstances). In one embodiment, the controller can operate on a single objective: optimizing the overall system economy. Since this approach has only one objective, there is no possibility of conflict between objectives. Furthermore, by appropriately specifying system economy in a cost function (or objective function), all objectives and value flows can be considered simultaneously based on their relative impact to a single value metric. The cost function may include or may consider participation opportunity information for aggregation opportunities. The cost function may have a continuous independent variable x, and optimization can be performed using a continuous optimization algorithm valid for continuous functions. Continuous optimization differs from discrete optimization, which involves finding an optimal value from a finite set of possible values ​​or a finite set of functions.

[0158] To make it clearer, in another embodiment, the cost function can be discontinuous (e.g., discrete or finite) or piecewise continuous at x, and the optimization can be performed using an optimization algorithm that is effective for discontinuous or piecewise continuous functions.

[0159] (Constrained optimization) In some embodiments, the site controller of the site's electrical system uses constrained optimization to determine control variables. In certain embodiments, the controller can use constrained continuous optimization to find a variable or set of variables xopt that minimizes or maximizes a continuous function f(x) according to the constraint of allowable x. The enforceable constraints can be equalities or inequalities. The participation opportunity value may impose an enforceable constant.

[0160] For example, the following formula: TIFF0007936731000004.tif6168 The set x contains independent variables x1 and x2. The constraint is given by the following equation: It can be defined in TIFF0007936731000005.tif6168. The curves ln(1+f(x)) versus x1 and x2 will reflect the constraints within the contoured unit disk and will be minimized at (0.7864, 0.6177).

[0161] Constrained continuous optimization algorithms are useful in many fields of science and engineering to find the "best" or "optimal" set of values ​​that influence process management. They are particularly useful when a single metric needs to be optimized, and the relationship between that metric and the independent variable (x) is extremely complex, making it difficult to symbolically find the "best" set of x values ​​in a closed form. For example, consider the case where the growth rate of a malignant tumor depends on pH and the concentration of a specific drug at each stage of growth. While equations describing the growth rate as a function of pH and drug concentration are known and can be written out, they can be complex and nonlinear. Solving the equation in a closed form for the best pH and drug concentration at various stages of growth can be extremely difficult or impossible. Furthermore, it may depend on external factors such as temperature. To solve this problem, the pH and drug concentration at each growth stage can be combined into a two-element x vector. Since drug concentration and pH may have real limits, constraints can be placed on x. Thus, the function can be minimized using constrained continuous optimization. The resulting x includes the "best" pH and drug concentration that minimizes the growth rate, provided that the growth rate is minimized. Notably, this method allows us to determine the optimal pH and drug concentration (within mechanical precision, i.e., within a threshold) not only from a predefined finite set of possibilities, but also from an infinitely continuous range of possible pH and drug concentrations.

[0162] (Generalized optimization)

[0163] Site controllers according to some embodiments of this disclosure can determine control variables using generalized optimization. More specifically, the controller can utilize a generalized optimization algorithm to find, for example, the economically optimal control variables, thereby making one or more changes to the electrical system and achieving economic efficiency (e.g., operating the electrical system at the lowest possible cost considering the circumstances).

[0164] An algorithm that can optimize any or generalized real function f(x) of any form can be called a generalized optimization algorithm. An algorithm that can optimize a wide range of possible forms of a generalized continuous real function f(x) can be called a generalized continuous optimization algorithm. Some generalized optimization algorithms can find the optimal value of a function that may not be continuous everywhere or differentiable everywhere. Some generalized optimization algorithms can also take constraints into account and become generalized constrained optimization algorithms.

[0165] (Nonlinear optimization) Controllers according to some embodiments of this disclosure can determine control variables using nonlinear optimization. More specifically, the controller can utilize a nonlinear optimization algorithm to find, for example, the economically optimal control variables, thereby making one or more changes to the electrical system and achieving economic efficiency (e.g., operating the electrical system at the lowest possible cost considering the circumstances).

[0166] Nonlinear continuous optimization, or nonlinear programming, is similar to generalized continuous optimization and describes methods for optimizing continuous functions that can be nonlinear or continuous functions whose constraints can be nonlinear.

[0167] (Multivariable optimization)

[0168] Controllers according to some embodiments of the present disclosure can use multivariable optimization to determine control variables. More specifically, the controller can utilize a multivariable optimization algorithm to find, for example, the economically optimal control variables, thereby making one or more changes to the electrical system and achieving economic efficiency (e.g., operating the electrical system at the lowest possible cost, including, taking the situation into account, the participation opportunity value which specifies a portion of the net change in power required by the aggregation opportunity).

[0169] Similarly, in this case, the following is a multivariable expression: Let's consider TIFF0007936731000006.tif6168. Let's reconsider the following equation. In other words, x is a set consisting of 2 or more elements. Therefore, this optimization algorithm is "multivariable". A subclass of optimization algorithms is a multivariable optimization algorithm that can find the minimum value of f(x) when x has 2 or more elements. Therefore, generalized constrained continuous multivariable optimization can be a method in several embodiments.

[0170] (Economically optimized electrical system controller)

[0171] Herein, to provide an example of controlling the site's electrical system using optimization, a site controller for the site's electrical system according to one embodiment of the present disclosure is described. The purpose of using optimization can be to minimize the total electrical system operating costs over a period of time, taking into account the costs and benefits associated with providing site changes in power according to allocation information that shows the site benefits of aggregation opportunity proposals and site changes in power proposals.

[0172] For example, a site controller's approach could be to minimize the operating costs between future time domains, or future time domains, that can be extended by a certain number of hours (e.g., an integer, a fraction of an hour, or a combination thereof) from the current time. As another example, a future time domain or future time domain can be extended by a certain number of hours from future time. Costs included in the total electrical system operating costs may include electricity supply charges, power demand charges, battery degradation costs, equipment degradation costs, efficiency losses, and others. Benefits, such as incentive payments that can reduce electrical system operating costs, can be incorporated (e.g., as a negative number or value) or considered in other ways. Other costs may relate to energy changes in the ESS, such as when additional energy between the start and end of a future time domain is evaluated. Other costs may relate to reserve energy in the ESS, such as for backup power purposes. Other costs may arise in response to committing to providing site changes of power, which can be treated as imposing a constraint on providing site changes of power that are part of the total minimum net change of power required by the aggregation opportunity. For example, costs or penalties associated with not providing net change of power may be incorporated. In some embodiments, a percentage of the aggregation profit can be incorporated. All costs and profits can be summed up in a net cost function, which can simply be called the “cost function”.

[0173] In certain embodiments, a set of control parameters X to be applied to an electrical system can define (in combination with control laws) how they should behave and when they should be applied in the future time domain. In some embodiments, the cost function can be evaluated by performing a simulation of the electrical system operation using the provided set of control parameters X. The control laws specify how X and process variables are used to determine the control variables. The cost function can then be created or otherwise developed to take into account the set of control parameters X.

[0174] For example, cost fc(X) can take into account the control parameter values ​​of X and return the scalar net cost of operating the electrical system with these control parameter values. All or part of the set of control parameters X can be treated as a set of variables Xx (e.g., x as described above) in the optimization problem. The remaining part of X, Xlogic, can be determined by other means such as logic (e.g., logic based on constraints, inputs, other control parameters, mathematical formulas, etc.). Constraints on Xx can be defined if desired. Then, the optimization algorithm can be executed to find the optimal Xx. If any, Xopt can be represented as the value of the combination of Xx and Xlogic that minimizes the cost function under the constraints. Since Xopt represents the control parameters, this illustrative process completely identifies the control that will provide the minimum cost (e.g., optimal) operation in the future time domain. Furthermore, up to the limits of computational power, this optimization can consider not only a finite set of discrete possibilities but also a continuous domain of possible Xx values. This illustrative method can continuously "tune" the possible control sets until the optimal set is found. These particular exemplary embodiments of the controller can be referred to as an economically optimized electrical system controller (EOESC).

[0175] Some of the many advantages of using EOESC in a particular embodiment compared to other electrical system controllers are significant. 1) The cost function can represent any number of value streams, giving EOESC the ability to simultaneously optimize for all possible value streams and costs. For example, using generalized continuous optimization, it is possible to effectively determine the optimal control by simultaneously reducing both ToU supply charges and demand charges while still considering all battery degradation costs. 2) Using a sufficiently robust optimization algorithm, only the definitions of the cost function, control laws, and control parameters need to be developed. Once these three components are developed, they can be maintained and extended relatively easily. 3) Eoesc can provide a truly economically optimal control solution for the precision of a machine or processor, limited only by the cost function, control laws, and control parameter definitions. 4) Eoesc can produce not only currently applied controls but also planned future control sequences. This means that a single execution of Eoesc can generate not just a single control to be applied now, but a persistent set of controls that can be used in the future. This can be useful when a) the optimization algorithm takes a considerable amount of time to execute, or b) there is an interruption in communication between the processor that calculates the control parameter values ​​and the processor that interprets the control parameters and transmits the control variables to the electrical system.

[0176] Figure 7 is a control diagram showing the system architecture of Site 700 according to another embodiment of the present disclosure. Site 700 includes an EOESC 704. Site 700 comprises an electrical system 706 controlled by the EOESC 704. The EOESC 704 of Site 700 may include one or more loads 708, one or more generators 710, one or more ESSs 712, and one or more sensors 722 (e.g., instruments) that provide measurement or other indication of the state of the electrical system 706 of Site 700. The electrical system 706 of Site 700 is coupled to a power company distribution system 714 and can therefore be considered on-grid. Similar schematic diagrams can be drawn for other applications, such as solar power plants and off-grid buildings.

[0177] The aggregation engine 702 interconnects with the EOESC 704 and the power company distribution system 714. Through this interconnection, the aggregation engine 702 can receive aggregation opportunities from the power company distribution system 714 and communicate with the EOESC 704 at site 700 to perform aggregation operations (to respond to aggregation opportunities). Collaboration It is possible to do so. The aggregation engine 702 can provide participation opportunity information as input to EOESC704.

[0178] EOESC704 receives or otherwise acquires the configuration of the electrical system 706, external inputs, participation opportunity information, and / or process variables, and generates control variables to be sent to the electrical system 706 at site 700. The control variables are sent to the electrical system 706 and bring about changes in the electrical system 706, for example, in the future time domain, toward achieving controller objectives for the economic optimization of the electrical system 706. The control variables bring about changes in the electrical system 706 and can provide committed site changes of power determined by EOESC704 in response to participation opportunity information received from the aggregation engine 702. EOESC704 may include electronic hardware and software that processes inputs to determine the value of each of the control variables. EOESC704 may include one or more processors and a suitable storage medium that stores programming in the form of executable instructions executed by the processors to carry out the control process.

[0179] In the embodiment shown in Figure 7, the EOESC 704 includes an economic optimizer (EO) 718 and a dynamic manager 720 (or high-speed controller (HSC)). In some embodiments, the EO 718 is presumed to have the ability to measure or obtain the current date and time. The EO 718 can determine a set of values ​​for a control parameter set X and provide this set of values ​​and / or the control parameter set X to the HSC 720. The EO 718 uses a generalized optimization algorithm to determine the optimal set of values ​​for the control parameter set Xopt. The HSC 720 uses the set of values ​​for the control parameter set X (e.g., the optimal control parameter set Xopt) to determine the control variables to transmit to the electrical system 706 at site 700. In some embodiments, the HSC 720 is also presumed to have the ability to measure or obtain the current date and time. The two-part method of EOESC704, where EO718 determines the control parameters and then HSC720 determines the control variables, makes it possible to generate a persistent set of controls—that is, a control solution (or plan) that can be used in the future—rather than a single control to be applied now. Creating a persistent control solution can be beneficial when the optimization algorithm takes a significant amount of time to execute. Creating a persistent control solution can also be useful if there is a communication interruption between calculating the control parameter values ​​and the processor interpreting the control parameters and sending the control variables to the electrical system 706 at site 700. The two-part method of EOESC704 also allows EO718 to be placed or positioned separately from HSC720. In this way, the intensive computing operations that optimization may require can be performed by resources with higher processing power that can be located away from the electrical system 706 at site 700. These intensive computing operations can be performed, for example, in a data center or server center (e.g., in the cloud).

[0180] In some embodiments, the future time domain begins at the time EO718 is performed and can be extended by any amount. In certain embodiments, analysis and experimentation suggest that a future time domain range of 24 to 48 hours produces a sufficiently optimal solution in most cases.

[0181] To make it clear, EOESC704 in Figure 7 can be arranged and configured differently in other embodiments than the example shown in Figure 7. For example, instead of EO718 passing the control parameter set Xopt (the full set of control parameters found by EO718's generalized optimization algorithm) to HSC720, EO718 can pass a subset of Xopt to HSC720. Similarly, EO718 can pass Xopt and additional control parameters not included in Xopt to HSC720. Similarly, EO718 can pass modified elements of Xopt to HSC720. In one embodiment, EO718 finds an optimal subset Xx of X, then determines an additional control parameter Xlogic, and passes Xlogic along with Xx to HSC720. In other words, in this embodiment, the value of Xx is determined by the optimization process of EO718, and the value of Xlogic can be determined from logic. The objective of EO718 is to determine the value of each control parameter, whether or not optimization and / or logic are used.

[0182] For the sake of brevity in this disclosure, when describing the optimization of a cost function versus X, keeping in mind embodiments where X consists of independent (Xx) parameters and dependent (Xlogic) parameters, it means varying the independent variable Xx until an optimal (e.g., minimum) cost function value is determined. In this case, the resulting Xopt includes a combination of the optimal Xx parameters and the associated Xlogic parameters.

[0183] In one embodiment, the EOESC704 and one or more of its components are executed as software or firmware (stored in a non-temporary medium such as appropriate memory) by one or more processors. For example, the EO718 may comprise one or more processors for processing inputs and generating a set of values ​​for a control parameter set X. Similarly, the HSC720 may comprise one or more processors for processing the control parameter set X and process variables and generating control variables. The processors can be computers, microcontrollers, CPUs, logic devices, or other digital or analog devices that can operate with pre-programmed instructions. When two or more processors are used, they can be electrically, wirelessly, or optically connected to transmit signals to each other. Furthermore, control variables can be transmitted electrically, wirelessly, optically, or by other means to components of an electrical grid. In some embodiments, the processors have the ability to store or store values, arrays, and matrices that can be considered as multidimensional arrays. This storage can be performed using one or more memory devices such as read-access memory (RAM, disk drives, etc.).

[0184] Figures 8 and 9 are flowcharts illustrating a method 800 for controlling the electrical system of a site according to one embodiment of the present disclosure. Method 800 can be implemented by a site controller of an electrical system, such that the EOESC 704 in Figure 7 controls the electrical system 706 of the site 700 in Figure 7. Method 800 comprises two distinct processes, namely an economic optimizer (EO) process 826 and a high-speed controller (HSC) process 912. The HSC process 912 in Figure 9 may also be referred to herein as a dynamic manager process 912. The HSC process 912 may utilize a set of control parameters X determined by the EO process 826. However, the HSC process 912 may be executed separately from or independently of the EO process 826, based on a set of control parameters X determined earlier (e.g., by the EO process 826). Since the EO process 826 can be executed separately and independently from the HSC process 912, the execution of these processes 824 and 912 can be located in the same place on a single system, or they can be separated on remote systems.

[0185] Referring to Figure 8, the EO process 826 can be a computer-implemented process run by one or more computing devices, such as EO718 in Figure 7. The EO process 826 is used to determine the optimal level of commitment to provide power site changes for aggregation opportunities. Moving on to the EO process 826 in Figure 8, the EO process 826 includes step 802 of receiving a configuration or set of components of an electrical system. The configuration can specify one or more constants of the electrical system. The configuration can specify one or more cost elements related to the operation of the electrical system. Cost elements may include power costs (e.g., power supply charges, power demand charges), battery degradation costs, equipment degradation costs, tariff definitions (e.g., power supply tariffs providing ToU supply rates and associated time windows, or power demand tariffs providing demand rates and associated time windows), local generation costs, penalties associated with deviations from the operating plan (e.g., a predetermined operating plan, a contracted operating plan), costs or benefits associated with energy changes in the ESS such that additional energy between the start and end of a future time domain is evaluated, costs or benefits of contracted operations (e.g., payments), costs or benefits associated with the amount of energy stored in the ESS as a function of time, costs or benefits associated with the reduction of power consumption of one or more loads, and one or more comfort values ​​which can be functions of other process variables such as building temperature.

[0186] In certain embodiments, a set of components defines one or more cost elements by specifying a method for calculating the quantity for each of the one or more cost elements. For example, the definition of a cost element may include a formula for calculating the cost element.

[0187] In certain embodiments, the cost elements specified by the components may include one or more incentives related to the operation of the electrical system. Incentives can be considered negative costs. One or more incentives may include one or more of the following: incentive revenue, demand response revenue, reserve energy or battery capacity value (e.g., for backup power as a function of time), contract operation, revenue for demand response opportunities, revenue for auxiliary services, and revenue related to deviations from the operating plan (e.g., a predetermined operating plan, a contract operating plan).

[0188] In other embodiments, the components may specify a method for calculating the amount of one or more of the cost elements. For example, a formula can be provided that shows how to calculate a given cost element.

[0189] The EO process 826 may also include step 804 in which the EO receives participation opportunity information (e.g., a set of one or more, each containing site benefits for offering site changes for power proposals) from an aggregation engine (e.g., aggregation engine 702 in Figure 7). The allocation information proposes site benefits for offering site changes for power proposals in order to receive information about the level of commitment to offering site changes for power proposals. Based on the level of commitment, the aggregation engine may decide whether to commit to the aggregation opportunity and / or enable the site controller to commit to offering site changes for power toward achieving the minimum net change of power for the aggregation opportunity.

[0190] Participation opportunity information may be received in connection with aggregation opportunities published to the remote aggregation engine by a utility or other operator who wishes to obtain a net change in power (e.g., additional power or reduction in power consumption) (804). For example, a utility or other operator may wish to obtain additional power resources or a reduction in power consumption and may seek power from an aggregation of power provided or reduced by multiple sites. If no aggregation opportunity is available, participation opportunity information may not be available and / or received (804).

[0191] In certain embodiments, participation opportunity information may be received as part of the configuration. In other words, in certain embodiments, step 802 of receiving the configuration may include step 804 of receiving participation opportunity information for participating in a corresponding aggregation opportunity, if any. The EO process 826 may consider the participation opportunity information in the same manner as other components received as the configuration (802).

[0192] EO process 826 may also include step 806 of receiving an external input. The external input may provide indications of one or more states outside the controller and / or electrical system. For example, the external input may provide indications of temperature, weather conditions (e.g., patterns, forecasts), and similar.

[0193] The EO process 826 may include a step 808 that receives process variables. The process variables provide one or more measurements of the current state of the electrical system. The set of process variables can be used to determine progress toward achieving the objective of economic optimization of the electrical system. The process variables can serve as feedback in a control loop for controlling the electrical system.

[0194] The EO process 826 may include a step 810 that predicts local loads and / or power generation in the future time domain. The predicted local loads and / or local power generation can be saved for later consideration. For example, the predicted loads and / or power generation can be used in a later process that evaluates the cost function during the minimization of the cost function.

[0195] The EO process 826 may include a step 812 that defines a set of virtual control parameters X to be applied in the future time domain. In step 812 that defines the set of control parameters X, the meaning of each element of X is established. In step 812 that defines the set of virtual control parameters X, a first aspect may include a step of selecting a control law. Then, for example, X may be defined as a matrix of values ​​such that each column of X represents a set of control parameters of a selected control law to be applied in a particular time segment of the future time domain (812). In this example, the rows of X represent the individual control parameters used by the control law. Furthermore, in this example, the first row of X may represent the nominal ESS power during a particular time segment of the future time domain. Similarly, X may further be defined such that a second row of X is the maximum demand limit value (e.g., the maximum demand setpoint) (812). A second aspect of step (812) that defines the set of control parameters X may include a step of dividing the future time domain into perceptible segments and selecting the meaning of the control parameters to be used in each segment. The future time domain can be divided into a different number of segments depending on what events are scheduled during that time domain. For example, if there are no supply charges and only one demand period, the future time domain can be divided into a few segments. However, in complex scenarios with many changing rates and constraints, the future time domain can be divided into many segments. (Participation opportunity information / commitment information can be adjusted in both the number and magnitude of values ​​based on dividing the time domain into segments). Finally, in step 812, where control parameters X are defined, some control parameters Xx can be marked to be determined using optimization, while others Xlogic can be marked to be determined using logic (e.g., logic based on constraints, inputs, other control parameters, formulas, etc.).

[0196] The EO process 826 may also include a step 814 to create or obtain a cost function. The step 814 to create the cost function may be optional and can be made more efficient by pre-calculating certain values ​​that are needed each time the cost function is evaluated. The cost function may be created (814) (or configured) to include or take into account any constraints on the electrical system. In a particular embodiment, the constraints may include one or more committed site changes (if any) of power that can accommodate aggregation opportunities.

[0197] Once a set of virtual control parameters X is defined (812) and a cost function is created (814), the EO process 826 may include a step 816 that minimizes or optimizes the cost function resulting in a virtual optimal set of control parameters Xopt. For example, a continuous optimization algorithm can be used to identify the optimal set of virtual control parameters Xopt (e.g., to minimize the cost function) according to one or more constraints, one or more cost elements, and any opportunity information for participation (e.g., the site benefit of the proposal to provide a site change for the proposal's power). A continuous optimization algorithm can be one of many types. For example, a continuous optimization algorithm can be a generalized continuous optimization algorithm. A continuous optimization algorithm can be a multivariable continuous optimization algorithm. A continuous optimization algorithm can be a constrained continuous optimization algorithm. A continuous optimization algorithm can be a Newtonian algorithm. A continuous optimization algorithm can be a probabilistic algorithm such as a covariance matrix adaptive evolutionary strategy (CMAES). Other algorithms that can be used are BOBYQA (Bound optimization by Quadratic Approximation) and COBYLA (Constrained optimization by Linear Approximation).

[0198] To perform optimization of the cost function, the cost function can be evaluated multiple times. Each evaluation may include the step of running a simulation of the electrical system operating in a future time domain with a given set of control parameters X, and then calculating the costs associated with the resulting simulation operation. The cost function may include or otherwise consider one or more cost elements (802) received in the configuration. For example, the cost function may be the sum of one or more cost elements (including any negative costs, such as incentives, revenues, and similar). In this example, optimization operation 816 will find a hypothetical Xopt that minimizes the cost function. The cost function may also include or otherwise consider one or more constraints on the electrical system. The cost function may include or otherwise consider any values ​​related to the electrical system that can be received (802) in the configuration.

[0199] The cost function can also evaluate other economic indicators such as payback period, internal rate of return (IRR), return on investment (ROI), net present value (NPV), or carbon emissions. In these examples, the function to be minimized or maximized is appropriately referred to as the “objective function.” If the objective function represents a value to be maximized, such as IRR, ROI, or NPV, the optimizer should be set to maximize the objective function at execution step 816, or it may be multiplied by -1 before minimization. Thus, as can be understood, “minimizing” the “cost function” elsewhere in this disclosure can also be generally considered to be “optimizing” the “objective function” in other embodiments.

[0200] The continuous optimization algorithm can run the cost function multiple times (e.g., simulate future time domains) using various sets of virtual control parameters X to identify the optimal set of values ​​for the set of virtual control parameters Xopt that minimizes the cost function. The cost function can include the sum of one or more cost elements, and evaluating the cost function can include returning the sum of one or more cost elements that occurred during the simulation operation of the control system over future time domains. For example, using participation opportunity information 804 received from the aggregation engine, various site benefits can be considered to provide various different amounts of site changes of power toward the minimum net change of power of the aggregation opportunity (e.g., as negative costs in the cost function).

[0201] Since the virtual control parameter set Xopt is optimal for minimizing / optimizing the cost function, the implementation of the proposed site benefit and proposed site change of power is also minimized / optimized. Accordingly, the EO process 826 includes step 818 of determining the optimal committed site change of power to be provided toward the minimum net change of power of the aggregation opportunity, based on the virtual control parameter set Xopt. The EO process 826 also includes step 820 of communicating the optimal committed site change of power to the aggregation engine according to the control parameter set Xopt. The optimal committed site change of power is communicated to the aggregation engine in commitment information 717 so that the aggregation engine can determine the committed site change of power to be provided by the site controller toward compliance with the aggregation operation of the aggregation opportunity.

[0202] The EO process 826 includes step 822 of outputting an optimal control parameter set Xopt. In some embodiments, the optimal control parameter set Xopt can be locally stored in memory, storage devices, circuits, and / or processors located locally in the EO process 826. In some embodiments, the output step 822 may include sending the optimal control parameter set Xopt over a communication network to a remote computing device such as the HSC720 in Figure 7. For example, the optimal control parameter set Xopt can be sent to the HSC process 912.

[0203] The EO process 826 is repeated for future time domains (new, upcoming time domains). The EO process 826 includes a step 824 to determine whether or not. If yes, the EO process 826 includes a step 802 to receive a new configuration. If no, the EO process 826 can skip the step 802 to receive a configuration and simply receive an external input (806).

[0204] To make it clear, in other embodiments, the EO process may be configured differently to perform operations in a different order, or to perform additional and / or different operations. In certain embodiments, the EO process may determine a set of values ​​for a set of control variables to be provided to the electrical system in order to bring about changes to the electrical system toward achieving a controller objective for economic optimization of the electrical system during a future time domain, rather than determining the values ​​for a set of control parameters to be communicated to the HSC process. The EO process may provide the control variables directly to the electrical system, or it may provide the control variables to the HSC process to communicate with the electrical system in a timely manner before or during a future time domain. Alternatively, a separate part of the controller or the same part of the controller may be used to carry out the EO process 826.

[0205] Referring to Figure 9, the HSC process 912 can be a process implemented on a computer, such as the HSC720 in Figure 7, which is run by one or more computing devices. The HSC process 912 may include a step 902 in which it receives a set of control parameters X, such as the Xopt output 822 from the EO process 826. The HSC process 912 also includes a step 904 in which it receives process variables from an electrical system. The process variables include information or feedback regarding the current state or status of the electrical system and / or one or more of its components.

[0206] HSC process 912 includes step 906 of determining values ​​for a set of control variables that control one or more components of an electrical system at the present time. HSC process 912 determines the values ​​of the control variables by using an optimal set of control parameters Xopt in combination with a control law (906). The control law specifies how to determine the control variables from X (or Xopt) and process variables. In other words, the control law implements the definition of X. For example, for a set of control parameters X defined such that an element Xi is the upper limit of demand to be applied at the present time, the control law can compare Xi with process variables such as unadjusted demand. If the unadjusted building demand exceeds Xi, the control law can respond with a command (in the form of a control variable) instructing the ESS to discharge at a rate that makes the adjusted demand equal to or less than Xi.

[0207] The HSC process 912 includes a step 908 that outputs control variables from the HSC process (including newly determined values). The control variables are communicated to the electrical system and / or one or more of its components. The step 908 that outputs the control variables may include timely delivery of the control variables to the electrical system in a future time domain and / or applicable time segment, before or during therein. Timely delivery of the control variables may be for the purpose of bringing about desired changes or adjustments to the electrical system during the future time domain.

[0208] Next, the HSC process 912 includes a step 910 that determines whether a new control parameter set X (and / or its values), such as a new optimal control parameter set Xopt, is available. If yes, the HSC process 912 includes a step 902 that receives the new control parameter set X (or simply its values), and the HSC process 912 is repeated. If no, the HSC process 912 is repeated without the step 902 that receives a new control parameter set X, such as a new optimal control parameter set Xopt.

[0209] To make it clear, in other embodiments, the HSC process may be configured differently to perform operations in a different order, or to perform additional and / or different operations. For example, in a particular embodiment, the HSC process may simply receive values ​​for a set of control variables and deliver the appropriate control variables in a timely manner that bring about changes in the electrical system in the corresponding time segment of the upcoming time domain. Collaboration It is possible.

[0210] The exemplary embodiment of the site controller 504 in Figure 5 and the embodiment of the control method 800 in Figures 8-9 illustrate a two-element or two-stage controller that divides the control problem into two elements (e.g., a slow optimizer and a fast dynamic manager (or high-speed controller (HSC))). The two stages or elements of the site controller, namely the optimizer and the dynamic manager, will be described in more detail in the following sections. Nevertheless, as can be understood, in certain embodiments, a single-stage approach to the control problem can be used to determine the optimal control values ​​for commanding the electrical system.

[0211] Economic Optimizer (EO)

[0212] Herein, more details are provided regarding some elements of the EO as defined by some embodiments of the present disclosure.

[0213] Predictions of future time-domain load / power generation

[0214] In many electrical system control applications, the load on the electrical system (e.g., building load) changes over time. The load can be measured as power or as the change in energy over a specified time period, often in units of kW. As described above with reference to Figure 8, the EO process 826 can predict the local load and / or power generation in the coming time domain (810).

[0215] Figure 10 is a flowchart of a method 1000 for predicting the load and / or generation of an electrical system in the future time domain. Controllers according to some embodiments of the present disclosure may have the ability to predict the changing load that may occur in the future time domain. These load and generation predictions can be used when a cost function is evaluated. Accurate estimation of future loads may be important in order to take advantage of certain value flows, such as demand charge reductions. Accurate prediction of loads in the future time domain enables the EO to make better control decisions in order to take advantage of value flows, such as demand charge reductions.

[0216] A method for predicting load according to one embodiment of the present disclosure can perform load prediction by considering historical periodic trends or shapes, such as daily trends or shapes. Load prediction can be performed each time the EO runs an EO process, and can be performed more or less frequently. In one embodiment, load prediction can be performed by performing regression on historical load data (typically 24 hours or less) of a parameterized historical load shape. Regression algorithms such as least squares can be used. Compilation of historical trends can be recorded as a historical mean (or typical) profile or mean load shape. The historical mean profile or mean load shape can be a daily (24-hour) historical mean profile representing a typical day. Historical observations and / or compilation of historical mean profiles can be received from other systems or can be collected and compiled (or learned) as part of the load prediction method, as described below with reference to Figure 10.

[0217] Referring to Figure 10, Method 1000 includes a process 1002 for recording historical load observations. For example, the last h hours of the historical load observations can be recorded continuously and stored in memory, with each measurement having a corresponding time period measured in the array pairs historical_load_observed and historical_load_observed_time_of_day. The last h hours can be any amount of time, and in one embodiment, it is between 3 hours and 18 hours.

[0218] Here, we assume that a daily average load shape array or vector exists in memory named avg_load_shape, each having a corresponding array of the same length, avg_load_shape_time_of_day. avg_load_shape and avg_load_shape_time_of_day represent the historical average profile and / or historical trend. The time domain of avg_load_shape_time_of_day is 24 hours, and the time interval for discretizing avg_load_shape_time_of_day can be any value, and can be used between 5 and 120 minutes depending on the application. For example, if a discretization interval of 30 minutes is selected, there will be 48 values ​​containing avg_load_shape and 48 values ​​containing avg_load_shape_time_of_day.

[0219] Method 1000 includes step 1004, which performs interpolation to obtain the avg_load_shape value for each of the historical_load_observed_time_of_day. This new interpolated array is called avg_load_shape_interpolated. We consider avg_load_shape_interpolated mathematically with respect to scale and offset, which are defined as average_load_shape_interpolated_p = avg_load_shape_interpolated * scale + offset. In some embodiments, the interpolation is linear. In other embodiments, the interpolation is nonlinear.

[0220] Method 1000 includes a step 1006 to determine the scale and offset. For example, Method 1000 can perform least squares regression to determine the scale and offset (1006) that minimize the sum of squared errors between average_load_shape_interpolated_p and historical_load_observed, resulting in a scale value scale_fit and an offset value offset_fit. In some embodiments, the scale and offset determination step 1006 can utilize a weighted least squares method that prioritizes more recent observations.

[0221] Method 1000 includes step 1008 of generating a corrected daily average load shape based on scale and / or offset. For example, the corrected load shape can be generated for the entire day as avg_load_shape_fit = avg_load_shape * scale_fit + offset_fit (1008). Method 1000 may then include step 1010 of estimating future load values, such as by interpolation. Future load values ​​for any time period in a future time domain can be estimated by interpolating from the array avg_load_shape_fit and avg_load_shape_time_of_day pairs to that time period 1004.

[0222] Define a set of control parameters X.

[0223] Defining a set of control parameters X involves defining, or otherwise specifying, the points in time during a future time domain to which each control parameter applies, and the control laws that apply at each point in time within that future time domain.

[0224] An EO according to a particular embodiment of this disclosure is configured to define a set of control parameters X. There are many ways to define the set of control parameters X, but three feasible methods are: 1. A single set of parameters for the control law that will be applied throughout the entire time domain; 2. A sequence of parameter sets, each applied to a single control law at different, consecutive, sequential time intervals across the entire future time domain; and 3. A sequence of parameters that specifies different control laws to be applied at different consecutive sequential time intervals across the entire future time domain. There is.

[0225] An example of Method 1 described above, which applies to a single set of parameters in the control parameter set X (and exemplary values) of the four-parameter control law, is shown in Table 4 below.

[0226] TIFF0007936731000007.tif125150 Table 4 Methods 2 and 3 described above utilize segmentation in the future time domain.

[0227] Figure 11 is a graph 1100 showing an example of segmenting a future time domain into multiple time segments 1102 according to one embodiment of the present disclosure. A plot 1104 of predicted unadjusted net power (kW) versus future time (e.g., future time domain) is provided. A plot 1106 of energy supply rate ($ / kWh) versus future time is also provided. A plot 1108 of demand rate ($ / kW) versus future time is also provided. A 25-hour future time domain is segmented into nine discrete sequential time segments 1102 (e.g., i=1, 2, 3, 4, 5, 6, 8, 9). Each of the segments 1102 will be assigned a single set of one or more parameters from a set of control parameters X that will be applied during that time segment.

[0228] Segmentation of the future time domain can be performed in many ways. In one embodiment, segmentation is performed as follows:

[0229] i. Electricity rates (both supply and demand) remain constant within each time segment.

[0230] ii. The number of segments is minimized, but large enough to provide a different segment for each region of future time domains that are expected to have significantly different operating behaviors or conditions.

[0231] iii. The length of the segment must not exceed the predetermined maximum segment length.

[0232] If electricity rates change very frequently (e.g., every hour), a minimum time segment length can be specified (e.g., every 4 hours) to reduce the number of time segments 1102 while maintaining acceptable computational fidelity. Similarly, a maximum segment length (e.g., 6 hours) can also be specified to increase computational fidelity.

[0233] Fewer segments result in a lower computational burden on the EO processor, while a larger number of segments yields higher fidelity in the final optimized solution. In some embodiments, a desirable segment length between 0.5 and 6 hours has been found to provide a good balance between these criteria.

[0234] A time segment 1102 in the future time domain can be defined such that one or more of the supply rate cost element and the delivery rate cost element remain constant throughout each time segment. A time segment 1102 in the future time domain can also be defined such that one or more of the contract operation, demand response operation, and auxiliary service operation are continuous throughout each time segment.

[0235] Figure 11 also shows an example of a control parameter set X containing multiple sets of parameters. The control parameter set X is of a three-parameter control law and can be defined similarly to the set exemplified above in Table 4, but without UB0. While the values ​​for the parameters are not initialized, the cells X in the table in Figure 11 represent parameters to which values ​​can be associated. In this example, the unshaded values ​​(Xx) will be determined by the EO optimization process, while the shaded values ​​(Xlogic) can be determined from logic. The objective of the EO is to fill in the values ​​for each control parameter to minimize the cost of operating the site's electrical system during the future time domain. As can be understood, different values ​​may result for the control parameters depending on whether the site participates in providing a portion of the requested net change in power for aggregation opportunities.

[0236] In some cases, it is meaningful for EO (or EOESC) to be applied and operate over the entire future time domain, either with a single control parameter (e.g., a single set of a single element in X, such as Pnom) or with multiple control parameters (a single set of multiple elements in X, such as Pnom, UB, and LB). In these two cases, the future time domain will be divided into only one time segment 1102. Correspondingly, EO will consider only the control parameters that are constant over the entire future time domain in this example.

[0237] Create a cost function

[0238] The EO according to certain embodiments of this disclosure is obtained by creating or otherwise acquiring a cost function. As already stated, the cost function fc(X) is a function that takes into account a specific set of control parameters (e.g., a set of control parameters X) and returns the scalar net cost of operating the electrical system with X during a future time domain. This scalar net cost of operating the electrical system can be provided to an aggregation engine for optimizing the allocation between multiple sites for generating the required net change in power of the aggregation opportunity.

[0239] Figure 12 is a schematic diagram of a cost function evaluation module 1200 (or cost function evaluator) that implements a cost function 1202(fc(X)) including module 1204 for one or more electrical system components (e.g., loads, generators, ESS) according to one embodiment of the present disclosure. The cost function evaluation module 1200 can be included in a site controller of the site's electrical system. The cost function 1202 receives initialization information 1206 and control parameters 1208 (e.g., a set of control parameters X) as inputs. The cost function 1202 provides as an output a scalar value 1210 representing the cost of operating the electrical system in a future time domain.

[0240] The scalar value 1210 representing the cost, which is the output of the cost function 1202, can have various different units in different embodiments. For example, the scalar value 1210 can have units of any currency. Alternatively, the cost can have units of something that has a related cost or value, such as electrical energy or energy credits. Furthermore, the cost can be an absolute cost, a cost per future time domain, or a cost per unit of time, such as a cost per day. In one embodiment, the unit of cost is US dollars per day.

[0241] Before using the cost function, some of its elements can be initialized. According to one embodiment, the initialization information provided may include the following:

[0242] Dates and times that can be used to determine applicable electricity rates.

[0243] A future time domain range that can be used to define the time range for cost calculations.

[0244] An electricity tariff definition is a set of parameters that define how electricity companies calculate their rates.

[0245] An electrical system configuration that includes components that specify the configuration of the electrical system's components (e.g., size, capacity, tolerance, threshold, etc.). In the example of a battery storage system, this would be the energy capacity of the energy storage device.

[0246] Electrical system component model parameters include model parameters that can be linked to analytical or numerical models that describe the physical and electrical behavior and relationships governing the operation of electrical components within an electrical system. In the case of a battery energy storage system, the "battery model" is the component, and these parameters specify battery characteristics such as the battery's ohmic efficiency, Coulomb efficiency, and degradation rate as a function of usage.

[0247] The state of an electrical system, including information that identifies the state of components within the electrical system that are important for economic optimization. In the case of a battery storage system, one exemplary state is the SoC of the energy storage device.

[0248] Operational constraints can specify any additional operational constraints on the electrical system, such as minimum imported power. In some embodiments, operational constraints may also include committed site changes in power that the site controller is committed to providing during the period of an aggregation opportunity in response to an aggregation request.

[0249] Control laws, including control laws related to the definition of X.

[0250] A definition of a set of control parameters X that can indicate the time in the future time domain at which each control parameter is applied. The definition of the set of control parameters X can indicate which control laws are applied at each point in the future time domain.

[0251] A net load (or power) forecast that can provide predicted unadjusted net load (or predicted unadjusted net power) over a future time domain.

[0252] Pre-calculated values. While the segment is being defined, many values ​​can be calculated that the cost function can use to improve execution efficiency (helping to "evaluate" more quickly). Pre-calculating these values ​​can be a desirable mode of constructing the cost function 1202 to enable the cost function to evaluate more efficiently (e.g., more quickly, with fewer resources).

[0253] The allocated power generation expectation for an aggregation opportunity. The allocated power generation may include a committed site change in power value, or other representations of a portion of the total demand net change in power for the aggregation opportunity that the site is committed to providing in the operation of the aggregation opportunity. In some embodiments, the allocated power generation expectation can be determined according to allocation information received from the aggregation engine.

[0254] Creating cost function 1202 can improve the efficiency of EO execution because it pre-calculates a value that would otherwise be recalculated every time the cost function is evaluated (potentially thousands of times per EO iteration) in a single step.

[0255] Figure 13 is a flow diagram of a method 1300 for creating a cost function fc(X) according to an embodiment of the present disclosure. The method 1300 includes step 1302 of receiving cost function initialization information. The method 1300 also includes step 1304 of initializing a simulation of electrical system operation using the received cost function initialization information. The method 1300 further includes step 1306 of pre-calculating cost function values and step 1308 of storing the pre-calculated values for later use during evaluation of the cost function.

[0256] In certain embodiments, the step of defining the control parameter set X and the step of creating the cost function fc(X) may be implemented in parallel.

[0257] (Evaluation of Cost Function)

[0258] During execution of EO according to some embodiments of the present disclosure, the cost function is evaluated. During the evaluation of the cost function, the operation of the electrical system with the control parameter set X is simulated. The simulation may be one aspect of evaluating the cost function. In other words, part of the evaluation of the cost function for a given control parameter set X may be the simulated operation of the electrical system with that given control parameter set X. Pre-predicted loads and power generation are applied in the simulation. The simulation is performed in a future time horizon. As time progresses through the future time horizon in the simulation, costs and benefits (as negative costs) may be accumulated. What is ultimately returned by the simulation represents how the electrical system state evolves and what costs may be incurred in the meantime under the control X in the future time horizon.

[0259] In some embodiments, the cost function, when evaluated, returns the cost of operating an electrical system with a particular set of control parameters X. As can be understood, the cost of operating an electrical system can vary considerably depending on X. Therefore, the evaluation of the cost function first involves simulating the operation of the electrical system with X. Using the results of the simulation, the cost associated with the scenario (e.g., set of control parameters X) can be estimated.

[0260] As described above, some of the costs considered by the cost function in one embodiment are as follows: 1. Electricity supply charges (both flat rate and ToU rate) 2. Electricity Demand Charges 3. Battery degradation costs 4. Reduce the amount of energy stored in energy storage systems. 5. Site benefit (as a negative number) that commits to providing site-specific changes in power for aggregation operations.

[0261] Power supply and demand charges have already been explained. For monthly demand charges, the charge can be calculated as an equivalent daily rate by dividing the charge by approximately 30 days, or by other days, depending on the number of days remaining in the billing cycle. Battery degradation costs will be explained in a later section. The decrease in energy stored in the ESS takes into account the difference in the value of stored energy at the beginning and end of a future time domain. Site profit when participating in aggregate operations can be calculated as a daily profit, but it is calculated as a negative number. In some embodiments, site profit may include a portion of the upshot of the aggregation opportunity allocated in the allocation information received from the aggregation engine. The portion of the upshot may be proportional to the site change in power provided by the site at a rate specified in the allocation information.

[0262] During the simulation of an electrical system using a cost function, several variables can be tracked and stored in memory. These include control variables, power consumed by or supplied by various electrical systems, and the charge state of any energy storage systems. Other variables can also be tracked and stored in memory. Any of the variables stored in memory can be output by the cost function.

[0263] Figure 14 is a flowchart of a method 1400 for evaluating a cost function that is not received from an external source or otherwise created, according to one embodiment of the present disclosure. Method 1400 may include the steps of receiving cost function initialization information 1402 and initializing a simulation of the operation of an electrical system using the received cost function initialization information 1404. Method 1400 also includes the steps of performing a simulation of the operation of an electrical system by X over a future time domain 1406 and calculating the cost components of the operation of the electrical system by X 1408. Method 1400 further includes the steps of summing the cost components to obtain the net cost of operating the electrical system by X 1410 and returning or otherwise outputting the net cost of operating the electrical system by X 1412.

[0264] Figure 15 is a flowchart showing a method 1500 for evaluating a constructed cost function according to one embodiment of the present disclosure. The cost function can be constructed according to method 1300 in Figure 13. Method 1500 includes a step 1502 of receiving a pre-calculated value as input to Method 1500. This value can be pre-calculated during the operation of creating the cost function, as in Method 1300 in Figure 13. Method 1500 also includes a step 1504 of performing a simulation of an electrical system operating with a set of control parameters X over a future time domain. Method 1500 further includes a step 1506 of calculating the cost components that operate the electrical system with X, and a step 1508 of summing the cost components to yield the net cost of operating the electrical system with X. Method 1500 includes a step 1510 of returning or otherwise outputting the net cost of operating the electrical system with X.

[0265] In some embodiments, instead of returning the net cost of operating the electrical system with X during a future time domain (1510), what is returned is the net cost of operating the electrical system with X as a cost per unit time (e.g., operating cost in dollars per day). Returning the cost per day can provide better normalization between various cost elements, including the cost function. For example, the cost per day can be determined by multiplying the operating cost during the future time domain by 24 hours and dividing by the length (in units of time) of the future time domain.

[0266] (Perform continuous minimization of the cost function)

[0267] Cost minimization can be performed once the load and power generation are predicted, the control parameter set X is defined, and the cost function is obtained, initialized, and / or created.

[0268] Minimizing a cost function can be performed by an optimization process and / or optimization module based on an optimization algorithm. Minimization (or optimization) may include a step of iteratively evaluating the cost function with different sets of values ​​for the control parameter set X until the minimum cost (e.g., the minimum value of the cost function) is determined (e.g., trying different permutations from the initial values). In other words, the algorithm may iteratively update or otherwise modify the values ​​of the control parameter set X until the cost function value (e.g., the result) converges to the minimum (e.g., within a given tolerance or satisfying a termination criterion). Iterative updating or modification of values ​​may include a step of perturbing or changing one or more values ​​based on one or more prior values.

[0269] Termination criteria (e.g., a predetermined tolerance, a difference from a prior value, a predetermined number of iterations) can determine when convergence to the minimum is achieved and help stop iterations within a finite and reasonable time. The number of iterations that can be performed to determine the minimum can vary from one optimization cycle to the next. The set of values ​​for the control parameter set X that yields a cost function that returns the minimum can be determined to be the optimal control parameter set Xopt.

[0270] In one embodiment, a numerical or computational generalized constraint nonlinear continuous optimization (or minimization) algorithm is invoked (e.g., executed or invoked) by a computer device.

[0271] Figure 16 is a schematic diagram of an optimization subsystem 1600 that, according to one embodiment of the present disclosure, utilizes or otherwise implements an optimization algorithm 1608 to determine the optimal set of control parameters 1610 (Xopt) that minimizes the cost function fc(X). In the embodiment of Figure 16, the optimization algorithm 1608 utilized by the optimization subsystem 1600 can be a generalized constrained multivariable continuous optimization (or minimization) algorithm. A reference 1602 to the cost function fc(X) is provided to the optimization subsystem 1600.

[0272] The optimization algorithm 1608 may be implemented in software, hardware, firmware, or any combination thereof. The optimization algorithm 1608 may be implemented based on any of the approaches from the description herein, pre-written code, or those developed from first principles. Further, the implementation of the optimization algorithm may, in some embodiments, be adjusted as needed to the specific problem of electrical system economic optimization.

[0273] Several algorithms for generalized constrained multivariable continuous optimization include the following. Trust-region reflective Active set SQP Interior point Covariance Matrix Adaptation Evolution Strategy (CMAES) Bound Optimization BY Quadratic Approximation (BOBYQA) Constrained Optimization BY Linear Approximations (COBYLA)

[0274] Further, the optimization algorithm 1608 may be a hybrid of two or more optimization algorithms. For example, the optimization algorithm 1608 may use CMAES to find a rough solution, and use interior point to closely converge to the minimum cost. Such a hybrid method can provide robust convergence to the optimal solution in a shorter time than a single algorithm method.

[0275] Regardless of the selected algorithm, it may be useful to perform the initial guess 1604 of the control parameter set X. This initial guess 1604 allows iterative algorithms such as those listed above to find the minimum value more quickly. In one embodiment, the initial guess is derived from a previous EO execution result.

[0276] Any constraint 1606 on X may also be defined or otherwise provided. Examples of the constraint 1606 include any minimum or maximum control parameters for the electrical system.

[0277] (Example of EO results)

[0278] Figure 17 is a graph 1700 showing an example of results from EO for a small battery energy storage system, using the same exemplary future time domain as in Figure 11, segmentation of the future time domain into multiple time segments 1102, predicted unadjusted net power plot 1104, supply rate plot 1106, daily demand rate plot 1108, and representation of the control parameter set X 1110.

[0279] Graph 1700 also includes plots for UB (kW) 1704, LB (kW) 1706, Pnom (kW) 1708, ESS power (kW) 1710, adjusted net power (kW) 1712, and battery SoC 1714.

[0280] In Figure 17, similar to Figure 11, the future time domain is divided into nine segments 1102, and nine optimal parameter sets 1702 are determined (e.g., one optimal parameter set for each segment 1102, with a control parameter set Xopt containing values ​​for the nine optimal parameter sets). In the illustrated example, a daily demand charge is applied, and net energy exports (e.g., to the grid) are not permitted. The objective of the controller is to find the optimal sequence of electrical system control parameters.

[0281] In this case, the control parameter set X is defined to include three parameters, namely Pnom1708, UB1704, and LB1706, as described above. In this embodiment, during the execution of the optimization algorithm, the optimal values ​​of Pnom1708, which is the battery inverter power during each time segment 1102 (where the charge value is positive and the power generation / discharge value is negative), and UB1704, which is the upper limit of demand during each time segment 1102, are determined within the unshaded box (Xx) of the representation 1110 of X. The date and time to which each particular control parameter is applied is part of the definition of X. The shaded values ​​in the representation 1110 of X (Xlogic, which includes LB and some UB values) are determined by logic. For example, if no demand charges apply, UB can be set to infinity. Also, in this example, since net power export is not allowed, LB can be set to zero. Since the values ​​of these shaded parameters are determined by constraints and logic, it is not necessary to determine the optimal values ​​when performing the optimization.

[0282] Applying the optimal value for X, the expected daily cost of operating the electrical system in the example in Figure 17 is $209.42. This total cost is the sum of the ToU supply cost ($248.52), the daily demand cost ($61.52), the cost of battery energy change ($115.93), and the cost of battery degradation ($15.32).

[0283] To make it clearer, in other embodiments, the EO can determine a set of control values ​​for a set of control variables instead of a set of control parameters X. The EO can determine a set of control values ​​to bring about changes to the electrical system toward achieving the controller objective of economic optimization of the electrical system. The EO can then output a set of control values ​​or control variables for direct distribution to the electrical system. In such embodiments, the EO can be a main component of the controller, and the controller may not include a dynamic manager (e.g., a high-speed controller).

[0284] (Dynamic Manager or High-Speed ​​Controller (HSC))

[0285] Here, some elements of the dynamic manager, or HSC, according to some embodiments of this disclosure will be described in more detail. Since the control parameter set X is passed to the high-speed controller, the definition of the control parameter set X can be closely linked to the control laws of the HSC. The interaction between the exemplary HSC and the control parameter set X will be described below.

[0286] Storage of control plans

[0287] As already stated, the control parameter set X can include multiple sets of parameters and the dates and times when these sets of parameters will be applied by the HSC. One embodiment of the present disclosure takes such an approach. Multiple sets of parameters are included in X, each set of parameters along with the dates and times when it is intended to be applied to the electrical system that the set controls. Furthermore, each controllable system in the electrical system may have a separate set of control devices and the dates and times when it is intended to be applied to the set of control devices. The HSC commits the complete control parameter set X to memory, applies each set of parameters to generate control variables, and delivers them to the electrical system at the specified times to potentially bring about changes. In other words, the HSC stores and schedules an optimal sequence of sets of parameters, each to be applied at the appropriate time. That is, the HSC stores a control plan. The first task of storing and scheduling an optimal sequence of control parameter sets (e.g., a control plan) by the high-speed controller provides a clear advantage over other control architectures.

[0288] For example, storing control plans with HSC reduces the frequency with which the computationally intensive (EO) portion of the controller is executed. This is because even if the first sequential time interval expires before the EO is executed again, the HSC switches to the next sequential control set at the appropriate time. In other words, multiple optimal control sets can sequentially enter the queue, so there is no need to execute the EO again before the first sequential time interval expires.

[0289] As another example, storing control plans in the HSC allows for operation (e.g., control of electrical systems) for considerable periods without additional EO outputs. This can be important, for example, when the EO runs on a remote processor such as in a cloud computing environment, and the HSC runs on a processor local to the building. If communication is lost for a shorter period than the future time domain, the HSC can continue to use the optimal control parameter set that was calculated at the appropriate time. While such operation during a power outage is not optimal (as a fresh EO considering the latest data is desirable), this approach can be advantageous compared to using a single immutable control set or a shutdown.

[0290] (Application of currently applicable control parameters)

[0291] A second task of the HSC in one embodiment is to control some or all of the electrical system components within an electrical system based on a currently applicable set of control parameters. In other words, the HSC applies each set of parameters in the set of control parameters X in combination with control laws to generate control variables to be delivered to the electrical system at the appropriate time and potentially bring about changes.

[0292] In the case of an electrical system with a controllable battery ESS, this second task of the HSC can utilize four parameters for each time segment. Each of the four parameters can be defined as in Table 4 above. In one embodiment, these parameters are used by the HSC to control the battery inverter to charge or discharge the energy storage device. In the case of a battery ESS, the typical rate at which process variables are read and used by the HSC and new control variables are generated can range from 10 times / second to 1 time / 15 minutes. Control variables (or a set of values ​​for a set of control variables) for a given corresponding time segment can be provided to the electrical system in a given corresponding time segment in a future time domain (e.g., before or during thereafter).

[0293] To make it clearer, in other embodiments, the entire control plan (e.g., a set of control parameters X including a set of sets) can be processed by the HSC to determine multiple sets of control variables, each set of control variables for a corresponding time segment. Multiple sets of control variables can be provided at once (e.g., before a future time domain or no later than during the first time segment of a future time domain). Alternatively, each set of multiple sets can be provided individually to the electrical system in a given corresponding time segment (e.g., before or during it).

[0294] Another aspect of the HSC according to one embodiment is that the HSC can be used to suppress generators (such as photovoltaic generators) if necessary to maintain a lower limit on the electrical system power consumption specified by the LB.

[0295] Figure 18 shows Method 1800 of a Dynamic Manager, or HSC, according to one embodiment of the present disclosure, which uses a set of optimal control parameters Xopt in combination with control laws to determine the values ​​of a set of control variables that command the electrical system. The set of optimal control parameters (Xopt), measured values ​​of the unadjusted building load (Load), and PV maximum power (PV_max_power) are received as inputs to Method 1800 or are otherwise available. The Dynamic Manager processes Xopt to determine a set of control values ​​that will bring changes to the electrical system toward achieving the objective of economic optimization of the electrical system in the coming time domain. The output control variables are ESS power commands (ESS_command) and photovoltaic limits (PV_limit), which are output to the building electrical system to command the ESS and photovoltaic subsystems.

[0296] Method 1800 includes step 1802 of extracting the currently applicable Pnom, UB, UB0, and LB from Xopt, and step 1804 of setting the ESS power command, ESS_command, equal to Pnom. Method 1800 also includes step 1806 of setting the photovoltaic limit PV_limit equal to the PV maximum power PV_max_power, and step 1808 of calculating the building power P_building as the sum of the unadjusted building load, the photovoltaic limit, and the ESS power command (P_building = Load + PV_limit + ESS_command).

[0297] Method 1800 further includes step 1810 determining whether the building power is greater than UB0 (P_building>UB0) and whether the ESS command is greater than zero (ESS_command>0). If yes, the method includes step 1812 setting the variables as follows: ESS_command=UB0-Load-PV_limit P_building=Load+PV_limit+ESS_command

[0298] Method 1800 includes step 1814 of determining whether building power is greater than UB (P_building>UB). If yes, method 1800 includes step 1816 of setting variables as follows. ESS_command=UB-Load-PV_limit P_building=Load+PV_limit+ESS_command

[0299] Method 1800 includes step 1818 of determining whether building power is less than LB (P_building<LB). If yes, method 1800 sets variables as ESS_command=LB-Load-PV_limit P_building=Load+PV_limit+ESS_command includes step 1820 of setting variables as such, and method 1800 includes step 1822 of determining whether building power is still less than LB (P_building<LB). If yes, method 1800 sets the photovoltaic limit PV_limit to PV_limit+(LB-P_building) includes step 1824 of setting as. Next, method 1800 includes step 1826 of outputting the control variables ESS_command and PV_limit to the electrical system.

[0300] logical HSC result

[0301] Figure 19 is Graph 1900, which shows a plot for an exemplary application of a specific four-parameter control set in a given time segment. Graph 1900 shows the respective values ​​of UB, UB0, LB, and Pnom as defined in Table 4 above. The vertical axis is power consumption (or energy consumption rate), with negative values ​​being the generator. The first plot 1902 provides the unadjusted power consumption (kW) over the time segment, with renewable (photovoltaic) power added to the electrical system load and excluding battery operation. In other words, the first plot 1902 shows the operation of the electrical system without the benefit of a controllable ESS (battery) controlled by the controller, as described in this disclosure. The second plot 1904 provides the power consumption (kW) value for battery operation over the time segment. The second plot 1904 can reflect the operation of the ESS commanded by the site controller. In other words, the second plot 1904 is the control variable of the ESS. The battery operation value can be the value of the control variable provided by the HSC to command the operation of the ESS. The third plot 1906 provides the power consumption (kW) values, including battery operation, with renewable (photovoltaic) power added to the electrical system load, over time segments. The third plot 1906 shows how a controlled ESS (or battery) affects the power consumption of the electrical system from the grid. Specifically, the battery in this example is controlled to discharge (e.g., by the battery operating value) to reduce the load of the electrical system on the grid and limit peak demand to the UB value when desired. Furthermore, this example shows that LB is enforced by instructing the ESS to charge only by an amount that limits the regulated net power to not fall below LB when needed. Moreover, this example shows that the nominal ESS power (Pnom) is commanded to a practicable extent while still meeting the requirements for UB, UB0, and LB.

[0302] In other embodiments, the control parameter set X may have fewer or more parameters than the four described in the exemplary embodiments above. For example, the control parameter set X may consist of only three parameters: Pnom, UB, and LB. Alternatively, the control parameter set X may consist of only two parameters: Pnom and UB. Alternatively, the control parameter set X may include only UB or only Pnom. Alternatively, the control parameter set X may include any other combination of four or fewer parameters from the list above.

[0303] Battery model

[0304] In battery ESS systems, battery costs can represent a significant portion of the overall system cost at a site, often exceeding 60% of the system (site) cost. The annual battery cost is roughly proportional to the initial battery cost and inversely proportional to the battery life. The estimated cost of system downtime during replacement of used batteries can also be considered. Battery condition, life, and / or health (SoH) can be modeled and / or determined by its degradation rate (or rate of capacity reduction and capacity at the end of product life). Battery degradation rate can depend on many factors, including time, SoC, discharge or charge rate, energy handling capacity, and battery temperature. Battery degradation rate can also take into account battery capacity (or its loss). Other methods for evaluating battery condition, life, and / or SoH can be based on the battery's maximum discharge current or its series resistance.

[0305] Described herein is a battery model based on battery degradation as a function of battery capacity compared to the battery's initial capacity or capacity at the start of its life. In other words, the disclosed battery model considers the state or health of the battery according to the battery capacity lost from the capacity at the start of its life. As can be understood, other battery models may model the battery state according to other methods, such as the battery's maximum discharge current, the battery's series resistance, or similar.

[0306] In one embodiment, battery degradation and associated costs are included as cost elements in the cost function. By including battery degradation costs in the cost function, the EO can effectively consider the contribution of battery degradation costs for each feasible set of control parameters X when it runs to find the minimum cost. That is, the EO can consider battery degradation costs when determining the optimal set of control parameters Xopt (e.g., from a continuum of infinite controllability). To achieve this, a parameterized model of battery performance, particularly its degradation rate, can be developed and used in the cost function during the simulation of a potential control solution (e.g., a set of control parameters X). For some battery type, it is possible to determine the battery parameters (or constants) that yield the closest fit (or a sufficiently close fit within a given tolerance) between the model and the actual battery performance or degradation. Once the parameters are determined, the cost function can be initialized with configuration information including these parameters so that the model can be used in its control simulation in some implementations.

[0307] In one embodiment, battery degradation is described in the form of a time or SoC derivative that can be numerically integrated as part of a cost function controlled simulation to bring about battery degradation in the future time domain. In one embodiment, this degradation derivative can consist of two elements: a wear element (or throughput element) and an aging element. In one embodiment, these elements can be numerically integrated with respect to time using an estimate of the battery SoC at each time step.

[0308] Examples of components of a battery degradation model according to one embodiment that meet these criteria are illustrated in Figures 20 and 21. Figure 20 shows the relationship between the wear rate and the SoC of a lead-acid battery based on a battery degradation model that includes wear. Figure 21 shows the relationship between the SoC and the aging rate (or aging factor) for a lead-acid battery based on a battery model that includes aging. A battery model that combines both wear and aging can be adapted to match the cycle life of a specific battery, similar to that shown in Figure 22.

[0309] Creating a battery degradation model as a time or SoC derivative is also beneficial because the model can be used to calculate battery degradation for any arbitrary battery operating profile (the battery operating profile being the battery's SoC over time). Calculating battery degradation is useful for simulating the performance (both physical and economic) of a battery ESS. In one embodiment, after a battery operating profile is generated by simulation, a derivative-based degradation model can be numerically integrated over that profile to generate an accurate estimate of battery degradation.

[0310] Other common degradation or "lifetime" models only provide degradation based on the number of cycles in the profile. These models have problems with the definition of "cycles," are inconsistent, and are difficult to use computationally for arbitrary battery operating profiles.

[0311] Other embodiments of wear and aging models, and combinations thereof, can be used in addition to those illustrated and described herein. For these other models, the above-described advantages are given, and they can be readily used as cost elements of the cost function of EO, provided that the model can be expressed as a derivative (and / or partial derivative) with respect to time or with respect to the battery SoC.

[0312] The graphs in Figures 20 and 21 illustrate different components of a battery degradation model according to one embodiment of the present disclosure. The illustrated example of a battery degradation model can model a lead-acid battery and may include wear components and aging components. The wear components may include functions of the battery's charge / discharge rate, the battery's State of Charge (SoC), and the battery's temperature. The aging components may include functions of the battery's state, including the battery's SoC and the battery's temperature.

[0313] Consider Cf, a battery degradation index calculated by dividing the maximum battery capacity by the maximum battery capacity at the start of life (BoL), which is one indicator of battery state. At BoL, Cf = 1.0. As the battery degrades, Cf decreases. At the end of life (EoL), Cf = Cf,EoL. Cf,EoL is typically between 0.5 and 0.9, and is often around 0.8. In some embodiments of this disclosure, the change in Cf can be used to estimate the cost of operating the battery in its future time domain (e.g., battery degradation cost) as follows. TIFF0007936731000008.tif6165 Here, BatteryCost total This is the total battery cost (e.g., initial or net current cost), and C f,t1 -C f,t2 This is the change in Cf between time t1 and t2. In other words, C f,t1 -C f,t2 This is an indicator of battery degradation between times t1 and t2. Battery life ends when Cf,EoL reaches the manufacturer's failure limit (typically 0.8% or 80% of the initial maximum capacity).

[0314] Determining the battery degradation cost over a certain period can involve multiplying the change in Cf by a cost factor. The cost factor is calculated by dividing the total cost of the battery by the total decrease in Cf at the end of its life, which is known as BatteryCost. total / (1-C f,EOL ) can be expressed as follows. In other words, the cost factor can be determined by dividing the battery life cost by the amount of battery degradation that leads to the end of the battery's lifespan.

[0315] To determine the change in Cf between times t1 and t2, we can consider two factors (wear and tear and aging) as two partial derivatives of Cf with respect to SoC and t, respectively. The change in battery capacity in a future time domain from t=t1 to t=t2 can be calculated using calculus as follows. TIFF0007936731000009.tif13169 Here, the "wear rate," which is the percentage of Cf due to wear (throughput), Represented as TIFF0007936731000010.tif10160, the "aging rate," which is the rate of change of Cf due to aging, Represented as TIFF0007936731000011.tif10156, the rate of change of the charge state (represented by SoC, ranging from 0 to 1) over time is: It is represented as TIFF0007936731000012.tif10159. This equation can be numerically integrated using many commonly known methods, including the trapezoidal rule or Simpson's rule. Differential coefficient TIFF0007936731000013.tif10160 can be obtained from a simulation performed by a cost function, and is a discrete value. It can be calculated as TIFF0007936731000014.tif10164.

[0316] Regarding the rate of change in Cf due to wear, the battery is discharging. Is it TIFF0007936731000015.tif10159, or is it charging? Depending on whether it is TIFF0007936731000016.tif10159, different exponential models can be used. For example, the wear rate can be expressed as follows: TIFF0007936731000017.tif20163 Here, A and B define the rate of increase in degradation during discharge, E represents the baseline degradation during discharge, C and D define the rate of increase in degradation during charging, and F represents the baseline degradation during charging.

[0317] Figure 20 is a graph of an exponential battery wear model for a specific battery degradation model according to one embodiment of the present disclosure. Figure 20 shows the "wear rate" for the SoC. The negative plots 2002 and 2004 of TIFF0007936731000018.tif11168 are shown. In other words, plots 2002 and 2004 represent the rate of battery capacity loss with respect to changes in the battery's charge state. The vertical axis of graph 2000 shows the negative wear rate in dimensionless units. The horizontal axis of graph 2000 shows the battery's SoC, where 1.0 = 100% (fully charged). One plot, 2002, shows the negative wear rate during charging, and the second plot, 2004, shows the negative wear rate during discharge. Plots 2002 and 2004 are calculated using the corresponding formulas above, with parameters (A to F) specifically selected to match the type of lead-acid battery. In this case, the parameters are A=4e-3, B=5.63, C=9e-4, D=27.4, E=3e-5, and F=3e-5.

[0318] For the rate of change of Cf due to aging, an exponential model of the rate of change of partial capacity with respect to time can be used. For example, the rate of change over time can be expressed as follows: TIFF0007936731000019.tif11168 Here, G represents the nominal aging rate in units of partial capacitance lost over time (e.g., 2% per year). The aging factor is obtained by multiplying the nominal aging rate G by -1. An aging factor of 1.0 indicates that the aging rate is -G. In addition, H and I define the rate of increase in the aging rate as the SoC approaches 0, and J and K define the rate of increase in the aging rate as the SoC approaches 1.

[0319] Figure 21 is a graph 2100 that provides a plot 2102 showing the relationship between aging factors and the SoC for a specific battery degradation model according to one embodiment of the present disclosure. The vertical axis of graph 2100 represents the aging factors. The horizontal axis of graph 2100 represents the SoC of the modeled battery. Plot 2102 shows the values ​​of the aging factors: This reflects TIFF0007936731000020.tif10164. In this example, the aging parameters are H=15.0, I=0.2, J=2.5, K=0.02.

[0320] As described above, the cost function, according to one embodiment, can sum up multiple cost elements for the operation of an electrical system, including cost elements BatteryCostt1···t2, or BatteryCostt1···t2*24hr / (t2-t1), in an embodiment where the cost function determines the cost per day and t1 and t2 are units of time.

[0321] The model described above can also be explained from the perspective of lost capacity Cf,lost. This model includes both capacity loss (throughput) Cf,lost,wear due to battery wear and capacity loss Cf,lost,aging due to battery aging. In other words, lost capacity can be expressed as follows: TIFF0007936731000021.tif6168

[0322] The end of a battery's lifespan is reached when Cf,lost reaches a value obtained by subtracting the manufacturer's failure limit (usually 0.2 or 20% of the initial capacity; in this case, the failure point is 80% of the initial capacity) from 1.

[0323] The capacity lost due to battery wear (throughput), Cf, lost, and wear, can be modeled using an exponential model for the rate of change of Cf and lost relative to the SoC. For example, the discharge formula for the loss of partial capacity per unit change of partial SoC, applicable when the SoC is decreasing, can be expressed as follows: TIFF0007936731000022.tif11162 Furthermore, the charging formula for the loss of partial capacitance per unit change of a partial SoC applicable during SoC growth can be expressed as follows: TIFF0007936731000023.tif11162 As described above, SoC represents the battery charge state, A and B define the rate of degradation increase during discharge, E represents the baseline degradation during discharge, C and D define the rate of degradation increase during charge, and F represents the baseline degradation during charge. As described above, Graph 2000 in Figure 20 shows the SoC for this particular battery degradation model. The plots for TIFF0007936731000024.tif10156 in 2002 and 2004 are shown.

[0324] For a given battery SoC profile, the total capacity loss Cf, lost, wear due to wear between times t1 and t2 can be calculated using the following formula. TIFF0007936731000025.tif32150 TIFF0007936731000026.tif11150

[0325] The capacity lost due to battery aging, Cf, lost, aging, can be expressed differentially by defining the rate of battery capacity loss over time, or more specifically, in one embodiment, the rate of change of the lost partial capacity over time. In one example, this differential expression of battery capacity loss can take the following exponential form. TIFF0007936731000027.tif9150 Here, as described above, G represents the nominal aging rate in units of partial capacitance lost over time (e.g., 2% per year). The aging factor is obtained by multiplying the nominal aging rate G by -1. An aging factor of 1.0 indicates that the aging rate is -G. In addition, H and I define the rate of increase in the aging rate when the SoC approaches 0, and J and K define the rate of increase in the aging rate when the SoC approaches 1.

[0326] For a given battery SoC profile, the total battery capacity loss Cf,lost,aging due to aging between times t1 and t2 can be calculated using the following formula. TIFF0007936731000028.tif11150

[0327] As described above, Graph 2100 in Figure 21 shows a plot 2102 illustrating the relationship between the SoC and the aging rate (or aging factor) for this particular battery degradation model. Combining the two factors from the previous example (wear and aging), the battery capacity lost during a future time domain from t=t1 to t2 can be determined as follows: TIFF0007936731000029.tif6150 TIFF0007936731000030.tif11150 TIFF0007936731000031.tif11150

[0328] When the lost battery capacity over the future time domain is determined by numerically integrating the above equation, the battery operation cost (e.g., battery degradation cost) in the future time domain can be calculated as follows. TIFF0007936731000032.tif6150 Here, BatteryCost total is the total battery cost (e.g., initial or net present cost), and Cf,EoL is the partial battery capacity remaining at the end of life. In other words, determining the battery degradation cost for a period includes multiplying the total battery degradation of that period by a cost factor. The cost factor can be BatteryCost obtained by dividing the total battery cost by the total partial capacity loss over the lifetime of the battery total / (1-Cf,EOL). In other words, the cost factor can be determined as the lifetime cost of the battery divided by the amount of battery degradation that occurs at the end of the battery lifetime.

[0329] Figure 22 is a pair of graphs 2202 and 2204 illustrating the lifetime of a battery. Graph 2202 shows manufacturer data 2206 regarding battery cycle life (number of cycles) versus depth of discharge under continuous cycle conditions. Graph 2204 shows manufacturer data 2210 regarding battery lifetime (in years) versus depth of discharge, assuming one cycle per day. The coefficients determined to match this manufacturer's cycle life data for the exemplary battery can be as follows. A=4e-3, B=5.63, C=9e-4, D=27.4, E=3e-5, F=3e-5, G=1.95e-6hr -1 , H=15.0, I=0.2, J=2.5, K=0.02 Graph 2202 includes a plot 2208 of a model in which the above coefficients are consistent with the manufacturer's data 2206 and provide predicted battery cycle life versus depth of discharge. Graph 2204 includes a plot 2212 of a model in which the above coefficients are consistent with the manufacturer's data 2210 and provide predicted battery lifetime versus depth of discharge.

[0330] To make it clear, according to this disclosure, different coefficients and / or different battery degradation models can be used depending on the type of battery deployed in the ESS.

[0331] Other battery models can be used to estimate Coulomb efficiency and ohmic efficiency, or the maximum charge and discharge rates. Similar to the degradation models described above, efficiency and maximum charge / discharge rates can be parameterized with constants that achieve a substantial "fit" between the model and the expected battery performance. Once these battery performance models are defined and their parameters are provided, they can be used in cost-function control simulations to better predict the results of applying various sets of control parameters.

[0332] (Device architecture)

[0333] Figure 23 is a schematic diagram of EO2300 according to one embodiment of the present disclosure. EO2300 can determine a control plan for managing the control of the electrical system 2318 at a site during a future time domain and provide the control plan as an output. The determined control plan may include multiple sets of parameters that apply to different time segments within the future time domain, each of which is applied. EO2300 can determine a control plan based on a set of components that specify one or more constraints on the electrical system 2318 and define one or more cost elements related to the operation of the electrical system 2318. EO2300 can also determine a control plan based on a set of process variables that provide one or more measurements of the state of the electrical system 2318. EO2300 may include one or more processors 2302, memory 2304, input / output interface 2306, network / COM interface 2308, and system bus 2310.

[0334] One or more processors 2302 may include one or more general-purpose devices such as Intel®, AMD®, or other standard microprocessors. One or more processors 2302 may include application-specific processing devices such as ASICs, SoCs, SiPs, FPGAs, PALs, PLAs, FPLAs, PLDs, or other customized or programmable devices. One or more processors 2302 perform distributed (e.g., parallel) processing and perform or otherwise implement the functions of this embodiment. One or more processors 2302 can run a standard operating system and perform standard operating system functions. For example, it is understood that any standard operating system can be used, such as Microsoft® Windows®, Apple® MacOS®, Disk Operating System (DOS), UNIX®, IRJX, Solaris, SunOS, FreeBSD, Linux®, or ffiM® OS / 2® operating systems.

[0335] Memory 2304 may include static RAM, dynamic RAM, flash memory, one or more flip-flops, ROM, CD-ROM, DVD, disk, tape, or magnetic, optical, or other computer storage media. Memory 2304 may include multiple program modules 2320 and data 2334.

[0336] The program module 2320 may include all or some of the other elements of the EO 2300. The program module 2320 can invoke multiple operations simultaneously or in parallel by one or more processors 2302, or on one or more processors. In some embodiments, parts of the disclosed modules, components, and / or equipment are embodied as executable instructions embodied in hardware or firmware, or stored in non-temporary machine-readable storage media. The instructions may include computer program code that, when executed by a processor and / or computing device, causes a computing system to perform specific processing steps, procedures, and / or operations, as disclosed herein. The modules, components, and / or equipment disclosed herein may be implemented and / or embodied as drivers, libraries, interfaces, APIs, FPGA configuration data, firmware (e.g., stored in EEPROM), and / or similar. In some embodiments, some of the modules, components, and / or equipment disclosed herein are embodied as mechanical components such as general-purpose and / or application-specific devices, including, but not limited to, circuits, integrated circuits, processing components, interface components, hardware controllers, storage controllers, programmable hardware, FPGAs, ASICs, and / or similar. Accordingly, the modules disclosed herein may be referred to as controllers, layers, services, engines, equipment, drivers, circuits, subsystems, and / or similar.

[0337] The system memory 2304 can also contain data 2334. Data generated by EO 2300, such as by the program module 2320 or other modules, can be stored on the system memory 2304, for example, as stored program data 2334. The data 2334 can be organized into one or more databases.

[0338] The input / output interface 2306 can facilitate interfacing with one or more input devices and / or one or more output devices. Input devices may include keyboards, mice, touchscreens, light pens, tablets, microphones, sensors, or other hardware with firmware and / or software. Output devices may include monitors or other displays, printers, speech or text synthesis devices, switches, signal lines, or other hardware with firmware and / or software.

[0339] The network / COM interface 2308 can facilitate communication or other interaction with other computing devices (e.g., the dynamic manager 2314) and / or networks 2312 such as the Internet and / or other computing and / or communication networks. The network / COM interface 2308 can have conventional network connectivity such as Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Data Link Interface (FDDI), or Asynchronous Transfer Mode (ATM). Furthermore, the network / COM interface 2308 can be configured to support various network protocols, such as Internet Protocol (IP), Transport Control Protocol (TCP), Network File Systems via UDP / TCP, Server Message Block (SMB), Microsoft® Common Internet File System (CIFS), Hypertext Transfer Protocol (HTTP), Direct Access File System (DAFS), File Transfer Protocol (FTP), Real-Time Publish Subscribe (RTPS), Open System Interconnection (OSI) protocol, Simple Mail Transfer Protocol (SMTP), Secure Shell (SSH), Secure Sockets Layer (SSL), and others. The network / COM interface 2308 can serve as any suitable communication interface for communicating with other systems and / or devices.

[0340] The system bus 2310 can facilitate communication and / or interaction between other components of the system, including one or more processors 2302, memory 2304, input / output interface 2306, and network / COM interface 2308.

[0341] Module 2320 may include a history load shape learner 2322, a load predictor 2324, a control parameter definer 2326, a cost function generator / initializer 2328, a cost function evaluator 2330, and an optimizer 2332.

[0342] The historical load shape learner 2322 can compile or otherwise collect historical trends to determine a historical profile or average load shape that can be used for load prediction. The historical load shape learner 2322 can determine and update the avg_load_shape array and the avg_load_shape_time_of_day array by recording load observations and using a method to determine an appropriate average of historical load observations after multiple periods. The historical load shape learner 2322 can utilize a process or method for determining the historical average profile as described above, with reference to Figure 10.

[0343] The load predictor 2324 can predict the load on the electrical system 2318 for the coming time domain. The load predictor 2324 can utilize the historical profile or historical load observation provided by the historical load shape learner 2322. The load predictor 2324 can utilize the load prediction method described above with reference to Figures 10 and 11.

[0344] The control parameter definer 2326 can generate, create, or otherwise define a set of control parameters X according to the control laws. The created control parameters 2346 may include definitions 2348 and values ​​2350 and can be stored as data 2334.

[0345] The cost function generator / initializer 2328 creates or otherwise obtains a cost function that acts on the control parameter set X. The cost function may include one or more constraints and one or more cost elements related to the operation of the electrical system 2318. The cost function generator / initializer 2328 pre-calculates certain values ​​that can be used during the iterative evaluation of the cost function involved in optimization.

[0346] The cost function evaluator 2330 evaluates the cost function based on the control parameter set X. Evaluating the cost function simulates the operation of the electrical system over a given period under given ambient conditions specified in the control parameter set X, and returns the cost of operating the electrical system over the given period.

[0347] The optimizer 2332 can minimize the cost function by using an optimization algorithm to find a set of values ​​for the set of control variables. Optimizing (e.g., minimizing) the cost function may include iteratively using a cost function evaluator 2330 to evaluate the cost function with different sets of values ​​for the set of control parameters X until the minimum cost is determined. In other words, the algorithm can iteratively change the values ​​of the set of control parameters X to identify the optimal set of values ​​according to one or more constraints and one or more cost elements related to the operation of the electrical system.

[0348] Data 2334 may include configuration data 2336, external data 2338, process variables 2340, state data 2342, historical observation values ​​2344, and control parameters 2346 (including definitions 2348 and values ​​2350).

[0349] Configuration data 2336 is provided to EO2300 to communicate the constraints and characteristics of the electrical system 2318, and can be received by EO2300.

[0350] External data 2338 can be received as external input (e.g., weather forecasts, variable tariffs, fuel costs, event data) and can provide information for determining the optimal set of values.

[0351] The process variable 2340 can be received as feedback from the electrical system 2318. Typically, the process variable 2340 is a measure of the state of the electrical system 2318 and is used, among other things, to determine the extent to which the objectives of controlling the electrical system 2318 are being met.

[0352] State data 2342 may be any EO state information that can be useful to retain between one EO iteration and the next. An example is avg_load_shape.

[0353] History observation 2344 is a record of received process variables. A good example is a set of history load observations that can be useful in load prediction algorithms.

[0354] As described above, the control parameter definer 2326 can create a control parameter 2346 which can include a definition 2348 and a value 2350 and be stored as data 2334. The cost function evaluator 2330 and / or optimizer 2332 can determine the value 2350 for the control parameter 2346.

[0355] EO2300 can provide one or more control parameters 2346 as a control parameter set X to the dynamic manager 2314 via the network / COM interface 2308 and / or network 2312. The dynamic manager 2314 can then use the control parameter set X to determine values ​​for a set of control variables to deliver to the electrical system 2318 in order to bring about changes in the electrical system 2318 toward achieving one or more objectives for controlling the electrical system 2318 (e.g., economic optimization).

[0356] In other embodiments, the EO2300 can directly transmit the control parameter set X to the electrical system 2318 via the network / COM interface 2308 and / or via the network 2312. In such embodiments, the electrical system 2318 can directly process the control parameter set X to determine control commands, and the dynamic manager 2314 may not be included.

[0357] In yet another embodiment, EO2300 can determine values ​​for a set of control variables (rather than a set of control parameters X), and can communicate the set of values ​​for the control variables directly to the electrical system 2318 via the network / COM interface 2308 and / or network 2312.

[0358] One or more client computing devices 2316 can be connected via a network 2312 and used to configure, provide, or do so for inputs to the EO 2300, the dynamic manager 2314, and / or the electrical system 2318.

[0359] Figure 24 is a schematic diagram of a dynamic manager 2400 according to one embodiment of the present disclosure. According to one embodiment of the present disclosure, the dynamic manager 2400 is a second computing device separate from the EO 2414 and can be similar to the EO 2300 in Figure 23. The dynamic manager 2400 can operate based on inputs received from the EO 2414 (e.g., a set of control parameters X). The dynamic manager 2400 can determine a set of control values ​​for a set of control variables for a given time segment in a future time domain and provide the set of control values ​​to the electrical system 2418 at the site to bring about changes to the electrical system 2418 toward achieving an objective of the electrical system 2418 during the future time domain (e.g., economic optimization, participation in aggregation opportunity events). The dynamic manager 2400 determines the set of control values ​​based on control laws and a set of values ​​for a given set of control parameters X. The dynamic manager 2400 may include one or more processors 2402, memory 2404, input / output interface 2406, network / COM interface 2408, and system bus 2410.

[0360] One or more processors 2402 may include one or more general-purpose devices such as Intel®, AMD®, or other standard microprocessors. One or more processors 2402 may include application-specific processing devices such as ASICs, SoCs, SiPs, FPGAs, PALs, PLAs, FPLAs, PLDs, or other customized or programmable devices. One or more processors 2402 may perform distributed (e.g., parallel) processing to perform or otherwise implement the functions of this embodiment. One or more processors 2402 may run a standard operating system and perform standard operating system functions. For example, it is recognized that any standard operating system can be used, such as Microsoft® Windows®, Apple® MacOS®, Disk Operating System (DOS), UNIX®, IRJX, Solaris, SunOS, FreeBSD, Linux®, or ffiM® OS / 2® operating systems.

[0361] Memory 2404 may include static RAM, dynamic RAM, flash memory, one or more flip-flops, ROM, CD-ROM, DVD, disk, tape, or magnetic, optical, or other computer storage media. Memory 2404 may include multiple program modules 2420 and program data 2426.

[0362] The program module 2420 may include all or some of the other elements of the dynamic manager 2400. The program module 2420 can execute multiple operations simultaneously or in parallel by or on one or more processors 2402, or on one or more processors 2402. In some embodiments, parts of the disclosed modules, components, and / or equipment are embodied as executable instructions embodied in hardware or firmware, or stored in non-temporary machine-readable storage media. The instructions may include computer program code that, when executed by a processor and / or computing device, causes a computing system to perform specific processing steps, procedures, and / or operations, as disclosed herein. The modules, components, and / or equipment disclosed herein may be implemented and / or embodied as drivers, libraries, interfaces, APIs, FPGA configuration data, firmware (e.g., stored in EEPROM), and / or similar. In some embodiments, some of the modules, components, and / or equipment disclosed herein are embodied as mechanical components such as general-purpose and / or application-specific devices, including but not limited to circuits, integrated circuits, processing components, interface components, hardware controllers, storage controllers, programmable hardware, FPGAs, ASICs, and / or similar. Accordingly, the modules disclosed herein may be referred to as controllers, layers, services, engines, equipment, drivers, circuits, and / or similar.

[0363] The system memory 2404 may also contain data 2426. Data generated by the dynamic manager 2400, such as by the program module 2420 or other modules, can be stored on the system memory 2404 as stored program data 2426. The stored program data 2426 can be organized into one or more databases.

[0364] The input / output interface 2406 can facilitate interfacing with one or more input devices and / or one or more output devices. Input devices may include keyboards, mice, touchscreens, light pens, tablets, microphones, sensors, or other hardware with firmware and / or software. Output devices may include monitors or other displays, printers, speech or text synthesis devices, switches, signal lines, or other hardware with firmware and / or software.

[0365] The network / COM interface 2408 can facilitate communication with other computing devices and / or networks 2412 such as the Internet and / or other computing and / or communication networks. The network / COM interface 2408 can be coupled (e.g., directly or via network 2412) to a communication path to the electrical system 2418 (e.g., electrically coupled). The network / COM interface 2408 may have conventional network connectivity such as Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Data Link Interface (FDDI), or Asynchronous Transfer Mode (ATM). Furthermore, the network / COM interface 2408 can be configured to support a variety of network protocols, such as Internet Protocol (IP), Transport Control Protocol (TCP), Network File Systems via UDP / TCP, Server Message Block (SMB), Microsoft® Common Internet File System (CIFS), Hypertext Transfer Protocol (HTTP), Direct Access File System (DAFS), File Transfer Protocol (FTP), Real-Time Publish Subscribe (RTPS), Open System Interconnection (OSI) protocol, Simple Mail Transfer Protocol (SMTP), Secure Shell (SSH), Secure Sockets Layer (SSL), and others.

[0366] The system bus 2410 can facilitate communication and / or interaction between other components of the system, including one or more processors 2402, memory 2404, input / output interface 2406, and network / COM interface 2408.

[0367] Module 2420 may include a parameter selector 2422 and a control law applicator 2424.

[0368] The parameter selector can choose which parameter set to use from the control parameter set X according to a given time segment.

[0369] The control law applicator 2424 can process a set of parameters selected from the control parameter set X and convert or translate the individual sets of parameters into control variables (or their values). The control law applicator 2424 can apply logic and / or conversion processes to determine a set of values ​​for a set of control variables based on a given set of parameters (from the control parameter set X) for the corresponding time segment. For example, the control law applicator 2424 can apply the method and / or logic shown in Figure 18.

[0370] Data 2426 may include configuration data 2428, process variables 2430, control parameters 2432 (including definitions 2434 and values ​​2436), and / or control variables 2438 (including definitions 2440 and values ​​2442).

[0371] Configuration data 2428 is provided to and can be received by the dynamic manager 2400 to communicate the constraints and characteristics of the electrical system 2418.

[0372] Process variables 2430 can be received as feedback from the electrical system 2418. Typically, process variables 2430 are measures of the state of the electrical system 2418 and are used, among other things, to determine the extent to which the objectives of controlling the electrical system 2418 are being met. Historical process variables 2430 can be used, for example, by the HSC to calculate demand, which can be calculated as the average building power over the preceding 15 or 30 minutes. Based on the process variables 2430, the dynamic manager 2400 can determine a set of control values ​​for a set of control variables.

[0373] The control parameter 2432 may comprise a control parameter set X, each containing one or more parameter sets for corresponding time segments in the future time domain. The control parameter 2432 may, additionally or separately, provide a control plan for the future time domain. The control parameter 2432 may be received from EO2414 as the optimal control parameter set Xopt.

[0374] The control variable 2438 can be generated by the parameter selector 2422 based on the optimal control parameter set Xopt.

[0375] The dynamic manager 2400 can receive the optimal control parameter set Xopt from EO 2414 via the network / COM interface 2408 and / or via network 2412. The dynamic manager 2400 can also receive process variables from the electrical system 2418 via the network / COM interface 2408 and / or via network 2412.

[0376] The dynamic manager 2400 can provide values ​​for a set of control variables to the electrical system 2418 via the network / COM interface 2408 and / or via the network 2412.

[0377] One or more client computing devices 2416 may be connected via a network 2412 and can be used to configure, provide, or similarly configure inputs to the EO 2414, the dynamic manager 2400, and / or the electrical system 2418.

[0378] (Example of a site controller)

[0379] Figure 25 is a signal flow diagram of a power control system 2500 in several embodiments. The power control system 2500 includes an aggregation engine 2502, a site controller 2504, and one or more DERs 2512 of an electrical system 2506 located at site 2514. The site controller 2504 includes one or more processors 2508 operably coupled to storage 2510. One or more processors 2508 are configured to perform the functions of the site controller 2504 as discussed above and in more detail below. In some embodiments, the site controller 2504 is similar to the site controllers 104, 106, 108 (Figure 1), 216 (Figure 2), 504 (Figure 5), and 704 (Figure 7) described above. The site controller 2504 may include a control interface configured to communicate with one or more DERs 2512. One or more DER2512s can be electrically controllable by one or more control values ​​of one or more control variables distributed to one or more DER2512s via a control interface. One or more DER2512s may include one or more ESSs, one or more power generators, one or more loads, or a combination thereof.

[0380] As described above with reference to Figures 7 to 24, the site controller 2504 is configured to optimally control the operation of one or more DER2512s and, in some embodiments, the operation of other electrical equipment (not shown) of the electrical system 2506 in an optimal manner. Thus, at any given moment during operation, the site controller 2504 controls the electrical equipment of the electrical system 2506 in a manner that the site controller 2504 has determined to be optimal (e.g., economically optimal).

[0381] In some embodiments, the aggregation engine 2502 is configured to receive aggregation opportunity information 2516 (for example, from equipment of a power company or other organization). The aggregation opportunity information 2516 may include the minimum net change in power required to comply with the aggregation opportunity, the aggregation benefits and / or penalties for non-compliance offered for compliance, and one or more periods of the aggregation opportunity for which the minimum net change in power should be offered. In some embodiments, the aggregation engine 2502 itself can generate the aggregation opportunity information 2516.

[0382] The aggregation engine 2502 is configured to assist the site controller 2504 in determining whether and to what extent to have site 2514 commit to providing site-level power changes toward the minimum net change in power of the aggregation operation. Since site controller 2504 already controls the electrical system 2506 in a manner determined to be optimal, a deviation from this optimal operation to participate in the aggregation operation would, presumably, have negative or undesirable effects on the operation of the electrical system 2506 (e.g., increased economic costs, equipment wear and tear, etc.). Therefore, the aggregation engine 2502 provides information to site controller 2504 so that it can determine whether the upshot contribution of site-level power changes toward compliance with the minimum net change in power of the aggregation operation is sufficient to offset any adverse effects associated with deviating from the operation optimized to participate in the aggregation operation. For example, the aggregation engine 2502 generates participation opportunity information 2520 (2518) that indicates one or more sets of proposed site benefits (e.g., corresponding to one or more periods within the time period of the aggregation opportunity) for providing site changes of power proposals. In this way, the site controller 2504 is notified of a certain amount of site benefit that is expected in return for committing to providing site changes of power toward compliance with the aggregation operation.

[0383] The site controller 2504 uses the participation opportunity information 2520 to determine the optimal level of commitment to provide site changes in power during the aggregation opportunity. Accordingly, the site controller 2504 determines the commitment level to provide site changes in power (2528) and transmits commitment information 2530 indicating one or more commitment levels of site changes in power that the site controller 2504 has committed to providing to site 2514 (for example, corresponding to one or more periods within the aggregation opportunity).

[0384] To the extent that the control of the electrical system 2506 changes as a result of a commitment made by the site controller 2504 to provide site-level power changes, the site controller 2504 can take the committed site-level power changes into account and transmit a new set of optimal control values ​​2524 to the electrical system 2506.

[0385] When in operation, the central controller generates participation opportunity information 2520 (2518) indicating the site benefit of the proposal to provide site changes of the proposal for power toward compliance with the minimum net change of power for the aggregation operation. In some embodiments, participation opportunity information 2520 corresponds to an incentive operation in which site 2514 will participate on its own. In some embodiments, participation opportunity information 2520 corresponds to an incentive operation in which site 2514 will participate together with at least one other site (not shown). In some embodiments, aggregation opportunity information 2516 relating to the aggregation operation may be received by the aggregation engine 2502 from a power utility (e.g., a utility company, etc.). In some embodiments, the aggregation engine 2502 may be a power utility itself.

[0386] The aggregation engine 2502 transmits participation opportunity information 2520 to the site controller 2504. The site controller 2504 is configured to store the participation opportunity information 2520 in storage 2510. Based on the participation opportunity information 2520 received from the aggregation engine 2502, the site controller 2504 determines the level of commitment to provide a site change of power (2528). The site controller 2504 generates commitment information 2530 containing the determined commitment level. In some embodiments, the site controller 2504 determines the commitment level 2528 for providing a site change of power by optimizing the control of the electrical system 2506 at site 2514, taking into account the site benefit for providing a site change of power proposal, as indicated by the participation opportunity information 2520.

[0387] In some embodiments, the determined level of commitment to provide site-to-site power is the optimal level of commitment to provide site-to-site power. The optimal commitment level is, in one embodiment, the predicted economically optimal commitment level to provide site-to-site power. In other words, determining the level of commitment to provide site-to-site power (2528) may include evaluating the predicted costs (e.g., using a cost or objective function) of implementing various levels of commitment to provide site-to-site power along with the corresponding benefits (e.g., as indicated by the proposed site benefits in participation opportunity information 2520), and selecting the most cost-effective level of commitment. In some embodiments, the site controller 2504 constructs a cost function when determining the optimal commitment level. The cost function may include the sum of the predicted economic costs to operate the electrical system 2506. As a non-limiting example, the cost function may include the sum of the predicted ToU supply charges and the predicted demand charges. As an unrestricted example, the cost function may also include the sum of equipment degradation costs associated with the degradation of at least one of the one or more DERs 2512 (e.g., ESS, generator, or other degradation), the predicted ToU supply charges, and the predicted demand charges. The site controller 2504 can optimize the cost function. The site controller 2504 transmits commitment information 2530 to the aggregation engine 2502 indicating the level of commitment determined to provide site-to-site power changes. The site controller 2504 also provides the electrical system 2506 with an optimal control value 2524 selected to implement the commitment level for site-to-site power changes indicated by the commitment information 2530. The optimal control value 2524 controls the electrical system 2506 to utilize one or more DERs 2512 to provide the commitment level for site-to-site power changes indicated by the commitment information 2530.

[0388] The aggregation engine 2502 receives commitment information 2530, evaluates the commitment information 2530, and determines whether the level of commitment indicated to provide site power changes is appropriate. In embodiments where the aggregation engine 2502 aggregates multiple sites, the aggregation engine 2502 may determine an aggregation level of commitments to provide site power changes (e.g., the sum of each indicated commitment level) based on the commitment information 2530 received from site controller 2504 and other commitment information received from other site controllers. This aggregation level of commitments can be compared to the minimum net power change that conforms to the aggregation operation (e.g., indicated by aggregation opportunity information 2516). As a specific, non-limiting example, it may be determined whether the aggregation level of commitments falls within a range around the minimum net power change. In some embodiments, the lowest net output change in the range can be greater than the minimum net output change to ensure the aggregation operation and conformity. Collaboration And, unlike other site controllers Collaboration In embodiments where this is not the case, the aggregation engine 2502 may compare the commitment level indicated by the commitment information 2530 to the minimum net change in power of the aggregate operation, or to a range around the minimum net change in power.

[0389] If the aggregation engine 2502 determines that the commitment aggregation level is too high or too low (for example, not within the range around the minimum net change in power), the aggregation engine 2502 is configured to update the participation opportunity information (2536) to generate the updated participation opportunity information 2522. For example, the aggregation engine 2502 can adjust the proposed site profit, the proposed site change in power, or both the proposed site profit and the proposed site change in power. If the commitment aggregation level is less than the range around the minimum net change in power, updating the participation opportunity information (2536) may include increasing the ratio between the proposed site profit and the proposed site change in power (for example, by increasing the proposed site profit, decreasing the proposed site change in power, or both). If the commitment aggregation level is greater than the range around the minimum net change in power, updating the participation opportunity information (2536) may include reducing the ratio between the proposed site benefit and the proposed site change in power (for example, by reducing the proposed site benefit, increasing the proposed site change in power, or both). If the aggregation engine 2502 updates the participation opportunity information 2536, the aggregation engine 2502 sends the updated participation opportunity information 2522 to the site controller 2504 (and other site controllers).

[0390] The site controller 2504 stores the updated participation opportunity information 2522 in the storage 2510 and, as described above, determines the commitment level 2528 to provide site power changes. The site controller 2504 transmits commitment information 2534 indicating this determined commitment level to the aggregation engine 2502 to control one or more DERs 2512 and provide the optimal control value 2526 to the electrical system 2506.

[0391] The aggregation engine 2502 evaluates commitment information 2534 in the same manner as described above with respect to the evaluation of commitment information 2530. If necessary, the aggregation engine 2502 repeats updating (2536), sending updated participation opportunity information (2522), and receiving corresponding commitment information from site controller 2504 (2534) until the aggregate commitment falls within a range around the minimum net change in power of the aggregate operation.

[0392] In some embodiments, at any point in time when the aggregation engine 2502 determines whether or not a minimum net change in power is provided and whether or not the aggregation operation is compliant, the aggregation engine 2502 may return the compliance information 2532 (if a utility or other entity is involved) to the utility or other entity. The compliance information 2532 may indicate whether or not the aggregation operation is compliant.

[0393] Figure 25 shows the site controller 2504 as being located at site 2514, but it should be noted that in some embodiments, site 2514 can be located remotely and can communicate with the electrical system 2506 via one or more networks to provide the electrical system 2506 with optimal control values ​​2524, 2526.

[0394] (Example embodiment)

[0395] The following are some exemplary embodiments within the scope of this disclosure. To avoid complexity in providing this disclosure, not all of the embodiments listed below are expressly disclosed separately as construed herein as being combinatable with all of the other embodiments listed below and other embodiments disclosed herein. Unless a person skilled in the art understands that these embodiments listed below (and embodiments disclosed above) are not combinatable, it is construed within the scope of this disclosure that such embodiments and forms are combinatable.

[0396] Example 1: An aggregation engine for allocating aggregation operations of aggregation opportunities, wherein the aggregation engine is: One or more data storage devices configured to store aggregation opportunity information, wherein the aggregation opportunity information indicates the minimum net change in power compliant with the aggregation operation and the aggregation benefit received compliant with the aggregation operation; A site communication interface configured to communicate with multiple site controllers, each of which is configured to control one or more distributed energy resources (DERs) of an electrical system at a site in order to economically optimize the operation of the electrical system; One or more data storage devices and one or more processors operably coupled to a site communication interface; It is equipped with one or more processors, Control the site communication interface to send allocation information to multiple site controllers via the site communication interface, so that the allocation information indicates the proposed site benefit in the proposed site change of power toward conforming to the minimum net change of power of the aggregation operation. The system processes commitment information received from multiple site controllers, and the commitment information indicates the level of commitment from multiple site controllers that contributes to the site change in power for a minimum net change in power. If the commitment information indicates that the aggregation commitments of the multiple site controllers are outside a predetermined range around the minimum net change in power, the site communication interface is controlled to send updated allocation information to the multiple site controllers, including the site benefit of the adjusted proposal, the site change of the adjusted power proposal, or both. An aggregation engine configured in such a way.

[0397] Example 2: The aggregation engine according to Example 1, wherein the site benefit of the adjusted proposal for providing site-to-site power variation is greater than the site benefit when the aggregation commitment of multiple site controllers is less than a predetermined range, and less than the site benefit when the aggregation commitment of multiple site controllers is greater than a predetermined range.

[0398] Example 3: The aggregation engine according to either one of Examples 1 or 2, wherein the proposed site change of adjusted power for receiving the proposed site benefit is smaller than the proposed site change of power when the aggregate commitment of the multiple site controllers is smaller than a predetermined range, and is larger than the site benefit when the aggregate commitment of the multiple site controllers is larger than a predetermined range.

[0399] Example 4: The aggregation engine according to any one of Examples 1 to 3, wherein one or more processors are further configured to process updated commitment information received from multiple site controllers in response to updated allocation information, the updated commitment information indicating the updated level of commitment from multiple site controllers to contribute to the minimum net change in power.

[0400] Example 5: The aggregation engine described in Example 1, wherein the proposed site profit shown by the allocation information above includes the proposed site profit that changes over the future period, for a point in time in the future period.

[0401] Example 6: The proposed site profit of the aggregation engine described in Example 5 changes over a future period based on the expected fluctuations in electricity demand over the future period.

[0402] Example 7: The aggregation engine according to Example 6, wherein the proposed site profit increases during periods of increasing expected demand for electricity and decreases during periods of decreasing expected demand for electricity.

[0403] Example 8: An aggregation engine according to any one of Examples 5-6, wherein one or more processors are configured to dynamically update the proposed site benefits based on feedback provided by multiple site controllers over a future period.

[0404] Example 9: An aggregation engine according to any one of Examples 1-5 and 8, wherein the proposed site profit shown by the allocation information includes a certain proposed site profit applicable to future periods.

[0405] Example 10: The aggregation engine according to Example 9, wherein one or more processors are configured to dynamically update the site benefits of a certain proposal based on feedback provided by multiple site controllers over a future period.

[0406] Example 11: An aggregation engine according to any one of Examples 1 to 10, further comprising an engine interface configured to communicate with an engine device of an engine that provides aggregation opportunities, the engine interface being configured to receive aggregation opportunity information from the engine device.

[0407] Example 12: The aggregation engine described in Example 11, wherein one or more processors are configured to control the engine interface to transmit compliance information to an engine device, the compliance information indicating whether the aggregation operation is compliant.

[0408] Example 13: An aggregation engine according to any one of Examples 1 to 12, wherein one or more processors are further configured to determine the cost compliant with the aggregate operation based on commitment information and allocation information.

[0409] Example 14: The aggregation engine according to Example 13, wherein one or more processors are configured to decide not to comply with an aggregation operation if the determined cost of complying with the aggregation operation minus any penalty associated with non-compliance is greater than the benefit of the aggregation operation.

[0410] Example 15: The aggregation engine according to Example 13, wherein one or more processors are configured to decide not to comply with the aggregation operation if the determined cost of complying with the aggregation operation is greater than the benefit of the aggregation operation.

[0411] Example 16: An aggregation engine according to any one of Examples 1 to 15, wherein the minimum value within a predetermined range from the minimum net change in power includes an excess of the minimum net change in power to compensate for the inability of one or more site controllers to achieve a level of commitment that site changes contribute to the minimum net change in power.

[0412] Example 17: An electrical system controller, An electrical system interface configured to communicate with one or more distributed energy resources (DERs) of an electrical system at a site, wherein one or more DERs are electrically controllable via the electrical system interface. An aggregation interface configured to communicate with an aggregation engine, wherein the aggregation engine communicates with one or more other electrical system controllers at one or more other sites to facilitate the allocation of burdens and benefits of aggregation operations between the site and one or more other sites. One or more data storage devices configured to store allocation information received from an aggregation engine via an aggregation interface, wherein the allocation information indicates the proposed site benefit for providing a proposed site change of power toward compliance with the minimum net change of power for an aggregation operation, One or more processors, Equipped with, The above 1 or 2 or more processors are: It generates commitment information indicating the level of commitment of the electrical system controller that contributes to site changes in power, and the level of commitment is determined based on the economic optimization of the cost of operating the electrical system, and the economic optimization of costs takes into account the cost of the commitment level and the corresponding site benefit. Control the aggregation interface to send commitment information to the aggregation engine. Control one or more DERs via an electrical system interface to provide a committed level of power site variation. It is configured in such a way. Electrical system controller.

[0413] Example 18: An electrical system controller according to Example 17, wherein one or more processors are configured to control one or more DERs to provide a committed level of site-to-site power variation by operating one or more power generators.

[0414] Example 19: An electrical system controller according to any one of Examples 17 and 18, wherein one or more processors are configured to control one or more DERs to provide a committed level of site-to-site power variation by discharging power from one or more energy storage systems.

[0415] Example 20: An electrical system controller according to any one of Examples 17-19, wherein one or more processors are configured to control one or more DERs to provide a committed level of site variation of power by operating one or more power generators.

[0416] Example 21: An electrical system controller according to any one of Examples 17 to 20, wherein one or more processors are further configured to generate updated commitment information in response to updated allocation information received via the aggregation interface, control the aggregation interface to transmit the updated commitment information to the aggregation engine, and control one or more DERs via the electrical system interface to provide updated levels of power for site changes in power according to the updated commitment information.

[0417] Example 22: A distributed power system, Multiple site controllers, each configured to control one or more distributed energy resources (DERs) of an electrical system located at a site, Aggregation engine and Equipped with, The above aggregation engine, The allocation information is sent to multiple site controllers, and the allocation information indicates the proposed site benefit to provide site changes for proposed power to conform to the minimum net change in power of the aggregation operation. Commitment information is received from multiple site controllers, and the commitment information indicates the level of commitment from multiple site controllers that contribute to the site change of power toward the minimum net change of power. If the commitment information indicates that the aggregation commitments of the multiple site controllers are outside a predetermined range around the minimum net change in power, then updated allocation information is sent to the multiple site controllers. It is configured in such a way. A distributed power system.

[0418] Example 23: The distributed power system according to Example 22, wherein the updated allocation information includes updated proposed site profits to provide site variations of the proposed power, the updated proposed site profits being greater than the proposed site profits when the aggregation commitments of the multiple site controllers are less than a predetermined range, and less than the proposed site profits when the aggregation commitments of the multiple site controllers are greater than a predetermined range.

[0419] Example 24: A distributed power system according to either Example 22 or 23, wherein the updated allocation information includes an updated power site change greater than the proposed power site change when the aggregation commitment of the multiple site controllers is greater than a predetermined range, and an updated power site change less than the proposed site benefit when the aggregation commitment of the multiple site controllers is less than a predetermined range.

[0420] Example 25: A distributed power system according to any one of Examples 22-24, wherein each site controller of a plurality of site controllers is configured to generate commitment information based on an optimization of the cost of operating one or more DERs, the optimization taking into account the cost of implementing the commitment level to provide site-to-site power variations, the proposed site benefits, and the costs and benefits corresponding to not participating in aggregation operations.

[0421] Example 26: A method for operating an aggregation engine to allocate aggregation operations for aggregation opportunities, The steps include storing aggregation opportunity information in one or more data storage devices, which shows the minimum net change in power compliant with the aggregation operation and the aggregation benefit received compliant with the aggregation operation, A step of communicating with multiple site controllers via a site communication interface, wherein each of the multiple site controllers is configured to control one or more distributed energy resources (DERs) of an electrical system at a site in order to economically optimize the operation of the electrical system. A step of controlling a site communication interface to transmit allocation information to multiple site controllers via the site communication interface, wherein the allocation information indicates the proposed site benefit for providing a site change of power proposal toward conforming to the minimum net change of power of the aggregation operation, A step of processing commitment information received from multiple site controllers, wherein the commitment information indicates the level of commitment of the multiple site controllers to contribute the site change of power to the minimum net change of power; If the commitment information indicates that the aggregation commitments of multiple site controllers are outside a predetermined range around the minimum net change of power, the site communication interface is controlled to transmit updated allocation information, including the site benefit of the adjusted proposal, the site change of the adjusted proposal of power, or both, to the multiple site controllers. Methods that include...

[0422] Example 27: The method according to Example 26, wherein the site benefit of the adjusted proposal for providing site-to-site power variation is greater than the site benefit when the aggregation commitment of multiple site controllers is less than a predetermined range, or less than the site benefit when the aggregation commitment of multiple site controllers is greater than a predetermined range.

[0423] Example 28: The method according to Example 26, wherein the proposed site change of adjusted power to receive the proposed site benefit is smaller than the proposed site change of power when the aggregation commitment of multiple site controllers is smaller than a predetermined range, or larger than the site benefit when the aggregation commitment of multiple site controllers is larger than a predetermined range.

[0424] Example 29: The method according to Example 26, further comprising the step of processing updated commitment information received from multiple site controllers in response to updated allocation information, wherein the updated commitment information indicates the updated level of commitment from the multiple site controllers to contribute to the minimum net change in power.

[0425] Example 30: The method of Example 26, wherein the proposed site profit shown by the allocation information above includes the proposed site profit that changes over the future period, at a point in time in the future period.

[0426] Example 31: The method according to Example 30, wherein the proposed site profit changes over a future period based on the expected fluctuations in electricity demand over the future period.

[0427] Example 32: The method according to Example 31, wherein the proposed site profit increases during periods of increasing expected demand for electricity and decreases during periods of decreasing expected demand for electricity.

[0428] Example 33: The method according to Example 30, further comprising the step of dynamically updating the proposed site benefits based on feedback provided by multiple site controllers over a future period.

[0429] Example 34: The method of Example 26, wherein the proposed site profit shown by the allocation information above includes a certain proposed site profit applicable to future periods.

[0430] Example 35: The method according to Example 34, further comprising the step of dynamically updating the site benefits of a certain proposal based on feedback provided by multiple site controllers over a future period.

[0431] Example 36: The method according to Example 26, further comprising the step of receiving aggregation opportunity information from an institutional device of an institution that provides aggregation opportunities.

[0432] Example 37: The method according to Example 36, further comprising the step of transmitting compliance information to the engine equipment, wherein the compliance information indicates whether the aggregation operation is compliant.

[0433] Example 38: The method according to Example 26, further comprising the step of determining the cost compliant with the aggregation operation based on commitment information and allocation information.

[0434] Example 39: The method according to Example 38, further comprising the step of deciding not to comply with the aggregation operation if the determined cost of complying with the aggregation operation minus any penalty associated with non-compliance is greater than the aggregation benefit.

[0435] Example 40: The method according to Example 38, further comprising the step of deciding not to comply with the aggregation operation if the determined cost of complying with the aggregation operation is greater than the benefit of the aggregation operation.

[0436] Example 41: The method according to Example 26, wherein the minimum value within a predetermined range from the minimum net change in power includes an excess of the minimum net change in power to compensate for the fact that one or more site controllers are unable to achieve the level of commitment to contribute the site change to the minimum net change in power.

[0437] Example 42: A method for controlling an electrical system controller, wherein this method is A step of communicating with one or more distributed energy resources (DERs) of an electrical system at a certain site, wherein one or more DERs are electrically controllable via an electrical system interface, and A step of communicating with an aggregation engine via an aggregation interface, wherein the aggregation engine communicates with one or more other electrical system controllers at one or more other sites in order to facilitate the distribution of burdens and benefits of aggregation operations between the site and one or more other sites. A step of storing distribution information received from an aggregation engine via an aggregation interface in one or more data storage devices, wherein the distribution information indicates a proposed site benefit for providing a proposed site change of power toward conformity to the minimum net change of power of the aggregation operation; A step of generating commitment information indicating the level of commitment of an electrical system controller to contribute to site changes in power, wherein the level of commitment is determined based on the economic optimization of the cost of operating the electrical system, and the economic optimization of costs takes into account the cost of the level of commitment and the corresponding site benefit. Steps include controlling the aggregation interface to send commitment information to the aggregation engine, The steps include controlling one or more DERs via an electrical system interface to provide a commitment level for site changes in power, Includes.

[0438] Example 43: The method according to Example 42, further comprising the step of controlling one or more DERs to provide a committed level of site variation in power by operating one or more power generators.

[0439] Example 44: The method of Example 42, further comprising the step of controlling one or more DERs to provide a committed level of site-to-site power variation by discharging power from one or more energy storage systems.

[0440] Example 45: The method according to Example 42, further comprising the step of controlling one or more DERs to provide a committed level of site variation in power by operating one or more generators.

[0441] Example 46: The method of Example 42, further comprising the steps of: generating updated commitment information in response to updated allocation information received via an aggregation interface; controlling the aggregation interface to transmit the updated commitment information to an aggregation engine; and controlling one or more DERs via an electrical system interface to provide updated levels of site changes of power in accordance with the updated commitment information.

[0442] Example 47: A method for controlling a distributed power system, Multiple site controllers, each configured to control one or more distributed energy resources (DERs) of a power system located at a site, Aggregation engine and Equipped with, The above aggregation engine, The allocation information is sent to multiple site controllers, and the allocation information indicates the proposed site benefit to provide site changes of power proposals toward conforming to the minimum net change of power for aggregation operations. Commitment information is received from multiple site controllers, and the commitment information indicates the level of commitment from multiple site controllers to contribute to the site change of power toward the minimum net change of power. If the commitment information indicates that the aggregation commitments of the multiple site controllers are outside a predetermined range around the minimum net change in power, then updated allocation information is sent to the multiple site controllers. It is configured in such a way. method.

[0443] Example 48: The method according to Example 47, wherein the updated allocation information includes updated proposed site profits to provide proposed site changes for power, the updated proposed site profits being greater than the proposed site profits when the aggregation commitments of multiple site controllers are less than a predetermined range, and less than the proposed site profits when the aggregation commitments of multiple site controllers are greater than a predetermined range.

[0444] Example 49: The method according to Example 47, wherein the updated allocation information includes an updated proposed site change for power that is greater than the proposed site change for power if the aggregation commitment of the multiple site controllers is greater than the predetermined range, and an updated proposed site change for power that is less than the site benefit if the aggregation commitment of the multiple site controllers is less than the predetermined range.

[0445] Example 50: The method of Example 47, wherein each site controller of a plurality of site controllers generates commitment information based on the optimization of the cost of operating one or more DERs, the optimization taking into account the cost of implementing the commitment level to provide site changes in power, the proposed site benefits, and the costs and benefits of not participating in the aggregation operation.

[0446] Example 51: A means of carrying out at least part of the method described in any one of Examples 26 to 50.

[0447] Example 52: One or more computer-readable media containing computer-readable instructions stored therein, wherein the computer-readable instructions are configured to instruct one or more processors to perform at least a part of the method according to any one of Examples 26 to 50.

[0448] Example 53: The computer-readable medium is one or more computer-readable mediums as in Example 52, comprising one or more non-temporary computer-readable mediums.

[0449] Example 54: An aggregation engine for cooperating in aggregate responses to requests to change power, the aggregation engine comprising: a memory for storing parameters that describe requests to change the power (consumption or generation) of one or more sites, the parameters including target changes in power to comply with the requests; and one or more processors operably coupled to the memory. The above 1 or 2 or more processors are: Participation opportunity information is transmitted to multiple site controllers, each controlling one or more distributed energy resources (DERs) of an electrical system located at one or more sites, to optimize the operation of the electrical system (e.g., economically) based on the participation opportunity information, which indicates one or more parameters related to site-based power changes that contribute to bringing power aggregation changes closer to power target changes, and indicates the relevant benefits related to site-based power changes. Commitment information is received from each of the above multiple site controllers, indicating the level of site power change that contributes to bringing the power aggregation change toward the target power change. Based on the above commitment information, the aggregation change of the above power is determined, Based on the above commitment information, the above participation opportunity information will be modified as necessary (to achieve the target change in power with the minimum total benefit to the site in order to comply with the requirements). An aggregation engine characterized by repeatedly performing this operation until the aggregated power change falls within a threshold value of the target power change.

[0450] Example 55: The aggregation engine described in Example 54 includes parameters describing the request to change the power, including the start date and time.

[0451] Example 56: The aggregation engine described in any of Examples 54-55 includes parameters describing the request to change the power, including the end date and time.

[0452] Example 57: An aggregation engine according to any of Examples 54-56, wherein the parameters describing the request for varying power include the request period.

[0453] Example 58: An aggregation engine according to any one of Examples 54 to 57, wherein one or more of the above processors modify the participation opportunity information by changing the relevant benefits for power site changes.

[0454] Example 59: An aggregation engine according to Example 58, wherein one or more processors modify opportunity information as needed to achieve a target change in power with the minimum aggregation benefit for one or more sites.

[0455] Example 60: An aggregation engine according to any one of Examples 58-59, wherein one or more processors modify opportunity information to optimize achieving a target change by attempting to increase the power aggregation change and decrease the aggregation benefit for one or more sites.

[0456] Example 61: An aggregation engine according to any one of Examples 54-60, wherein one or more processors modify the opportunity information to optimize achieving a target change by attempting to maximize the aggregation change of power and minimize the aggregation benefit to the one or more sites.

[0457] Example 62: An aggregation engine according to any one of Examples 54-61, wherein one or more processors modify the opportunity information above to optimize achieving the target change by attempting to maximize power site changes and minimize related benefits.

[0458] Example 63: An aggregation engine according to any of Examples 58-62, wherein participation opportunity information shows how the relevant benefits for site changes in power change will change at a point in time in the future.

[0459] Example 64: The aggregation engine described in Example 63, wherein the relevant benefits vary over a future period based on the expected fluctuations in electricity demand over that period.

[0460] Example 65: An aggregation engine according to any one of Examples 58-64, wherein the above parameters describing a power-changing request include aggregation benefits received to comply with the power-changing request by bringing the aggregate power change closer to the target power change.

[0461] Example 66: The aggregation engine according to Example 65, wherein the sum of the related profits for one or more sites is less than the aggregation profit described above.

[0462] Example 67: The aggregation engine of Example 65, wherein the associated benefit to one or more sites is monetary.

[0463] Example 68: A computer implementation method for collaborative aggregation responses to power change requests, the method comprising: receiving parameters describing a power change request for one or more sites; the parameters including a target power change to comply with the request; and sending participation opportunity information to a plurality of site controllers controlling one or more distributed energy resources (DERs) of an electrical system at one of the one or more sites until the aggregate power change falls within a threshold of the target power change; optimizing the operation of the electrical system based on the participation opportunity information; and the participation opportunity information including a target power change The steps include: iteratively performing the following steps: indicating one or more parameters relating to site-based power changes that contribute to approaching the target power change, indicating the relevant benefits for site-based power changes; receiving commitment information from each of the multiple site controllers indicating the level of site-based power changes that contribute to approaching the aggregate power change toward the target power change; determining the aggregate power commitment change from the commitment information; and modifying the participation opportunity information as necessary to achieve the target power change with the minimum sum of benefits to the site in order to comply with the requirements, based on the commitment information; Includes.

[0464] Example 69: The method according to Example 68, wherein modifying participation opportunity information includes changing the relevant benefits for power site changes.

[0465] Example 70: The method of Example 69, wherein modifying participation opportunity information includes modifying opportunity information as necessary to achieve target changes in power with the minimum aggregation benefit for one or more sites.

[0466] Example 71: The method according to Example 69, wherein modifying participation opportunity information involves modifying opportunity information to optimize achieving target changes by attempting to increase power aggregation changes and decreasing aggregation benefits for one or more sites.

[0467] Example 72: The method according to Example 69, wherein modifying participation opportunity information is performed to optimize achieving target changes by attempting to maximize power aggregation changes and minimize aggregation benefits for one or more sites.

[0468] Example 73: The method according to any one of Examples 69-72, wherein modifying participation opportunity information involves modifying the opportunity information to optimize achieving target changes by attempting to maximize power site changes and minimize related benefits.

[0469] Example 74: Participation opportunity information is provided in the manner of any one of Examples 68-73, showing how the relevant benefits for site changes in power change will change at a point in time in the future.

[0470] Example 75: The method of Example 74, wherein the relevant benefits vary over a future period based on the expected fluctuations in electricity demand over a future period.

[0471] Example 76: The method according to any one of Examples 68-75, wherein the parameters describing the power change request include the aggregation benefit received to comply with the power change request by bringing the aggregate power change closer to the target power change.

[0472] Example 77: The method according to Example 76, wherein the sum of the associated profits for one or more of the above sites is less than the aggregate profit.

[0473] Example 78: An electrical system controller, An electrical system interface configured to communicate with one or more distributed energy resources (DERs) of an electrical system at a site, wherein one or more DERs are electrically controllable via the electrical system interface, An aggregation interface configured to communicate with an aggregation engine, wherein the aggregation engine communicates with multiple electrical system controllers at multiple sites, including a site, to collaborate on aggregation responses to aggregation opportunities, and the aggregation opportunity includes parameters that describe a request to change the power at one or more of the multiple sites, and the parameters include a target change in power that conforms to the request. One or more processors, Equipped with, One or more of the above processors, An electrical system controller configured to determine an extended control plan for controlling the operation of an electrical system over a future time domain based on participation opportunity information received from an aggregation engine (for example, via an aggregation interface), such that the participation opportunity information indicates one or more parameters relating to site changes of power that contribute to bringing the aggregated power changes closer to the target power changes, and indicates the relevant benefits to the site changes of power, such that one or more processors determine the extended control plan based on both the cost and the relevant benefits of the level of commitment to the site changes of power, and control one or more DERs via the electrical system interface in accordance with the extended control plan to contribute to a level (e.g., quantity or magnitude), and communicate commitment information to the aggregation engine indicating the level of site changes of power that are contributing to achieving the target power changes with the minimum sum of benefits to the sites in order to comply with the requirements, based on the commitment information.

[0474] Example 79: An electrical system controller according to Example 78, wherein one or more processors determine an extended control plan by determining an optimal extended control plan that optimizes both the cost and associated benefits of the level of commitment to site changes in power.

[0475] Example 80: An electrical system controller according to Example 79, wherein one or more processors construct a cost function that includes the sum of the cost elements for operating the electrical system, and determine an optimal expansion control plan by running an optimization algorithm on the cost function, the cost elements including both the cost of the commitment level to site changes in power and the associated benefits.

[0476] Example 81: A computer implementation method for controlling a site including an electrical system having one or more distributed energy resources (DERs), wherein the method is Steps include: receiving participation opportunity information from an aggregation engine (for example, via an aggregation engine interface), wherein the aggregation engine communicates with multiple electrical system controllers at multiple sites, including the site, to collaborate on aggregation responses to aggregation opportunities, the aggregation opportunities providing requests to change the power at one or more of the multiple sites and target changes to power to comply with the requests, the participation opportunity information indicating one or more parameters relating to site changes of power to contribute to bringing the aggregate change of power closer to the target change of power, indicating the relevant benefits for site changes of power; determining an extended control plan to control the operation of the electrical system over a future time domain based on both the cost of the level of commitment to site changes of power and the relevant benefits provided by the participation opportunity information; and controlling one or more DERs of the electrical system via the electrical system interface in accordance with the extended control plan to contribute the level of site changes toward the aggregate change of power. The process includes the step of communicating commitment information to the aggregation engine, based on the above commitment information, which indicates the level of site-specific changes in power that are being contributed to, so that the aggregation engine may adjust the participation opportunity information as necessary to achieve the target changes in power with the minimum sum of benefits to the sites in order to comply with the above requirements.

[0477] Example 82: The method according to Example 81, wherein determining an expansion control plan involves determining an optimal expansion control plan that optimizes both the cost and associated benefits of the level of commitment to site changes in power.

[0478] Example 83: The method of Example 82, wherein determining the optimal expansion control plan involves constructing a cost function that includes the sum of the cost elements for operating the electrical system, and running an optimization algorithm on the cost function, wherein the cost elements include cost elements for both the cost of the commitment level to site changes in power and the associated benefits.

[0479] Example 84: An aggregation engine that cooperates in aggregation operations to respond to aggregation opportunities, comprising: a memory that stores aggregation opportunity information indicating a target change in power to be achieved in order to realize the aggregation operation; and one or more processors operably coupled to the memory, The above 1 or more processors, while the power aggregation change is not within the threshold of the target power change, An aggregation engine characterized by iteratively performing the following: sending opportunity information to multiple site controllers, each controlling one or more distributed energy resources (DERs) of an electrical system at a site, in order to optimize the operation of the electrical system based on opportunity information; receiving commitment information from each of the multiple site controllers, which indicates one or more parameters relating to site changes in power that contribute to bringing the aggregate change in power closer to the target change in power, indicates the relevant benefit to the site change in power, and indicates the amount of site change in power that contributes to bringing the aggregate change in power closer to the target change in power; determining the aggregate change in power from the commitment information; and modifying the opportunity information as necessary to achieve the target change in power and thereby realize the aggregation operation based on the commitment information.

[0480] Example 85: The aggregation opportunity further represents the aggregation benefit received in accordance with the aggregation operation, as described in Example 84, and is an aggregation engine.

[0481] The described features, operations, or characteristics can be arranged and designed in a wide variety of different configurations in one or more embodiments and / or combined in any preferred manner. Accordingly, the detailed descriptions of the embodiments of the systems and methods are not intended to limit the scope of the disclosure as described in the claims, but merely represent implementable embodiments of the disclosure. Furthermore, it will be readily apparent to those skilled in the art that the order of steps or operations of the methods described in relation to the disclosed embodiments can be changed. Accordingly, any order in the drawings or detailed descriptions is for illustrative purposes only and does not suggest a desired order unless otherwise specified.

[0482] The embodiments may include a variety of steps that can be embodied in machine-executable instructions executed by a general-purpose or specific-purpose computer (or other electronic device). Alternatively, the steps may be executed by hardware components containing specific logic for executing the steps, or by a combination of hardware, software, and / or firmware.

[0483] Embodiments may also be provided as a computer program product, including a computer-readable storage medium on which instructions are stored that can be used to program a computer (or other electronic device) to perform the processes described herein. The computer-readable storage medium may include, but ...

Claims

1. An aggregation engine that collaborates to provide aggregated responses to demands for changing power levels, A memory for storing parameters that describe a request to change the power of one or more sites, wherein the parameters include a target change in power to comply with the request. One or more processors operably coupled to the memory, Equipped with, The one or more processors described above are: Multiple site controllers, each controlling one or more distributed energy resources (DERs) of an electrical system located at one of the one or more sites, transmit participation opportunity information to a plurality of site controllers, each controlling one or more DERs of an electrical system at one of the aforementioned sites, and economically optimize the operation of the electrical system based on the participation opportunity information, wherein the participation opportunity information indicates one or more parameters relating to site changes in power that contribute to bringing the aggregate change in power closer to the target change in power, and indicates the relevant benefits for the site change in power, Commitment information indicating the level of site-based power change that contributes to bringing the power aggregation change toward the target power change is received from each of the multiple site controllers. The aggregate change of the power is determined from the aforementioned commitment information. Based on the aforementioned commitment information, the participation opportunity information is modified. An aggregation engine characterized by repeatedly performing this until the aggregate change in power falls within a threshold value of the target change in power.

2. The aggregation engine according to claim 1, wherein the one or more processors modify the participation opportunity information by changing the relevant benefits for site changes in the power.

3. The aggregation engine according to claim 1, wherein the one or more processors modify the participation opportunity information to achieve the target change in power with the minimum aggregation benefit for one or more sites.

4. The aggregation engine according to claim 2, wherein the one or more processors modify the participation opportunity information to achieve the target change by attempting to increase the aggregate change in power and decrease the aggregation benefit for the one or more sites.

5. The aggregation engine according to claim 2, wherein the one or more processors modify the participation opportunity information to achieve the target change by attempting to maximize the aggregate change in power and minimize the aggregation benefit to the one or more sites.

6. The aggregation engine according to claim 2, wherein the one or more processors modify the participation opportunity information to achieve the target change by attempting to maximize the site change of power and minimize the associated benefit.

7. The aggregation engine according to claim 1, wherein the participation opportunity information indicates how the relevant benefits for site changes of the power will change at a point in time in the future.

8. The aggregation engine according to claim 7, wherein the related benefits vary over the future period based on the expected fluctuations in electricity demand over the future period.

9. The aggregation engine according to claim 1, wherein the parameter describing the request to change the power includes aggregation benefits received to comply with the request to change the power by bringing the aggregate change of the power closer to the target change of the power.

10. The aggregation engine according to claim 9, wherein the sum of the associated profits for the one or more sites is less than the aggregation profit.

11. The aggregation engine according to claim 9, wherein the related profits for the one or more sites are monetary.

12. A computer implementation method for collaboratively providing aggregate responses to requests that change power, A parameter that stores a request to change the power of one or more sites, wherein the parameter includes a step of a target change in power to comply with the request, Multiple site controllers, each controlling one or more distributed energy resources (DERs) of an electrical system located at one of the one or more sites, transmit participation opportunity information to a plurality of site controllers, each controlling one or more DERs, to economically optimize the operation of the electrical system based on the participation opportunity information, and the participation opportunity information indicates one or more parameters relating to site changes in power that contribute to bringing the aggregate change in power closer to the target change in power, and indicates the relevant benefits for the site change in power. Commitment information indicating the level of site-based power change that contributes to bringing the power aggregation change toward the target power change is received from each of the multiple site controllers. To determine the aggregate change of power commitments from the aforementioned commitment information, and Based on the aforementioned commitment information, modify the aforementioned participation opportunity information. The steps include repeatedly performing the following until the aggregate change in power falls within the threshold of the target change in power: Methods that include...

13. The method of claim 12, wherein modifying the participation opportunity information includes changing the associated benefits for the site change of the power.

14. The method according to claim 13, wherein modifying the participation opportunity information includes modifying the participation opportunity information toward achieving a target change in power with the minimum aggregation benefit for one or more sites.

15. The method according to claim 13, wherein modifying the participation opportunity information involves modifying the participation opportunity information to achieve the target change by increasing the aggregate change of the power and decreasing the aggregate benefit for the one or more sites.

16. The method according to claim 13, wherein modifying the participation opportunity information involves modifying the participation opportunity information to achieve the target change by attempting to maximize the aggregate change of the power and minimize the aggregate benefit for the one or more sites.

17. The method according to claim 13, wherein modifying the participation opportunity information involves modifying the participation opportunity information to achieve the target change by attempting to maximize the site change of the power and minimize the related benefits.

18. The method according to claim 12, wherein the participation opportunity information indicates how the relevant benefits for the site change of the power will change at a point in time in the future.

19. The method according to claim 18, wherein the related benefits change over the future period based on the expected fluctuations in electricity demand over the future period.

20. The method according to claim 12, wherein the parameter describing the request to change the power includes an aggregation benefit received to comply with the request to change the power by bringing the aggregate change of the power closer to the target change of the power.

21. The method according to claim 20, wherein the sum of the associated profits for the one or more sites is less than the aggregate profit.

22. It is an electrical system controller, An electrical system interface configured to communicate with one or more distributed energy resources (DERs) of an electrical system at a site, wherein the one or more DERs are controllable via the electrical system interface, An aggregation interface configured to communicate with an aggregation engine, wherein the aggregation engine communicates with a plurality of electrical system controllers at a plurality of sites, including the site, to cooperate in providing aggregation responses to aggregation opportunities, the aggregation opportunity includes parameters that describe a request to change the power at one or more of the plurality of sites, and the parameters include a target change in power that conforms to the request; One or more processors, Equipped with, The one or more processors described above Based on participation opportunity information received from the aggregation engine, the operation of the electrical system is economically optimized, and an extended control plan is determined for controlling the operation of the electrical system over the future time domain, such that the participation opportunity information indicates one or more parameters relating to site changes of power that contribute to bringing the aggregate change of power closer to the target change of power, and indicates the relevant benefits for the site change of power. Control the one or more DERs via the electrical system interface in accordance with the extended control plan that contributes to the level of site change toward the aggregate change of power. Commitment information indicating the level of site variation of the contributed power is transmitted to the aggregation engine. The aggregation engine, The commitment information is received from the one or two or more processors. The aggregate change of the power is determined from the received commitment information. Based on the aforementioned commitment information, the participation opportunity information is modified. This is repeated until the aggregate change in power falls within the threshold of the target change in power. An electrical system controller configured in such a way.

23. The electrical system controller according to claim 22, wherein the one or more processors determine the expansion control plan by determining an optimal expansion control plan that optimizes both the cost of the commitment level to site changes in power and the associated benefits.

24. The electrical system controller according to claim 23, wherein the one or more processors construct a cost function that includes the sum of the cost elements for operating the electrical system, and determine the optimal extended control plan by executing an optimization algorithm on the cost function, wherein the cost elements include cost elements of both the commitment level to the power site change and the associated benefits.

Citation Information

Patent Citations

  • Demand adjustment device

    WO2018158794A1