# 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 ```matlab 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` | *5*ones(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 |