# 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 ```matlab 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](../../methods/Scenario/set.md) | Set properties; this results in `valid = false` | | [set_ev](../../methods/Scenario/set_ev.md) | Set a specific EV object in property EVs; this results in `valid = false` | | [validate](../../methods/Scenario/validate.md) | Check whether a Scenario object satisfies required conditions | | [get_subscenario](../../methods/Scenario/get_subscenario.md) | Return a truncated subscenario, possibly without EVs that is not plugged-in at the initial time slot | ```{toctree} :maxdepth: 2 :hidden: :caption: Scenario Methods ../../methods/Scenario/set ../../methods/Scenario/set_ev ../../methods/Scenario/validate ../../methods/Scenario/get_subscenario ```