PoissonScenarioGenerator

For generating scenarios with random independent arrivals


Description

A PoissonScenarioGenerator object randomly generates scenarios according to the following probability distributions:

  • The number of EV arrivals at time slot t follows a Poisson distribution with parameter arrival_rates(t)

  • The numbers of EV arrivals at time slots 1, \(\dots\) , T are mutually independent.

  • No EV is accepted if all the chargers are ocuupied.

  • The stay duration of each EV follows a geometric distribution with parameter Delta/mean_stay_duration; that is, EVs stay for mean_stay_duration minutes on average.

  • The stay durations of different EVs are mutually independent.

  • E_min, E_cap, E_ini, E_ref, U_min, and U_max are drawn from uniform distributions over the ranges E_min_range, E_cap_range, E_ini_range, E_ref_range, U_min_range, and U_max_range, respectively.

  • (Load flattening) Sigma is drawn from a uniform distribution over the range Sigma_range

  • (User friendly) The triple (W_cs, W_pc, W_bs) is sampled among the rows of Uf_weights with equal probability.

  • The characteristics of EVs are mutually independent.

Creation

Syntax

gen = PoissonScenarioGenerator()
gen = PoissonScenarioGenerator(Name=Value)

Name-Value Arguments

Name

Type

Description

Problem_type

“Lf” (default) | positive integer, scalar

Type of problem, either “Lf” for load flattening or “Uf” for user-friendly

N_c

50 (default) | positive integer

Number of chargers

T

48 (default) | positive integer

Number of time slots comprising a generated scenario

Delta

60 (default) | positive scalar

Length of time slot [minutes]

P_max

200 (default) | nonnegative scalar

Maximum aggregate charging power [kW]

P_min

-200 (default) | nonpositive scalar

Minimum aggregate EV load (i.e., -(maximum aggregate discharging power)) [kW]

D

scaled, interpolated KEPCO base load (default) | T×1 column vector

Base load profile [kW] (required for load flattening problem)

C

interpolated default tariff (default) | T×1 column vector

Electricity price profile [KRW] (required for user-friendly problem)

EVs

[] (default) | 1×N_ev EV array

Array of EV objects

L

[] (default) | (N_c+1)×(N_c+1) symmetric Metzler matrix with zero row sum

Graph Laplacian describing topology of the aggregator and chargers (for load flattening problem, undirected, index N_c+1 corresponds to the aggregatgor)

W

[] (default) | N_c×N_c nonnegative symmetric stochastic matrix

Doubly stochastic matrix describing topology of the chargers (for user-friendly problem, undirected)

Uf_weights

[1,0,0;0,1,0;…;1/3,1/3,1/3] (default) | N_g×3 nonnegative matrix with positive row sum

Weights set for groups in the user-friendly problem

arrival_rates

5ones(T,1) (default) | T×1 column vector*

Mean number of EVs that arrive at each time slot

mean_stay_duration

180 (default) | scalar >= Delta

Mean stay duration of EVs [minutes]

Sigma_range

[0, 10] (default) | 1×2 double

Range of Sigma of EVs (load flattening problem)

E_cap_range

[40, 100] (default) | 1×2 double

Range of battery capacity of EVs [kWh]

SOC_ini_range

[15, 35] (default) | 1×2 double

Range of initial SOC of EVs [%]

SOC_ref_range

[35, 50] (default) | 1×2 double

Range of reference SOC of EVs desired at departure [%]

U_max_range

[10, 15] (default) | 1×2 double

Range of maximum charging powers of EVs [kW]

U_min_range

[-15, -10] (default) | 1×2 double

Range of minimum charging powers of EVs [kW]

Output Arguments

Name

Type

Description

gen

PoissonScenarioGenerator object | AbstractScenarioGenerator object

A scenario generator that can generates scenarios from a specific distribution

Properties

Name

Type

Description

params

struct

A struct consisting of the parameters required for generating a scenario

Object Functions

Name

Description

generate

Randomly generate a scenario