Scenario

Scenario class


Description

An instance of this class includes all information required for scheduling, such as the number of time slots, number of chargers, base load, EV configuration.

Creation

Syntax

scenario = Scenario()
scenario = Scenario(Name=Value)

Name-Value Arguments

Name

Type

Description

Problem_type

“Lf” (default) | “Uf”

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

N_c

50 (default) | positive integer

Number of chargers

N_ev

0 (default) | nonnegative integer

Number of EVs

N_g

1 (default) | positive integer

Number of groups (for analysis purpose)

T

24 (default) | positive integer

Number of time slots comprising a scenario

Delta

60 (default) | positive scalar

Length of time slot [minutes]

P_max

200 (default) | nonnegative scalar

Maximum aggregate charging power

P_min

-200 (default) | nonpositive scalar

Minimum aggregate charging power (i.e., -(maximum aggregate discharging power))

D

zeros(T,1) (default) | T×1 column vector

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

C

zeros(T,1) (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)

Output Arguments

Name

Type

Description

scenario

Scenario object

A scenario that can be used for scheduling

Properties

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

N_ev

0 (default) | nonnegative integer

Number of EVs

N_g

1 (default) | positive integer

Number of groups (for analysis purpose)

T

24 (default) | positive integer

Number of time slots comprising a scenario

Delta

60 (default) | positive scalar

Length of time slot [minutes]

P_max

200 (default) | nonnegative scalar

Maximum aggregate charging power

P_min

-200 (default) | nonpositive scalar

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

D

zeros(T,1) (default) | T×1 column vector

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

C

zeros(T,1) (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)

valid

false (default) | logical

Whether the scenario is validated or not, call validate() to validate a scenario

Object Functions

Name

Description

set

Set properties; this results in valid = false

set_ev

Set a specific EV object in property EVs; this results in valid = false

validate

Check whether a Scenario object satisfies required conditions

get_subscenario

Return a truncated subscenario, possibly without EVs that is not plugged-in at the initial time slot