Khouloud Salameh
email: khouloud.salameh@univ-pau.fr

Richard Chbeir
email: richard.chbeir@univ-pau.fr

Haritza Camblong
email: aritza.camblong@ehu.eus

Multi-objective Cooperative Scheduling: An Application on Smart Grids

Keywords: Multi-objective optimization, Smart Grid, Scheduling

As the size of the Smart Grids (SG) grows, the economic significance of power generation, consumption and storage scheduling becomes more and more apparent. A proper scheduling for electricity generation, consumption and storage will also ensure the reliability of the SG and extend the operational lives of its constituent units. Besides, it can achieve economical and ecological benefits for the SG. In this work, we propose a multi-objective cooperative scheduling consisting of two main modules: 1) the Preference-based Compromise Builder and 2) the Multi-objective Scheduler. The Preference-based Compromise Builder aims at generating the best balance or what we call 'the compromise' between the preferences or associations of the sellers and the buyers that must exchange power simultaneously. Once done, the Multi-objective Scheduler aims at proposing a power schedule for the associations, in order to achieve three-dimensional benefits: economical by reducing the electricity costs, ecological by minimizing the toxic gas emissions, and operational by reducing the peak load of the SG and its components, and by increasing their comfort. Conducted experiments showed that the proposed algorithms provide convincing results.

Introduction

The Information and Communication technologies (ICT) represent unprecedented opportunities to move the power systems into a new era of reliability and efficiency that will contribute to operational, economical and ecological improvements. During this transition period, it is important to implement adequate techniques allowing to ensure that the benefits envisioned from the SG become a reality. Commonly considered as a key mechanism towards a more efficient and cost effective SG, the Demand-Side Management or DSM [START_REF] Clark | Demand-side management. Energy Efficiency and Renewable Energy Handbook[END_REF][START_REF] Strbac | Demand side management: Benefits and challenges[END_REF] refers to the planning and implementation of the utility companies' programs1 designed to directly or indirectly influence the consumer consumption in the aim of reducing the system peak load and electricity costs. DSM techniques can be mainly gathered in two main categories: the load shifting [START_REF] Monteiro | Scheduling techniques to enable power management[END_REF] and the energy efficiency and conservation [START_REF] Allcott | Social norms and energy conservation[END_REF] programs.

In our study, we focus on the load shifting, and more specifically on the power scheduling, since it has been observed that it is easier to motivate users to reschedule their needs rather than asking them to reduce their consumption [START_REF] Monteiro | Scheduling techniques to enable power management[END_REF]. Several approaches have been provided in the literature to address the power scheduling problem [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF][START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF][START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF][START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF][START_REF] Fakhrazari | Optimal energy scheduling for a smart entity[END_REF][START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF]. However, and to the best of our knowledge, none of the them fully addresses the following challenges:

-Operational Challenges: Several limitations can be mentioned regarding the operational aspect:

1. The consumer discomfort: while the consumers are enjoying their reduced electricity bills when shifting their consumption from on-peak to off-peak periods, they might risk discomfort related to the delay time of receiving their desired power. 2. The local peaks: while trying to reduce the whole SG peak load, it is essential to consider the individual SG components' peak loads as well. This would conduct to increase the reliability of the components and decrease the local failure risks. 3. The consumption wise: the current shifting programs [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF][START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF][START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF][START_REF] Fakhrazari | Optimal energy scheduling for a smart entity[END_REF] provide consumption scheduling without considering the production nor the storage scheduling (with the exception of few approaches [START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF][START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF]) which negatively impact their efficiency in shaping the peak load, reducing the electricity bills and minimizing the gas emissions effects. -Economical Challenges: Knowing that the electricity price relies on the demand and supply over a specific period [START_REF] Schwartz | Electricity prices and power derivatives: Evidence from the nordic power exchange[END_REF], an adequate scheduling is expected to shift loads during periods of high market prices (peak hours) and consequently minimize the electricity costs. -Ecological Challenges: A significant power production from pollutant energy sources leads to a significant toxic gas emissions. Hence, it is essential to provide a power production scheduling allowing to reduce the bad emissions and effects on the environment by reducing the simultaneous toxic power production.

To address the aforementioned challenges, we introduce here M OCSF , a 'Multi-Objective Cooperative Scheduling Framework' designed for the power scheduling in the SG. M OCSF aims at scheduling a set of couples, each consisting of a seller and buyer, working together in a mutual spirit so to ensure a better reduction of the economical, operational and ecological costs and impacts within the SG. In addition, our approach presents several advantages over existing approaches, namely:

1. It provides a scheduling coverage able to consider all of the power consumption, production and storage entities of the SG, 2. It considers multiple energy sources (unlike existing approaches [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF][START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF][START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF][START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF][START_REF] Fakhrazari | Optimal energy scheduling for a smart entity[END_REF][START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF] that studied the interaction of the consumers with only one energy source), 3. It takes into account the SG components' preferences unlike current approaches [START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF][START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF][START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF] that consider them partially.

The rest of this paper is organized as follows. Section 2 provides details about existing power scheduling techniques and their drawbacks regarding aforementioned challenges. Section 3 details the 'MOCSF' modules. An illustrative example is provided after each step to ease the understanding of each module. In Section 4, the experiments conducted to validate our approach and the main results obtained are presented. Section 5 concludes the paper.

Related work

Many approaches have been proposed in the literature to solve the power scheduling problem. Current approaches can be categorized into two main groups [START_REF] Hussain | A review on demand response: Pricing, optimization, and appliance scheduling[END_REF]: semi-automatic schedulers [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF][START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF][START_REF] Fakhrazari | Optimal energy scheduling for a smart entity[END_REF] and automatic schedulers [START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF][START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF][START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF] schedulers. In the semi-automatic schedulers, the consumers inject their desired preferences (e.g., desired temperature, appliances start time preferences, etc.) during the scheduling, contrary to the automatic schedulers where there is no human intervention. In our work, we will be focusing on six scheduling approaches, that vary in their scheduler, optimization problem type, appliances types and objectives.

Semi-automatic Schedulers

In [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF], the authors developed a distributed power consumption scheduling algorithm aiming at reducing the electricity bills and balancing the total power demand when multiple consumers share a single energy source. To do so, the authors formulated a game-theory technique, where the players are the consumers and the strategies are their corresponding power consumption schedules (represented as vectors). The objective function of each consumer n when choosing the strategy x n is defined as follows:

M in H h=1 C h ( n∈N a∈An x h n,a ) (1)
Where C h is the cost function, assumed to be strictly convex for each h ∈ H, andd H = 24. x h n,a is the schedule of the appliance a, owned by the player n, at hour h. The pseudo-code of the distributed algorithm proposed is provided in cf. Algorithm 1.

For each player n ∈ N , the power consumption scheduling is generated randomly. The intuition behind this choice is that the authors considered that, at the beginning, a player n has no prior information about others players. Then, a loop is executed until the algorithm converges. Within the loop, the objective function is resolved using an IPM algorithm [START_REF] Bertsekas | Nonlinear programming[END_REF], resulting a new schedule for each player. The same process is repeated until there is no new announced schedule for all the players. Simulations results showed that the proposed distributed algorithm can reduce the electricity bills and the peak of average ratio. In [START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF], the authors developed a meta-heuristic scheduling algorithm, aiming at reducing the dissatisfaction and the energy cost of a set of homes in a district, and the variance of the grid. To do so, the authors divided the home appliances into two categories: power-shiftable and time-shiftable appliances. The objective function is formulated as follows:

M in T t=1 S j=1 [I ij (t) * U ij (t) + α * (γ(t) * S j=1 P ij (t)) +β * ( T t=1 S j=1 * P ij (t) -1/|T | * N i=1 T t=1 S j=1 P ij (t)) 2 ] (2)
Where T is the set of time interval, N is the set of households, S is the set of electric appliances, I ij (t) is a binary variable denoting the working status of the appliance j in the household i at time t, U ij (t) is the dissatisfaction caused by operating the appliance i in the household i at time t, γ(t) is the electricity sale price at time t, and P ij (t) is the working power of the appliance j in the household i at time t.

The dissatisfaction function U ij (t) represents the difference between the desired temperature and the actual indoor temperature for the space heater at time t, and the difference between the desired hot water temperature and the actual hot water temperature for the water heater at time t.

The authors used the Cooperative Particle Swarm Optimization (CPSO) (cf. Figure 1) to find the optimal scheduling of the appliances. Experimental results showed the positive impact of the households coordination in decreasing the peak loads and reducing the power costs.

In [START_REF] Fakhrazari | Optimal energy scheduling for a smart entity[END_REF], the authors developed a power consumption scheduling aiming at reducing the electricity bills of the consumers with a minimum impact on their consumption preferences. The authors considered that the scheduler needs to determine the consumption vector X i = [x i,1 , x i,1 , ..., x i,H ] for each unit i in the determined zone horizon H, where H consists of M segments comprised of m time intervals, i.e., H = M * m. Then, a shrinking horizon optimization problem [START_REF] Diehl | Real-time optimization and nonlinear model predictive control of processes governed by differential-algebraic equations[END_REF] has been defined as follows:

S(t h ) + jm h=jm+1 Ŝ(t h ) (3)
Where S (j) (H) is the total electricity cost in the j th optimization step, jm h=jm-m+1 S(t h ) is the energy cost for m intervals in the jth time segment based on actual electricity prices, and jm h=jm+1 Ŝ(t h ) is the estimated energy cost based on the forecasted electricity prices for subsequent time intervals. Note that the user preferences are considered by including the time intervals where energy scheduling is performed for unit i. Without giving details about the obtained results, the authors assume that the proposed model can minimize the electricity consumption costs while including the consumers' preferences.

Automatic Schedulers

In [START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF], the authors formulated an optimization model for households power scheduling, aiming at reducing the electricity costs and the peak load of the grid. To do so, the authors integrated the incentive and inconvenience concepts. The incentive is offered to the users during peak times to encourage them to reduce their consumption, while the inconvenience seeks to reduce the difference between the baseline and the optimal appliances schedule. The objective function is defined as follows:

M in T t=1 I j=1 [P i (γ t * U opt i,t -β t * δ(U bl i,t -U opt i,t )) * ∆.t + (U bl i,t -U opt i,t ) 2 ] ( 4
)
Where P i is the rated power of the appliance i, U opt i,t is the new on/off status of the appliance i at time t, U bl i,t is the baseline on/off status of the appliance i at time t, I = 10,

T = 144, δ(U bl i,t -U opt i,t ) = 1 if (U bl i,t -U opt i,t ) > 0 and δ(U bl i,t -U opt i,t ) = 0 if (U bl i,t -U opt i,t ) < 0.
The formulated model is solved using the MINLP algorithm, which utilizes the Mixed Integer Programming (MIP) [START_REF] Wolsey | Mixed integer programming[END_REF] and the Non-Linear Programming (NLP) [START_REF] Bertsekas | Nonlinear programming[END_REF]. Simulations results showed that using this model, the consumers realized 25% of electricity cost reduction. Noting that this percentage is affected by several factors, such as the number of shiftable appliances and the prices of the on-peak and off-peak times.

In [START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF], the authors developed a power storage scheduling algorithm aiming at managing the storage in the grid in a way of saving energy and reducing the reliance on the non-renewable energy sources. To do so, the authors formulated a game-theorist technique, where the players are the consumers and the strategies are their storage schedule vectors. The objective function of each player i when choosing the strategy s i is defined as follows:

P i (s i , s -i ) H h=1 (s h i + l h i ) (5)
Where s i is the storage schedule vector of all the players expect i, P i (s i , s -i ) is the power price determined using a continuous and supply curve, and l h i is the amount of power required by the player i at time h. The Nash equilibrium of the game correspond to the storage schedule s i that minimizes the global generator costs given by h=1 H q h 0 b h (x)dx, where b h () is the supply curve and q h is the the total amount of power traded by all the players at time h. Simulation results showed that it is possible to realize an electricity bill saving of 13% per consumer with a storage capacity of 4KW .

Similar to [START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF], the authors in [START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF] proposed an energy storage and loads scheduling algorithms aiming at reducing the electricity costs and the peak load hours. In this study, the electricity load analysis is done by grouping the day periods into three time zones each representing a cluster. Each cluster represents the loads expected to be launched during a given period. The cost required to satisfy the power needs of a given cluster j, consisting of K appliances is given by:

C j = K m=1 h∈Tj {(E h,m + B c h,m -B d h,m ) * r h } (6)
Where E h,m is the power purchased from the utility grid by a consumer m to meet its electrical appliances' power needs at period h, B c h,m and B d h,m are the charging and discharging power profiles of the consumer m for the same period h, and r h is the market power price at a period h. An optimal load and storage scheduling should satisfy the consumers' requirements at the lowest cost in each period without harming the grid stability. To do so, the objective function has been defined as follows:

M in 3 j=1 (C j ) (7)
Here, linear programming was applied in resolving the optimization problem. Simulation results showed a 20% of peak load reduction and a 17% of costs savings.

Discussion

Table 1) shows a comparison between the existing DSM approaches highlighting their strengths and drawbacks with respect to the aforementioned challenges. On can observe the following: -Scheduling coverage: All the existing DSM approaches [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF][START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF][START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF][START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF][START_REF] Fakhrazari | Optimal energy scheduling for a smart entity[END_REF][START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF] focused only on the power consumption scheduling, with the exception of [START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF][START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF] that addressed the storage scheduling as well. However, none of them covers the power production scheduling. -Consumer satisfaction: Few approaches [START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF][START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF][START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF] took into account the consumers' satisfaction. In [START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF], the consumers' comfort is ensured by reducing the gap between the desired and the actual hot water, and between the desired and the actual indoor temperature. However, in [START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF], [START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF], the satisfaction is measured by the delay time between the desired start time and the real operation of its household appliances. Contrariwise to [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF], [START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF][START_REF] Fakhrazari | Optimal energy scheduling for a smart entity[END_REF], where this aspect was completely absent. -Multiple energy sources: To the best of our knowledge, all the DSM approaches [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF], [START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF][START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF][START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF][START_REF] Fakhrazari | Optimal energy scheduling for a smart entity[END_REF][START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF] target the interaction of the consumers while assuming having only one utility grid and consequently one energy source.

-Restricted goal: Another limitation of all the existing approaches is that they do not cope with the three objectives (operational, ecological, and economical) of a successful DSM. In almost all the approaches [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF], [START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF][START_REF] Setlhaolo | Optimal scheduling of household appliances for demand response[END_REF][START_REF] Christopher | Smart charging and appliance scheduling approaches to demand side management[END_REF][START_REF] Fakhrazari | Optimal energy scheduling for a smart entity[END_REF][START_REF] Vytelingum | Agent-based micro-storage management for the smart grid[END_REF], the goal was mainly to reduce the electricity costs (economical aspect). In [START_REF] Amir-Hamed Mohsenian-Rad | Autonomous demand-side management based on game-theoretic energy consumption scheduling for the future smart grid. Smart Grid[END_REF][START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF], the peak load reduction (operational aspect) is addressed aiming at reducing the peak hours in the power grid. However, none of the approaches considers the gas emission reduction (ecological aspect).

All these limitations lead us to develop a new DSM cooperative model, allowing the scheduling of the power production, consumption and storage while considering the three-objective aspect of the DSM and the components' preferences.

Multi-objective Cooperative Scheduling

In this section, we detail our 'Multi-Objective Cooperative Scheduling Framework' or M OCSF aiming at reducing electricity bills, peak loads and environmental bad effects, while enhancing the comfort of the SG components. In order to conceive a cooperative environment, M OCSF takes as input a set of couples, or what we call : seller-to-buyer associations, each consisting of a seller and buyer having mutual benefits in working together, with their desired schedules reflecting their operational preferences in terms of: start time, end time and power quantity (to sell or to buy). The main reason behind this choice relies on the fact that we do not want to schedule the sellers and the buyers randomly but we rather want to maintain the power exchange between the sellers and the buyers having the biggest interest in working together (the interest can be expressed via an objective function that takes into account the ecological, economical and operational parameters). Several approaches have been proposed in the literature to provide appropriate associations [START_REF] Saad | Coalitional game theory for cooperative micro-grid distribution networks[END_REF].

For the rest of our paper, we will be using the following example: Let us consider an SG consisting of 9 components having the power generation (g), demand (d) and storage (s) as shown in Table A.1. After classifying the SG components, they will be put into three main categories: the sellers willing to sell their power surplus (nR

1 → nR + 1 , nR 4 → nR + 2 , nR 6 → nR + 3 , nR 8 → nR + 4
), the buyers willing to buy their power needs (nR

2 → nR - 1 , nR 3 → nR - 2 , nR 5 → nR - 3 , nR 9 → nR - 4 )
, and the self-satisfied components (nR

5 → nR 0 1 ) (c.f. Table A.2.).
After applying a clustering algorithm aiming at gathering the SG components having mutual interests in working together based on the minimization of an objective function that takes into account the ecological, economical and operational costs, the result is a set of couples or seller-to-buyer associations as follows:

       Association 1 : (nR + 1 ,nR - 3 ) -nR + 1 should sell nR - 3 a quantity of 14 kW Association 2 : (nR + 1 ,nR - 1 ) -nR + 1 should sell nR - 1 a quantity of 3 kW Association 3 : (nR + 4 ,nR - 1 ) -nR + 4 should sell nR - 1 a quantity of 1 kW Association 4 : (nR + 4 ,nR - 2 ) -nR + 4 should sell nR - 2 a quantity of 2 kW
As shown in Figure 2, M OCSF consists of two main modules: Preference-

Preference-based compromise builder

As mentioned before, the input of this module is a set of seller-to-buyer associations, each composed of a seller and a buyer. Note that, each seller or buyer might belong to one or several associations. While sellers and buyers of the same association have to exchange power, each one of them has its own preferences to be respected so to establish a successful cooperative SG. Hence, the first step towards each association scheduling is to find the best balance or what we call the compromise, between the preferences of the related seller and buyer. Let us consider the first association (nR + 1 , nR - 3 ) of the illustrative example. nR + 1 and nR - 3 should be scheduled together, however nR + 1 may have several preferences that are different from nR - 3 's: for instance, this latter prefers to buy power at 7:00 am, while nR + 1 prefers to sell its surplus at 8:00 am. Hence, our goal is to find the trade-off between the sellers and the buyers preferences. The problem becomes more and more complicated when each seller and buyer exchanges power with several components (since each can belong to several associations). For instance, nR + 1 belongs to another association as well, (nR + 1 , nR - 1 ), where nR - 1 prefers also to buy power at 7:00 am. Hence, our module should propose an optimal distribution of the sellers' available power at each time t, in that it can meet its preferences and the buyers preferences, as well. Note that, for privacy reasons, a component has no prior information with whom he will exchange power, he can only precise the quantity he needs to sell or buy at each time t.

Before detailing the process, we present first some definitions used in our study. Each component nR 2 , coud be a seller nR + or a buyer nR -having respectively power surplus and power need.

Definition 1 (Schedule [S]) A schedule S consists of the power exchanged vector s R = [s 1 R , s 2 R , ..., s T R ]
, where s t R denotes the corresponding power quantity (in KW ) that an entity R is willing to exchange, at a time t over a period T Definition 2 [PurchaseGraph [P G]] A PurchaseGraph P G is an oriented graph (V , E, S, EV ) consisting of representing power scheduling of vertices v i and associations e j i where each vertice v i ∈ V = {nR + } ∪ {nR -} represents a component, each edge e j i connects a seller v i ∈ {nR + } to a buyer v j ∈ {nR -} with the total power quantity in EV exchanged between them, and each vertice v i or edge e j i is associated to one desired schedule, denoted s init ∈ S, and one operational schedule s op ∈ S. The desired schedule designates the component operational preferences expressing its willing power quantity to exchange at each time t within a period T. The operational schedule designates the proposed schedule (provided by our algorithm). Note that,

∀ nR ∈ {P G k } ⇒ nR / ∈ {P G =k }.
To simplify in what follows, e.nR + designates the edge seller, e.nR -designates the edge buyer, e.EV designates the edge total power quantity, s init nR designates the component desired schedule, s op nR designates the component operational schedule, s init e designates the edge desired schedule, and s op e designates the edge operational schedule.

Definition 3 [Satisfaction [S(e, W )]].
The satisfaction of an edge e is defined according to the operational, economical, and ecological satisfactions of its vertices (its connected seller and buyer). It considers the sellers and buyers' comfort (operational), the power peak load (operational), the electricity bills (economical) and the environmental impacts (ecological). Although it can be defined using different aggregation functions (e.g., maximum, average, etc.), we adopted the weighted sum function to combine the different objective aspects costs, allowing the user to tune the weight of each criterion. Formally:

S(e, W ) = W.w op × S op (e) + W.w eco × S eco (e) + W.w ecolo × S ecolo (e) [START_REF] Langheinrich | Privacy by designprinciples of privacy-aware ubiquitous systems[END_REF] where:

-S op (e) represents the operational satisfaction of e, -S eco (e) represents the economic satisfaction of e, -S ecolo (e) represents the ecological satisfaction of e, and -W is a set of three weights, denoted as :≺ w op , w eco , w ecolo , w op + w eco + w ecolo = 1 and (w op , w eco , w ecolo ) ≥ 0 Thus, the satisfaction of a P G consisting of M edges is defined as follows:

S(P G, W ) = M i=0
S(e i , W )

Similarly, the satisfaction of an SG consisting of N number of P G is defined as follows:

S(SG, W ) = N i=0 S(P G i , W ) (10)
Note that, in our study, we are aiming to minimize the operational, ecological and economical dissatisfactions (Dis) as follows:

Dis(e, W ) = 1 1 + S(e, W ) ∈ [0, 1]

Dis(P G, W ) = 1 1 + S(P G, W ) ∈ [0, 1] Dis(SG, W ) = 1 1 + S(SG, W ) ∈ [0, 1] (11)
where, the lower is the dissatisfaction (tends to 0), the higher is the satisfaction.

Definition 4 (Operational Satisfaction [S op ])

The operational satisfaction of an edge e, denoted S op (e, W ), is defined as:

S op (e, W ) = W.w α × Comf ort(e) + W.w β × V ariance(e) + W.w γ × V ariance(P G) ( 12
)
where W is a set of three weights, denoted as :≺ w α , w β , w γ , w α + w β + w γ = 1 and (w α , w β , w γ ) ≥ 0, and P G is the PurchaseGraph to which e belongs.

Thus, the operational satisfaction of a P G consisting of M edges is defined as follows:

S op (P G, W ) = M i=0 S op (e i , W ) (13)
Similarly, the operational satisfaction of an M G consisting of N number of P G is defined as follows:

S op (SG, W ) = N i=0 S op (P G i , W ) (14)
Note that, the operational dissatisfactions (Dis op ) is defined as follows:

Dis op (e, W ) = 1 1 + S op (e, W ) ∈ [0, 1] Dis op (P G, W ) = 1 1 + S op (P G, W ) ∈ [0, 1] Dis op (SG, W ) = 1 1 + S op (SG, W ) ∈ [0, 1] (15)
where, the lower is the operational dissatisfaction (tends to 0), the higher is the operational satisfaction.

Definition 5 (Comfort [Comf ort(e)])

The comfort of an edge e, is the waiting time penalization of its vertices, defined as:

Comf ort(e) = T t=1
Avg(e.nR Note that, the penalty is a positive weighting factor, which represents the waiting time flexibility of the component. If the penalty is zero, this means that the component does not penalize the delay between its desired and operational schedule. The highest is the penalty, the most the component is delay time constraining.

Definition 6 (Variance e [V ariance(e)])

The variance of an edge e, denoted V ariance(e) is the peak load ratio of its vertices, defined as:

V ariance(e) = T t=1 s op e [t] - T t=1 s op e [t] |T | 2 (17)
Note that, the variance is a positive value reflecting the power load dispersion all along T. The highest is the variance, the higher are the peak loads probabilities.

Definition 7 (Variance PG [V arianceP G)])

The variance of a P G, denoted V ariance(P G) is the peak load ratio of its edges, defined as:

V ariance(P G) = T t=0 M i=0 S op e [t] - T t=0 M i=0 S op e [t] |T | 2 (18)
where M is the number of e in P G Definition 8 (Variance SG [V ariance(SG)]) The variance of an M G, denoted V ariance(SG) is the peak load ratio of the P Gs forming the SG, defined as:

V ariance(SG) = T t=1 N j=1 M i=1 P G j .s op ei [t] - T t=1 M i=1 P G j .s op ei [t] |T | 2 (19)
where N is the number of P G in SG and M is the number of e in P G Definition 9 (Economical Satisfaction [S eco ]) The economical satisfaction of an edge e, denoted S eco (e), is defined as: (20) where P wrCost[t] is the electricity price at a time t and LaunchCount is the number of launches of the sellers and buyers belonging to e, during T. Note that, all these parameters are represented in our OntoM G.

S eco (e) = T

Similarly,

Dis eco (e) = 1 1 + S eco (e) ∈ [0, 1] Dis eco (P G) = 1 1 + S eco (P G) ∈ [0, 1] Dis eco (SG) = 1 1 + S eco (SG) ∈ [0, 1] (21)
where, the lower is the economical dissatisfaction (tends to 0), the higher is the economical satisfaction. The ecological satisfaction depends on the toxic gas emissions GasEss emitted during the power production, and the cost GasEssCost per unit of gas emission.

Note that, all these parameters are modeled in our OntoM G ontology.

Thus, the ecological satisfaction of a P G consisting of M edges is defined as follows:

S ecolo (P G) = M i=0 S ecolo (P G) (23)
Similarly, the ecological satisfaction of an M G consisting of N number of P G is defined as follows:

S ecolo (SG) = N i=0 S ecolo S ecolo (SG) (24)
Note that, the ecological dissatisfactions (Dis ecolo ) is defined as follows:

Dis ecolo (e) = 1 1 + S ecolo (e) ∈ [0, 1] Dis ecolo (P G) = 1 1 + S ecolo (P G) ∈ [0, 1] Dis ecolo (SG) = 1 1 + S ecolo (SG) ∈ [0, 1] (25)
where, the lower is the ecological dissatisfaction (tends to 0), the higher is the ecological satisfaction.

An overview of the Preferences-based Compromise Builder module is shown in Figure 3 consisting of three main components: 1) Candidate components' prescheduling, 2) Final components' prescheduling, and 3) Compromise prescheduling. They are detailed below.

Candidate components' prescheduling

The aim of this module is to dissociate the desired schedule of each seller/buyer, so as to distribute the power quantity at each time t (its capacity of selling/buying) between the components with which, it must exchange, without exceeding nor being inferior to its desired capacity at time t. The pseudo-code of the candidate components' prescheduling is provided in Algorithm 2. Briefly, for each seller/buyer, we retrieve the list of edges to which the seller/buyer belongs. Then, we generate the list of all the possible permutations of the retrieved edges (Lines 7-16). For each possible permutation list of edges at a time t, we verify if the seller/buyer has enough power to sell/to buy to the buyer/from the seller of the same edge (Line 17). If there is enough power (Lines 18-20), we fill the schedule with the quantity to buy/to sell and recall the process by the next seller/buyer. If not, we fill the schedule with the quantity to buy/sell, reduce the quantity to sell/buy, and verify the quantity to sell/buy to the next buyer/from the next seller of the next edge (Lines 21-25).

Final components' prescheduling

The aim of this module is to select the candidate components' schedules that guarantee that each edge is provided with its exchanged value (EV ) at each time t (e.g., at the end of the day, where t = 24h). In other words, for each edge, the sum of the power quantity exchanged between its sellers and the buyers at T, should be equal to their exchanged value (EV ) in the P G. So, the sellers sell all their power surplus and the buyers satisfy all their needs. The pseudo-code of the final components' schedules is provided in Algorithm 3. Briefly, for each candidate schedule of each seller (Lines 2-9)

and for each time t of the day, we calculate the sum of the energy exchanged of the edges to which the seller/buyer belongs. The schedule is accepted if the sum is equal to the exchanged value of the edge (Lines 12-13). If the equality is verified for all the edges, we add the candidate schedule to the final components' schedules (Lines 13-16).

Algorithm 3: Final Components' Prescheduling This can be done by selecting the combination that ensures the minimum gap between the desired schedules of the sellers and buyers and the proposed compromise desired schedule. The pseudo-code of the final components' schedules is provided in Algorithm 4. First, we generate the combinations between the final preschedules of the sellers and the buyers (Lines 1-3). Then, for each seller/buyer of each combination, we calculate the power quantity for each edge in each candidate schedule for all combinations at a time t and fill it into a new vector (F inalQuantity) (Lines 4-17). After that, a similarity computation of the resulting vector and the initial desired schedule (vector) of each seller/buyer is done using the cosine similarity measure (Line 18). In fact, we adopted the commonly adopted cosine measure to calculate the distance between the proposed and the desired schedule vectors (instead of many others such the Euclidean Distance, the Pearson Correlation Coefficient, etc.) since it provides better results when there are many values in common between the two schedules to compare. Finally, the combination vector having the biggest similarity or what we call it here 'minimum delay' will be retrieved (Lines 19-27).

Input: P G[] //

Preference-based compromise builder illustration

In our previous illustration, all the buyers and sellers are connected, forming one purchase graph (cf. Figure 4). As an input, each seller and buyer proposes its desired schedule. Here, we will consider that T= 4.

Algorithm 4: Compromise Prescheduling

Input: P G[] //
                 S init

Multi-objective Scheduler

Once done with the preferences-based combination generator that aims at extracting the desired schedules of the seller-to-buyer associations based on the sellers and buyers desired schedules given as input, it is time to schedule the resulting associations in a way to minimize the operational, economical and ecological aspects. As defined in Equation 3, our objective function takes into account: 1)-the operational aspect by considering the comfort of the sellers and buyers measured by the delay time between the desired schedule and the real operation, the peak load reduction of the SG and the components calculated using the variance of the power at a time t 2)-the economical aspect is considered by measuring the electricity price at a time t, and 3)-the ecological aspect is treated by calculating the toxic gas emissions produced at a time t in the SG.

In our work, we adopted Particle Swarm Optimization (PSO), to search for the near-optimal scheduling for each seller-to-buyer association, because of its straightforward implementation and demonstrated ability of optimization. In essence, PSO is a computational method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality using an objective function. It is considered as a powerful tool to solve complex non-linear and non-convex optimization problems. Moreover, it has several other advantages, such as fewer parameters to adjust, and easier to escape from local optimal solutions.

Briefly, the problem is solved by having a population of candidate solutions, here dubbed particles, and moving these particles around in the search-space according to simple mathematical formula over the particle's position and velocity. Each particle's movement is influenced by its local best known position, but is also guided toward the best-known positions in the search-space, which are updated as better positions are found by other particles. This is expected to move the swarm toward the best solutions. // Set of updated particles' positions and velocities 1 for each particle i = 0; i < S; i + + do 2

Initialize the particle's position with a uniformly distributed random vector: x i U (b lo , bup ) 3

Initialize the particle's best known position to its initial position: p i = x i 4 if Dis(p i ) < Dis(g) then 5

Update the swarm's best known position: g = p i 6

Initialize the particle's velocity:

v i = U (| bup -b lo |, | bup -b lo |) 7
while a termination criterion is not met do 8

for each particle i = 0; i < S; i + + do 9

for each dimension d = 0; i < n; i + + do 10 P ickrandomnumbers : rp , rg U (0, 1) 11

Update the particle's velocity:

v i,d = × v i,d + p × rp(pi, d -xi, d) + g × rg (g d -x i,d ) 12
Update the particle's position:

x i = x i + v i 13 if Dis(x i ) < Dis(p i ) then 14
Update the particle's best known position:

p i = x i 15 if Dis(p i ) < Dis(g) then 16
Update the swarm's best known position: g = p i

The pseudo-code of the adapted PSO is provided in Algorithm 5. The goal is to find a solution a for which Dis(a) < Dis(b) for all b, which would mean that a is the global minimum. Let S be the number of particles in the swarm, each having a position x i and a velocity v i . Let p i be the best known position of particle i and let g be the best known position of the entire swarm. The values b lo and b up are respectively the lower and upper boundaries. The termination criterion can be number of iterations performed, or a solution with adequate objective function value is found. In our method, we set the parameters as in [START_REF] Zhu | Scheduling optimization of smart homes based on demand response[END_REF] to calibrate the PSO problem, used for mathematical models of Smart Homes.

Experiments

A set of experiments have been conducted to highlight the efficiency of our approach as explained below.

Experimental Context

A prototype has been implemented using Java to conduct the test on a PC with an Intel Core i7-3630 QM CPU, 2.40 GHz processor with 8 GB RAM. Since the SG is relatively a recent concept in the power systems area, there is a lack of a current Benchmark to be based on. Hence, we carried out our experimental scenario inspired by the one provided in [START_REF] Saad | Coalitional game theory for cooperative micro-grid distribution networks[END_REF] but adapted to fit better the scope of our study. Here, we set up an SG within an area of 10 km × 10 km with: 1) the main grid located at the onshore , and 2) the SG components randomly located within this area. The prototype includes the following functionalities: 1) the Preference-based compromise builder and the 2) Multi-objective scheduler.

Experimental Metrics and Results

The main criteria used to evaluate the effectiveness of our approach are: i) the preference-based compromise builder effectiveness, ii) the time needed to gener-ate the compromises, as well as, iii) the multi-objective scheduler impact on the electricity cost reduction, the peak loads and the gas emissions.

Preferences-based compromise builder effectiveness

The efficiency of the generated desired compromise schedule is measured by its similarity with the desired schedules of the sellers and the buyers given as an input. The similarity measure used in our module is the 'Cosine Similarity Measure', which results a similarity between 0 and 1 (from an absence of similarity '0' to the biggest similarity '1'). Figure 5 shows that the worst similarity ratio obtained is 0.72 and the best one is 0.95. This result reflects that our module ensures nice results providing an adequate compromise between the seller and the buyer preferences.

Preferences-based compromise builder performance

In addition to testing the effectiveness of our module in reducing the gap between the proposed compromise desired schedule and the desired sellers and buyers, we also evaluated its time performance. This test consisted of measuring the necessary time to build the compromise from the sellers and buyers associations (cf. Figure 6), and showed a linear complexity of our algorithm. 4.2.3 Multi-objective scheduler impact on the SG The cooperation and the multi-objective aspects of the SG are the key features of our scheduling. Hence, we measured the following resulting costs: the total electricity prices, the total toxic gas emissions, the components comfort, and the peak loads.

In this test, two different scenarios were considered: 1) a non-cooperative scheduling, where each association is selfish in that it only considers its desired schedule, and 3) a cooperative scheduling based on our proposed multi-objective scheduling. To remain coherent, we will consider the scheduling of the seller-tobuyer associations of our same previous illustration. Note that, the output of the preference-based compromise builder will be used here to calculate the comfort of the components by calculating the gap between the resulting schedule and the compromise desired schedule.

Figure 7 shows the electricity load resulting from the non-cooperative case. At T=2, a peak load (Electricity load = 14 Kw) appeared having several bad effects on the economical, ecological and the operational costs. From the economical perspective, this peak load leads to a total electricity cost of 163 c. From the ecological perspective, and having at T=2, a conventional power generator (emitting 0.26 Kg Co2/Kwh), the non-cooperation scheduling caused a simultaneous gas emissions of 3.64 KgCO2. The only advantage of this scheduling is that it answers exactly the desired preferences of the components, which gives a similarity of 1 (the highest), between the proposed and the desired schedules.

Figure 8 shows the electricity load resulting from our multi-objective scheduler. It shows how the peak loads are shaved (Highest electricity load = 6 Kw). The result is a trade-off between the economical, ecological and operational aspects. From the economical perspective, the total electricity cost is reduced to 136 c. From the ecological perspective, the highest simultaneous gas emissions is reduced to 1.57 KgCO2. The only feature affected negatively is the similarity between the desired and the proposed schedule, reduced to 0.75. Despite this reduction, the value remains a very good result.

Conclusion

In this paper, we proposed M OCSF , a Multi-Objective Cooperative Scheduling Framework providing a multi-type scheduling for the power generation, storage and consumption, while taking into account the ecological, economical and operational costs in a power system. M OCSF consists of two main modules: the Preference-based Compromise Builder, providing the best balance between the desired schedulers of the sellers and the buyers given as an input, and the Multiobjective Scheduler, providing seller-to-buyer associations scheduling aiming at ensuring the economical, ecological and operational satisfactions. Experiments results showed the potential of our modules in providing efficient preferencebased compromises able to reduce the gap with the initial components preferences and in minimizing the three-dimensional costs. Currently, we are working on implementing a privacy-by-design [START_REF] Langheinrich | Privacy by designprinciples of privacy-aware ubiquitous systems[END_REF] grid control allowing to protect the components privacy whilst preserving the advanced control and monitoring func-tionalities of the power systems. Further, it is interesting to apply strategy-proof techniques, in order to avoid cheating in the desired schedules,

Fig. 1 .

 1 Fig. 1. CPSO Configuration and Operation

Fig. 2 .

 2 Fig. 2. Multi-objective Cooperative Scheduling Framework

Definition 10 (

 10 Ecological Satisfaction [S ecolo ]) The ecological satisfaction of an edge e, denoted S ecolo (e), is defined as: S ecolo (e) = T t=1 s op e [t] × e.nR + .Ecolo.GasEss × SG.Op.GasEssCost (22)

Fig. 3 .

 3 Fig. 3. Preferences-based Compromise Builder Framework

Fig. 4 .

 4 Fig. 4. Purchase Graph Illustration

Algorithm 5 :

 5 Particle Swarm Optimization Algorithm Input: x[], v[] // Set of particles' positions and velocities Output: x[], v[]

Fig. 5 .

 5 Fig. 5. Compromise Similarity w.r.t the number of SG Components

Fig. 6 .

 6 Fig. 6. Time performance w.r.t the number of SG Components

Fig. 7 .

 7 Fig. 7. Non-cooperative electricity load result

Fig. 8 .

 8 Fig. 8. MOCSF electricity load result

Algorithm 1 :

 1 Executed by each consumer n ∈ N

	1 Randomly initialize xn and x -n
	2 repeat
	3	At random time instances Do
	4	Solve the objective function using IPM
	5	if xn changes compared to current schedule then
	6	Update xn according to the new schedule
	7	Broadcast a control message to annouce ln to the other consumers
	8	if a control message is received then
	9	Update ln accordingly
	10 until no new schedule is announced

Table 1 .

 1 Comparing existing DSM approachesScheduling Coverage Satisfaction Multiple Energy Sources Restricted Goal

Algorithm 2 :

 2 Candidate Components' Prescheduling

	12	RP [] =	T t=1 S init SG.P G[i].e.nR	[t]	// Initialize the remaining production to sell/buy to the desired
		selling/buying vector
	13	for int j = 0, j < | e[] | , j + +	// For each edge in the pemutated list of edges
	14	do
	15	RP L = e[j].EV	// Initialize the remaining production to buy/sell (of the linked component) with
		the valued exchanged of the couple
	16	for int k = 0; k < T ; k + +	// For each time k
	17	do
	18		if RP [k] >= RP L		// If there is sufficient power to sell
	19		/buy then
	20		S.CS[j][k] = RP L	// Fill the schedule with the quantity to buy/sell
	21		RP L = 0			// No more power need to buy/sell
	22		else
	23		S.CS[j][k] = RP [k]	// Fill the schedule with the quantity to buy/sell
	24		RP L-= RP [k]		// Reduce the quantity to buy/sell
	25		RP [k]-= S.CS[j][k]	// Reduce the quantity to sell/buy
	26	SG.P G[i].e.nR.S.Add(S)		// Add S as a candidate solution of the seller/buyer

Input: P G[] //

Set of P G forming the SG Output: P G[] // Set of SG components updated with their candidate preschedules 1 S.CS = new int [][] // Initialize a candidate Solution S having a candidate Schedule CS 2 S.e = new Edge [] // Initialize a candidate Solution S having a list of edges e 3 int RP L 4 for int i = 0; i < | SG.P G[] |; i + + // For each PurchaseGraph in the Smart Grid 5 do 6 E[] = GLE(SG.P G[i].e.nR) // Retrieve the list of edges to which the seller/buyer of the edge belongs 7 P E[][] = P ermutate(E[]) // Retrieve the possible permutation of the list of edges 8 for each e[] ∈ P E[][] // For each list of permutated lists of edges 9 do 10 S.CS = new int [| e[] |][T ] // Initialize a candidate schedule CS for a solution S 11 S.Ce = new Couple [| e[] |] // Initialize a set of edges Ce for a solution S

  Set of P G forming the SG Output: P G[] // Set of SG components updated with their final preschedules 1 for int i = 0; i < | SG.P G[] |; i + + // For each PurchaseGraph in the Smart Grid Calculate the sum of the energy exchanged during T of the edge 12 isAcceptedSolution = sev.Equals(s.Cs[j].EV ) // The solution is accepted if the sum is equal to the value exchanged of the edge

	2 do
	3	for each s ∈ SG.P G[i].e.nR.S	// For each possible solution of the seller/buyer
	4	do
	5	bool isAcceptedSolution = true
	6	for int j = 0; j < | s.CS[0][] | ; j + +	// For each candidate schedule of the seller/buyer
	7	do
	8	int sev = 0	// Initialize the sum of the exchange value with zero
	9	for int k = 0; k < T ; k + +	// For each time k
	10	do
	11 // 13 sev+ = s.CS[j][k] if isAcceptedSolution	// If the equality is verified for all the edges
	14	then
	15	SG.P G[i].e.nR.S.Add(S)	// Add S as an accepted solution of the seller/buyer

3.1.3 Compromise prescheduling

The aim of this module is to generate every seller-to-buyer association (edge) desired schedule. It consists of selecting the best combination between the final preschedules of the sellers and buyers.

  Set of P G forming the SG

	Output: S init e	[]	// Edges desired schedule
	1 for int i = 0; i < | SG.P G[] |; i + +	// For each PurchaseGraph in the Smart Grid
	2 do
	3	Comb[] = Combination(SG.P G[i].e.nR + .S[], SG.P G[i].e.nR -.S[])	// Retrieve the possible
		combinations of the final sellers and buyers preschedules
	4 for int i = 0; i < | Comb[] |; i + +	// For each combination
	5 do
	6	for int j = 0; j < | SG.P G[] |; j + +	// For each PurchaseGraph in the Smart Grid
	7	do
	8	for int k = 0; k < | Comb[i].Ce |; k + +	// For each set of edges of the selected combination
	9	do
	10		if Comb[i].Ce[k].nR == SG.P G[j].nR	// Check if we are verifying the schedules of the same
				seller/buyer
	11			then
	12			for int l = 0; l < | Comb[i].CS |; k + +	// For each set of candidate schedules of the
				selected combination
	13			do
	14			Comb[i].F inalQuantityP erHour[j][l]+ = Comb[i].CS[k][l]	// Sum the power
				quantity for each edge in each candidate schedule of each combination
	15		for int x = 0; x < | Comb[i].CS |; x + +	// For each set of candidate schedules of the selected
				combination
	16			do
	17			F inalQuantity[x] = Comb[i].F inalQuantityP erHour[j][x]	// Calculate the
				combination's power quantity for each seller/buyer
	18		Comb[i].T otalDelay+ = 1 -Cosinus(S init SG.P G[j].nR	, F inalQuantity)	// Calculate the
				similarity between the desired schedule of the seller/buyer and the combination's schedule
	19 minDelay = Comb[0].T otalDelay
	20 for int i = 0; i < | Comb[] |; i + +	// Retrieve the minimum delay
	21 do
	22	if Comb[i].T otalDelay < minDelay then
	23	minDelay = Comb[i].T otalDelat
	24 for int i = 0; i < | Comb[] |; i + +	// Retrieve the combination having the minimum delay
	25 do
	26	if Comb[i].T otalDelay == minDelay then
	27	S init e	[] = Comb[i]

A utility company is a company that engages in the generation and the distribution of electricity for sale generally in a regulated market.

The aim of applying the Preference-based comprimise builder is to find the desired schedule of the resulting linked couples (nR + 1 ,nR - 3 ), (nR + 1 ,nR , respectively.

-Candidate components' prescheduling:

The output of the candidate components' prescheduling is as follows:

Candidate nR + 1 prescheduling: There are two possible solutions:

Those solutions were selected since the sum of the selling power at each time t is equal to the desired power quantity given as an input (3 kw at t=1 and 14 kw at t=2)

Candidate nR + 4 prescheduling: There are two possible solutions:

Those solutions were selected since the sum of the selling power at each time t is equal to the desired power quantity given as an input (1 kw at t=3 and 2 kw at t=4) Candidate nR - 1 prescheduling: There are two possible solutions:

Those solutions were selected since the sum of the buying power at each time t is equal to the desired power quantity given as an input (3 kw at t=1 and 1 kw at t=3) Candidate nR - 2 prescheduling: There is one possible solution:

Those solutions were selected since the sum of the buying power at each time t is equal to the desired power quantity given as an input (2 kw at t=4) Candidate nR - 4 prescheduling: There is one possible solution:

Those solutions were selected since the sum of the buying power at each time t is equal to the desired power quantity given as an input (14 kw at t=2) -Final components' prescheduling:

In our case, the output of the final components' prescheduling is the same output generated in the candidate components' prescheduling. Those solutions ensure that the sum of the power exchanged between a linkedcouple is equal to the exchanged value of this couple.

Final nR + 1 prescheduling: There are two possible solutions:

).EV = 14 = 0 + 14 + 0 + 0 Final nR + 4 prescheduling: There are two possible solutions:

Final nR - 1 prescheduling: There are two possible solutions:

Final nR - 2 prescheduling: There is one possible solution:

Final nR - 4 prescheduling: There is one possible solution:

= [0, 14, 0, 0] : (nR + 1 , nR - 4 ).EV = 14 = 0 + 14 + 0 + 0 -Compromise prescheduling:

The output of the compromise prescheduling is as follows: This solution is the combination of the final seller and buyer preschedules that reduces the gap with the initial desired schedules of the sellers and buyers. Here, the Gap = 0 (the ideal solution).