Control interface for flexibility assets

By modeling individual assets within a pool and deriving a simplified linear model for asset pools, the method addresses the complexity of managing large asset pools, enhancing flexibility service optimization and stability in energy grids.

WO2026159665A1PCT designated stage Publication Date: 2026-07-30BEEBOP BV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
BEEBOP BV
Filing Date
2026-01-23
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

Existing flexibility service management systems face challenges in efficiently managing large heterogeneous asset pools due to the computational complexity of predicting the optimal flexibility provision, often relying on simple linear models that fail to reflect the complexities of asset dynamics, leading to suboptimal decisions and potential grid instability.

Method used

A method involving modeling individual assets within a pool using a first model, simulating asset responses to pool-level control signals, deriving a second, simpler, typically linear model that aggregates asset responses, and using this model for high-performance optimization of flexibility provision.

Benefits of technology

Enables efficient optimization of flexibility services by accurately predicting asset responses, reducing the risk of under/over-delivery and grid instability, while being computationally feasible for real-time decision-making.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2026050649_30072026_PF_FP_ABST
    Figure IB2026050649_30072026_PF_FP_ABST
Patent Text Reader

Abstract

A method of facilitating control of energy assets connected to an electricity distribution grid to provide flexibility response services is disclosed. The method models a plurality of assets of an asset pool using a non-linear model, comprising asset models for each asset. Operation of the assets is simulated in response to a plurality of flexibility control signals, wherein the flexibility control signals comprise pool-level control signals for requesting a total flexibility provision from the asset pool, and wherein the simulation comprises disaggregating the pool-level control signals to obtain asset control signals for individual assets of the pool. Asset responses for each of the assets are determined based on the asset control signals and the asset models, where each asset response specifies a flexibility provision by the respective asset. The asset responses are aggregated to obtain pool-level flexibility response data indicating combined responses of the assets of the pool to the pool-level flexibility control signals. A linear model is derived corresponding to the non-linear model based on the pool-level flexibility response data and output to a flexibility provider system for use by a linear optimizer to optimize flexibility provision.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Control Interface for flexibility assets

[0002] FIELD OF THE INVENTION

[0003] The present application relates to methods and systems for providing an interface between a flexibility service provider and a pool of flexibility assets in an energy grid.

[0004] BACKGROUND OF THE INVENTION

[0005] Modern electricity grids provide flexibility services that can support grid balancing. For example, there are typically various forms of energy assets which can alter their consumption from or supply to the grid, for example in response to a central command or locally detected grid conditions. Such flexibility services can also be referred to as demand response services. Generally, flexibility services as referred to herein may include any services in which consumption of energy by assets from a distribution grid, or supply of energy from assets to the distribution grid can be controlled (e.g. centrally / via a network) to meet requirements of a grid operator or balancing service, e.g. to balance consumption and supply on the grid, stabilise the grid etc. An energy asset may be a consumer or supplier of energy or (at different times) both. Batteries are a typical example of assets that can be controlled to charge or discharge at different times to consume or supply electricity. This may include standalone domestic batteries, electric vehicle (EV) batteries when connected to the grid at a charge point, and larger scale commercial battery systems. Generator assets such as petrol generators may be controlled to turn on / or off or adjust output. Similarly, consuming assets may be controlled to alter their consumption, for example by load shifting. Typical examples of the latter may include Heating, Ventilation and / or Air Conditioning (HVAC) systems such as heat pumps. Times at which HVAC systems operate may be shifted and the level of heating / cooling may be controlled to change consumption patterns (e.g. by modifying control schedules, temperature set points etc.)

[0006] Multiple individual devices may also be grouped together to form an asset; for example, a household having a photovoltaic (PV) generation system with solar panels and abattery may be controlled to provide electricity not consumed by local consumers at the property to the grid for balancing purpose, or to use the locally generated electricity to charge the battery at certain times for later use by local consumers or for supply back to the grid at a later time.

[0007] Individual assets (especially domestic ones) are typically limited in terms of the flexibility they can provide but there may be many of them across the electricity distribution grid. To exploit such assets efficiently, flexibility services can be provided on the basis of asset pools, where an asset pool corresponds to a group of individual assets. Different service providers may operate (e.g. own and / or control) different pools of assets. Asset pools may include assets of the same type (e.g. a pool of domestic batteries) or of different types (e.g. a pool of batteries and heat pumps in a particular geographic region or customer base of a particular provider). For example, a pool of assets may represent a virtual power plant (VPP) operated by a given flexibility provider.

[0008] Flexibility providers make the flexibility capacity of their assets (e.g. assets that they own or at least control) available to energy markets and balancing services. The aim is to balance supply and consumption at any given time to ensure grid stability, since excess demand or consumption can, if not balanced, lead to voltage fluctuations or even equipment failure and eventually blackouts. To this end, balancing services monitor the grid and call upon flexibility services to correct any imbalances. Note that balancing services can be operated by grid operators e.g. Transmission System Operators (TSO) or Distribution Network Operators (DNO), or by other entities e.g. third party service providers. In practice, most day-to-day balancing is provided by third party balancing services with grid operators implementing last resort balancing services. Balancing services may call on flexibility capacity made available from various pools of flexibility assets.

[0009] In addition to immediate balancing actions in response to conditions on the grid, balancing services also attempt to balance in advance, by forecasting expected consumption / demand in a future time period and reserving the required flexibility provision from the flexibility providers. For example, the balancing service may requestan amount of power to be provided at a certain time from a pool of batteries to counter an expected shortage at that time.

[0010] In typical systems, flexibility provision is managed by an energy trading market in which consumers and suppliers buy and sell energy to meet expected demand. The energy trading market allows flexibility providers to make flexibility capacity available to the grid operator or balancing service (or the market in general) in return for payment within the context of the energy trading market. The typical structure of such an energy trading market involves multiple levels as follows:

[0011] 1. Day-ahead (DA) trading: Daily energy trading is performed for the next day in slots of 1 hour. Energy sold to the market by providers is allocated to consumers for every hour of the day, with the aim for production to match consumption for each time unit.

[0012] 2. Intraday (ID) trading: This provides continuous trading for (typically shorter) time slots. For example, in the UK the slot length is 30min while in mainland Europe it is 15min. The energy position (trading) is frozen at “gate closure” at some defined cutoff before the time slot, e.g. 5 minutes before the slot. The intent is that the total traded position, i.e. the sum of traded DA and ID volumes is asset backed, i.e. can be delivered.

[0013] 3. Moment-by-moment flexibility: This involves asset owners (or providers controlling assets) using their assets for immediate balancing to balance out any difference between actual supply / consumption and the traded energy positions.

[0014] 4. TSO balancing: Here, remaining imbalances are handled by grid services operated by grid operators, such as dynamic containment. The specifics are generally country-specific (whereas stages 1-3 follow a universal pattern). The cost for all these balancing services typically dictates the imbalance price i.e. the price used to settle the difference between actual consumption and production and the traded position. These prices can be negative.It should be noted that, while energy trading is used as an incentivisation mechanism to provide effective and dynamic energy balancing, the fundamental problem is a technical one, of ensuring grid stability by balancing supply and consumption both in advance and byflexibly respondingto dynamic conditions. In practice, this involves controlling a large heterogeneous set of energy assets, owned and controlled by various flexibility providers, which can be technically challenging. Selecting the appropriate set of assets to use in any given situation can be difficult and can may depend on being able to predict reasonably accurately the actual effect on the grid of specific asset activations. For complex systems with many assets, a complete evaluation of the available options is a high-dimensional problem that may be computationally infeasible to solve, especially for the fast decisions needed for intraday-trading or managing an imbalance position.

[0015] Flexibility providers offering flexibility services therefore need more efficient approaches for performing the necessary analysis to determine what flexibility capacity they can offer for a given time slot based on the assets available to them. Flexibility providers (and energy traders in general) therefore typically use fairly simple, low-dimensional linear models to make flexibility trading decisions, using commercially available and highly performant linear solvers. However, these simple models generally do not reflect the complexities of large heterogeneous asset pools well, leading to less optimal decisions. This can result in under- or over-delivery which can lead to the system having to fall back on more costly and typically less energy efficient balancing mechanisms, or in the worst case can cause grid instability.

[0016] SUMMARY OF THE INVENTION

[0017] Aspects of the invention are set out in the independent claims. Certain preferred features are set out in the dependent claims.

[0018] Disclosed herein in a first example is a method of facilitating control of energy assets connected to an electricity distribution grid to provide flexibility services, comprising:modelling a plurality of assets of an asset pool using a first model, the first model comprising asset models for modelling each asset of the pool individually;

[0019] simulating operation of the assets in response to a plurality of flexibility control signals, wherein the flexibility control signals comprise pool-level control signals for requesting a total flexibility provision from the asset pool, and wherein the simulation comprises:

[0020] disaggregating the pool-level control signals to obtain individual asset control signals for individual assets of the pool; and

[0021] determining asset responses for each of the assets based on the individual asset control signals and the asset models, wherein each asset response specifies a flexibility provision by the respective asset; aggregating the asset responses to obtain pool-level flexibility response data indicating combined responses of the assets of the pool to the pool-level flexibility control signals;

[0022] deriving a second model corresponding to the first model based on the poollevel flexibility response data, the second model adapted to model a response of the asset pool to the pool-level control signals; and

[0023] outputting the second model, optionally to a flexibility provider system for use by an optimizer to optimize flexibility provision.

[0024] This approach thus allows a second model, typically a simpler model that can be used for high-performance optimization, to be derived from the first model, where the first model models assets individually whilst the second model models assets collectively at the pool level. While the first model may thus include individual asset models, i.e. the “asset” is the unit of modelling, it should be noted that an asset can correspond to a single physical energy device or a collection of such devices. An asset can be any device or collection of devices that can be used for flexibility provision, e.g. by being controlled on demand to change its energy consumption from or supply to the distribution network (whether by ramping up / down, switching on / off, changing operating mode etc.)

[0025] The following optional features may be used with any of the examples set out herein.Preferably, the asset models of the first model model individual asset responses to individual control actions for the assets in dependence on individual state representations for the assets. Alternatively or additionally, the second model may model an aggregate pool-level response of the asset pool in dependence on aggregate pool-level control actions and in dependence on an aggregated pool-level state representation.

[0026] As noted, the second model is preferably simpler than the first model. Specifically, the second model may define a smaller input space than the first model, optionally a smaller asset state space and / or control action space. Preferably, the first model is a non-linear model and / or the second model is a linear model. The linear model preferably defines a linear relationship between a pool level control signal, state data representative of an aggregate state of the pool of assets, and a pool level response. The second model may comprise one or more of: a linear state dynamics function indicating a change in the aggregate state in response to the pool level control signal; a linear cost function indicating a cost of flexibility provision; and one or more linear constraints.

[0027] The or each asset response preferably comprises one or both of: an actual activation indicating an achieved flexibility provision by the asset in response to the individual asset control signal for the asset, optionally including energy flow data specifying supply of energy to, or consumption of energy from, the distribution grid; and a cost measure indicating a cost of activation of the asset, the cost measure optionally based one or both of financial and technical costs. Thus, the term “cost” as used herein may refer, but does not necessarily refer, to financial cost but can encompass technical costs e.g. a measure of technical impact of asset activation such as carbon cost etc. Similarly, the pool-level flexibility response data preferably comprises aggregated pool-level activation data and / or aggregated pool-level cost data.

[0028] Each asset response preferably comprises a time series signal comprising a time series of response values, preferably energy flow values.Preferably, the asset model for an asset outputs asset response data indicative of an asset response based on a control input comprising the asset control signal for the asset. The asset model preferably outputs the asset response data for a next time interval based on the control input to be applied at that time interval. The asset model preferably further models an asset state, wherein the asset model outputs the asset response data additionally based on the asset state. The asset response data optionally defines a probability distribution for the asset response in dependence on one or both of: the control input, and the asset state, the method comprising randomly determining an asset response for the asset in accordance with the probability distribution. The asset state may, for example, comprise a state of charge or state of energy of a battery asset or other energy storage asset, an operating temperature of an HVAC asset such as a heat pump, etc.

[0029] Preferably, the asset model further outputs data indicative of a next asset state, where the next asset state is the state of the asset at the end of a next time interval, the method comprising updating the modelled asset state based on the next asset state, wherein the asset model is evaluated for a subsequent time interval based on the updated asset state. The data indicative of a next asset state preferably defines a probability distribution for the next asset state in dependence on the control input and / or asset state, the method further comprising randomly determining a next asset state in accordance with the probability distribution.

[0030] The method may comprise, for each asset, randomly sampling asset responses and optionally next asset states for a plurality of time intervals in accordance with probability distributions output by the respective asset models, to produce a response trace for the asset comprising a time series of asset response values. The method may comprise generating the pool-level flexibility response data using repeated random sampling of asset responses and / or next asset states in accordance with the probability distributions.

[0031] The pool-level control signals preferably comprise an input trace comprising a time series of pool-level control values, the time series preferably including a pool-levelcontrol value for each of a plurality of time intervals, the simulation repeated for each time interval by deriving from the pool-level control value for the time interval individual asset control values, determining asset responses based on the individual asset control values, and aggregating the asset responses to generate an output trace comprising a time series of aggregated pool-level response values. A plurality of output traces may be generated by one or both of: repeating the simulation a plurality of times for different input traces; and repeating the simulation a plurality of times for a given input trace, to generate respective output traces corresponding to the input trace, preferably based on random sampling using probability distributions output by the asset models. The step of deriving the second model may be performed based on the output trace(s).

[0032] Deriving the second model preferably comprises performing an optimisation to find a best fit of a predefined model to the pool-level response data or output trace(s). Preferably, deriving the second model comprises identifying values of a set of model parameters of the second model, preferably a linear model as defined above, that provide a best fit to pool-level flexibility response data (e.g. the output traces) generated by simulation of asset responses using the first model.

[0033] The asset models preferably comprise one or more trained machine learning models, preferably neural networks, wherein the asset models optionally comprise a single trained asset model representing a plurality of assets (but distinguished e.g. by the asset state). The asset model is optionally parameterised by one or more asset characteristics or properties, the one or more asset properties optionally comprising one or more of: asset type, asset location, one or more performance characteristics of the asset.

[0034] The pool-level control signals are optionally generated using one or more of: a random control signal generator; a trading simulator simulating energy trades by a flexibility provider; and a machine learning model trained based on past trading data.

[0035] The method may comprise determining, by the flexibility provider system, a requested pool-level flexibility provision using the second model, and controlling the assets in dependence on the requested pool-level flexibility provision, the controlling preferablycomprising: disaggregating the pool level flexibility provision to generate control signals for individual assets; and dispatching the control signals to the assets. The flexibility provider system preferably submits flexibility bids to an energy trading system based on the second model and receives the requested pool-level flexibility provision from the energy trading system. The disaggregation during the controlling step and the disaggregation during the simulating step preferably use the same asset dispatch logic to disaggregate pool-level flexibility provision control signals into asset control signals.

[0036] Also disclosed in another example (which may be combined with the previous example) is a method of determining a response of an asset pool of energy assets to a pool-level activation signal for activating a flexibility provision by the pool, wherein flexibility provision comprises controlling energy exchanged between assets of the pool and a distribution grid, the method comprising a simulation process including:

[0037] disaggregating the pool-level activation signal to generate individual control parameters for each of a plurality of assets of the pool;

[0038] for each asset, processing the individual control parameter using a trained machine learning model, the model trained to output data indicative of an asset response based on an input comprising the control parameter,

[0039] wherein the output data specifies a probability distribution for an asset response parameter,

[0040] the processing comprising randomly selecting a value of the asset response parameter in accordance with the probability distribution; aggregating response values for each asset to obtain pool-level response data; and

[0041] outputting the pool-level response data.

[0042] The following optional features may be used with any of the examples set out herein.

[0043] The output data of the model may comprise data indicative of a mean and variance of a Gaussian probability distribution. The control parameter for a given asset may specify one of: a binary on / off signal for activating or deactivating the asset; an operating mode for the asset; an energy or power value to be supplied or consumed by the asset; a setpoint, for example a temperature set point for an asset implementing a heating or cooling function. The input to the model may further includes state information indicating a state of the asset. The state information preferably specifies one or more features of an operating state and / or configuration of the asset. The state may include one of: a state of energy of an energy storage device, such as a charge level of a battery asset; an operating temperature of a heating or cooling device such as a heat pump.

[0044] Preferably, the pool-level activation signal comprises a time series of pool-level activation parameters, the method comprising repeating the simulation process for each of a plurality of time intervals using a respective pool-level activation parameter of the time series to generate a time series of pool-level response values.

[0045] The machine learning model preferably further outputs data defining a probability distribution for a next state output, the method comprising, when evaluating the model for a given time interval: randomly selecting a next state in accordance with the probability distribution; and using the next state as the asset state when evaluating the model for a subsequent time interval.

[0046] The input to the model may further include one or more context parameters, the one or more context parameters optionally indicating one or more of: an asset type or class, a performance characteristic of the asset, or a location of the asset. Preferably, the method uses the same trained machine learning model for each of a plurality of assets having different asset types, wherein the inputs to the model include a type parameter associated with each asset indicating an asset type. In one example, a single trained model may be used for all assets of the pool. Alternatively, respective trained models for each of a plurality of asset classes may be used. The method may further distinguish asset subtypes within one or more classes using type parameters input to the models for those classes.

[0047] The data indicative of an asset response may comprises one or both of: an actual activation indicating an achieved flexibility provision by the asset in response to the individual asset control parameter for the asset, optionally including energy flow dataspecifying supply of energy to, or consumption of energy from, the distribution grid; and a cost measure indicating a cost of activation of the asset, the cost measure optionally based one or both of financial and technical costs. The pool-level response data preferably comprises aggregated pool-level activation data and / or aggregated pool-level cost data.

[0048] The method may comprise performing the simulation process a plurality of times to obtain a plurality of output traces, each output trace comprising a time series of poollevel response values obtained by random sampling of individual asset responses in accordance with the asset model outputs. The method may perform a model fitting process to derive a pool-level model based on the plurality of output traces, wherein the pool level model defines a relationship between a pool level control signal, state data representative of an aggregate state of the pool of assets, and a pool level response metric. The method may include transmitting a data representation of the pool-level model to a flexibility provider for use in optimising flexibility provision. Preferably, the method may comprise generating control signals for assets of the asset pool in dependence on the pool-level model, and transmitting the control signals to the assets to control exchange of energy between the assets and the distribution grid.

[0049] In another example (which may be combined with any of the previous examples), there is disclosed a method of training a model for use in predicting a response of an energy asset to a control signal for controlling energy exchanged between the asset and a distribution grid, the method comprising:

[0050] receiving input samples, each input sample specifying an asset control parameter, a state parameter indicating a state of the asset, and a measured asset response corresponding to the control and state parameters;

[0051] training a machine learning model based on the input samples to output distribution parameters defining a probability distribution for the asset response for given input control and state parameters; and

[0052] storing the trained machine learning model for use in generating probabilistic predictions of asset responses.The following optional features may be used with any of the examples set out herein. The asset response may comprise an energy exchange value specifying energy consumed from orsupplied to a distribution grid bythe asset. The method may comprise training the model to output a second set of distribution parameters defining a probability distribution of a change in asset state. The method may comprise: receiving input data comprising a control parameter and state parameter for an asset; providing the input data to the trained machine learning model; obtaining distribution parameters output by the machine learning model; randomly selecting at least one response value for the asset in accordance with the probability distribution defined by the distribution parameters; and outputting the at least one response value. The method may randomly select an energy exchange value and a new asset state value in dependence on respective probability distributions defined bythe distribution parameters.

[0053] In another example (which may be combined with any of the previous examples), there is disclosed a method of predicting an energy exchange between an energy asset and a distribution grid in response to a control schedule, the control schedule comprising a time series of control values for controlling operation of the energy asset for respective time intervals, the method comprising:

[0054] providing a machine learning model, the machine learning model trained to output data indicative of a change in state of the asset and an energy exchange between the asset and the distribution grid, in response to input data comprising a state parameter indicating a state of the asset and a control parameter indicating a control action to be performed bythe asset;

[0055] defining a current state parameter indicative of a state of the asset at a start time;

[0056] sequentially evaluating the machine learning model for each of the time intervals, the evaluating comprising:

[0057] inputting the current state parameter and the control value for the current time interval to the machine learning model and receiving an output of the model comprising:

[0058] a first output indicative of an energy exchange value, anda second output indicative of a next state of the asset at a subsequent time interval, the second output comprising one or more distribution parameters defining a probability distribution for a next state parameter;

[0059] determining an energy exchange value based on the first output and adding the energy exchange value to a time series of energy exchange values; and

[0060] randomly selecting a next state parameter in accordance with the probability distribution, wherein the next state parameter is used as the current state parameter when evaluating the model at the next time interval;

[0061] the method further comprising outputting the time series of energy exchange values.

[0062] The following optional features may be used with any of the examples set out herein.

[0063] Preferably, the first output comprises one or more distribution parameters defining a further probability distribution for an energy exchange value, wherein determining the energy exchange value comprises randomly selecting the energy exchange value in accordance with the further probability distribution. The control value may specify one of: a binary on / off signal for activating or deactivating the asset; an operating mode for the asset; an energy or power value to be supplied or consumed by the asset; a set point, for example a temperature set point for an asset implementing a heating or cooling function. The state parameter preferably specifies one or more features of an operating state and / or configuration of the asset. The state parameter may indicate one of: a state of energy of an energy storage device, such as a charge level of a battery asset; an operating temperature of a heating or cooling device such as a heat pump.

[0064] Preferably, the method comprises performing the sequential evaluation a plurality of times based on the same control schedule and starting state to produce a plurality of randomly sampled output time series.The method may comprise evaluating a pool of assets, including: repeating the prediction for each of a plurality of assets in the pool using respective control schedules for each asset; and aggregating the output time series of energy exchange values for the assets to produce an aggregated time series for the pool of assets. The method may comprise receiving a pool-level control schedule, and disaggregating the pool level control schedule to generate the individual control schedules for each asset. The evaluation of the pool may be repeated multiple times using the same pool-level control schedule to generate a plurality of randomly sampled aggregated times series for the pool of assets. The method may comprise fitting a model, preferably a linear model, to the plurality of randomly sampled aggregated time series for the pool of assets, and outputting a data representation of the model for use by an optimizer.

[0065] The method may comprise controlling the asset in dependence on the time series of energy exchange values, preferably in dependence on the fitted model. The method may include performing the method for each of a plurality of assets in a pool, determining a pool level control schedule for the assets of the pool in dependence on the results of the method, preferably in dependence on the fitted model, deriving individual control data for assets of the pool based on the pool level control schedule, and transmitting the control data to the assets to control energy exchange between the assets and the distribution grid. The method is preferably performed at a simulation system, and the pool level control schedule is preferably determined by a flexibility provider system based on a model of the pool of assets derived by the simulation system based on the results for the plurality of assets and transmitted to the flexibility provider system.

[0066] In another example (which may be combined with any of the previous examples), there is disclosed a method of generating control signals for energy assets in a pool of assets, for controlling exchange of energy between the energy assets and an energy distribution network, the method comprising:

[0067] grouping assets of the pool of assets in asset groups;

[0068] associating group constraints with respective asset groups, wherein a group constraint defines a limit on energy flow to or from the assets of the group;receiving a control signal specifying an energy amount to be supplied or consumed by the asset pool;

[0069] determining group allocations from the energy amount to respective asset groups in dependence on the group constraints associated with the groups;

[0070] within each group, determining asset allocations from the group allocations to individual assets; and

[0071] generating disaggregated control signals for the individual assets in accordance with the asset allocations.

[0072] Preferably, the group constraints comprise grid constraints, preferably comprising local grid constraints local to parts of the distribution grid. Optionally, for at least one asset group, the assets are connected to a given subnetwork of the distribution network, and wherein a group constraint for the asset group defines a local grid constraint relating to the subnetwork. A local grid constraint preferably defines a grid energy import or export limit for the assets of a group.

[0073] The method may comprise determining asset allocations for individual assets from a group allocation in dependence on a predetermined allocation strategy. The allocation strategy may comprise distributing the group allocation equally across the assets of the group. Alternatively, the allocation strategy may comprise distributing the group allocation in accordance with respective properties of the assets of the group. The assets in the group may comprise energy storage devices, the group allocation distributed in accordance with one or more of: a storage capacity of each asset, and a current energy stored at each asset.

[0074] Preferably, the method comprises defining a disaggregation tree specifying a hierarchical grouping of assets into groups, the disaggregation tree defining two or more grouping levels, and associating group constraints, optionally distribution grid constraints, with groups at multiple levels of the disaggregation tree. The method may then comprise disaggregating the control signal to generate individual asset control signals in accordance with the disaggregation tree. Preferably this includes iterativelydisaggregating the control signal at each grouping level in accordance with the group constraints for that level.

[0075] Preferably, the method comprises transmitting the disaggregated control signals to the assets to cause the assets to alter energy flow to or from the distribution grid in accordance with the allocations.

[0076] Alternatively, the method may comprise simulating a response of the pool of assets to the control signal by providing inputs based on the disaggregated control signals to asset models for the assets, and determining based on outputs of the asset models energy exchanged between the assets and the distribution grid. An aggregated energy exchange amount for the pool of assets may be determined and the method may output the aggregated energy exchange amount. The models may be trained machine learning models. Preferably, the model for an asset outputs data defining a probability distribution for the energy exchange, the determining step comprising randomly selecting an energy exchange value for the asset in dependence on the probability distribution. The method may comprise generating multiple energy exchange values for each asset based on repeated random sampling, and preferably aggregating the energy exchange values across the pool of assets to generate output data comprising multiple randomly sampled pool-level exchange values.

[0077] The method may comprise repeating the generation of asset control signals at each time interval of a time series in dependence on an input time series of control values to produce an output time series of disaggregated control signals. The disaggregated control signals may specify energy exchange values, preferably energy or power values, for controlling the assets to supply energy to or consume energy from the distribution grid in accordance with the energy exchange values.

[0078] The method in this example may be used to disaggregate control signals in a simulator used to simulate asset responses based on asset models as described elsewhere herein and / or to disaggregate control signals for control of actual assets following an optimisation process as described elsewhere herein.The invention also provides a system having means, optionally comprising one or more processors with associated memory, for performing any method as set herein (including any of the above examples). The invention further provides a non-transitory computer-readable medium or computer program comprising software code adapted, when executed by a data processing system, to perform any method as set herein (including any of the above examples).

[0079] Features of one aspect or example may be applied to other aspects or examples, in any combination. Furthermore, method features may be applied to system or computer program aspects or examples (and vice versa).

[0080] BRIEF DESCRIPTION OF THE FIGURES

[0081] Certain embodiments of the invention will now be described by way of example only, in relation to the Figures, wherein:

[0082] Figure 1 illustrates a system for managing flexibility provision;

[0083] Figure 2 illustrates a system in accordance with embodiments of the invention; Figure 3A illustrates an asset model;

[0084] Figure 3B illustrates grouping of asset models into a model of an asset pool; Figure 3C illustrates simulation of asset responses using asset models;

[0085] Figure 4 illustrates a process for deriving a low-dimensional linear model from an asset pool model;

[0086] Figure 5 illustrates an iterative approach for providing an evolving linear model; Figure 6 illustrates control disaggregation for assets in a pool;

[0087] Figure 7 illustrates dispatch dynamics for pool-level asset dispatch; and Figure 8 illustrates a processing device for implementing described techniques.DETAILED DESCRIPTION

[0088] A first optimization approach for flexibility management is illustrated in Figure 1. Note this explanation is provided as a basis for describing embodiments of the invention later, but this is not intended to imply that this first described approach is known in the art.

[0089] In this first approach, a flexibility provider 100 (e.g. energy trader) uses a linear optimizer (or equivalent, e.g. MILP) 104 which optimizes a linear model 106 representing an asset pool 114 of flexibility assets with respect to an input signal 102. The input signal defines the context for optimization over some time window and includes information such as:

[0090] • Predicted trade prices for energy prices and imbalance prices

[0091] • Forecasted consumption and supply from / to the grid

[0092] • Capacity restrictions and other constraints

[0093] Note the predicted prices could include multiple different price scenarios with different assigned probabilities.

[0094] An example optimization may optimise a cost function of the form:

[0095] SUM [ nomination x price + (real - nomination) x imbalance_price]

[0096] Here:

[0097] • “nomination” represents the flexibility provision day ahead or intraday to be offered to the system, e.g. a specific amount of power to be supplied by the assets in the pool during a defined time interval. A positive nomination value may correspond to supply of power to the grid while a negative nomination may correspond to consumption from the grid (or vice versa). Alternatively, supply and provision could be treated separately, e.g. via separate optimizations. The nomination is determined day-ahead and is typically the result of trading, i.e. not the real power.

[0098] • “price” represents the price paid per unit of power (in this context a day-ahead price)• Thus “nomination x price” indicates the amount received / paid by the provider for supplied power

[0099] • “real” indicates the expected actual supply / consumption achieved which may differ from the promised amount (nomination)

[0100] • “imbalance_price” indicates the price incurred from the grid operator for correcting any residual imbalance between the promised and actual supply.

[0101] The total of the above optimisation expression indicates the total income / cost to the service provider by making flexibility capacity in the amount of “nomination” available to the system.

[0102] In practice, more complex optimisation functions may be used, for example incorporating optimisation constraints, but these use linear representations (i.e. a linear objective function possibly with linear constraints). The optimizer 104 uses standard linear programming / linear solvers to solve the resulting optimization problem (e.g. simplex or interior point methods or MILP solvers). Some approaches employ stochastic optimization to limit the probability that any imbalance price will exceed a cost threshold.

[0103] Once the optimizer determines the optimal “nomination” (energy schedule), this is communicated to the flexibility management layer 107 in the form of bids 105. This typically implements an energy trading market 109 as discussed above, though other management mechanisms could be used.

[0104] In typical approaches, based on the results of the optimisation, the trader sends a bid function 105 indicating an offer to supply or consume power. The bid function specifies one or more power ranges and associated prices. In response, the energy market 109 will request a specific provision 111 (e.g. specific power value) based on the bid functions of all traders (e.g. if the bid function specifies a range of 10-20MW at a given price, the market may request provision of 16MW at that price). This corresponds to the “nomination”, being the order or allocation from the energy market in response to bids. Such bids are referred to as “elastic” bids and the market uses such bids to minimiseoverall cost based on the available offers. Note that, at least for consumption, bid functions may be non-elastic (e.g. specifying a schedule of fixed consumption values) which represent required power amounts (“buy at any price”) and in that case the resulting nomination will always match the requested value. Thus, even if there is no flexibility, a nomination is provided, e.g. based on the best forecast available at any given time. As a result, with a combination of elastic and non-elastic bids, the overall nomination shape can change within flexibility constraints represented by the elastic bids but the nomination is not conditional on the presence of flexibility.

[0105] For day-ahead trading, bids and associated nominations are in the form of schedules, i.e. time series, so that the resulting nominations specify energy / power values for each time interval over a given time window (e.g. day).

[0106] The above steps implement the energy trading phase and occur ahead of time of provision e.g. day ahead, or on the day up to gate closure for intraday trading. This results in a nomination 111 (e.g. a schedule of power values to be consumed / supplied for each time period of the next day for day-ahead trading). These power values indicate the actual power requested by the energy market. These are then implemented at the relevant time by a dispatcher 106. The dispatcher generates a pool level activation signal 108, e.g. the power value to be supplied / consumed by the asset pool 114 for the current time period. The pool level activation is disaggregated (110) into control signals for individual assets 112 within the pool (e.g. the pool level activation may be split evenly or on some other basis as discussed in more detail later). Each asset 112 then implements the requested control action, e.g. by turning the asset on or off or ramping consumption / supply up or down as needed. Note that while shown separately for clarity the disaggregation may typically be a function of the dispatcher 106 (though the dispatcher may control multiple asset pools).

[0107] As mentioned in the introduction there are various drawbacks to using a lowdimensional linear model (e.g. model 106). However, the complexity of large asset pools typically prevents use of a more complex model that more accurately represents the dynamics of individual assets in the pool. The corresponding high-dimensionaloptimisation problem typically cannot be solved on the timescales required for fast energy trading decisions.

[0108] Embodiments of the invention therefore aim to provide an intermediate processing layer that maps the high-dimensional optimisation problem to a low-dimensional optimisation problem that is amenable to being solved by conventional linear solvers whilst still reflecting some of the complexity and dynamic behaviour of the underlying asset pool. This intermediate processing layer effectively provides a middleware layer between flexibility providers (e.g. energy traders) and assets, and can be used both for day-ahead and intraday / immediate trading.

[0109] An example embodiment is illustrated in Figure 2. A flexibility management system 200 includes any number of flexibility providers 202 and any number of energy assets grouped into asset pools 204. Any given asset pool may be associated with a particular flexibility provider. A flexibility provider 202 may be an owner of relevant assets, or a service provider (e.g. a flexibility manager or harvester) that has access to and can control a set of assets (or make their flexibility capacity available on behalf of the owner), for example an energy supplier controlling domestic assets on behalf of private domestic asset owners. A flexibility provider may also be a pure trader (e.g. with no direct control over assets but participating in the flexibility market by buying and selling capacity).

[0110] Assets may include any devices or systems that can supply and / or consume energy to / from the grid. To support flexibility provision, assets are controllable to alter consumption or supply. For example, supply assets can include batteries, generators, (e.g. wind, photovoltaic, petrol generators etc). Consuming assets can include e.g. heating / cooling devices such as space and water heaters, heat pumps, air conditioners and other HVAC (heating, ventilation and / or air conditioning) devices. Some assets (e.g. batteries) may act as both consumers and suppliers of energy.

[0111] The control interface layer 210 is connected to the assets via a control dispatch layer 216 and a network 220. The network may include e.g. an Internet-of-Things network,implemented via various underlying networks, such as the Internet, wired / wireless private networks etc. The control dispatch layer 216 converts pool-level control signals (e.g. requesting a certain level of power consumption or supply from a pool of assets) into individual control signals to particular assets using dispatch logic 217, in order to activate the requested flexibility provision.

[0112] The control interface layer 210 maintains asset models 212 for assets in the asset network. The asset models model characteristics of individual assets, as well as the clustering of assets into different pools, e.g. associated with different flexibility providers. The control interface layer also generates a simplified model 214 for each pool that provides a lower-dimensional representation of the assets in a pool for optimisation purposes. The simplified models 214 are exposed to the flexibility providers 202, allowing the flexibility providers to make decisions on flexibility provision to be offered using local optimizers 203 based on the simplified models. The decisions on flexibility provision may be made byway of an energy market as described in relation to Figure 1 or using some other mechanism. Flexibility provision decisions (e.g. provision of a specified flexibility provision such as an energy / power supply or consumption amount or schedule) are passed back to the control dispatch layer 216, which disaggregates the pool-level flexibility activation across the set of assets of the pool and sends control data to the individual assets accordingly.

[0113] The Control Interface Layer 210 provides a mapping from the high dimensional nonlinear problem space encompassing the different individual asset models to a lowdimensional, linear problem space represented by the simplified model 214. This simplified model, typically a linear model, can therefore be viewed as providing a tradeable representation of the underlying more complex asset models which can be used by the existing linear solvers of the flexibility providers.

[0114] The simplified model may be based on a predefined set of linear equations (and associated constraints) e.g. of a form such as:

[0115] power x price + power x price + ...It should be noted that in preferred embodiments, the simplified model models the operational constraints of the asset pool, along with the fundamental costs of operating the pool, i.e. the model does not consider energy prices on the energy markets (which are considered by the flexibility providers), just fundamental levies and tariffs.

[0116] The control interface layer uses a simulator / model generator 213 to determine parameters for this linear model and encodes the resulting system of linear equations asa matrix, along with representations of the constraints (e.g. of the form Ax=b or Ax<b). The resulting data representation may e.g. be formatted as a JSON file with the data needed for the solver and is transmitted to the flexibility provider for processing using their preferred linear solver 203.

[0117] The Control Interface Layer 210 models the high-dimensional optimisation problem using asset models for individual assets which are grouped into pools. Each asset model models the response of an asset for a given control input and current asset state (and may be considered to provide a “digital twin” of the asset).

[0118] A representation of an asset model is illustrated in Figure 3A. As shown, the asset model 300 takes as input a current state 304 of the asset. This may be a current operating state of the asset. For example, for a battery this could be the state of charge of the battery at a current time instant, while for a heat pump this could be a current temperature. Rather than representing a single value the state could also specify multiple values, e.g. a vector or time series. For example, this could be a time series of temperature readings over a preceding interval. More generally, the current asset state can also represent a meta-state, e.g. a state derived from multiple underlying state variables. The asset state may also specify an asset configuration (e.g. operating mode) of the asset.

[0119] The control input 302 represents the flexibility activation of the asset. This could, for example, be a simple binary control signal to turn the asset on or off, or a measure of a degree of activation required, e.g. the value of, or change in, required power output or consumption (e.g. measured as a positive or negative power value in kW or another suitable unit), an operating temperature change or the like. In the case of a battery orother variable asset, the control input may be in the form of a power value specifying a charge or discharge rate for the battery. As for the asset state, the control input could be multi-valued and / or a meta-control variable determining various asset control parameters (e.g. an operating mode associated with specific control settings).

[0120] The output of the model includes the future asset state 306 and asset response 308.

[0121] The future asset state 306 specifies the (possibly altered) state of the asset at the next time interval, e.g. the new charge level of a battery after (dis)charging or the temperature of a heat pump.

[0122] The asset response 308 represents

[0123] (i) the actual activation, i.e. actual achieved flexibility provision (a), which is the physical action at the electricity grid, typically the actual energy consumed (or supplied) over the next interval (e.g. measured in kWh or some other unit); along with

[0124] (ii) a measure of the cost (c) of activating the asset.

[0125] The cost (c) represents costs for flexibility activation and could include financial or technical cost measures. In the case of financial costs, these are typically base costs for flexibility activation (e.g. a basic activation charge charged by the asset owner / operator) and are not related to energy costs as traded on the energy market. Non-financial costs could e.g. measure technical impact of flexibility activation, such as carbon cost or other environmental impact measures, measures of asset depreciation / wear-and-tear (e.g. related to battery cycling and other limitations on asset life), etc. Multiple cost measures (possibly of different types) could also be combined into a combined cost metric.

[0126] The cost value may be fixed for a specific asset or asset type (e.g. a per-activation charge) or may be variable, e.g. depending on the asset control input (requested activation) it, actual activation a and / or state x. Thus, the cost may be computed using a cost function based on one or more of these parameters. In the embodiments described herein, the model principally outputs the actual activation a and the systemthen computes the cost c from this (and / or other parameters) as a secondary output of the model. Other implementations could generate the cost (c) as an additional (or even sole) output of the underlying model. Thus, the term “asset response” as used herein may refer to the actual activation (a), cost (c), or the combination of actual activation (a) and cost (c) depending on context and implementation.

[0127] Evaluation of the model is typically with respect to a particular time interval, e.g. to determine the response (energy input / output and cost) over a next time interval based on the asset state at the start of the interval and control change indicated by the control input.

[0128] By way of a concrete example, the asset model could be used to determine an energy consumption / supply to the grid from a battery asset and associated activation cost in response to a requested power input / output (noting that the actual rate of charging from or discharging to the grid may depend on the current state of charge or other factors and hence may not always match the requested change). For a heat pump asset, the model may determine energy consumed over the next interval based on an on / off signal or requested change in operating temperature.

[0129] While described in relation to individual devices such as batteries or heat pumps, an asset may correspond to a group of physical devices. In one implementation, the unit of modelling is a single household with an energy meter, which may include a set of energy devices (e.g. heat pump, solar array, battery). In such households a controller may control power flow within the system, charging / discharging of the battery etc. When modelled as a unit, the control input may indicate a power to be supplied from the household to the grid or the power to be consumed, with the controller controlling battery and other local devices accordingly. The asset state in that case may represent the state of various components of the system, e.g. as a state vector.

[0130] In a preferred embodiment the asset model 300 is implemented as a machine learning model, specifically a neural network.Transformer-based network architectures may be particularly suitable. In some embodiments, physically informed neural networks which merge the artificial neural network approach with physical insights may be advantageously used (as discussed e.g. in Gokhale et al. “Physics Informed Neural Networks for Control Oriented Thermal Modeling of Buildings”, available at: https: / / arxiv.org / pdf / 2111.12066). Preferred embodiments use a transformer-based network with a structured model comprising a core layer and fine-tuning layers and with the physically informed context applied as equations to the latent state (as discussed in Gokhale et al.) However, the precise neural network architecture is not essential and any conventional neural network architectures can be used.

[0131] The model is trained based on performance data of assets, including datasets with input samples specifying control inputs, asset states, and associated asset responses (e.g. energy consumption and optionally cost). This data can be collected from asset control systems and energy meters.

[0132] In some cases, the model may be trained using transfer learning, using a foundation model learned for an initial set of assets that is then fine-tuned for a new asset type.

[0133] The asset model may be trained with missing / imperfect data. Apart from providing additional training samples even where data reported by asset controllers / meters is incomplete, this may also serve to generalise the model, and thus training samples may additionally be pre-processed to deliberately remove data from training samples.

[0134] For simplicity, a single model may be trained to represent each asset, though the model may be parameterized according to specific assets, e.g. based on asset type or asset properties (such as performance characteristics) or other context variables. For example, a single model representing batteries may be parameterized by battery capacity or a single model representing multiple asset types may be parameterized based on asset type. The relevant parameters form an additional input 302 to the model, allowing a single model to be trained for a heterogenous asset population. In a variation, different generalised models could be trained for fundamental asset classes (e.g.battery, heat pump etc.) with those models parameterized byfurthertype / context inputs (e.g. subclass / model etc.)

[0135] In the example where each asset corresponds to a household, a single model is trained for all households (though this could be parameterized e.g. based on asset types / capacities, household type, property size, number of occupants, location or other relevant data) to allow the model to adapt to different assets or asset contexts.

[0136] In the above examples, the output of the model is described as taking the form of specific values including a specific value of an asset response metric, e.g. energy consumption or supply, along with the asset state (e.g. battery charge level) at the next time interval.

[0137] However, in preferred embodiments, the model is a stochastic model, and the outputs are in the form of probability distributions over the future state 306 and asset response metric 308 (e.g. actual activation). Thus, the model(s) are trained to learn and output a probability distribution defined over the output metrics (future asset state and asset response). In this approach, each output is defined by a set of parameters of a corresponding probability distribution. For example, the output of the model may specify the mean and variance of Gaussian probability density functions for the asset response (e.g. actual activation for example energy consumption) and / or future asset state. Alternatively, the output may specify coefficients of another predefined probability function.

[0138] Thus, in an approach the asset model can be defined as a function mapping an asset state and configuration x t) and control action u(t) at time t to probability distributions PD for the asset state at time t+1 and the asset response a e.g. energy consumption, during the time interval from t to t+1 - for example:

[0139] [x(t), u(t)] => [PD(x(t+1)), PD (a(t))]

[0140] 1Specific outputs for the next asset state 306 and asset response 308 are selected randomly in accordance with the probability distributions defined by the model and the associated cost c is then determined. The probabilistic outputs of the asset models are used during derivation of the simplified linear model to perform random sampling, as discussed in more detail below.

[0141] The probabilistic asset model(s) are trained based on input samples specifying values for control and state input variables and associated measured asset responses and next states. For example, for a battery the control input could be a charge / discharge power level, the state could be a state of charge, the measured asset response could be power supplied to or consumed from the grid over the next time interval and the next state is the state of charge afterthattime interval following a period of charging / discharging. The training process may involve, in a first step, collating input samples with the same (or very similar) values for control inputs and asset states. In the case of continuous control and state variables, these could be bucketed so that similar input values are assigned to the same control input / state bucket (where each bucket corresponds to a respective range of control / state values). All input samples for the specific values (or buckets) are then analysed to empirically fit a probability distribution (e.g. defined by relevant parameters such as mean / variance of a normal distribution) to the data samples for those values / buckets. The resulting probability distribution parameters are then used to form training samples in which the control input / state values (or buckets) are mapped to the associated probability distribution parameters as ground truth labels. These derived training samples are then used to train the model. This process is performed for each of the model outputs (future asset state 306 and asset response 308). As noted elsewhere, the training samples may include additional input values, such as asset class / type labels.

[0142] The above approach is merely an example and any suitable known techniques may be used for training models to obtain probability distributions. For example, other approaches are known for learning distributions based on samples (where binning is not required), for example as described in Bellemere et al. “A Distributional Perspective on Reinforcement Learning” (available at https: / / arxiv.org / absZ1707.06887).Figure 3B illustrates pool-level modelling. A set of asset models (digital twins) as per Figure 3A are shown, each corresponding to an asset, in this example a home energy management (HEM) system for a respective household (incorporating various energy devices). Together, the asset models form a pool-level model (or digital twin cluster).

[0143] Figure 3C illustrates a simulator 300 for simulating asset responses using the asset models. A pool level control input 320 is provided. This represents a flexibility provision to be provided by the pool as a whole, e.g. a power supply or consumption. A dispatch layer 322 converts the pool level control input into control signals (u) for individual assets of the pool, indicating individual asset activations. Individual asset responses (a) to those control signals (e.g. energy supplied / consumed) are determined by the asset models 302 and aggregated (e.g. by summing) into a pool level response 324 (e.g. total activation). This aggregation may e.g. involve summing total energy supply / consumption values for each asset to obtain the total energy supply / consumption for the pool.

[0144] Additionally, the cost (c) of flexibility provision for each asset is determined and aggregated (e.g. by simple summing) to obtain a total cost of flexibility activation. The total pool level activation 324 and total activation cost 326 may together be termed “pool-level response data” 328.

[0145] Note the individual asset responses a and costs c depend on the asset states of each asset, which are here represented as internal model parameters x of each asset model. These states are used along with the individual asset control values u generated by dispatch layer 322 as inputs to the neural network implementing the asset models as shown in Figure 3A to derive the asset response a for each asset. As previously described, where the asset model is probabilistic, the response value a may be obtained by probabilistic sampling of the probability distribution output by the neural network. Thus, the term “model” as used herein can refer depending on context either to the neural network implementing asset models (which may be common to multiple assets) or to the representation of a specific asset (which includes the asset state and other model parameters, e.g. context parameters 302 of Figure 3A).Note the dispatch layer 322 used for simulation corresponds to the dispatcher 216 (Figure 2) used for controlling actual assets in the network and applies the same dispatch logic 217 to determine how the pool level control signal is decomposed into control inputs for individual asset models.

[0146] As explained above, the asset models include an evolving asset state. The models may therefore be used to simulate the system assets over a given time window. Using probabilistic models, at each interval in the time window, a control input 320 is applied and decomposed by the dispatch layer. Based on the decomposed control inputs for each asset model, the simulator determines, by random sampling using the probability distributions obtained using the asset models:

[0147] • an asset response / actual activation for the interval;

[0148] • the cost value corresponding to the actual activation; and

[0149] • a next state of the asset

[0150] As used herein, the random selection of values, e.g. model outputs, includes pseudorandom selection in accordance with any appropriate known random number generation (RNG) algorithm.

[0151] The asset responses and costs are combined into pool level response and costs 324, 326 for each time interval, resulting in time series of response and cost values. The asset states of each asset model are updated using the probabilistically determined next state, and the updated state is then used for evaluating the model at the next time step. The asset states x for each asset are additionally summarised into a pool state 330 at each time step as described in more detail later.

[0152] In this way, the models can be used to implement a simulator that simulates asset responses over time for an input time series of pool-level control values, with an asset state for each asset that evolves over time according to the probability distribution modelled by the asset model. Such a time series of pool-level control values is alsoreferred to as a control schedule. Multiple different pool-level control schedules can be evaluated in this way.

[0153] As mentioned above, the Control Interface Layer 210 maps the complex optimisation problem represented by a pool of many assets - and modelled by non-linear neural networks - to a simplified linear model that can be solved efficiently by linear solvers. The simplified model representation is generated based on analysing the behaviour of the modelled assets probabilistically for various pool-level control input scenarios, using the simulation approach described above.

[0154] The process is illustrated in Figure 4 and starts with generation of a set of n input schedules U. Each input schedule U defines a time series of pool-level control values over some time window, e.g. flexibility provision values expressed as power or energy values. For example, this may be a time series of energy supply values correspondingto quantities of power / energy sold to the market / grid operator at each time interval. The approach will be described with respect to an example in which the simulation is performed for a 24-hour period divided into one hour intervals, and each input schedule U thus includes a vector of 24 values corresponding to each interval. In another example, the simulation window is 36 hours with a time resolution correspondingto 0.25 hours per time step. However, the system may be adapted for any simulation window size and time interval resolution.

[0155] Simulation involves an outer loop 420 which evaluates the input schedules. For each of the input schedules U, an inner loop 430 evaluates the input schedule m times using the simulator. In an example, each input schedule is evaluated 100 times. Note while a looped implementation is described for ease of understanding the computations may of course be performed in parallel.

[0156] In the inner loop, for each iteration, the current input schedule U is evaluated by the simulator in step 432. This involves probabilistically evaluating the input schedule at each interval to generate an output trace. Specifically, with reference to Figure 3C, at each time interval the control value from the schedule for that interval is input to theprobabilistic simulator, which applies dispatch logic 217 in the dispatch layer 322 to determine control inputs u for individual assets. The asset models are evaluated (starting from a starting state at the first time interval) to generate next asset states and asset responses (and associated activation costs) based on random sampling of the relevant probability distributions output by the models. Specifically, with reference to Figure 3A, the current asset state / configuration 304 (x) and control input 302 (u) for the current time interval are input to the model 300 (e.g. the trained neural network) along with any context / type parameters 302. The outputs of the model are obtained, which define probability distributions for the future asset state 306 and asset response 308. Specific values are then chosen for the future asset state 306 and asset response 308 by random sampling in accordance with the probability distributions defined by the model outputs and activation costs are determined. The asset states are updated at each time step based on the determined next asset state 306 and the updated asset states will be used as input state 304 when evaluating the model for that asset for the next time step.

[0157] The asset responses and activation costs for each asset at each time step are aggregated to obtain a pool level response, e.g. a total power output of the asset pool for the time interval and a total activation cost, as previously described. The process is repeated for each time interval to produce an output trace comprising a pool level response value and cost value for each time interval which is stored in step 434. Additionally, pool-level states 330 are derived corresponding to the individual asset states at each time step.

[0158] Each complete run of the inner loop 430 thus generates a set of output traces for a single one of the input schedules. For each output trace, the asset states of each asset in the pool (and hence the pool-level state) may evolve differently (based on random sampling of the next state at each time interval) starting from a common starting state. Furthermore, the asset response values (e.g. energy exchange values) generated at each time interval for each asset are derived by random sampling in accordance with the probability distributions defined by the asset models (which depend on the asset states). Each output trace thus corresponds to a time series of pool-level aggregatedrandomly sampled asset responses of the individual assets with associated aggregated activation cost values and pool-level states.

[0159] Upon completion of the outer loop, a set of such traces has been generated for each of the input schedules. Note while described as a loop running on a set of input schedules, the system could of course equivalently generate input schedules and evaluate them one by one using the inner loop, leading to the same result.

[0160] The process results in a set of m x n output traces based on random sampling of the asset models. These randomized output traces provide a representation of the expected behaviour of the asset pool in response to various input scenarios.

[0161] In step 440, the system derives a linear model from the output traces. This involves finding a linear model that best fits the output traces of the simulator. The linear model is a lower dimensional model compared to the collection of asset models, and describes how a low dimensional (pool-level) state evolves as a function of asset state and flexibility activation (power).

[0162] In more detail, the linear model preferably includes a linear dynamics function, a linear cost function, and one or more linear constraints.

[0163] The linear dynamics function describes how the pool-level state 330 (being a low dimensional aggregated representation of asset states in the pool) evolves as a function of that state and of the pool-level control signal indicating flexibility activation of the pool. The pool-level state is a projection of the high dimensional asset state (which may involve multi-valued state vectors for each of the pool of assets) into a low-dimensional state (e.g. defined by a small number of state variables), the dynamics of which is linear. That projection is predefined (e.g. by a domain expert), for example depending on the asset type. As a simple example, for battery assets each with a particular state-of-energy (energy stored in the battery), the pool-level state representation could be simply defined as the total state-of-energy of the system, e.g. the sum of the individual charge levels. Alternatively, an average charge state could be used. Note that the state x neednot be a single value but could instead be a low-dimensional vector comprising multiple state attributes.

[0164] During simulation, the predefined state mapping is used to calculate the pool-level state x for any given set of individual asset states of the asset pool as discussed in relation to Figure 3C.

[0165] The cost function indicates the fundamental cost of activating the requested flexibility for the whole pool and corresponds to the aggregated cost measure obtained as per Figure 3C. As explained in relation to Figure 3C, the cost measure used may include direct financial charges for flexibility activation but also cost terms representing technical costs etc.

[0166] The linear constraints may represent any constraints on the model, for example physical constraints. The constraints typically represent energy constraints, e.g. how much energy can be stored, and power constraints, e.g. how the maximum charging power depends (linearly) on the low dimensional state.

[0167] As an example, the linear model could be represented in a form such as

[0168] (1) xt+1= A xt+ B ut

[0169] (2) c(x, it) = Kx + Lu

[0170] (3) D u + F x < 0, Gu + Jx = 0

[0171] Here (1) describes how the aggregate pool-level state x evolves over time, it being the pool level control signal indicating flexibility activation. (2) Is a cost function providing a linear representation of the cost of flexibility activation for state x and activation it. (3) represents constraints on x and it, which define e.g. power constraints and energy constraints. Note this formulation of the linear model is provided as a simplified example, and in practice more complex models can be designed which are adapted to the specific application, asset types and other requirements.The pool-level constraints may be obtained by aggregating individual asset constraints defined for each asset over the pool (e.g. individual energy / power constraints).

[0172] Fitting of the linear model then involves finding values for the model parameters A,B,D,F,G,J,K,L such that the predictions of the model (e.g. the pool-level state evolution and output of the cost function for given values of pool state x and pool-level activation it) matches the simulation results as closely as possible. As explained above, in the preferred approach, simulation is performed at respective time increments over a simulation window, based on an input schedule and a particular starting state of the assets, yielding an output trace giving cost values for each time increment. In this approach, the fitting of the linear model is then repeated at each time increment to produce respective model parameters corresponding to each time increment (e.g. model parameters At, Bt, Dt, Ft, Gt, Jt, Kt, Ltfor each increment of t in the simulation window). These model parameters thus represents model evolving overtime (e.g. power constraints changing as batteries are charged / discharged). The output of the model fitting process is thus an array or matrix specifying the various model parameters for each time increment.

[0173] The process may be repeated for different initial states of the asset pool to obtain models corresponding to different starting states.

[0174] Fitting of the linear model may be performed using known model fitting techniques. In an example, the system uses least squares model fitting techniques to fit the parameters of the predefined model to the output traces. This involves an optimization to minimize the sum of the squared differences (residuals) between the observed data points (from the simulation) and the corresponding points on the fitted curves / lines. Known least squares fitting algorithms (or other model fitting approaches) may be used. Note the model is fit each time against multiple output traces resulting from the different input schedules to the simulator and the probabilistic sampling to provide an approximation of the behaviour of the underlying complex asset model.The linear model may be hand-crafted by a domain expert (an example is given further below). In one approach, multiple predefined linear models may be provided and the system may attempt to fit the data to each model, selecting the best fit across all models. In another approach, there may be different hand-crafted linear models for different scenarios (e.g. different asset types or pool types) with the user selecting the appropriate model to use from a catalogue of models.

[0175] In step 450, the linear model is transmitted to one or more flexibility providers. In one approach, the mathematical representation of the model is assumed to be known and preconfigured at the flexibility providers. To transmit the linear model, the system thus encodes the matrix of model parameters for each time increment, for example as a JSON file or other appropriate format and this is then sent to the flexibility provider over the network.

[0176] With reference to Figure 2, the flexibility provider can then instantiate the model based on the model parameters and run their preferred linear optimizer software to optimize the linear model to determine optimal trading decisions (where the optimization may additionally take account of energy prices and other factors not considered in the linear model, as needed). The trading decisions are submitted to the market for trading. For example, the flexibility provider may offer a given power supply or consumption provision for a particular time slot. If the offer is accepted, the system then issues a corresponding pool-level control signal at the relevant time, which the control dispatcher 216 disaggregates into control signals for the individual assets as previously described.

[0177] The flexibility provider is thus enabled to make moment-to-moment trading decisions using a high-performance linear optimizer operating on a low-dimensional linear model, whilst still benefiting from information derived from the high-dimensional model of the assets that models the dynamics of the system (which may e.g. be in the form of one or more neural networks as previously described). In this way, the low-dimensional linear model generated by the control interface layer 210 can be considered to provide a tradeable representation of the high-dimensional model.In the above approach, probabilistic sampling is performed to provide variability in the simulation results to achieve a more comprehensive exploration of the search space. However, the main variability results from the variation in input schedules U and thus in some implementations the probabilistic models could be replaced with deterministic models (where asset models produce specific asset response and / or next state values without random sampling) whilst still achieving useful results. In that case the inner loop 430 would be omitted.

[0178] While the optimization may in typical implementations make financial cost-based trading decisions and hence the optimization may involve financial cost-related terms, it is important to note that this is not essential. These examples are provided to allow understanding of the invention in a typical implementation context, but the present invention does not require that optimisation is based entirely or even partially on financial costs. For example, other optimization objectives may be to keep the total power flow for the pool below a certain power level e.g. corresponding to the power capacity on a cable, to ensure transformers do not overheat, to ensure compliance with other grid constraints and limits, or to obtain an energy balance within a managed portfolio.

[0179] More fundamentally, embodiments of the present invention are concerned with modelling of assets and their technical responses (e.g. energy consumption) to control signals, simulating such responses at the pool level and mapping a high-dimensional model to a lower-dimensional linear model based on aggregation of pool level responses. The invention is thus concerned with modelling and simulation of the technical operation of asset pools as an aggregated demand response system. Furthermore, the modelling and associated simulation are performed in order to support control of flexibility services, by selective activation of flexibility assets.

[0180] Various approaches may be used for generation of the input traces U in step 410 of Figure 4. In one approach, these could simply be generated randomly, or based on historic trading data. In another approach, a simulator is employed to simulate tradingactivity. The simulator may be based on a machine learning model trained based on historical trading data. In that case, the entire flexibility provision cycle is effectively simulated: simulated trading decisions are used by the Figure 4 process to determine the response of assets in various scenarios, which are then used to derive a linear model to be used for actual trading decisions.

[0181] An overview of the whole process is shown in Figure 5, starting with the simulation of flexibility provider actions (e.g. trading decisions) to generate input traces in stage 502. In stage 504 the simulation of asset responses is carried out as per step 420 of Figure 4. Based on the output traces produced, the linear model is then generated and output in stage 504. This process is repeated on a continuous basis, allowing the flexibility provider to benefit from a continuously updated linear model. Preferred embodiments repeat the process at least every 15 minutes but the precise frequency may vary depending on requirements and may be a trade-off between quality of the output and computing power expended.

[0182] In preferred embodiments, the results of the process may be used to inform future iterations. For example, in some embodiments, on an initial iteration of the Figure 4 process, the input traces may be generated randomly or using a simulation model, but for subsequent iterations the input traces can be informed by previous traces and / or the output traces and linear model generated based on the previous traces. For example, the system may generate input traces specifically to reduce uncertainty in the model and hence complexity of the resulting linear model. Optimization may use a receding horizon approach where there is overlap between the linear models, with the optimization performed for a horizon of T steps, each new iteration moving one step forward, so that subsequent models have T-1 overlap.

[0183] The Figure 5 loop thus results in an evolving linear model.

[0184] The dispatch logic used by the simulator and for real-world dispatch of pool-level control signals (see dispatch logic 217 in Figures 2 and 3B) determines allocation of particular flexibility provision (e.g. a required amount of energy to be supplied) requested at thepool level to individual assets. For identical assets, a simple strategy would be to divide the requested provision equally between assets. However, preferred embodiments also take into account asset properties (such as capacity and charge level for batteries) and / or context (such as location, weather data for the location e.g. humidity, wind, temperature where such conditions impact asset performance, forecasts of local consumption and production, etc.) As an example, a required power supply amount may be divided pro rata based on charge states of batteries in a battery pool. The cost impact on asset owners may also be taken into account in determining allocations, e.g. energy cost, battery cycles (which can impact asset longevity) and the like.

[0185] In preferred embodiments the dispatch logic additionally considers group constraints that may limit flexibility provision by groups of the assets. A typical example of such constraints are local grid constraints. To support such constraints, the dispatch logic may be represented as a disaggregation tree which defines a step-wise process for disaggregating a pool-level provision requirement into individual asset control information via various group-level allocations.

[0186] An example is illustrated in Figure 6. Here, the pool-level provision requirement is represented by the root node, P. Different groups of assets within the pool are subject to local grid constraints. For example, assets A1 and A2 are located on a single site or within a subnetwork of the grid for which there is a combined import or export limit, represented by constraint C1 (this could but need not be an absolute limit; instead it could, for example, be a limited allocation to the assets or asset owner / operator). Similarly, assets A3 and A4 are subject to a separate grid constraint C2. An even distribution strategy would allocate one quarter of the total required provision to each of the assets A1-A4, (or alternatively, an allocation could be determined purely based on the properties of each asset), but this might result in an allocation that does not comply with the gird constraints. Instead, the dispatch logic thus performs an initial allocation to asset groups based on the group constraints (e.g. grid constraints) C1 and C2 and then in a subsequent iteration assigns allocations to each asset from the group allocations, evenly or based on asset properties (e.g. capacity, state of charge / energyetc.) as previously described. Different constraints may be defined for energy export from the grid to assets and for energy import from assets to the grid.

[0187] In addition to local grid constraints, other group constraints may be implemented. For example, assets may be modelled in groups based on asset types, geographical location etc. and allocation may be dependent on local conditions that may impact asset performance. For example, a larger proportion of a required supply provision may be allocated to a group of wind turbines than a group of batteries or vice versa depending on current wind data at a location of the wind turbines.

[0188] While a three-level dispatch tree is shown in Figure 6 any number of layers may be implemented. For example, the depicted asset groups e.g. C1, C2, could be further clustered into higher level groups, with different group or grid constraints defined for groups at different layers of the hierarchy. Disaggregation for a multi-level disaggregation tree involves iteratively disaggregating the pool-level activation P (e.g. energy / power value) into allocations to asset groups at the first level of the hierarchy in accordance with any defined group / grid constraints, then further disaggregating the group allocations to any subgroups based on constraints forthose subgroups and so on until in the final layer individual asset allocations for the assets have been determined.

[0189] The clustering of assets into groups and / or the disaggregation tree implementing the dispatch logic may be specified manually e.g. by the owner / operator of the asset pool. In some embodiments, the clustering and / or disaggregation tree may be derived automatically from asset properties and known grid constraints and / or may be learnt using machine learning techniques.

[0190] In one approach, an advantage-based decomposition method may be used to implement the dispatch logic. In this approach, each asset is represented by an advantage function / !(%, u)77' representing the cost for deviating from a policy n. Each asset is allocated to a cluster, which can be done manually or automatically. Clusterlevel control actions are decomposed using a heuristic leveraging these advantage functions in real-time. A model is trained for each cluster that can be used upstream fora planning-based optimization. The model is trained using a simulation of the assets in the cluster using asset models (digital twins) as discussed above. The control actions for each cluster are defined using a receding horizon approach, and an advantage function for the entire cluster is used for balancing between clusters.

[0191] While examples described herein generally propose a linear model as the simplified model 214 that is derived from the underlying asset models, it is not essential that the model is linear, or even that it has a certain absolute degree of simplicity by some complexity measure. More fundamentally, the described techniques can be used to transform a complex multi-dimensional model, e.g. using neural networks to model individual assets in a pool, into another model in another form that is useful for optimization. This second model provides a pool-level abstraction over the individual asset models, generally defining a relationship between pool-level control inputs (and aggregate pool-level states) and pool-level responses. In the present examples, the second model is adapted to the linear solvers used by energy traders, and hence a linear or MILP compatible model is preferred. However, other types of models may form the second model.

[0192] Generally, it may be desirable for the second model to be in some sense “simpler” (less complex) to allow for computationally efficient optimization. For example, the second model may typically have fewer free variables over which to optimise. In a concrete example, this may take the form of a smaller input space of the model e.g. smaller state space and / or action space, where:

[0193] • the state space is defined by one or more state variables representing the state of the assets of the pool (e.g. summarizing / aggregating over individual asset states x 304 (Figure 3A)). The second model uses fewer variables to represent the state space, e.g. one or a small number of variables compared to one or more variables per asset in the first model. For example, the state of charge for batteries in a pool may be represented by a single average SoC value;

[0194] • the action space is defined by one or more action variables representing the control actions that can be performed by the asset pool (e.g. summarizing / aggregating over individual control actions u 302). The second model uses fewervariables to represent the action space, e.g. one or a small number of variables, compared to one or more control variables u per asset in the first model. For example, a total power value to be supplied by a battery pool being the aggregate of power values provided by individual batteries.

[0195] However, the second model need not necessarily be simpler in that sense and may more generally correspond to any different representation that is adapted for a particular task or processing environment. For example, this could be a model that is more amenable to optimisation by a given hardware optimiser, or by a quantum algorithm running on a quantum computer.

[0196] Modelling and optimization - implementation details

[0197] The following section sets out additional detail of an approach to obtaining a simplified model in the context of an example where a pool of batteries is being modelled. However, the described principles can be extended to other asset types, combined assets and heterogeneous asset pools as previously discussed.

[0198] The optimization by the flexibility provider results in an activation at pool level, which should be dispatched across the assets in the pool, as graphically represented in Figure 7. The requested battery power (activation) at pool level utis decomposed across the batteries in the pool in accordance with dispatch logic D, at each time t, and causes a state transition according to a transition function at asset level xi t+1= Axi t+ Bui t. The state in the context of batteries represents the state-of-charge (SoC) values of the individual batteries. Each battery with a SoC xi thas a cost function and constraint of the following form:

[0199] Pi,t(xi,t’ui,t>) =max(0, di t+ pi t+ u ) ciit,

[0200]

[0201] Here pi tis the cost value for asset i at time t, xi tis the state of asset i at time t (SoC in this example), ui tis the asset activation / control input (requested power in the case of batteries) for asset i at time t, di tand pi trepresent demand and productionrespectively and c is the price. The constraint specifies that the asset activation should lie between the minimum and maximum power the asset can provide at the particular time. This power constraint depends on the State of Energy (SoE) of the battery.

[0202] At pool level, the cost function, power constraints and transition function are aggregated over the assets in the pool, e.g.:

[0203]

[0204] xt+1= Axt+ But

[0205] x should be low dimensional to limit computational complexity, and is a (set of) feature(s) extracted from the states of the assets under control x = (X-L, . ■■,xN') (e.g. f being the average value as a simple implementation in the case of batteries). Here, f thus represents the mappingfrom the high-dimensional asset state of assets in the pool to a lower-dimensional linear state representation for use in the linear optimisation, it corresponds to the control action (battery power at pool level, ignoring round trip efficiencies) (ut= J) ui t). The cost function and power constraints depend on the SoE distribution in the pool, which has a certain width aSoC- Moreover, the cost and power constraints are a function of the dispatch logic (xx, ...,xw|it) -> {ult...,uN}.

[0206] The dispatch approach is typically non-linear. Examples of D are uniform dispatch, SoE-based dispatch, profile-based, or cost-based dispatch.

[0207]

[0208] This can result in cost / constraints that depend on the distribution of x values. SoC-based dispatch can result in a simple aggregate model (given the narrow SoC distribution) but in a high dispatch cost. On the other hand, a cost-based dispatch could be used resulting in a low dispatch cost but a more complex model. Note in these examples SoE (state of energy) refers to an absolute value indicating energy stored, e.g.measured in kWh, while SoC refers to a relative measure e.g. as a value from 0..1 indicating a percentage of total charge capacity.

[0209] The linear model defines a linear relationship between a pool level control signal, state data representative of an aggregate state of the pool of assets, and a pool level response. The latter could be expressed in terms of total flexibility provision (e.g. as an energy or power value) though in practical embodiments this may be expressed in terms of a cost of that provision (e.g. absolute cost, profit, or some other cost-related metric). Thus in such cases the linear model more specifically defines a linear relationship between a pool level control signal (e.g. total requested flexibility provision), state data and a cost metric for the flexibility provision.

[0210] An aim is that the simplified model 214 (Fig. 2) should accurately model the highdimensional characteristics of the pool of assets, while keeping the computational speed of the optimization comparable to the optimization of a standalone battery. In the various examples discussed above, the simplified model is a linear model. However, other forms of simplified model may be used that are suitable for optimisation by optimizer software used by the flexibility providers. For example, the simplified model may be a decision tree.

[0211] To support widely available commercial solvers, the model is preferably MILP (Mixed-integer linear programming) compatible.

[0212] A generic form for a MILP is set out below:

[0213] min c*,rx + c*,bz

[0214] s. t. Ax + Bz < c

[0215] ^eq^ "” ^eqZ d

[0216]

[0217] Here, x contains all continuous variables (e.g. states and actions), representing (among others) the meta-state of the system (corresponding to the state of individual assets) while z contains all binary variables. For example, for a pool of 10 batteries, the meta-state could be the average charge state of batteries. This provides a linear model because the change of average charge is related to the pool level control signal it (total energy requested). A and B would represent the battery dynamics. For heat pumps the state x may be temperature. In this case the temperature at time t + 1 depends on both current temperature and energy output, so the dynamics modelled by matrices A and B would have richer physical meaning. Because the model is linear the next state of the system is a linear combination of the current state and action (xt+1= Ax + Bit) (more generally this could be a linear combination of all previous actions and states).

[0218] Note x can be multi-dimensional state (e.g. to support complex assets or different asset types), as long as MILP can generate solutions fast enough. Complexity scales very non-linearly and flexibility providers generally need to obtain results in a single trading cycle, which could be a few seconds, so the model complexity is typically limited by available processing capacity and response time required.

[0219] The system creates a low-dimensional linear model that fits the above formalism and that integrates with existing commercial solvers e.g. as provided by the CPLEX or Gurobi optimization and trading platform, in particular by obtaining a linear cost function for fundamental costs such as grid fees etc. and a linear transition function (dynamics function) and set of constraints.

[0220] The resulting optimization formulation represents the flexibility of the asset pool (e.g. VPP) to be integrated in the trading optimization. In an example, this formulation may be structured as follows:

[0221] < <

[0222] <

[0223]

[0224] Zy >al,v + ^1,V^T

[0225] Zy > a2y + b2yNT< < <

[0226] >

[0227]

[0228] >

[0229] NT= No- St min (0,ut)

[0230] -Stmin(O,ut) < Nmax

[0231] Here FP represents the flexibility provider (e.g. trader) optimisation. The remainder corresponds to the linear model used by the present system, representing e.g. the physical constraints and fundamental costs such as grid fees, cycle costs or limits, carbon cost etc. As noted above, the model is predefined (e.g. by a domain experts). Parameters of the model are then derived using a least squares model fitting technique (or other know model fitting techniques).

[0232] The described techniques can support more effective use of a wide range of energy assets for grid balancing. This can improve grid stability whilst reducingthe need to ramp up large central gas or coal powered power stations to balance the grid. Instead, renewable sources such as solar panel installations provided by individual households along with battery storage can play an effective part in grid balancing, leading to improved utilisation of renewable generation and hence reducing overall CO2 emissions. Through supporting effective energy trading even for small assets, the system also incentivises the installation of renewable generation capacity and battery capacity, further contributing to decarbonisation of the energy grid.

[0233] Processing device

[0234] Figure 8 illustrates a processing device 900 suitable for implementing processing elements of the system, such as the Control Interface Layer 210 of Figure 2.

[0235] The processing device 900 may be based on conventional workstation or server hardware and as such includes one or more processors 908 together with a mainmemory 902 (e.g. volatile / random access memory) for storing temporary data and software code being executed.

[0236] An input / output subsystem 906 includes one or more I / O interfaces for communicating with external devices and peripherals, such as displays, input devices (e.g. keyboard, mouse), external storage devices and the like. A network interface 910 is provided for communication with external systems via network 120 (encompassing e.g. Local and / or Wide Area Networks, including private networks and / or public networks such as the Internet, cellular telephony networks etc.) For example, the processing device may communicate with the flexibility providers and assets via the network.

[0237] Persistent storage 904 (e.g. in the form of hard disk storage, optical storage and the like) persistently stores software and data for performing the various described functions.

[0238] The persistent storage further includes a computer operating system and any other software and data needed for operating the processing device. The device may include other conventional hardware components as known to those skilled in the art. The various components are interconnected by one or more data buses 912 (e.g. system / memory bus and one or more I / O buses).

[0239] While a specific architecture is shown and described byway of example, any appropriate hardware / software architecture may be employed to implement the processing device.

[0240] Furthermore, functional components indicated as separate may be combined and vice versa. The server functions may be performed by a single device or may be distributed across multiple devices (e.g. in a server cluster).

[0241] It will be understood that the present invention has been described above purely byway of example, and modification of detail can be made within the scope of the invention.

Claims

CLAIMS1. A method of facilitating control of energy assets connected to an electricity distribution grid to provide flexibility services, comprising:modelling a plurality of assets of an asset pool using a first model, the first model comprising asset models for modelling each asset of the pool individually; simulating operation of the assets in response to a plurality of flexibility control signals, wherein the flexibility control signals comprise pool-level control signals for requesting a total flexibility provision from the asset pool, and wherein the simulation comprises:disaggregating the pool-level control signals to obtain individual asset control signals for individual assets of the pool; anddetermining asset responses for each of the assets based on the individual asset control signals and the asset models, wherein each asset response specifies a flexibility provision by the respective asset; aggregating the asset responses to obtain pool-level flexibility response data indicating combined responses of the assets of the pool to the pool-level flexibility control signals;deriving a second model corresponding to the first model based on the poollevel flexibility response data, the second model adapted to model a response of the asset pool to the pool-level control signals; andoutputting the second model to a flexibility provider system for use by an optimizer to optimize flexibility provision.

2. A method according to claim 1 , wherein:the asset models of the first model model individual asset responses to individual control actions for the assets in dependence on individual state representations for the assets; and / orthe second model models an aggregate pool-level response of the asset pool in dependence on aggregate pool-level control actions and in dependence on an aggregated pool-level state representation.

3. A method according to any of the preceding claims, wherein the second model defines a smaller input space than the first model, optionally a smaller asset state space and / or control action space.

4. A method according to any of the preceding claims, wherein the first model is a non-linear model and / or wherein the second model is a linear model, the linear model preferably defining a linear relationship between a pool level control signal, state data representative of an aggregate state of the pool of assets, and a pool level response, preferably wherein the second model comprises one or more of:a linear state dynamics function indicating a change in the aggregate state in response to the pool level control signal;a linear cost function indicating a cost of flexibility provision; andone or more linear constraints.

5. A method according to any of the preceding claims, wherein each asset response comprises one or both of:an actual activation indicating an achieved flexibility provision by the asset in response to the individual asset control signal for the asset, optionally including energy flow data specifying supply of energy to, or consumption of energy from, the distribution grid;a cost measure indicating a cost of activation of the asset, the cost measure optionally based one or both of financial and technical costs;optionally wherein the pool-level flexibility response data comprises aggregated pool-level activation data and / or aggregated pool-level cost data.

6. The method according to any of the preceding claims, wherein each asset response comprises a time series signal comprising a time series of response values, preferably energy flow values.

7. The method of any of the preceding claims, wherein the asset model for an asset outputs asset response data indicative of an asset response based on a control input comprising the asset control signal for the asset.

8. The method according to claim 7, wherein the asset model outputs the asset response data for a next time interval based on the control input to be applied at that time interval, preferably wherein the asset model further models an asset state, wherein the asset model outputs the asset response data additionally based on the asset state.

9. The method according to claim 7 or 8, wherein the asset response data defines a probability distribution for the asset response in dependence on one or both of: the control input, and the asset state, the method comprising randomly determining an asset response for the asset in accordance with the probability distribution.

10. The method according to any of claims 7 to 9, wherein the asset model further outputs data indicative of a next asset state, where the next asset state is the state of the asset at the end of a next time interval, the method comprising updating the modelled asset state based on the next asset state, wherein the asset model is evaluated for a subsequent time interval based on the updated asset state.

11. The method according to claim 10, wherein the data indicative of a next asset state defines a probability distribution for the next asset state in dependence on the control input and / or asset state, the method further comprising randomly determining a next asset state in accordance with the probability distribution.

12. A method according to any of the preceding claims, comprising, for each asset, randomly sampling asset responses and optionally next asset states for a plurality of time intervals in accordance with probability distributions output by the respective asset models, to produce a response trace for the asset comprising a time series of asset response values.

13. A method according to claim 12, comprising generating the pool-level flexibility response data using repeated random sampling of asset responses and / or next asset states in accordance with the probability distributions.

14. A method according to any of the preceding claims, wherein the pool-level control signals comprise an input trace comprising a time series of pool-level control values, the time series preferably including a pool-level control value for each of a plurality of time intervals, the simulation repeated for each time interval by deriving from the pool-level control value for the time interval individual asset control values, determining asset responses based on the individual asset control values, and aggregating the asset responses to generate an output trace comprising a time series of aggregated pool-level response values.

15. A method according to claim 14, comprising generating a plurality of output traces by one or both of:repeating the simulation a plurality of times for different input traces; repeating the simulation a plurality of times for a given input trace, to generate respective output traces corresponding to the input trace, preferably based on random sampling using probability distributions output by the asset models.

16. A method according to claim 14 or 15, comprising performing the step of deriving the second model based on the output trace(s).

17. A method according to any of claims 14 to 16, wherein deriving the second model comprises performing an optimisation to find a best fit of a predefined model to the output trace(s).

18. A method according to any of the preceding claims, wherein deriving the second model comprises identifying values of a set of model parameters of the second model, preferably a linear model as defined in claim 4, that provide a best fit to pool-level flexibility response data generated by simulation of asset responses using the first model.

19. A method according to any of the preceding claims, wherein the asset models comprise one or more trained machine learning models, preferably neural networks,wherein the asset models preferably comprise a single trained asset model representing a plurality of assets, wherein the asset model is optionally parameterised by one or more asset characteristics or properties, the one or more asset properties optionally comprising one or more of: asset type, asset location, one or more performance characteristics of the asset.

20. A method according to any of the preceding claims, wherein the pool-level control signals are generated using one or more of:a random control signal generator;a trading simulator simulating energy trades by a flexibility provider; and a machine learning model trained based on past trading data.

21. A method according to any of the preceding claims, comprising determining, by the flexibility provider system, a requested pool-level flexibility provision using the second model, and controlling the assets in dependence on the requested pool-level flexibility provision, the controlling preferably comprising:disaggregating the pool level flexibility provision to generate control signals for individual assets; anddispatching the control signals to the assets.

22. A method according to claim 21 , wherein the flexibility provider system submits flexibility bids to an energy trading system based on the second model and receives the requested pool-level flexibility provision from the energy trading system.

23. A method according to 21 or 22, wherein the disaggregation during the controlling step and the disaggregation duringthe simulating step use the same asset dispatch logic to disaggregate pool-level flexibility provision control signals into asset control signals.

24. A method of determining a response of an asset pool of energy assets to a poollevel activation signal for activating a flexibility provision by the pool, wherein flexibilityprovision comprises controlling energy exchanged between assets of the pool and a distribution grid, the method comprising a simulation process including:disaggregating the pool-level activation signal to generate individual control parameters for each of a plurality of assets of the pool;for each asset, processing the individual control parameter using a trained machine learning model, the model trained to output data indicative of an asset response based on an input comprising the control parameter,wherein the output data specifies a probability distribution for an asset response parameter,the processing comprising randomly selecting a value of the asset response parameter in accordance with the probability distribution; aggregating response values for each asset to obtain pool-level response data; andoutputting the pool-level response data.

25. A method according to claim 24, wherein the output data of the model comprises data indicative of a mean and variance of a Gaussian probability distribution.

26. A method according to claim 24 or 25, wherein the control parameter for a given asset specifies one of:a binary on / off signal for activating or deactivating the asset;an operating mode for the asset;an energy or power value to be supplied or consumed by the asset;a set point, for example a temperature set point for an asset implementing a heating or cooling function.

27. A method according to any of claims 24 to 26, wherein the input to the model further includes state information indicating a state of the asset.

28. A method according to claim 27, wherein the state information specifies one or more features of an operating state and / or configuration of the asset.

29. A method according to claim 27 or 28, wherein the state includes one of:a state of energy of an energy storage device, such as a charge level of a battery asset;an operating temperature of a heating or cooling device such as a heat pump.

30. A method according to any of claims 24 to 29, wherein the pool-level activation signal comprises a time series of pool-level activation parameters, the method comprising repeating the simulation process for each of a plurality of time intervals using a respective pool-level activation parameter of the time series to generate a time series of pool-level response values.

31. A method according to any of claims 24 to 30, wherein the machine learning model further outputs data defining a probability distribution for a next state output, the method comprising, when evaluating the model for a given time interval:randomly selecting a next state in accordance with the probability distribution; andusing the next state as the asset state when evaluating the model for a subsequent time interval.

32. A method according to any of claims 24 to 31 , wherein the input to the model further includes one or more context parameters, the one or more context parameters optionally indicating one or more of: an asset type or class, a performance characteristic of the asset, or a location of the asset.

33. A method according to claim 32, comprising using the same trained machine learning model for each of a plurality of assets having different asset types, wherein the inputs to the model include a type parameter associated with each asset indicating an asset type.

34. A method according to claim 33, comprising using a single trained model for all assets of the pool.

35. A method according to any of claims 24 to 33, comprising using respective trained models for each of a plurality of asset classes, and optionally further distinguishing asset subtypes within one or more classes using type parameters input to the models for those classes.

36. A method according to any of claims 24 to 35, wherein the data indicative of an asset response comprises one or both of:an actual activation indicating an achieved flexibility provision by the asset in response to the individual asset control parameter for the asset, optionally including energy flow data specifying supply of energy to, or consumption of energy from, the distribution grid;a cost measure indicating a cost of activation of the asset, the cost measure optionally based one or both of financial and technical costs;optionally wherein the pool-level response data comprises aggregated poollevel activation data and / or aggregated pool-level cost data.

37. A method according to any of claims 24 to 36, comprising performing the simulation process a plurality of times to obtain a plurality of output traces, each output trace comprising a time series of pool-level response values obtained by random sampling of individual asset responses in accordance with the asset model outputs.

38. A method according to claim 37, comprising performing a model fitting process to derive a pool-level model based on the plurality of output traces, wherein the pool level model defines a relationship between a pool level control signal, state data representative of an aggregate state of the pool of assets, and a pool level response metric.

39. A method according to claim 38, comprising transmitting a data representation of the pool-level model to a flexibility provider for use in optimising flexibility provision.

40. A method according to claim 38 or 39, comprising generating control signals for assets of the asset pool in dependence on the pool-level model, and transmitting the control signals to the assets to control exchange of energy between the assets and the distribution grid.

41. A method of training a model for use in predicting a response of an energy asset to a control signal for controlling energy exchanged between the asset and a distribution grid, the method comprising:receiving input samples, each input sample specifying an asset control parameter, a state parameter indicating a state of the asset, and a measured asset response corresponding to the control and state parameters;training a machine learning model based on the input samples to output distribution parameters defining a probability distribution for the asset response for given input control and state parameters; andstoring the trained machine learning model for use in generating probabilistic predictions of asset responses.

42. A method according to claim 41 , wherein the asset response comprises an energy exchange value specifying energy consumed from or supplied to a distribution grid by the asset.

43. A method according to claim 41 or 42, comprising training the model to output a second set of distribution parameters defining a probability distribution of a change in asset state.

44. A method according to any of claims 41 to 43, comprising:receiving input data comprising a control parameter and state parameter for an asset;providing the input data to the trained machine learning model;obtaining distribution parameters output by the machine learning model; randomly selecting at least one response value for the asset in accordance with the probability distribution defined by the distribution parameters; andoutputting the at least one response value.

45. A method according to claim 44, comprising randomly selecting an energy exchange value and a new asset state value in dependence on respective probability distributions defined by the distribution parameters.

46. A method of predicting an energy exchange between an energy asset and a distribution grid in response to a control schedule, the control schedule comprising a time series of control values for controlling operation of the energy asset for respective time intervals, the method comprising:providing a machine learning model, the machine learning model trained to output data indicative of a change in state of the asset and an energy exchange between the asset and the distribution grid, in response to input data comprising a state parameter indicating a state of the asset and a control parameter indicating a control action to be performed by the asset;defining a current state parameter indicative of a state of the asset at a start time;sequentially evaluating the machine learning model for each of the time intervals, the evaluating comprising:inputting the current state parameter and the control value for the current time interval to the machine learning model and receiving an output of the model comprising:a first output indicative of an energy exchange value, and a second output indicative of a next state of the asset at a subsequent time interval, the second output comprising one or more distribution parameters defining a probability distribution for a next state parameter;determining an energy exchange value based on the first output and adding the energy exchange value to a time series of energy exchange values; andrandomly selecting a next state parameter in accordance with the probability distribution, wherein the next state parameter is used as the current state parameter when evaluating the model at the next time interval;the method further comprising outputting the time series of energy exchange values.

47. A method according to claim 46, wherein the first output comprises one or more distribution parameters defining a further probability distribution for an energy exchange value, wherein determining the energy exchange value comprises randomly selecting the energy exchange value in accordance with the further probability distribution.

48. A method according to claim 46 or 47, wherein the control value specifies one of:a binary on / off signal for activating or deactivating the asset;an operating mode for the asset;an energy or power value to be supplied or consumed by the asset;a set point, for example a temperature set point for an asset implementing a heating or cooling function.

49. A method according to any of claims 46 to 48, wherein the state parameter specifies one or more features of an operating state and / or configuration of the asset.

50. A method according to any of claims 46 to 49, wherein the state parameter indicates one of:a state of energy of an energy storage device, such as a charge level of a battery asset;an operating temperature of a heating or cooling device such as a heat pump.

51. A method according to any of claims 46 to 50, comprising performing the sequential evaluation a plurality of times based on the same control schedule and starting state to produce a plurality of randomly sampled output time series.

52. A method according to any of claims 46 to 51 , comprising evaluating a pool of assets, including:repeating the prediction for each of a plurality of assets in the pool using respective control schedules for each asset; andaggregating the output time series of energy exchange values for the assets to produce an aggregated time series for the pool of assets.

53. A method according to claim 52, comprising receiving a pool-level control schedule, and disaggregating the pool level control schedule to generate the individual control schedules for each asset.

54. A method according to claim 53, comprising repeating the evaluation of the pool multiple times using the same pool-level control schedule to generate a plurality of randomly sampled aggregated times series for the pool of assets.

55. A method according to claim 54, comprising fitting a model, preferably a linear model, to the plurality of randomly sampled aggregated time series for the pool of assets, and outputting a data representation of the model for use by an optimizer.

56. A method according to any of claims 46 to 55, comprising controlling the asset in dependence on the time series of energy exchange values, preferably in dependence on the fitted model.

57. A method according to claim 56, comprising performing the method for each of a plurality of assets in a pool, determining a pool level control schedule for the assets of the pool in dependence on the results of the method, preferably in dependence on the fitted model, deriving individual control data for assets of the pool based on the pool level control schedule, and transmitting the control data to the assets to control energy exchange between the assets and the distribution grid.

58. A method according to claim 57, wherein the method is performed at a simulation system, and wherein the pool level control schedule is determined by a flexibility provider system based on a model of the pool of assets derived by the simulation system based on the results for the plurality of assets and transmitted to the flexibility provider system.

59. A method of generating control signals for energy assets in a pool of assets, for controlling exchange of energy between the energy assets and an energy distribution network, the method comprising:grouping assets of the pool of assets in asset groups;associating group constraints with respective asset groups, wherein a group constraint defines a limit on energy flow to or from the assets of the group;receiving a control signal specifying an energy amount to be supplied or consumed by the asset pool;determining group allocations from the energy amount to respective asset groups in dependence on the group constraints associated with the groups;within each group, determining asset allocations from the group allocations to individual assets; andgenerating disaggregated control signals for the individual assets in accordance with the asset allocations.

60. A method according to claim 59, wherein the group constraints comprise grid constraints, preferably comprising local grid constraints local to parts of the distribution grid.

61. A method according to claim 59 or 60, wherein for at least one asset group, the assets are connected to a given subnetwork of the distribution network, and wherein a group constraint for the asset group defines a local grid constraint relating to the subnetwork.

62. A method according to claim 60 or 61 , wherein a local grid constraint defines a grid energy import or export limit for the assets of a group.

63. A method according to any of claims 59 to 62, comprising determining asset allocations for individual assets from a group allocation in dependence on a predetermined allocation strategy.

64. A method according to claim 63, wherein the allocation strategy comprises distributing the group allocation equally across the assets of the group.

65. A method according to claim 63, wherein the allocation strategy comprises distributing the group allocation in accordance with respective properties of the assets of the group.

66. A method according to claim 65, wherein the assets in the group comprise energy storage devices, the group allocation distributed in accordance with one or more of: a storage capacity of each asset, and a current energy stored at each asset.

67. A method according to any of claims 59 to 66, comprising defining a disaggregation tree specifying a hierarchical grouping of assets into groups, the disaggregation tree defining two or more grouping levels, and associating group constraints, optionally distribution grid constraints, with groups at multiple levels of the disaggregation tree, the method comprising disaggregating the control signal to generate individual asset control signals in accordance with the disaggregation tree.

68. A method according to claim 67, comprising iteratively disaggregating the control signal at each grouping level in accordance with the group constraints for that level.

69. A method according to any of claims 59 to 68, comprising transmitting the disaggregated control signals to the assets to cause the assets to alter energy flow to or from the distribution grid in accordance with the allocations.

70. A method according to any of claims 59 to 68, comprising simulating a response of the pool of assets to the control signal by providing inputs based on the disaggregated control signals to asset models for the assets, and determining based on outputs of the asset models energy exchanged between the assets and the distribution grid.

71. A method according to claim 70, comprising determining an aggregated energy exchange amount for the pool of assets and outputting the aggregated energy exchange amount.

72. A method according to claim 70 or 71 , wherein the models are trained machine learning models.

73. A method according to any of claims 70 to 72, wherein the model for an asset outputs data defining a probability distribution for the energy exchange, the determining step comprising randomly selecting an energy exchange value for the asset in dependence on the probability distribution.

74. A method according to claim 73, comprising generating multiple energy exchange values for each asset based on repeated random sampling, and preferably aggregating the energy exchange values across the pool of assets to generate output data comprising multiple randomly sampled pool-level exchange values.

75. A method according to any of claims 59 to 74, comprising repeating the generation of asset control signals at each time interval of a time series in dependence on an input time series of control values to produce an output time series of disaggregated control signals.

76. A method according any of claims 59 to 75, wherein the disaggregated control signals specify energy exchange values, preferably energy or power values, for controlling the assets to supply energy to or consume energy from the distribution grid in accordance with the energy exchange values.

77. A system having means, optionally comprising one or more processors with associated memory, for performing a method as set out in any of the preceding claims.

78. A non-transitory computer-readable medium or computer program comprising software code adapted, when executed by a data processing system, to perform a method according to any of claims 1 to 76.