Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Nowadays, the dependency level of human on electricity is an increasing phenomenon [1, 2] then the idea of the smart grid has evolved. According to the European Commission Task Force on Smart Grid, the smart grid is defined as “an electricity network that can intelligently integrate the action of all users connected to it generators, consumers and those that do both in order to ensure economically efficient and sustainable power system with low losses, high level of quality, security of supply and safety” [3]. In fact, the smart grid introduces “prosumer” concept. The prosumer is a consumer (residential, commercial, etc.) that is an energy supplier as well as a consumer. Moreover, this grid grants the two-way flow of information and electricity between consumers and electric power companies [4]. In this context, all system components (home, industry, etc.) exchange information and electricity within the smart grid as shown in Fig. 1.

Fig. 1
figure 1

The two-way flow of information and electricity in the smart grid

This two-way communication is responsible for transmitting power grid sensing and measuring status, as well as the control messages [4]. So it helps consumers to control their energy usage [5]. To provide near real-time information to utilities and end users, the smart grid introduces several technologies such as ICTs to guarantee reliability, demand management, storage, distribution and transport of electrical energy [3, 6].

Fossil fuels represent the major energy sources in most countries. Absolutely, the fossil fuel resources release toxic gas emissions (e.g. CO2) that increase the global warming and affect human health. Moreover, these non-renewable resources are exhaustible and no longer available if once used. In this context and to minimize the fossil fuel consequences, smart grid is expected to incorporate distributed renewable resources such as wind or solar energy to offer a green solution compared to traditional energy sources. Although renewable energy is inexhaustible, it is however intermittent and irregular which makes it difficult to balance supply and demand. Thus, energy management algorithms are of great importance to integrate renewable energy use, to meet energy needs, to minimize energy loss and to reduce consumers’ energy bill.

The Energy Management (EM) is the set of strategies and functions needed to increase energy efficiency. Furthermore, the EM coordinates several energy sources optimally. It is the process of observing, controlling and conserving electricity usage in a building, a neighborhood, etc. It should provide a solution that optimizes costs and minimizes the risk of production excess loss [79].

On the other hand, at certain hours of the day or periods of the year the produced energy can exceed the consumption needs. This energy excess justifies the use of a storage system that allows short-term balance [10].

To be able to make intelligent decisions about energy management, a multi-agent approach has been used by several researchers. Because of its distributed nature, a multi-agent system (MAS) represents an excellent tool for self-control in widely distributed systems whose characteristics are very dynamic [11, 12]. In this paper, we propose a negotiation algorithm to help consumer choose the appropriate producer that provides the energy he needs at the lowest price.

The remainder of this chapter is organized as follows. In Sect. 2, we describe some of the existing approaches that are related to our work. An explanation of the multi-agent concept and storage systems will be given in Sect. 3. We present in Sect. 4 our proposal and we explain our model and its characteristics, the agents’ algorithms and the chosen scenarios. We describe in Sect. 5 the simulation results. We conclude our chapter and give our future research directions in Sect. 6.

2 Background and Related Work

Several researchers have paid attention to the use of multi-agent systems and/or storage systems for energy management in smart grids or microgrids. Typically, the microgrid is composed of distributed generators, distributed storage systems and loads [13].

Some approaches have used storage systems in order to help in smart grid energy management [14, 15]. The storage system presented in [14] is composed of many storage agents. Alberola et al. used the predicted data (predicted grid price and predicted users demand) that help to store the needed energy in the storage systems. Moreover, each storage agent chooses the best period to buy energy from the electrical grid. In fact, this period is the one when the forecasted grid price is the lowest during the day. Furthermore, all system users purchase their needs from one or more storage system so they do not request energy from the grid. In this approach, the authors aim to decrease the energy bill. In the other hand, this approach does not take into consideration the use of renewable resources and the case when the consumer can buy the energy immediately from the electrical grid.

Furthermore, an algorithm for energy management in smart grid using a multi-agent system was proposed by Nagata et al. [16]. This algorithm aims to reduce the energy costs. In this algorithm, the grid operator announces two types of parameters: the selling price (SP0) and the buying price (BP0). A centralized entity named the Smart Grid Controller unit (SGC) objective is to negotiate and minimize the buying prices for consumers. Furthermore, the smart grid has several production units and consumption units. These units adapt their set points (SPi and BPi) after negotiation with other units based on the grid price, their operational costs, and the load demand.

In this research work, the system is composed of six types of agents: (1) the Grid Agent (GridAG) that has two principal roles: buying kWh from the smart grid or selling kWh to it, (2) the Generator Agent (GAG) that is responsible for maximizing the total benefit, (3) the Seller Agent (SAG) that is created by the generator agent to trade kWh to the market, (4) the Load Agent (LAG) that aims to create many buyer agents, (5) the Buyer Agent (BAG) that is responsible for purchasing kWh from the grid and finally, (6) the Smart Grid Control Agent (SGC) that aims to optimize its operation by introducing a negotiation algorithm. It is worth noting that, in this research, every SAG and BAG has a limited amount of energy. The centralization and the lack of storage systems are the disadvantages of this research work.

Colson et al. [17] proposed an energy management algorithm for microgrid using a MAS. The authors integrate three basic agent types: the producer agent, the consumer agent and the observer agent. The producer agent aims to monitor power, determine the cost of the power outfitted by the agent and maintain information to other agents. The consumer agent is responsible for monitoring the amount of consumed power, determining the amount of the instantaneous active and reactive power and negotiating the purchase of energy. Finally, the observer agent aims to monitor special parameters within the network and transfer information to other agents according to the state of the node. In this research, consumer agents benefit from negotiation to minimize their bill. The lack of the energy storage system integration is the drawback of this algorithm.

In the research presented in [18], the authors proposed an agent-based algorithm to efficiently use the energy while minimizing cost and taking into consideration the use of renewable energy producers (e.g. solar and wind). In this research, there are three types of agents:

  1. 1.

    Generator Company agents (GC): they are the major sources of electricity and defined by the big generator companies.

  2. 2.

    Prosumer agents: they are small sources of renewable energy distributed near the consumers. They definitely produce and consume energy. The production of the prosumers is negligible compared to the production of the GC.

  3. 3.

    Consumer agents: in this proposal, a consumer agent is a purchaser of energy only.

In this proposal, prosumers prefer to sell the unused quantity of energy. In order to reduce their own bill, the consumer agents negotiate the purchase of energy. The consumers demands are divided into three priorities. The vital loads are satisfied firstly and the consumer negotiates the cost and to buy energy from the source that reduces its own costs. In this proposal, the renewable sources are used to meet the demands firstly. Moreover, when the renewable sources have not a sufficient supply to meet all consumers demands, then the traditional sources are used. In this algorithm, the authors do not use the energy storage systems that would improve outcomes and reduce the consumers bill.

Likewise, the research described in [19] proposed a novel agent-based energy management algorithm for smart grids using a MAS and an intelligent storage system. In this research, the authors argue that the use of storage systems reduces the access to the grid and the consumers’ bills. This novel algorithm aims to resolve the problem of generation intermittency and to optimize in real time the consumer bill. Klaimi et al. [19] proposed a multi-agent system composed of four types of agents: (1) the grid agent introduced in the grid, (2) the storage agent introduced in a centralized battery, (3) the prosumer agent introduced in renewable resources and (4) the consumer agent introduced in smart homes. The grid agent role is to satisfy the energy lack and buy the excess of energy produced. The storage agent controls the energy stored. The prosumer agent aims to manage the distribution of its own production. Finally, the consumer agent buys its needs from production units. It is worth noting that this work reduces the energy cost and the grid utilization in the high peak periods where the grid is charged and the energy price is high.

In [20], the authors establish a decentralized energy management algorithm that helps to integrate distributed energy sources in the smart grid context. The main objective of this work is to reduce demands costs. In this proposal, a unit management module (UMM) and a central agent are used. This proposal adopts an iterative approach. At each iteration, the central agent sends information to the UMMs with its chosen strategies. After that, UMMs optimize the proposed strategy and send back their new prices to the central agent in order to maximize their profits. After gathering the bids, the procurement strategy will be modified whenever bids are in line with the cost minimization objective. The mutual interaction ends when no further modification in the procurement strategy is experienced. However, this approach drawback is the centralization.

The research summarized in [21] proposed a model predictive control for energy management in the smart grid that aims to minimize the energy cost function. Based on some parameters (variable cost values, power consumption and generation profiles, etc.), this research plans the battery usage. Unfortunately, this algorithm does not integrate a storage system.

Wang et al. [22] developed a novel algorithm that aims to schedule the energy storage systems according to photovoltaics productions. The researchers believed in predictions to control storage capacity. At each period, this algorithm aims to adjust all its predictions if a perturbation occurs. Based on predicted values, the researchers proposed a storage agent algorithm aiming to plan the future charging and discharging schemes. However, this algorithm does not allow interactions between consumers in order to reduce bill.

Cecati et al. [23] developed an energy management algorithm aiming to minimize the consumers bill and to reduce the renewable resources intermittency effects in the smart grid. This research uses prediction values (generation and load predictions) in order to optimally maintain the network. At the beginning, the system plans the day-ahead predicted data. After that, the real-time optimization process is scheduled. In fact, the predicted values will be modified in real-time according to the process requirements. Furthermore, a neural network learning architecture is used in order to resolve the large amount of data integration into the energy management system. However, this approach does not take into account the intelligent interaction between consumers in order to reduce costs.

An energy management algorithm for the smart grids was proposed by Logenthiran et al. [24]. The main goal of this approach is to develop and simulate a multi-agent system that enables an electricity market for the operation of a microgrid in both islanded and grid-connected modes. In this approach, the microgrid plans to boost its own benefits by minimizing the exchange with the main grid. During the islanded mode, the microgrid role is to satisfy the local energy demand using its local production while reducing its load losses. In the grid-connected mode, the microgrid trades energy to its internal load and exchanges energy with the main grid at market price too. In order to reduce the effects of the insufficiency in microgrid production and high energy prices, the microgrid bought energy from the upstream network and sold to the consumers at the same price. However, this algorithm does not allow energy purchase negotiation to minimize the consumers’ bills.

The authors in [25] used the demand side management in order to reduce the peak loads in the smart grid system. The authors of this research proposed a MAS in order to minimize demands. Furthermore, they believed in smoothing peak demands to a time slot where the demands are low. However, this technique may reduce the users’ comfort.

In [26], the authors proposed a multi-agent based architecture for optimal energy management in smart homes. In this research, the authors present multiple strategies in order to provide savings in energy and costs. They highlight on four optimization strategies: the comfort optimization, the cost optimization, the green energy optimization and the demand side management optimization. In this context, an information exchange between Control and Monitoring Agents, Information Agents and Application Agents occurs. This information exchange consists on the transfer of predicted data and real-time data in order to plan the optimal strategies. However, this approach does not take into consideration the presence of a storage agent that can help in cost and comfort optimization.

To reduce energy cost, Rose et al. [27] proposed a novel scoring rule mechanism called Sum of Others’ plus Max (SOM). In this new scheme, the system is composed of a centralized agent that aggregates all predicted information. The centralized agent aggregates all information received. Based on aggregated data, the centralized agent purchases all needed energy to the system. In order to encourage agents to report their true demands to the centralized agent, this last rewards agents from a budget that is equal to the savings made by using the agents’ information. In this algorithm, the centralized agent distributes all rewards in a budget-balanced way. However, the centralization used in this algorithm may call into question the scalability of the approach and constitute bottlenecks.

In order to minimize the inconveniences reached in the literature, we present, in this chapter a novel energy management proposal for smart grids integrating intelligent storage systems. The next section summarizes all tools used in our proposal.

3 The Energy Management in the Smart Grid Context

To highlight the potential benefits of a MAS and an intelligent storage system in energy management, the basic concepts of agents, multi-agent and storage systems need to be known. Thus, we will review and summarize these paradigms hereafter.

3.1 The Multi-agent System and Its Integration to Develop an Intelligent Distributed System

Based on the definitions given in [2832], a MAS is defined as a collection of intelligent agents that cooperate and coordinate their operation to achieve a common objective. This system deals with modeling of autonomous decision making entities. In addition, a MAS allows intelligent control of microgrids and smart grids while each component is represented by an intelligent and autonomous agent. Theoretically, the fundamental element of a MAS is an intelligent agent which has three typical characteristics: the reactivity, the pro-activity and the sociability. An agent is reactive so it can react to the environment rapidly. Furthermore, this agent is objective-oriented so it is pro-active. Finally, the agent sociability makes it capable to negotiate and communicate with other agents in the system with their own language. Through negotiation, agents solve some questions [33]. Negotiation is the key issue for the multi-agent system to harmonize and solve the conflicts concerning the MAS, knowledge and resources, and it is an agent mutual mechanism based on the communication language.

There are many tools that help the MAS for better energy management. The storage system is a smart grid component that has a main role in energy management. This entity is defined in the next section.

3.2 The Intelligent Storage System and Its Benefits

Due to the high integration of the renewable resources into the electrical grid within the next decades, the penetration of energy storage devices will become more and more essential. The storage system has a meaningful role in ensuring the stability of the electrical system and in minimizing the renewable energy intermittency effects [34]. In an operational context, the energy storage can be used to store energy excess when supply exceeds demand and then dispatch it when it is needed which improves the energy efficiency. From finance point of view, energy storage is treated as an arbitrage instrument: charging storage when energy spot prices are low and discharging it when energy spot prices are high [10, 24]. In order to increase the battery performance and the battery life, an intelligent battery strategy is required. According to Ibrahim et al. [35], the developed intelligent battery strategies plan to follow the predicted values with the help of the battery and energy purchased (respectively sold) from (to respectively) the electricity market.

In the following is detailed ANEMAS, a proposal providing an intelligent energy management solution.

4 ANEMAS: The Proposed Approach

This section describes our proposal “ANEMAS” (Agent-based eNErgy MAnagement in Smart grids) which aims to resolve the generation intermittency problem and to optimize in real time the consumer bill by integrating a storage system and using multi-agent algorithms (including negotiation).

4.1 Problem Formulation

In this work, we highlight on a real scenario to represent the today’s energy scheme that integrates the green suppliers like wind and solar in a market mostly brown. In fact, the renewable resources are mostly influenced by external environment like weather (wind speed or sunshine). In this chapter, we develop a novel agent-based energy management algorithm in order to efficiently integrate renewable energy into the system. The goals of this research are summarized hereafter:

Goal 1: :

the main goal of this research is to resolve the renewable resources intermittency problem.

Goal 2: :

reduce all users’ bill.

Goal 3: :

minimize grid use in peak hours.

To release our previous objectives, we use a multi-agent architecture which will be detailed in the following sections. Moreover, we will show all the information traded between agents while providing a generic model composed of wind green energy suppliers, consumers, storage and grid.

4.2 The Proposed Multi-agent Model

The agents are introduced in the different components of the smart grid. They must control generation, load, and storage assets primarily from the standpoint of power flows. In our proposal, we define four agents:

  1. 1.

    Grid agent: satisfies the energy lack and buys the excess of energy produced.

  2. 2.

    Storage agent: controls the energy storage and are introduced in batteries.

  3. 3.

    Prosumer agent: controls the distribution of the energy he produces.

  4. 4.

    Consumption agent: negotiates the energy purchase with other consumers and prosumers.

The energy management system in our approach is divided into two layers: the proactive layer and the reactive layer. The proactive layer is responsible for the prediction of energy production and consumption. We choose the time slot in the proactive layer as Δt = 24 h. In this layer, the predicted values of consumption and production are those adopted by EDF (Electicité de France) and defined in [36]. The reactive layer is responsible for planning and negotiating consumption at shorter periods Δt ́= 1 h [18] and helps to buy energy with a minimal cost. Figure 2 summarize the management steps of our algorithm.

Fig. 2
figure 2

Management steps

A priority P will be assigned for each user demand according to the user’s preferences and the required quantity of energy. A demand’s priority can be High, Medium, or Low, and the energy grid prices, at each period, are fixed by the grid. The agent satisfies the highest priority demands at the beginning, then it will satisfy the medium priority demands and finally the lowest priority ones. The agent can delay the medium priority for a given time, that we call Medium priority Delay (MD), and the low priority for a Low priority Delay (LD), such as LD > MD. Moreover, the consumption periods are divided during the day as follows: the Off-Peak period (OP), the Low-Peak period (LP) and the High-Peak period (HP). In the Off-Peak period, the energy use and the cost are minimal while in the Low-Peak period, the energy consumption and the purchase of energy start to increase. Finally, in the High-Peak period, the energy use reaches its maximum and the purchase price of energy becomes very high [7].

Within the constraints listed above, an algorithm is proposed for each agent for the purpose of energy management.

4.3 Agents Algorithms

Each agent has its own algorithm that we will describe in the following.

4.3.1 Grid Agent

The grid agent provides the lack of energy to consumers when the production of renewable energy does not meet their demands. Furthermore, in case of a production excess, this agent can arrange to purchase energy in excess. Hence, the grid agent receives two types of messages: the buying and the selling messages. The buying messages are sent by consumers and storage systems to the grid to buy energy. The selling messages are sent by renewable production units to the grid to sell it their exceeded energy. The grid agent algorithm is described in the Algorithm 1 and its parameters are:

  • MaxGridEnergy: maximum capacity of the grid.

  • RequestedEnergy: energy requested by a consumer.

  • GridEnergy(t): instantaneous grid energy.

  • EnergyToSell: energy to sell to the grid by a producer.

Algorithm: 1 Grid agent algorithm

      if RequestForEnergy=True and GridEnergy(t) ≥ RequestedEnergy then

          //if there is a lack in the production

          SendEnergyToConsumer();

          GridEnergy(t)− = Requested Energy; 

      end if

      if RequestToSellEnergy=True and MaxGrid EnergyGrid Energy(t) ≥ Energy To Sell then

          //if there is an exceeded production and the grid can buy all this exceeded energy from the producer

          BuyEnergyFromSource();

          Grid Energy(t)+ = Energy To Sell; 

    end if

4.3.2 Storage Agent

The storage agent is responsible for providing energy to consumers during peak hours or in case of lack of energy. In case of production excess, these agents store energy. This stored energy may be used later in order to reduce energy cost. The storage agent has to respect multiple parameters, presented hereafter, concerning the amount of energy to store in order to meet the users needs:

  • SOC min : minimum state of charge (in kWh).

  • SOC max : maximum state of charge (in kWh).

  • PR: grid price (in cents/kWh).

  • PR min : minimum grid price (in cents/kWh).

  • Peak: sum of peak demands predicted for all consumers (in kWh).

  • SOC(t): instantaneous state of battery charge (in kWh).

  • D j : requested demand for period j (in kWh).

  • RE j : renewable energy produced on period j (in kWh).

  • EN st : energy to be stored (in kWh).

  • tpeak: time corresponding to the maximum consumption during a day.

The steps of the storage agent algorithm are presented in the Algorithm 2.

Algorithm 2: Storage agent algorithm

In Table 1, we show an example to explain how we calculate EN st . We suppose that PeakSOC(tpeak) − RE tpeak  = Peak j = 0 tpeak−1(RE j D j ) − RE tpeak and we consider that at period 0 the energy price is minimal so the storage agent will calculate the energy to store. For sake of clarity, we will present only 3 periods. As shown in the example, the High-peak period is the period 1. Normally, the battery should store the lack of energy that can occur, which is 3 in this example but in the peak period the consumers may have a lack of energy that the storage cannot satisfy. In this period (High-peak) the demand may be greater than the total lack, in this example it is 5 which is greater than 3 so the storage system should store 5 kWh (max(5,3)) at period 0.

Table 1 Example of EN st

4.3.3 Consumption Agent

In our proposal, we consider that consumption agents are deployed in smart homes. At each period, the consumption agent divides its demands into three priorities: (1) the priority 1 is the higher priority and its demands should not be delayed or dropped, (2) the priority 2 is the medium priority and its demands can be delayed for a short time, (3) and finally the priority 3 is the lowest one and its needs can be delayed for a time higher than the delay time for the priority 2. In fact, all activities with priority 2 and priority 3 can be delayed respectively with a Medium Delay (MD) and a Low Delay (LD). MD and LD will be chosen in order to maintain consumers’ comfort without causing any inconvenience for users. In other words, MD and LD have a maximum value that will be selected so that the activity will be satisfied, this maximum will be set by the system administrator.

Case 1: :

Decision for highest priority data. In order to maintain users’ comfort, data with Priority 1 are satisfied at the beginning.

Algorithm 3: Consumption agent algorithm

In fact, each consumer aims to satisfy its demands with the lowest cost. In order to minimize users’ costs, we used a negotiation algorithm between consumers. In this context, this negotiation algorithm role is to choose the best combination of consumers and renewable resources that minimize bills. The proposed negotiation strategy is explained below:

  1. 1.

    Consumption agent receives at each period the production and the consumption data from each prosumer and consumption agent.

  2. 2.

    Consumption agent j calculates the utility function f(j) defined in the Algorithm 4.

Algorithm 4: Utility function algorithm

Where:

  • f(j): utility function for agent j.

  • NbProsumers: prosumers total number.

  • NbConsumers: consumers total number.

  • P ji : priority that increases if the resource is closer to the consumer, we consider P ii  = 1 and P ij  = P ji .

  • E ji : maximum energy that can be bought from prosumer i to consumer j.

  • C ji : renewable energy cost. We consider C ii  = 0.

  1. 3.

    Consumption agent sends its proposition to all other consumption agents in its network.

  2. 4.

    When consumption agent receives all the proposals, it chooses the one with the highest utility function and purchases energy according to this proposal.

When the negotiation ends, and after buying energy from the renewable resources, the consumption agent follows the steps defined in the following in order to satisfy all its demands with the lowest cost:

  • When there is a lack in renewable production so the demands cannot be satisfied only by the renewable sources. In this case, the consumption agent plans to buy the energy with the minimal cost. To achieve this goal, it compares the storage cost and the grid cost in order to choose the minimum between them.

  • In this algorithm, if the grid price is lower than the storage price, the consumer agent sends a request to buy energy from the grid.

  • When storage costs are lower than grid costs and the available storage energy can meet the consumer demands, then the consumer agent sends a request to the storage system to satisfy its needs.

  • When the grid and the storage cannot satisfy the user demands so the activity will be dropped. In fact, this situation is very rare and should be avoided.

Case 2: :

Decision for medium or low priority data. Data with Priority 2 or 3 are satisfied after the data with priority 1. In this case, if the grid and the storage system cannot satisfy the demands, the activity will be delayed for MD for priority 2 demands and for LD for priority 3 demands. This activity will be dropped if the maximum delay is reached. This maximum is equal to 1 h for priority 2 and to 3 h for priority 3.

4.3.4 Producer Agent

Producer agents are introduced in renewable production units (photovoltaics, wind turbines, etc.). For each period i, the producer agent aims to satisfy consumers’ demands. Hence, if the producer is a prosumer agent, it satisfies its own demands at first and then it helps the other consumers. However, if it is not a prosumer, the producer agent will try to satisfy consumers’ requests. After that, if the energy it produced exceeds its needs, it will satisfy other consumers demands and sell the energy to the grid or to the storage system. The steps of the producer agent algorithm are presented in the Algorithm 5.

Algorithm 5: Producer agent algorithm

4.4 Description of the Considered Scenarios

In this proposal, we choose to implement in our system an agent for the grid, an agent for each consumer, an agent for the storage system and an agent for each prosumer or producer. For our simulations, we consider eight scenarios. Table 2 presents the chosen scenarios.

Table 2 Considered scenarios

The scenario 1 is simple with 1 grid agent, 2 consumer agents, 3 producer agents and 1 storage agent that can allocate the stored energy to the representing entities. Some complexity is introduced in scenario 2 to test the performance of our proposal when we increase agents number. This scenario has 1 grid agent, 3 consumer agents, 7 prosumer agents and 1 storage agent that has a large charge state to serve all the system. In the scenario 3 and 4, we choose to vary the number of producers from 0 to ten in both cases respectively (five consumers and ten consumers) to evaluate the performance of our approach. Finally, to gauge the efficiency of our approach, we increase the number of consumers from 15 to 30 in scenarios 5, 6,7 and 8 and we consider that every consumer is a prosumer; i.e., each consumer has at least one renewable energy source.

Simulation results are presented in the following section.

5 ANEMAS Performance Evaluation

In order to evaluate the performance of our scheme, we simulate the agent behaviors with JADE (Java Agent Development Framework) [37]; “a software framework which is fully implemented in Java language. JADE simplifies the implementation of multi-agent systems through a middle-ware that claims to comply with the FIPA specifications and through a set of tools that supports the debugging and deployment phase” [37].

5.1 Simulation Parameters

The consumption periods during the day are splitted into: the Off-Peak period (OP), the Low-Peak period (LP) and the High-Peak period (HP). Moreover, the day is divided into 24 periods and grid prices vary between 10 and 22 cents/kWh and wind turbine energy (our renewable energy) prices vary between 14 and 7 cents/kWh [36]. The peak hours are represented in Table 3.

Table 3 Day peak and prices

5.2 Results

After showing the different scenarios that can take place in a negotiation for energy purchase, the efficiency of ANEMAS will be shown by comparing it to a typical billing scheme. This scheme used in most electric power systems where some or all consumers pay a fixed price per unit of electricity independently of the cost of production at the time of consumption. This scheme is called Conventional-case in the following. In addition, we compare our algorithm to a system that uses the renewable resources but do not use storage systems, the scheme used in this case is called RE-case.

Firstly, we illustrate the simulation results for 1 day of operation. The first simulation test is carried out by using scenario 1 and the results are given in Figs. 3 and 4. Figure 3 shows consumers buying prices with the three defined schemes. During the day, the reduction in consumer bills is caused by the use of renewable energy or by the use of renewable energy and storage systems. During Off-Peak hours the reduction of cost is very high, it is more than 90 % by using ANEMAS and more than 60 % by using only renewable resources in comparison to conventional-case. This reduction decreases and reaches 75 % by using ANEMAS in the period of High-Peak (period 21), whereas during this period the decrease in RE-case is 16 %. In both cases (ANEMAS and RE-case), there is no more cost reduction at periods 22 and 23. The decrease in bills is due to the use of renewable resources for RE-case. Increased demand and decreased production cause the decrease in the percentage of price reduction in Low-peak and High-peak hours. Therefore by switching from Off-Peak to the High-Peak, consumer bills increase to reach the grid costs. In addition, we notice that, by using ANEMAS, the costs are less than costs in RE-case. This reduction is due to the use of storage systems with renewable resources, buying stored energy when costs are low, reducing access to the grid and serving the users with a minimal cost even during HP periods (period 21 for example).

Fig. 3
figure 3

Consumer bills for scenario 1

Fig. 4
figure 4

Resources use for ANEMAS (scenario 1)

Figure 4 shows the use of all resources during the day by ANEMAS. Our algorithm does not use the grid during Off-Peak and Low-Peak periods (grid use is equal to zero). It uses the renewable resources and if these resources do not meet all the demands, it uses the storage. The storage use increases and will be higher than the renewable resources use at period 15. This is caused by the consumption increase and the production decrease at these periods. Furthermore, the use of the grid increases in High-Peak hours and after period 21 the storage use is equal to 0 and the grid use increases. This change is due to the storage charge which reached its minimal value during High-Peak hours.

The results for scenario 2 are shown in Figs. 5 and 6. When we analyze the results shown in these two figures, we can conclude that these results have not much differences from the results of scenario 1. Figure 5 gives the consumers bill for scenario 2, and shows that minimization of costs is the same as that in scenario 1 in both cases (ANEMAS and RE-case). In High-Peak (period 21), the cost minimization reaches 75 % for ANEMAS and 16 % for RE-case.

Fig. 5
figure 5

Consumer bills for scenario 2

Fig. 6
figure 6

Resources use for ANEMAS (Scenario 2)

Furthermore, resources use shown in Fig. 6 demonstrates that the use of the grid increases in high-peak (period 21) when we use our algorithm.

To test the effectiveness and the usefulness of the intelligent storage system proposed in our algorithm, we increase the number of producers from zero to ten in a system consisting of five consumers (10 consumers respectively). Figures 7 and 8 show respectively the energy costs in both studied cases. The cost minimization varies between 0 and 70 % (Fig. 7) and between 0 and 55 % (Fig. 8) in RE-case. Furthermore, by using ANEMAS, the cost minimization varies between 73 and 85 % (Fig. 7) and between 71 and 85 % (Fig. 8). In fact, both figures show that by increasing the number of producers we can minimize the consumers’ price.

Fig. 7
figure 7

Day costs when the number of producers increases from 0 to 10 (5 consumers)

Fig. 8
figure 8

Day costs when the number of producers increases from 0 to 10 (10 consumers)

To test the efficiency of our approach, we increase the number of consumers from five to thirty. We consider that every consumer is a prosumer. Figure 9 shows energy costs in the studied case. The results show that when increasing both of the consumers and producers number together, the energy purchase cost decreases to about 56 % in RE-case and to 86 % by using ANEMAS. These results show that our approach is an effective approach even by expanding our system.

Fig. 9
figure 9

Day costs when the number of prosumers increases from 5 to 30

These results show that when the number of consumers increases, the cost reduction and the grid use remain the same.

6 Conclusion

Smart grid is an important field for the researchers in the near future. The smart grid main purpose is to integrate general and exceptionally flexible strategies for the use of distributed energy resources and/or storage systems. In fact, this grid uses renewable resources in order to minimize toxic gas emissions caused by fossil fuel use. However, introducing renewable energy sources into smart grids have some problems due to the weather and time dependencies. Therefore, there is an evident need to explore the feasibility of using the distributed energy storage systems in the same system with distributed energy resources and their influence on the penetration of renewable energy. Furthermore, it is certainly essential to evolve control strategies for energy management in the smart grid integrating the storage and renewable production side. We considered that the use of energy storage systems and multi-agent approach are good solutions to ensure the energy management, to reduce the consumers’ bills and to minimize the access to the grid. In this chapter, we developed a novel energy management proposal using multi-agent systems and intelligent storage systems. Our proposal introduces four agent types into the system: the grid agent, the storage agent, the prosumer agent and the consumption agent. In this research work, we aim to point to more responsible energy consumption while establishing lower contract prices. Furthermore, to evaluate the performance of our scheme, we simulate our proposed approach using JADE simulator. In this context, the simulation results showed that the use of a storage system reduces the energy cost and the grid utilization which will reduce the CO 2 emissions. Finally, we plan in our future works to consider more storage systems which may be in competition and we will study other negotiation algorithms.