Skip to main content

Scaling: managing a large number of distributed battery energy storage systems


This paper analyzes the management of a large number of distributed battery energy storage systems (BESSs) by a energy utility in order to provide some market services. A heuristic algorithm based on two parts is proposed for this task. The first part, the aggregation, combines the abilities and behavior of the fleet of BESS into a virtual power plant (VPP) by a concise but flexible model. This VPP can be used by the utility as they are used to with traditional power plants. The second part, the disaggregation, distributes VPP control schedules back to the individual BESS by a greedy first-fit decreasing heuristic.

The management of a fleet of BESS can also be modeled as a mathematical linear optimization program. The proposed heuristic is compared to and evaluated against this global optimization regarding computational performance and quality of results. It is shown, that the heuristic provides a remarkable speedup when applied to larger number of units. With it, it is possible to handle a group of at least 100,000 individual BESS. Further, the quality of the results are shown. First, the solution of the heuristic is compared to the optimal one of the mathematical program. Second, the methods are both applied and compared in a realistic case study.


In most deregulated electricity market environments, the active management of distributed energy resources, here referred to as active demand and supply (ADS) units, is commonly regarded as becoming increasingly important to manage. There are some types of ADS units, which can be managed in a similar way as traditional power plants (e.g. large cooling facilities). However, the management of relatively small and distributed ADS units is different: First, it is well known that the isolated management of such individual ADS units is seldom meaningful. This is because the economic potential of electric energy and grid services of such units does not justify their management effort. Second, the central control of many diverse ADS units in an aggregated way is also troublesome to ensure various local constraints and computational efficiency.

The presented work here is done within the scope of a project which addresses this problem, named Scaling ADS Management to large Swarms (ScaleADS). The goal of the project ScaleADS is to enable the management of more than 100,000; heterogeneous ADS units. Therefore, the project focuses on making existing techniques applicable here, that is, providing adequate scaling of scheduling methods. The idea is to construct a virtual power plant (VPP) representing the electrical and thermal flexibilities of the fleet of ADS units. Thus, only the necessary information shall be considered and aggregated. Such a VPP shall be used by energy utilities in a similar way as they are used to with traditional power plants. Then, the VPP can be optimized together with the pool of other power plants for providing various services and obligations. For an example, the utility may foresee that its balance group gets short in energy and to provide this energy by the ADS VPP instead of using other plants or balancing markets. Such a methodology requires apart from an aggregation part a complementary disaggregation of the flexibility requests of the VPP to the individual ADS units.

In other words, four phases are needed in this project. (1), a pre-processing constructing the VPP out of the ADS units by identifying the combined flexibility (aggregation). (2), the capabilities of the VPP are exploited by the energy utility for its specific needs. Then (3), a post-processing is necessary to distribute a VPP schedule/requests back to the ADS units (disaggregation) and finally (4), the ADS units are to be controlled to follow their individual schedules.

This paper analyzes one part of this problem, the management of a large number of distributed battery energy storage systems (BESSs), as one type of ADS units, for the phases 1–3. The major contribution of this paper is to propose and analyze a methodology able to do that. The framework is based on a concise but flexible model for the behavior of the fleet of BESS units for the aggregation part, and a greedy first-fit decreasing heuristic for the disaggregation phase. This methodology is evaluated regarding its computational performance and quality of solution in a realistic setting. Further, it is compared to concepts typically applied in such contexts, which is solving a mathematical linear optimization program.

Related research The management of BESS can be considered to be similar to the field of hydro power scheduling, especially for pumped hydro without natural water inflows. There, the research has matured and many concepts are available, e.g. as reviewed in Wallace and Fleten (2003); Labadie (2004) and Yamin (2004). The concepts were also applied and mildly adapted specifically to the management of BESS, as in Mégel et al. (2013); Koller et al. (2013) and Galus et al. (2013). Compared to hydro power, BESS have a higher power to energy ratio. Therefore, the time scales are different, e.g. models for BESS consider time steps of minutes for time horizon of a few days whereas for hydro power plants it is hours for a few years. Mathematically, such differences are not relevant: by representing each BESS as one hydro reservoir with associated plant, the ideas from the scheduling of hydro power plants can be also applied to the management of BESS. Roughly, the computational complexity of such models are driven either by the number of time steps and/or the number of state variables (number of BESS / hydro reservoirs respectively). Different mathematical techniques are available which can mitigate these complications. Whereas number of time steps are similar, the number of state variables are not, with maximally a few dozens state variables in hydro scheduling problems compared to 100,000 in the BESS problem addressed in the context here. Therefore, these techniques are not well applicable.

There are also a few general methodologies for the modeling of ADS and their aggregation proposed. They are obviously based either on energy quantities (Geidl and Andersson 2007), power quantities (Heussen et al. 2010) or specifically for modeling demand side flexibility (Barth et al. 2018). These concepts would also allow storage abilities, but this is not their primary focus.

Further, many smart grid applications deal with some storage ability, see Fang et al. (2012); Oldewurtel et al. (2013); Haider et al. (2016) for an overview of the developments there. The research about the integration of distributed BESS systems in the low- and medium voltage grids is as well academically advanced, with a good overview given in Fortenbacher (2017). Finally, in Nosratabadi et al. (2017), research about the concept of VPP for dealing with distributed ADS is reviewed.

Despite having a large amount of relevant research available, most of these works consider only a modest number of maximally a few thousands ADS and/or BESS units. There, mathematical programming can handle BESS individually without aggregation, or, as in Asamov and Powell (2015), some aggregation or decomposition is performed but the number of manageable systems is too low to be applicable here.

Another relevant line of research is the one of co-simulation processes. The problem of controlling heterogeneous ADS units or BESS can be modeled with the help of agents interacting in some environment (e.g. Steinbrink et al. (2018); Schütte and Sonnenschein (2012); Basso et al. (2015)). A major feature of such frameworks is the handling and coordination of communication among the agents. Such aspects are responsible for a considerable part of the computational effort needed there. Since agents’ communication is not important in the context here, such frameworks are not well applicable. This is, since the handling of a large amount of BESS requires an as efficient approach as possible and, therefore, a custom-made framework is introduced here.

A fourth line of mentionable research is the one dealing with scaling issues. It seems that simple heuristics can deal well with the management of large number of devices, as long as the implementation of the algorithms are kept efficient. For example, in Petersen et al. (2014) and Barth and Wagner (2018), 100,000 respectively 10,000 deferrable electrical loads are scheduled for balancing and/or peak shaving. Both authors suggest using greedy algorithms. They provide good results in acceptable computation time. This is also in line with what is presented in the paper here, although a completely different setup with BESS is analyzed.

As an alternative to the concepts presented in this paper, it would be also possible to cluster the fleet of ADS units in some way. Then, the total number of units is reduced and concepts mentioned earlier are applicable. This clustering can be done by some common attribute (e.g. type of BESS), spatial proximity and others (see e.g. ?Sim4Blocks2018a ()).

The paper is organized as follows: the next section presents the basic optimization problem. Then, the proposed aggregation and disaggregation algorithms are described. Finally, after explaining the physical setup of the case study, the proposed concepts are evaluated regarding optimality and computational performance.

Global optimization problem

The problem considered in this paper consists of the management of a large number of independent BESS. The goal of this management can be manifold. Here in this paper for the purpose of evaluating the concepts, the optimal deployment of the BESS in a day-ahead and intra-day energy market is considered. Day-ahead and intra-day markets are modeled as one aggregated time series of quarter-of-an-hour prices. This single time series is possibly updated each quarter-of-an-hour. Reasons for that can be for instances changes in the intra-day market offers, when new market information change the predictions of future day-ahead prices or after a day-ahead market clearing. This price time series is given by external providers and its construction and analysis is outside of the scope of this paper.

Given such a single time series of market prices π1,…,πT, the problem reduces to deploy all the individual BESS most profitably within this market of non-overlapping products; in other words, charging “when the price is low” and discharging “when the price is high”:

$$ arg\,max_{p} \sum\limits_{t=1}^{T} \sum\limits_{b=1}^{n_{bess}} \pi_{t} \left[ p_{t,dischar}^{b} - p_{t,char}^{b} \right] $$

The objective of this deterministic optimization problem sums up all charging and discharging control decisions for the time horizon T and nbess number of BESS units. The evolution of the state of charge (SoC) SoCb(t) for each discretized time point t and BESS unit b is handled in (1a). To facilitate the notation, SoC variables are assumed to be energy quantities, that is in units of MWh, whereas charging and discharging power variables Pchar/dischar denote power quantities in MW respectively. Note that the charging and discharging efficiencies \(\eta ^{b}_{char},\eta ^{b}_{dischar}\) remain constant for each BESS unit and are not depending on the SoC. Therefore, the model remains linear. The problem is bounded by the individual SoC and charging/discharging power limits in (1b) and (1d) respectively. The variable bounds (1c) define starting and end SoCs. The starting SoC is given as the current individual SoC of the BESS \(SoC^{b}_{start}\). In order to ensure high flexibility at the end of the time horizon and to make comparisons between the different algorithms easier, the ending SoC of each BESS is bounded to 50% of its energy capacity, that is to be charged half full.

Note that in problem (1), all BESS devices are independent of each other. This would allow to optimize each BESS individually. Then, problem (1) could be solved centrally as a series of small optimization problems in parallel. This can be computationally advantageous if memory is limited or distributed computational resources are available. As it will be shown later, memory is not an issue here. However, distributed computational resources are available since each BESS could solve its own management problem. For problem (1) this would be possible by sending each BESS the market price signal π1,…,πT. This would require more intelligence at each BESS instead of having the computational effort mostly centrally, but this is manageable.

Anyways, as mentioned earlier and discussed later, the business case in this project is to have the fleet of BESS represented as a single VPP. This VPP should be usable as one equal power plant among other traditional ones owned by an energy utility. In such a context, the BESS are not independent anymore but have to be coordinated in some way.

The linear model (1) can be solved quite efficiently by standard linear programming solvers in polynomial time. However, given a large number of around 100,000 BESS, together with a meaningful time horizon of a day and a time step of a few minutes, there are easily dozens of millions variables and constraints. For such classes of problems, even pure data handling can become an issue if not done in a proper way.

When managing thousands of distributed small BESSs, it is clear that there are many aspects subject to uncertainty. This issue can be approached via extending the model (1) with the introduction of some stochasticity, e.g. by concepts from stochastic control. On the other hand, it seems to be questionable, if it is even required to solve the simple problem (1) to optimality or if such an approach is rather excessive and computationally inefficient. The next section discusses an alternative concept, which will approach the management of the fleet of BESS differently via simple heuristics.

Proposed heuristic algorithm

Instead of making an already difficult to solve optimization problem (1) even more complex, another approach is proposed here: The fleet of BESS is aggregated to a simple VPP model where it is clear that many aspects are simplified. In return, the optimized schedule of the VPP is disaggregated to the individual BESS in a similar tolerant way.

Despite that, a good controlling performance may still be achieved. This is, because the entire process has to be repeated anyways continuously based on updated market information. Therefore, similar ideas in what is known as model predictive control in the control community can be applied here.

Next, the aggregation with the proposed VPP model is explained, followed by the complementary iterative heuristic for the disaggregation. The whole framework with both aggregation and disaggregation is shown later in the section about the case study.

Aggregation: building the VPP model

Before doing an aggregation, it is important to examine the available information. In line with the setup and business case of the overall ScaleADS project, the following information are known or are measured by each individual BESS and are available centrally (see also (1)) for constructing the VPP:

  • maximum BESS energy storage size SoCb,max,

  • maximum charging and discharging power \(P_{char/dischar}^{b,max}\),

  • charging and discharging efficiencies \(\eta _{char/dischar}^{b}\), and,

  • current SoC: \(SoC^{b}(t=1)=SoC^{b}_{start}\).

Whereas the first three information are constant parameters of the BESS, the last information, the current SoC \(SoC^{b}_{start}\), is updated from time to time. Note that in the model here no further aspects of BESS are considered, e.g. battery degradation due to cycling etc..

The proposed model of the VPP of the fleet of BESS is a modified “super”-BESS with the following parameters:

  • VPP BESS energy storage size and current SoC:

    $$ SoC^{vpp,max} = \sum\limits_{b=1}^{n_{bess}} SoC^{b,max},\; SoC^{vpp}_{start} = \sum\limits_{b=1}^{n_{bess}} SoC^{b}_{start} $$

    The energy content for the VPP is simply the sum of the individual ones for each BESS.

  • maximum charging / discharging power:

    $$ P^{vpp,max}_{char/dischar} = \sum\limits_{b=1}^{n_{bess}} P^{b,max}_{char/dischar},\; P^{vpp,now}_{char/dischar} = \sum\limits_{b=1}^{n_{bess}} P^{b,now}_{char/dischar} $$

    A valid upper bound for the maximum available charging and discharging power for the VPP is the sum for the ones from the BESS. Additionally, for the next time step, with high probability the current available maximum charging and discharging power \(P^{vpp,now}_{char/dischar}\) can be deduced, where \(P^{b,now}_{char/dischar}\) denotes current maximal available charging or discharing power per individual BESS. This entity can be limited by the available SoC to charge or discharge, e.g. when the BESS is too depleted to deliver full discharging power:

    $$\begin{array}{*{20}l} P^{b,now}_{char} &= \min \left(P^{b,max}_{char},\frac{SoC^{b,max} - SoC^{b}_{start}}{\eta_{char}^{b} \cdot \Delta t} \right) \\ P^{b,now}_{dischar} &= \min \left(P^{b,max}_{dischar}, \eta_{dischar}^{b}\frac{SoC^{b}_{start}}{\Delta t} \right) \end{array} $$

    The minimum of two given values are denoted by min(..,..) and Δt is the duration of the time step, in the here considered setup it is 15 min. Note here, that the charging and discharging power as in (1) is assumed to be constant for each individual BESS and also for the VPP for the duration of the time step.

  • weighted charging and discharging efficiencies:

    $$ \eta_{char/dischar}^{vpp}=\frac{1}{P^{vpp,max}_{char/dischar}} \sum\limits_{b=1}^{n_{bess}} P^{b,max}_{char/dischar} \cdot \eta^{b}_{char/dischar} $$

    The efficiencies are weighted by the associated maximum charging or discharging power as a proxy for the amount an individual BESS contributes to the power delivery of the VPP.

  • limited charging and discharging power of the VPP:

    $$ p^{vpp}_{char/dischar}(t) \le P^{vpp,max}_{char/dischar} \cdot f_{char/dischar}(SoC^{vpp}(t)) $$

    Since the SoCs of all individual BESS are not homogeneous, some batteries may be full and some depleted, resulting in a reduced charging and discharging power of the VPP: the lower the overall SoC of the VPP, the higher the probability that some batteries may be empty and vice versa. This relationship is modeled here as some function fchar/dischar of the SoC of the VPP SoCvpp.

In problem (1), it was assumed that all BESS can be perfectly controlled. Therefore the future evolution of their SoCs can be tracked. This is not possible with the model here. Basically, two important information are lost due to the aggregation: First, about the distribution of charging/discharging power with the energy content of the BESS (heterogeneity of the fleet) and second, about the distribution of the SoC of the individual BESS. Both elements affect the capabilities of the VPP. To illustrate this, see the example of an extreme VPP in Table 1.

Table 1 Illustration of importance of heterogeneity: Consider a VPP consisted of two extreme BESSs, with one having the power capabilities of the VPP but with little energy storage and the other BESS having the energy storage of the VPP but with a very limited amount of charging power

In order to address this lost information, Eq. 6 tries to model it in a simple way via the function fchar/dischar. This function is not only a parameter of the fleet of BESS, but depends on various aspects:

  • heterogeneity of the parameters of the BESS (as already discussed and illustrated in Table 1),

  • control (requested schedule) of the VPP, and,

  • disaggregation algorithm.

Some examples of this influences and possible functions are shown in Figs. 1 and 3 respectively. One can state, that the more homogeneous the individual BESS are, the more randomly the schedule of the VPP to follow is, and, the “smarter” the disaggregation is performed, the less influence a higher or lower VPP SoC has on the maximum charging or discharging power. As it will be shown in the next section, the performance of the proposed aggregation scheme depends significantly on the choice of this function.

Fig. 1
figure 1

Analysis of the discharging abilities of the VPP depending on its SoC: One important property of a fleet of BESSs is the relationship of aggregated SoC versus its aggregated charging and discharging abilities. For lower (higher) SoC of the VPP, more individual BESS are fully discharged (charged), and therefore cannot discharge (charge) any further and, thus, the discharging (charging) ability of the VPP reduces. This property depends not only on the BESSs themselves, but also on what is requested from the VPP (VPP schedule) and how this schedule is implemented via the BESS (disaggregation algorithm). The two figures here illustrates this by showing the calculated normalized VPP SoC and its associated maximum discharging ability. The figure on the left varies the heterogeneity of the fleet of BESSs (see also Table 1, that is different distributions of energy content to charging power ratios, while having the same aggregated VPP energy storage size and discharging power). Total number of BESS are 370, with homogenous meaning all BESS being identical, normal a set of BESS from the case study and heterogenous a set with diverse BESS properties. The heterogenous set performs worst since with a maximum discharging schedule all BESS have to contribute and the BESS with high power but small energy content quickly gets depleted. In contrast, the homogenous set can all be discharged uniformly until all BESS are depleted at the same moment. The figure on the right shows the influence for varying VPP schedules and disaggregation algorithms for a normal set of 370 BESSs and one month of operation. The BESS are tried to be operated so that the VPP follows a cyclic or random schedule. Each dot in the figure corresponds to the SoC and discharging situation for one quarter of an hour in this month. Clearly, a more random schedule is beneficial to allow the fleet of BESSs to recover and, thus, provide more discharging flexibility. Further, the first-fit decreasing algorithm achieves a much better exploitation of the abilities of the fleet than a random disaggregation

These “super”-BESS parameters constructs the VPP BESS model, which can be included directly as a plant to be optimized within a power plant pool optimization of an energy utility. To illustrate its usage and to evaluate its performance, the same setup as in Eq. 1 is followed: the optimization problem of scheduling the VPP most profitable in respect to a single market price process π=π1,…,πT:

$$ arg\,{max}_{p} \sum_{t=1}^{T} \pi_{t} \left[ p_{t,dischar}^{vpp} - p_{t,char}^{vpp} \right] $$

As noted before, for the function fchar/dischar, different models can be meaningful. Later on tested are linear, concave and non-concave piece-wise linear functions. Therefore, in contrast to the optimization problem (1), the model (7) may become a mixed-integer linear program. However note, that the problem is much smaller with having only one set of variables for the single VPP instead of for each BESS b{1,…,nbess}.

Disaggregation: first-fit decreasing heuristic

The outcome of an optimization problem like (7) is a policy for charging and discharging of the VPP over some time horizon. From the point of the VPP, this policy defines the production schedule of it, with charging associated to VPP consumption and discharging to production. In order to realize this schedule, a disaggregation of it to send control signals to the individual BESSs is required.

This disaggregation task is a variant of the standard bin packing problem. In the context here, the problem is to choose for the next time step a number of BESS so that the VPP schedule is fulfilled. This task is performed each time step, e.g. each quarter of an hour, with updated SoC for all BESS.

There are a few simplifications to the bin packing problem meaningful: First, because of the high number of BESSs and their relative individual unimportance, the schedule of the VPP does not have to be fulfilled exactly. In the proposed heuristic, this leads to over-fulfilling the schedule in the worst case by selecting one BESS too much, e.g. for a homogeneous fleet of 100,000 BESS the maximum error would be 0.01‰. Second, the amount of BESS to choose does not have to be minimized, but rather they should be chosen “in a good way”, so that high capabilities of the VPP remain.

Proposed for the disaggregation is the greedy Algorithm 1, which is based on a first-fit decreasing heuristic: If charging is requested, the list of all BESS are sorted with increasing SoC, and iteratively from this list BESS are selected until the request is fulfilled. If discharging is requested, the same procedure is done but for decreasing SoCs. Such a type of heuristic is natural to be applied and is therefore also proposed by many other authors, e.g. as in Petersen et al. (2014) and Barth and Wagner (2018).

The computational effort in such a disaggregation is, therefore, quite modest with needing to sort once a list and to iterate over a part of it. Despite the modest effort, such a first-fit decreasing heuristic may perform quite well for a bin packing problem with providing a possibly non-optimal but fast answer. This is also the case here as shown in the next section. Note, that the effort of sorting the list is typically acceptable, since then the BESS are driven towards a homogeneous SoC of around 50%, which allows better exploiting the abilities of the VPP.

Case study

The case study to test and evaluate the proposed algorithms is based on a realistic business case. This is explained next in this section. Further, the co-simulation framework, which mimics the management of the BESS, is introduced and described.

Underlying business case

In the near future, it is not realistic that market environments and regulations may (economically) allow a management of distributed ADS units individually. In order for energy utilities to exploit electrical flexibility of their customers, one option is to manage the ADS units as a single entity, a VPP. In line with the strategy of the industry partner in this project, the business case motivating this paper is as follows: Supporting utilities in the management of distributed BESSs.

The BESSs are installed in the low and medium voltage electricity grid out of various reasons (e.g. peak shaving etc.). All BESSs can be controlled centrally, but individual BESS may have local constraints. The BESSs can be controlled by forcing them to charge or discharge. As it is typically the case with controllable BESS, the local storage management system prevents invalid operation of individual BESS. Therefore, while it is not guaranteed that all BESS follow their control signals, the centralized control is not responsible for safe operation of individual BESS. The BESSs shall be used in the available energy markets, that is primarily day-ahead and intra-day energy power markets. Further, the methodology should allow a management of at least 100,000 entities of BESS, in order to be future-proof and to allow for further complications of it.

Note that although BESS would allow usage for grid stabilization services (e.g. frequency containment reserves etc.), this is not regarded here. Additionally, BESS in households are not considered although the concepts would be applicable for them as well and its evaluation is left for future work.

The VPP shall be used in a pool optimization of the energy utility together with other traditional power plants. There are multiple possible usages there, e.g. fulfilling load obligations with least costs, managing foreseeable balance group deviations, operations in the intra-day market etc.. Note that for such purposes the quantity of energy or power to distribute among the plant is given. Therefore, the single BESS cannot be operated individually but must be coordinated.

The main aim of the case study in this paper is the analysis of possible aggregation schemes for the fleet of BESSs and disaggregation of the VPP requests back to the BESSs. Communication to and from the BESSs is realized via a central database. The realization of the control signals within the BESSs, management of the VPP and interfaces to the power markets are not discussed further in this paper.

Co-simulation framework to allow the evaluation of different strategies

In order to test the performance of the aggregation and disaggregation concepts, a simulation of the overall system is required. For this, a co-simulation framework is proposed, consisting of the following interacting simulators:

  • of each individual BESS and its operation, and

  • of the operation of the VPP, that is how an energy utility would use the VPP in the power markets.

Such a co-simulation framework allows to mimic a realistic usage of the fleet of BESSs by a utility with one of the proposed concepts. This custom-made framework with its middleware for the simulators and interfaces to external data providers accounts for most of the coding work, whereas the actual aggregation and disaggregation algorithms do not contribute much.

The main computational burden is supposed to be happen centrally, that is the processing of the information coming from the BESS and the calculation of their control signals. Overall computation time should not exceed more than a couple of minutes, in order to be able to deal with typical market lead times of 15 min and to allow for future complications of the models.

All simulations are performed with a basic time step of 5 min. The course of it is illustrated in Algorithm 2 if based on the global optimization (1) and Algorithm 3 for the proposed heuristic. All calculations are performed on a standard notebook and for solving linear or mixed-integer problems the solver CPLEX 12.8 was used.


There are two fundamental analysis needed to evaluate the different concepts. (1), using the optimization and/or heuristic once for scheduling the fleet of BESS for a given deterministic time horizon. (2), managing the BESS by executing the algorithms repetitively in a simulation with receding horizon and applying each time only the first control decisions.

For the first analysis, the computational complexity of the algorithms are investigated. Then, it is analyzed, how well the heuristic approximate the global optimization problem (1). In order to do so, different models for the function fchar/dischar are introduced for the heuristic.

For the second analysis, the algorithms are tested if they perform well if applied for managing the BESS in a one week simulation.

Computational complexity: scaling of the algorithms

One motivation of using heuristics in this paper is their computational efficiency. At first, it may seem to be quite ambitious to try to beat the performance of solving a linear problem with a custom made heuristic and implementation. However, when dealing with a large number of variables even simple calculations can become troublesome and a heuristic meaningful when it is implementable in a computationally efficient way.

In Fig. 2, the computational effort is compared with the global optimization approach for increasing number of BESS. A speed-up of more than 10 can be achieved with the heuristic. Within a time frame of 15 min this would allow a consideration of 100,000 BESS while still having some slack time allowing further complications of the model. Note here that all computations were performed on a standard laptop and parallelization was not used so far for the heuristic.

Fig. 2
figure 2

Scaling of computational effort for the global optimization (1) and the proposed heuristic: For the heuristic, the elapsed time over doing the aggregation, optimization of the VPP and disaggregation is measured and shown. In Algorithm 3 these are lines 2 - 4. For the global optimization, only the time used for solving the linear problem is measured. Further, the speedup of the heuristic relative to the global optimization is depicted. All values are shown for increasing number of BESS from one up to 200,000 BESS. As long as there is enough memory available, the effort of both algorithms does not increase exponentially (note the logarithmic scale of the x-axis). Nevertheless, the heuristic provides already a speed-up of more than 10 and allows at least the consideration of 100,000 BESS giving a time frame of maximally 15 min whereas the global optimization can handle only 15,000 BESS. Note that the implementation of the heuristic did not even exploited the use of parallelization

Approximating the global optimization problem (1)

As described earlier and shown in Fig. 1, one property of the fleet of BESSs is the relationship of VPP SoC versus its charging and discharging abilities. This property is important for approximating the global optimization problem (1). In the proposed heuristic, it is described as some function fchar/dischar in (6). The idea here is to consider this function as some kind of tuning parameter which has to be adapted based on the experience when applying the algorithms to a specific case. Shown here are a few promising candidates for this function in Fig. 3.

Fig. 3
figure 3

Candidates for fchar/dischar models: The function fchar/dischar models the relationship of VPP SoC versus its charging and discharging capabilities (see also Fig. 1). Tested in this paper are the performance of 5 different promising candidates. The first candidate, does not take this relationship into account. The second model bounds the SoC, so that only 20% to 80% of the VPP SoC can be used. The third model uses simply a linear, the fourth a concave and the fifth a non-concave piece-wise linear relationship. The fifth model is most precicse, however, the resulting VPP optimization problem turns into a mixed-integer one

Each candidate is based on a different model, either based on modifying variable bounds or based on a linear, concave piece-wise linear or non-concave piece-wise linear model. The concrete parameters for each of the candidate were chosen to meet the behavior of the case study.

Only the model of the fifth candidate complicates the VPP model by introducing mixed-integer variables. The problem remains small and the mixed-integer variables are within a special ordered set. Nevertheless, it turns out that is not easy to close the optimization gap fast but a few minutes are required. One reason could be that the problem is not much constrained so that it is not clear to the solver “where” to look for good solutions. But note that this may change if the problem is incorporated in a bigger optimization problem.

The global optimization problem (1) can be solved to optimality which is the baseline for the evaluation here. The setup is as follows:

  • simulation for one day of 24 h;

  • given market price signal, with perfect foresight of 24 h;

  • 370 different BESS, which are typical for the considered business case, are considered;

  • only one single optimization is performed, that is, calculated control schedules are tried to be applied for the full 24h.

Table 2 shows a comparison of the achieved profits for the heuristics with different fchar/dischar models with the one from the optimal solution of the global optimization problem. Additionally, Fig. 4 illustrates the evolution of the VPP SoC and the violations when individual BESS can not follow the control. One can state that the more complicated the model is, the better the optimization problem is approximated. The non-concave piece-wise linear model leads to a quite impressive approximation with having a difference from the optimal value of only 6%. But also the concave piece-wise linear model, which avoids complicating the optimization problem, is less than 10% from the optimal value. Further note, that although the heuristic 2 shows a poor performance, it could be still a good model. This is, since only the first control actions are to be implemented and therefore, avoiding overestimation of charging and discharging abilities could be valuable.

Fig. 4
figure 4

Results of performing the optimization once for one day: The results from performing a single optimization step of one day are the basis for the proposed framework for managing the BESS. The results are illustrated for the global optimization as the baseline, heuristic 1 without any fchar/dischar modeled and heuristic 4 with a concave piece-wise linear model. The optimal solution clearly exploits the VPP SoC more than the heuristic (zero violations, since all BESS can follow the control). Without any function modeled, a substantial part of the charging and discharging control cannot be implemented by the individual BESS. As shown in the figure on the right, up to 90 % of a control can not be met. This hinders using the full range of VPP capabilities. Considering a concave piece-wise linear model reduces the violations and also allows to exploit the VPP better. But note that next only the first control decisions are implemented and therefore, the later violations are not that important

Table 2 Performance of solving the global optimization problem (1): The heuristic candidates with different fchar/dischar models are compared to the optimal solution from solving the global optimization problem as a linear program

Performance for managing a fleet of BESS

The analysis so far did not answer the question if the different candidates are well applicable in managing the fleet of BESS. For this, the procedures for the co-simulation in Algorithms 2 and 3 are performed with the setup as before with following modifications:

  • simulation for one week, \(\mathcal {T}=7\) days;

  • receding optimization time horizon of 24 h.

Such a simulation in style of a model predictive control algorithm leads to solving repetitively optimization problems, in this case 672 loops in the co-simulation algorithm procedures. There is a perfect foresight of 24 h modeled, therefore, the deterministic global optimization problem in (1) still can be used as a baseline for all the other algorithms. However note in practice with some involved stochasticity, such a deterministic optimization may overfit.

Table 3 shows the result of this simulation. The results are mixed. On the one hand, one can argue that there is a certain trade-off between optimality and robustness, either high revenue or low violations in the control. Depending on the setup, the violations have to be met with some sort of expensive balancing power making a more robust algorithm more valuable. On the other hand, the heuristic without any fchar/dischar modeled performed quite well. This may hint towards that too much effort in modeling an already substantially simplified VPP is not worth the effort. Bottomline, one can state that some of the heuristics achieve remarkable results within 90% of optimality.

Table 3 Performance of one week simulation using different optimization frameworks


In this paper, a methodology was proposed in order to allow the managing of a large number of BESS by an energy utility. First, an aggregation of capabilities of the BESS into a VPP is performed. The behavior of the fleet of BESS is modeled by a function relating SoC of the VPP with its charging and discharging ability. It was shown, that this function has to be adapted to the specific set of BESS (heterogeneity), the control of the VPP and how this control is distributed among the individual BESS. This disaggregation was proposed to be done by a first-fit decreasing heuristic.

The different concepts were analyzed and evaluated by a co-simulation framework. This allows to test them by interacting simulators of each individual BESS and of how an energy utility could schedule a VPP within energy markets. As a benchmark for most comparisons, the problem was also modeled as a large linear mathematical program. The evaluation analyzed first the computational complexity of the methods. It was shown, that the proposed concepts provide a speedup of at least 10 compared to solving the linear program. This allows to manage more than 100,000 individual BESS within a time frame of 15 min. Then, it was shown how well the heuristics approximate the optimization problem. Depending on the considered model a difference to the optimal value of around 5–15% was achieved. Finally, a simulation for time horizon of one week illustrated the usage of the concepts. The heuristics achieved a performance within around 90% of optimality. So it is confirmed, that the methodology to model the problem in a simplified way and solve this problem via heuristics provides an effective and pragmatic way in managing distributed BESS. Further, its computational efficiency and scaling properties makes it an interesting candidate for managing a very large number of BESS where linear programs are not applicable.



Active demand and supply


Battery energy storage system


Scaling ADS management to large swarms


State of charge


Virtual power plant


Download references


Publication costs for this article were sponsored by the Smart Energy Showcases - Digital Agenda for the Energy Transition (SINTEG) programme. The research presented in this paper is funded and supported by Innosuisse - Swiss Innovation Agency and Misurio AG.

Availability of data and materials

The datasets used and/or analyzed during the current study are available from the corresponding author on reasonable request.

About this Supplement

This article has been published as part of Energy Informatics Volume 1 Supplement 1, 2018: Proceedings of the 7th DACH+ Conference on Energy Informatics. The full contents of the supplement are available online at

Author information

Authors and Affiliations


Corresponding author

Correspondence to Hubert Abgottspon.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Author’s contributions

HA developed and analyzed the proposed methodology presented here based on first ideas from LE. LE and KW supported the work by given their practical insights and by constructive challenging the concepts. RS supported the project academically and contributed in writing the manuscript. All authors read and approved the final manuscript.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Abgottspon, H., Schumann, R., Epiney, L. et al. Scaling: managing a large number of distributed battery energy storage systems. Energy Inform 1 (Suppl 1), 20 (2018).

Download citation

  • Published:

  • DOI: