A comprehensive MATLAB-based framework for assessing the reliability of bulk power systems using Monte Carlo Simulation (MCS). This package supports both Hierarchical Level I (HL1) and Hierarchical Level II (HL2) reliability studies, utilizing the IEEE RTS-24 bus test system.
Reliability assessment is critical for planning and operating power systems. This repository implements two primary Monte Carlo simulation techniques:
- Non-Sequential MCS (State Sampling): Evaluates independent system states to determine probability-based indices.
- Sequential MCS (Chronological): Simulates the system evolution over time to capture frequency and duration indices.
Focuses solely on the ability of generation resources to meet the total system load. Transmission constraints are ignored (Copper Sheet model).
- Key Question: Is there enough generation capacity?
- Indices: LOLE (Loss of Load Expectation), EENS (Expected Energy Not Supplied).
Evaluates the combined generation and transmission system. It accounts for network topology, line limits, and voltage constraints using DC Optimal Power Flow (DC-OPF).
- Key Question: Can the energy be delivered to the load points?
- Indices: LOLE, EENS, plus Nodal Indices (Bus-specific reliability).
Located in Montecarlo_nsq_single/.
-
Approach: Randomly samples component states (Up/Down) based on unavailability probabilities (
$U$ ). Each sampled state is independent. -
Process:
- Sample state vector.
- Run DC-OPF (minimizing load shedding).
- Accumulate failure statistics.
- Best for: Fast calculation of expected values (EENS, LOLE) when chronological correlation is not critical.
Located in Montecarlo_seq/.
- Approach: Simulates the system hour-by-hour over many years. Component states transition based on Time-To-Failure (TTF) and Time-To-Repair (TTR) distributions.
- Features:
- Chronological Load: Uses the IEEE RTS-79 hourly load profile (8736 hours/year).
- Frequency & Duration: Calculates how often failures occur and how long they last.
- Best for: Detailed analysis requiring frequency (occ/yr) and duration (hr/occ) indices.
- MATLAB: (Tested on R2020b+)
- MATPOWER: Required for power flow and OPF calculations. Download here.
- Optimization Solver:
- MIPS: Included with MATPOWER (Default).
- CPLEX / Gurobi: Highly recommended for faster performance, especially for the Sequential simulation which solves thousands of OPFs.
- Navigate to the folder:
cd Montecarlo_nsq_single
- Run the main script:
nsqMain - Outputs: Convergence plots,
reliability_results.mat, andnodal_results.csv.
- Navigate to the folder:
cd Montecarlo_seq
- Run the main script:
seqMain - Outputs: Time-series plots, frequency/duration indices, and
seq_nodal_results.csv.
nsqMain.m/seqMain.m: Master scripts for simulation control.mc_sampling.m/seq_mcsampling.m: State generation logic.mc_simulation.m/seq_mcsimulation.m: System evaluation (OPF) logic.case24_ieee_rts.m: MATPOWER case file for the test system.anloducurve.m: Generates the chronological load profile (Sequential only).
This project is intended for educational and research purposes.