1 Introduction

In modern energy systems many consumers become prosumers [8] by installing Photo-Voltaic (PV) panels or electrical storage devices. Additionally, the concept of sector coupling is becoming more prevalent [14]. An Energy Island (EI) is defined as a geographically delimited organization of distributed energy consumers and producers which strive to optimize their cost, \(\text{CO}_{2}\) consumption and the independence from external sources. EIs are complex systems of interconnected load, generation and storage units in various energy sectors, such as electricity, heating and mobility, distributed over multiple buildings. This complexity makes it difficult to optimize the planning of energy generation and consumption over multiple devices in different locations. Each device introduces different location-dependent constraints, e.g., the coefficient of performance of heat pumps, which can be dependent on their environment. In this paper, this issue is defined as multi-vector optimization problem. Due to the heterogeneity of the EI’s structure as well as the plethora of possible local constraints of each device, solutions are forced to be highly complex and uniquely suitable for individual sites. Depending on the objective of a community, different preferences might be given to the activation order of generators, such as financial opportunities, \(\text{CO}_{2}\) emission reduction incentives or reducing the dependency on external sources or, in other words, increasing self-sufficiency. However, the realization of such objectives introduces additional complexity, for instance, the variability of energy prices realized by dynamic electricity tariffs and other demand response programs.

This paper introduces an optimization scheme which can be used by a centralized decision maker to optimize energy allocation over multiple energy sectors for a group of energy producers, consumers and prosumers, distributed over multiple buildings. The proposed two-level optimization scheme separates the optimization process into domain-specific optimizations, where local device limitations and domain-specific constraints are enforced, and a multi-vector optimization, which optimizes the energy flow between domains and their respective domain-specific optimizer. Splitting the optimization problem into two smaller problems decreases the complexity of the system, since the multi-vector optimization can neglect constraints of individual devices and provide a consumption schedule for each domain, which is then realised by a domain-specific optimizer. To achieve the simplification of the multi-vector optimization, components are defined, which generalize the behavior of distributed devices or sub-systems by only considering basic functionalities, such as storage systems with only charging and discharging limits and an energy conversion efficiency. This modelling of devices or sub-systems allows the existence of domain-specific optimizer, which can operate under local constraints and can be established uniquely, depending on the underlying systems needs.

Using the proposed multi-vector optimization method, optimal scheduling of generation and consumption, regarding the minimization of costs, \(\text{CO}_{2}\) emissions and the maximization of self-sufficiency, is achieved, where flexibilities, provided over multiple energy-sectors or domains are exploited. Based on data gathered from a residential site in Ghent (Belgium), it is shown that the multi-vector optimizer provides an optimal consumption schedule for the distributed appliances. The main contributions of this paper are as follows:

  • The paper introduces a two-level optimization scheme for scheduling energy generation and consumption located in an EI.

  • A generalization model for different types of energy generators and consumers is proposed.

  • A case study for the optimization approach is provided, where the system is evaluated on real-world data collected in a residential district in Ghent, Belgium.

The paper is organized as follows: Sect. 2 presents the related work and compares the methods to the system proposed in this paper. Next, Sect. 3 provides a description of the two-level optimization scheme, followed by Sect. 4, where an outline of the introduced components and objective function for the optimization approach is provided. Sect. 5 defines metrics used to evaluate the results of the multi-vector optimization in a real-world residential area in Ghent and a concise explanation of the system’s behaviour is provided. The concluding Sect. 6 is devoted to final remarks and potential future research on this topic.

2 Related Work

Load scheduling [1], integrated with renewable energy generation and storage management [9], is a common functionality of Energy Management System (EMS) [2]. Additionally, newly developed platforms allow control and optimization of not only the electricity sector, but also other energy sectors such as heating, which supports the coupling of sectors [7].

Several approaches for energy optimization and scheduling based on integer programming methods are proposed [12]. Zhai et al. [19] provide a mixed-integer linear programming approach where the operational costs of individual units spanning over the electricity, heating and gas sectors get minimized. However, in contrast to the methodology presented in this paper, only the operational costs get minimized, while additional factors such as \(\text{CO}_{2}\) emissions or self-sufficiency are ignored. Liu et al. [11] provide an in-depth description of Combined Heat and Power (CHP) generation systems and show the flexibility potential for such systems. However, the complexity of CHP might cause scalability issues for optimization schemes if the number of devices rises.

Two-level optimization schemes aim at separating the initial complex problem into multiple smaller optimization problems, by logically splitting the underlying system into two parts. For instance, Rastegar et al. [15] present an approach, where in the first level each household implements a residential energy management system to minimize customers’ costs. On the second level, the system operator modifies the households’ electrical demand by solving a multi-objective optimization problem. In another approach, the coordination of data center operators and a system operator is implemented as a demand response program, which is split into two levels [10]. In the lower level the data center operators try to buy energy as low as possible from the system operator, while maintaining quality of service requirements, while the system operator tries to maximize the systems profits in the upper layer. The two-level optimization approach proposed in this paper allows splitting the optimization process into two smaller parts, namely a multi-vector optimization and a domain-specific optimization, resulting in a reduction of complexity.

In this paper, devices and sectors are generalized into components and domains, allowing for a more abstract view on devices and sectors, by narrowing them down to their most essential attributes and functionalities. This aspect is not covered by other multi-level optimization models such as the one depicted by Wu et al. [18]. A modeling of battery storage systems and grid connections for the optimization of energy storage and Electric Vehicle (EV) charging session utilization is provided by Danner et al. [3]. However, this method merely allows the modeling of specific flexibility potentials and does so only for the electricity sector. While the approach by Sun et al. [16] introduces a flexible generation model for power balancing for an electricity grid in combination with an appropriate flexible and base-load modeling, it does not consider any interconnections between multiple energy sectors, e.g., between electricity and heating, and only remains in the electricity sector.

3 Two-level Optimization Scheme

All devices and their connections in an EI are represented as components and domains in the proposed optimization approach. Components are abstractions of distributed consumption and generation devices or sub-systems, which are generalized to its most basic functionality, e.g., a storage system which is only modelled with the device’s capacity and charging or discharging limits. Each energy domain represents a shared medium where energy can be exchanged between components and, therefore, abstracts the idea of energy sectors. Components are connected to domains and can consume or generate energy in a domain.

Devices connected to the same domain can have particular domain-specific restrictions. For instance, in the electricity domain the voltage magnitude and frequency have to stay within set ranges. Additionally, individual devices may have restrictions, e.g., regarding the operation time or ramping rate. Moreover, the size of an EI may vary from only one building to a city district with multiple buildings. In order to create a scalable and device-agnostic solution, a two-level optimization scheme is proposed and outlined in Fig. 1.

Fig. 1
figure 1

Outline of the two-level optimization scheme of the site in Ghent [4]. Icons are taken from Material Icons (https://github.com/google/material-design-icons) available under the Apache License Version 2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt)

The first level is dedicated to the domain-specific functionalities and consists of two functional blocks for each domain, as outlined in the mobility domain-specific optimizer in Fig. 1. The domain-specific configuration blocks are responsible for setting up parameters of components connected to the domain, while the domain-specific optimization blocks are in charge of scheduling the specific devices’ operations considering domain-specific restrictions. The second level of the scheme is a multi-vector optimizer that manages energy flows between domains. The optimization scheme is defined as follows:

  1. 1.

    Domain-specific configuration functional blocks send the parameters of each component in its domain, such as energy conversion efficiency, energy generation and consumption limits. These parameters are determined according to technical specifications of the devices and outputs of prediction algorithms for energy consumption and generation.

  2. 2.

    The multi-vector optimization located at the second level in Fig. 1 is performed and optimal energy supply and consumption are found for each component.

  3. 3.

    Based on the output of the multi-vector optimization, the domain-specific optimization blocks perform optimization within their domain. Domain-specific optimization might have the same optimization objectives as the multi-vector optimization, however additionally new objectives and constraints can be introduced in order to reflect restrictions and preferences of the specific domain. Ideally, the domain-specific optimizer creates an operation schedule such that its energy profiles aligns with the energy profile from the multi-vector optimizer. Due to the constraints of real devices or forecasting errors the alignment of the multi-vector optimizer energy profile and the domain-specific optimizer energy profile may not be achieved. An energy profile is defined as a sequence of energy consumption or generation values in every time step \(t\) over the entire time horizon \(\mathcal{T}\).

It is important to mention that the assignment of devices to particular domain-specific optimizer is similar to the assignment of components to domains in multi-vector optimization. However, devices corresponding to interconnector components, e.g., heat pumps, can be assigned to any of the two connected domains. Note, interconnectors should be connected to only one domain-specific optimizer, in order to avoid conflicting control signals, which is the reason why the heat pump controller in Fig. 1 is only attributed to the electricity domain-specific optimizer and not the heating domain-specific optimizer.

4 Multi-vector optimization

This paper focuses on the first two steps of the proposed optimization process outlined in Sect. 3, namely the configuration of components and the multi-vector optimization. Due to unavailability of local domain controllers at the residential site in Ghent, Belgium, the domain-specific optimization step mentioned in Sect. 3, is left for future work. Component \(c\in\mathcal{C}\) introduces decision variable \(S^{c}_{d}(t)\) when it generates energy in domain \(d\in\mathcal{D}\) and decision variable \(D^{c}_{d}(t)\) when energy is consumed from domain \(d\) at any time step \(t\), where \(\mathcal{C}\) denotes the set of all components (see Table 1) and \(\mathcal{D}\) represents set of all domains. It is important to note that all energy-related variables and parameters of components are in the same energy unit. The time horizon \(\mathcal{T}\) is modelled as a set of discrete consecutive time steps \(\mathcal{T}=\{1,2,\ldots,t_{\text{max}}\}\). Time horizon \(\mathcal{T}\) and the duration of each time step \(t_{i}\) are configured for each EI individually, depending on the properties of each component.

Table 1 Sets of each component type defined in Expressions (1)–(19)

The multi-vector optimization is mathematically formulated as mixed-integer programming problem and defined as follows:

$$\begin{aligned}\underset{S^{c}_{d}(t),D^{c}_{d}(t)}{\text{minimize}}\quad\omega_{1}\sum_{t\in\mathcal{T}}\sum_{d\in\mathcal{D}}\sum_{c\in\mathcal{C}_{d}}S^{c}_{d}(t)\cdot r_{c}(t)\end{aligned}$$
(1)
$$\begin{aligned}\qquad\qquad\qquad\qquad+\omega_{2}\sum_{t\in\mathcal{T}}\sum_{d\in\mathcal{D}}\sum_{c\in\mathcal{C}_{d}}S^{c}_{d}(t)\cdot p_{c}(t)\end{aligned}$$
(2)
$$\begin{aligned}\qquad\qquad\qquad\qquad+\omega_{3}\sum_{t\in\mathcal{T}}\sum_{d\in\mathcal{D}}\sum_{c\in\mathcal{X}_{d}}S^{c}_{d}(t)+D^{c}_{d}(t),\end{aligned}$$
(3)

subject to

$$\begin{aligned}\quad S^{c}_{d}(t)\geq 0,\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{C},\end{aligned}$$
(4)
$$\begin{aligned}\qquad\qquad\qquad\qquad D^{c}_{d}(t)\geq 0,\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{C},\end{aligned}$$
(5)
$$\begin{aligned}\qquad\qquad\qquad\qquad\sum_{c\in\mathcal{C}_{d}}S^{c}_{d}(t)=\sum_{c\in\mathcal{C}_{d}}D^{c}_{d}(t),\quad\forall t\in\mathcal{T},\forall d\in\mathcal{D},\end{aligned}$$
(6)
$$\begin{aligned}\qquad\qquad\qquad\qquad S^{c}_{d}(t)=\overline{S}_{c}(t),D^{c}_{d}(t)=0,\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{A},\end{aligned}$$
(7)
$$\begin{aligned}\qquad\qquad\qquad\qquad D^{c}_{d}(t)=\overline{D}_{c}(t),S^{c}_{d}(t)=0,\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{B},\end{aligned}$$
(8)

$$\begin{aligned}\\[-4\baselineskip]\qquad\qquad\qquad\qquad S^{c}_{d}(t)\in[0,\overline{S}_{c}(t)],D^{c}_{d}(t)=0,\quad\\\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{M},\end{aligned}$$
(9)

$$\begin{aligned}\qquad\qquad\qquad\qquad D^{c}_{d}(t)\in[0,\overline{D}_{c}(t)],S^{c}_{d}(t)=0,\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{N},\end{aligned}$$
(10)
$$\begin{aligned}\qquad\qquad\qquad\qquad\sum_{t=t_{x}}^{t_{y}}D^{c}_{d}(t)=E_{c},\quad t_{x},t_{y}\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{L},,\end{aligned}$$
(11)

$$\begin{aligned}\qquad\qquad\qquad\qquad D^{c}_{d}(t)\in[0,\overline{D}_{c}(t)],S^{c}_{d}(t)=0,\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{L},,\end{aligned}$$
(12)

$$\begin{aligned}\qquad\qquad\qquad\qquad E_{c}(t)=E_{c}(t-1)+\mu_{c}(t)\cdot D^{c}_{d}(t)-\dfrac{1}{\mu_{c}(t)}\cdot S^{c}_{d}(t),\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{H},\end{aligned}$$
(13)
$$\begin{aligned}\qquad\qquad\qquad\qquad E^{c}_{d}(t)\leq C_{c},\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{H},\end{aligned}$$
(14)
$$\begin{aligned}\qquad\qquad\qquad\qquad S^{c}_{d}(t)\in[0,\overline{S}_{c}(t)],\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{H},\end{aligned}$$
(15)
$$\begin{aligned}\qquad\qquad\qquad\qquad D^{c}_{d}(t)\in[0,\overline{D}_{c}(t)],\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{H},\end{aligned}$$
(16)
$$\begin{aligned}\qquad\qquad\qquad\qquad S^{c}_{i}(t)=\mu_{c}(t)\cdot D^{c}_{d}(t),\quad\forall t\in\mathcal{T},d,i\in\mathcal{D},\forall c\in\mathcal{K},\end{aligned}$$
(17)

$$\begin{aligned}\qquad\qquad\qquad\qquad S^{c}_{i}(t)\in[0,\overline{S}_{c}(t)],D^{c}_{i}(t)=0,\quad\forall t\in\mathcal{T},i\in\mathcal{D},\forall c\in\mathcal{K},\end{aligned}$$
(18)

$$\begin{aligned}\qquad\qquad\qquad\qquad D^{c}_{d}(t)\in[0,\overline{D}_{c}(t)],S^{c}_{d}(t)=0,\quad\forall t\in\mathcal{T},d\in\mathcal{D},\forall c\in\mathcal{K},\end{aligned}$$
(19)

where \(\mathcal{T}\) is the set of all time steps, \(\mathcal{D}\) is the set of all domains. \(E_{c}(t-1)\) defines the energy in the storage component at the previous time step. Table 1 provides an overview of each component type and their respective notation used in Expressions (1)–(19).

Multiple components can be connected to a single domain. At every time step \(t\) energy consumption and generation in each domain has to be balanced which is reflected in the constraint given in Eq. (6).

The Constraints  (7)–(19) are introduced by different components. Fixed generation and consumption components cannot be controlled by management of the EI, but the predicted energy consumption \(\overline{D}^{d}_{\text{fixed}}(t)\) or generation \(\overline{S}^{d}_{\text{fixed}}(t)\) is known for each time step, as indicated in Eqs. (7) and (8). Flexible generation and consumption components introduce a limit of energy generation (Constraint (9)) and consumption (Constraint (10)) that they are allowed to contribute to the domain at time step \(t\). These parameters can be calculated as rated maximum power of devices multiplied by a duration of the time step \(t\). A time-shiftable consumption component adds constraint that in a set of consecutive time steps \(\{t_{x},\ldots,t_{y}\}\subseteq\mathcal{T}\), where \(t_{x}\) and \(t_{y}\) realize the starting and ending time step of the respective interval. The component consumes \(E_{c}\) energy in total, which is expressed in Eq. (11). The maximum energy that can be consumed in every time step by time-shiftable load component is determined by parameter \(\overline{D}_{c}(t)\), as shown in Constaint (12).

During the charging process of storage components energy is consumed from domain \(d\) and stored in the component. In the discharging process the energy is generated in domain \(d\) and consumed from storage. The efficiency of the energy conversion is given by parameter \(\mu_{c}(t)\). The energy stored in storage at time step \(t\) is given by Eq. (13). The component has a limited capacity of energy storage, as shown in Inequality (14). The initial energy stored in the component before the first time step is given by \(E_{c}(0)\). The maximum energy that can be generated and consumed in domain \(d\) is given by the corresponding parameters \(\overline{S}_{c}(t)\) and \(\overline{D}_{c}(t)\) as shown in Constraints (15) and (16).

An interconnector component is connected to two domains \(d\) and \(i\) and allows the energy transfer from one domain to another. The energy is consumed from domain \(d\) and generated in another domain \(i\) with energy efficiency of \(\mu_{c}(t)\) as shown in Eq. (17). Similar to other components the maximum energy which can be supplied to the domain \(i\) and maximum energy that can be consumed from the domain \(d\) are determined by component parameters, as given in Constraints (18) and (19).

The three objectives that EI operators want to achieve are represented in the objective function (Expressions (1)–(3)) formulated in the multi-vector optimization. The objective function is constructed as a weighted sum of three terms corresponding to different objectives. \(\omega_{1}\), \(\omega_{2}\) and \(\omega_{3}\) are the weights that can be adjusted by EI operators to set the priority of the objectives. The first term given in Expression (1) relates to the use of energy sources with the lowest green house gas emissions. For each component that generate energy the \(\text{CO}_{2}\) emission index \(r_{c}(t)\) is assigned for each time step \(t\). The \(\text{CO}_{2}\) emission index values used in the optimization are normalized between 0 and 1.

The second term depicted in Expression (2) is related to the financial cost of energy. For any component the cost of energy \(p_{c}(t)\) can be defined for each time step \(t\). This cost represents the financial cost of supplying a unit of energy by a generation component. Note that negative cost \(p_{c}(t)\) can be assigned to consumer component to reflect the revenue of selling energy to this component. It can be used to model the case of energy injection to the electricity grid. The costs per energy unit used in the optimization process are normalized between 0 and 1.

The last term given in Expression (3) is related to the EIs’ goal of external resource dependency minimization. Flexible energy components can be categorized into two groups: internal and external. The third term in the objective function focuses on the minimization of the sum of external flexible energy generation and consumption, thus increasing self-sufficiency of EI.

5 Evaluation

In this section an evaluation of the discussed multi-vector optimization problem in Sect. 4 is provided. Before the experimental model can be set up and evaluated, Key Performance Indicator (KPI) need to be established and discussed, such that the results of each scenario can be measured and compared. In this evaluation, five KPIs are defined and outlined in Table 2.

Table 2 An overview of KPIs used in the evaluation process

The External Energy Imported (EEI) indicator provides an overview on how much energy is consumed, while the External Energy Purchased (EEP) shows the resulting costs. The EEI is the sum of energy imported from external sources over the entire simulation time frame \(T\) and is therefore an indicator for the self-sufficiency of the system, which is the reason why it is considered as KPI in this paper. Furthermore the EEP shows the cost of the systems’ consumed energy, which is part of the optimization problems price objective as defined in Eq. (2) and is therefore considered a KPIs.

$$\textit{EEI}_{d}=\sum_{t\in T}S^{c}_{d}(t),$$
(20)
$$\textit{EEP}_{d}=\sum_{t\in T}S^{c}_{d}(t)\cdot p_{c}(t),\quad c\in\mathcal{X}_{d}.$$
(21)

In Eq. (21) the time dependable cost is denoted as \(p_{c}(t)\) and describes the energy price in a specific time step \(t\) of time frame \(T\). Further, in Eq. (20) and (21) \(S^{c}_{d}(t)\) defines the amount of energy consumed from the specified external energy source during time step \(t\). The External Energy Exported (\(EEE\)) shows the amount of energy provided to external sources. Together with the EEI, the \(EEE\) visualizes the strategy of consuming energy during low energy prices and injecting energy to external sources during price peaks. To further emphasize the impact on such strategies, the External Energy Sold (\(EES\)) show the financial gain of selling energy to external sources. The \(EEE\) and the \(EES\) are defined as follows:

$$EEE_{d}=\sum_{t\in T}D^{c}_{d}(t),$$
(22)
$$EES_{d}=\sum_{t\in T}D^{c}_{d}(t)\cdot p_{c}(t),\quad c\in\mathcal{X}_{d},$$
(23)

where the sold amount of demanded energy per time step in Eq. (22) and (23) is denoted as \(D^{c}_{d}(t)\) and the price paid for the individual time step \(t\) is defined as \(p_{c}(t)\). To gain insight on the environmental impact of the multi-vector optimizer or in other words the impact on greenhouse emissions, the \(\text{CO}_{2}\) Emission (\(CO_{2}E\)) is depicted as:

$$CO_{2}E_{d}=\sum_{t\in T}\sum_{c\in(\mathcal{M}\cup\mathcal{A})}S^{c}_{d}(t)\cdot r_{c}(t).$$
(24)

In Eq. (24) \(c\) denotes the component of the set of flexible and fixed generation sources (\(\mathcal{M}\cup\mathcal{A}\)), where the amount of consumed energy \(S^{c}_{d}(t)\) is multiplied by the energy sources’ \(\text{CO}_{2}\) index \(r_{c}(t)\) in time step \(t\).

These KPIs where chosen in order to provide an overview of the energy flow, the economical influence as well as the environmental impact of the multi-vector optimizer. The following section provides a short overview of the underlying system’s model as well as a comparison between the non-optimized case and the optimized case.

5.1 Energy Island model structure

In order to evaluate the approach proposed in Sect. 4, data from a real-world residential complex of multiple buildings in Ghent (Belgium) is used [4]. The data contains information of different devices installed in distributed facilities, such as PV generation data, charging and discharging battery data, but also meta-data such as capacity and energy conversion efficiency, EV charging stations, with consumption, arrival and departure time data of individual charging sessions, heat pump consumption data as well as heat and electricity consumption meters. The unique feature of this EI is its connection to the industrial chemical plant which can supply energy to the heating system. The plant can be considered as a waste heat source, i.e., that the EI consumes energy that would otherwise not be used. The energy from the waste heat source is not always available, thus often a gas boiler has to be activated additionally to meet heat demand.

Fig. 2 shows the structure of the model and selected parameters of individual components. The residential complex in Ghent is connected to the power grid via an external flexible generation and an external flexible consumption, which are limited by 250 kWh and 100 kWh respectively. Note that both, cost involved in the energy consumption and gains in the energy injection, are based on the Belpex spot market [6] and therefore are variable over time with a granularity of 1 hour time intervals. The PV system installed are fixed and cannot be influenced by the multi-vector optimizer and is therefore modelled as a fixed generation. Similarly, the electricity load, which cannot be controlled, is modelled as a fixed consumption. The \(\text{CO}_{2}\) intensity of the power grid is assumed to be 130 \(\text{CO}_{2}\) geq/kWh according to Electricity Maps [5], PV introduces a \(\text{CO}_{2}\) intensity of 36 \(\text{CO}_{2}\) geq/kWh and the gas boiler is modelled with a \(\text{CO}_{2}\) intensity of 515 \(\text{CO}_{2}\) geq/kWh.

Fig. 2
figure 2

Components and domains in multi-vector optimization based on the data from Ghent EI [4]

In accordance with the provided data, the battery is modelled as a storage component with a capacity of 193.6 kWh a symmetric conversion efficiency \(\mu_{c}\) of 0.93 and a charging and discharging limit of 50 kWh. According to the provided data the initial state of charge is 157 kWh. For simplification reasons, storage losses are assumed to be static, i.e., it is assumed, in every time step the battery looses 0.05 kWh per time step of energy [13].

The EV charging station is an interconnector and connects the electricity domain with the mobility domain. The residential complex inherits 10 wall-boxes, each limited by a maximum input of 1.5 kWh, corresponding to a charging power of 6 kW. Therefore, the entire EV charging station is limited to 15 kWh. Furthermore, the EV charging station is assumed to have a constant conversion efficiency \(\mu_{c}(t)=0.8,\forall t\in\mathcal{T}\). The charging sessions depicted in Fig. 2 are dynamic and modelled according to the data provided, i.e., the individual sessions starting and departure time as well as the needed energy necessary for the charging session are extracted from the data. Furthermore it is assumed that the EV charging station only allows reserved charging sessions, i.e., it is ensured to acquire the starting and ending time of each charging session as well as the amount of energy consumed during this session beforehand.

According to the data, the heat pump used in Ghent has a coefficient of performance between 3.0 and 3.5, where the lower limit is chosen to have a more conservative view on the system. Furthermore, the heat pump is assumed to be limited by 12.5 kWh on the electrical side, since this is the maximum value found in the data set. It is assumed, that the heat pump is always available over the course of the simulation. In the heating domain the connection to the industrial chemical plant is modelled as a fixed generation, since the multi-vector optimizer cannot influence the output of the component itself, but can only control other components to react to the energy supply accordingly. Similarly, the heating demand of the residential sector is modelled as a fixed consumption. The gas boiler installed in the residential complex allows to additionally generate energy in the heating domain and is modelled as an external source. However, the boiler’s generation is limited by 377 kWh, which is the maximum energy generated that can be found in the provided data. The unit cost of one kWh of energy is defined by the gas price provided by VREG [17].

For the evaluation of the model a time frame \(T\) from the 22th of April 2021 to the 29th of April 2021 is chosen, since during this time frame the original data shows a sufficient amount of electricity export as well as an considerable amount of gas and electricity import. The optimization time horizon \(\mathcal{T}\) consist of 96 time steps, which is equivalent to 1 day (each time step represents a 15 minute interval).

In the next subsection a description of two scenarios for evaluation is provided. At the moment of data collection, multi-vector optimization was not implemented in the evaluated EI. Thus as a baseline, the first scenario represents the energy usage without optimization. The second scenario applies the proposed multi-vector optimization algorithm with the assumption that forecasting data is 100% accurate.

5.2 Scenario without optimization

For the non-optimized case, the provided data is evaluated based on the KPIs defined in Sect. 5. Fig. 3 shows KPIs calculated for the individual domains over the time frame of 22th of April 2021 to the 29th of April 2021. Note, the energy consumption and cost for energy imports are vastly higher for the heating domain than for the electricity domain. This is represented by the Electricity domain’s (flexible generation representing the power grid) EEI value being lower than the EEI value of the Heating domain (gas boiler). This results in higher \(\text{CO}_{2}\) emissions or a higher \(CO_{2}E\) value in the heating domain compared to the electricity domain. The high gas consumption in the heating domain is due to the under-utilization of the heat pump and the resulting over usage of the gas boiler, as well as not fully utilizing the waste heat source. Additionally, the \(\text{CO}_{2}\) intensity of gas assumed in Sect. 5 is higher than the \(\text{CO}_{2}\) intensity of the PV system or the power grid in April. Furthermore, the \(EEE\) value of this scenario shows that the exported energy is low compared to the imported energy, which results in a low \(EES\) value. This indicates that the battery is under-utilized and strategies such as buying at low electricity prices and injecting at price peaks are not considered.

Fig. 3
figure 3

KPIs values for the non-optimized scenario

5.3 Scenario with optimization

For the optimized scenario it is assumed that the forecasts provided are 100% accurate. Fig. 4 shows KPIs separated by the individual external sources with different weight configurations in the optimization process. Three different configurations are chosen to show the impact of each individual objective. Case 1 defines the initial case of the setup, where only the price is considered as an objective (\(\omega_{1}=0\), \(\omega_{2}=1\), \(\omega_{3}=0\)). Compared to the non-optimization scenario the EEI of the heating domain is reduced heavily, due to the waste heat provided by the industrial chemical plant and the increased utilization of the heat pump, which additionally leads to an increase of the EEI value of the electricity domain.

Fig. 4
figure 4

Results of the optimization for each case. Case 1 (\(\omega_{1}=0,\omega_{2}=1,\omega_{3}=0\)) prioritizes the minimization of financial costs, case 2 (\(\omega_{1}=0.5,\omega_{2}=1,\omega_{3}=0\)) considers the minimization of the financial costs and reduction of \(\text{CO}_{2}\) emissions and case 3 (\(\omega_{1}=0.5,\omega_{2}=1,\omega_{3}=0.1\)) includes all three optimization objectives

In case 2, the objective related to \(\text{CO}_{2}\) emissions is weighed with \(\omega_{1}=0.5\), to emphasize on the reduction of \(\text{CO}_{2}\) emissions, however still prioritizing the price objective. This results in a decrease of energy consumption, injection and therefore the financial gain as well as \(\text{CO}_{2}\) emissions compared to case 1. Energy consumption from the grid results in an increase of \(\text{CO}_{2}\) emissions, but the injection of energy into the grid does not decrease the \(\text{CO}_{2}\) emissions of the site. This makes the prospect of buying energy from the external power grid less desirable, despite the financial gain.

By increasing \(\omega_{3}\) in case 3 from 0 to 0.1 the avoidance of external consumption gains importance, however the financial as well as the \(\text{CO}_{2}\) reduction incentive are still prominent. This results in further reduction of energy consumption/injection and therefore decreases \(\text{CO}_{2}\) emissions. Both weights penalize the strategy of buying during low prices and selling at high peaks, since a) higher energy consumption is penalized by \(\omega_{3}\) and b) higher consumption results in higher \(\text{CO}_{2}\) emissions, which is penalized by \(\omega_{1}\).

Note that in case 1‑3 the heating consumption does not change. The reason for this is that electricity prices during the time frame of the scenario are always cheaper than gas prices. This leads to the gas generation already being minimized in case 1 and no further decrease can be observed in cases 2 and 3. Further note, that despite the gas boiler being more expensive and introducing more \(\text{CO}_{2}\) emissions the gas boiler’s heat generation cannot be reduced any further, since during certain time steps the heat demand cannot be matched by the heat pump and the waste heat source alone.

6 Conclusion

In this paper, a two-level optimization scheme for a multi-vector optimization is proposed for a group of distributed energy generation units and consumers. The multi-vector optimizer is an essential part of this scheme, allowing the control of multiple distributed devices or sub-systems. The multi-vector optimizer computes the optimal energy profile for devices in all domains, while the domain-specific optimizer schedule operation of devices considering domain-specific constraints. Generators and consumers are represented in the optimizer as abstract components. Several types of components are proposed which have different parameters and introduce different constraints to the optimization problem. This allows the modeling of real energy units, forecasts and different types of consumers. One benefit of this model lies in its abstraction level – it is not limited to a specific energy domain and can be used to model different types of energy sectors in facilities.

In order to show the effectiveness, the method is evaluated based on the data from a real-world EI in Ghent, Belgium. The scenario without optimization acts as a baseline, while the optimized approach shows that the optimal solution of the problem can be derived if no forecasting errors are encountered. Results show, the proposed multi-vector optimization scheme increases financial gain and reduces \(\text{CO}_{2}\) emissions, by reducing gas consumption and increasing the utilization of the onsite heat pump and the provided waste heat energy.

In different cases, it was demonstrated that by increasing the weights of \(\text{CO}_{2}\) reduction and self-sufficiency, the strategy of buying during low-cost hours and re-selling at price peaks gets increasingly unattractive. The multi-vector optimizer penalizes buying-and-re-selling strategies, since buying energy from the power grid introduces a higher consumption of \(\text{CO}_{2}\), but injecting energy to the grid does not reduce the \(\text{CO}_{2}\) emissions of the system. Furthermore, the self-sufficiency objective minimizes the amount of energy bought from and sold to the grid, which additionally penalizes the buying and re-selling strategy.

Note, for the optimization process a forecast accuracy of 100% is assumed. However, this is not realistic and the issue of forecasting errors needs to be tackled in future work. Additionally, this paper only focuses on the multi-vector optimization and the two-level optimization scheme. The integration of domain-specific optimization schemes as well as the evaluation of cooperation between the multi-vector optimizer and multiple domain-specific optimizer needs to be established in future research.