Daniel K. Molzahn

Extreme Event Simulations for Power Engineering Education

Students in ECE 4320 at Georgia Tech have the choice between two course projects, one focused on operating power grids during a pandemic and another based on defending the Ukrainian energy infrastructure during the ongoing war with Russia.

Power Grid Pandemic

This project places students in charge of operating, maintaining, and repairing a simulated model of the Georgia power system during a pandemic. The project's goal is to provide a low-cost supply of power to the loads by carefully choosing the generator outputs and allocating crews to perform maintenance and repairs of the transmission lines. Sending crews out to maintain and repair transmission lines may result in them being quarantined after exposure to the pandemic disease, precluding their use from the remainder of the simulation. Students must therefore balance the need to maintain low-cost and reliable power system operation against the health risk imposed on the repair and maintenance crews.

Code and Installation

The simulation code and all data files are given in Matlab format in ece4320project_pandemic.zip. The simulation code is developed for Matlab 2019a. To avoid potential incompatibilities, install version 2019a or later. Note that Matlab's Mapping toolbox and the Optimization toolbox are required to run this tool. Both of these toolboxes are available with the Georgia Tech Matlab license.

The simulation also relies on Matpower, an open-source Matlab package that is included with the project. Matpower solves power flow and optimal power flow problems. The Matpower manual provides an extensive description of the functionality of this package.

The simulation additionally uses another open-source Matlab package called YALMIP, which is also included with the project. YALMIP is a so-called "modeling" package that simplifies the formulation and solution of optimization problems. This project uses YALMIP to formulate power flow and security-constrained unit commitment problems that serve as tools for determining generator setpoints and load shedding amounts during the simulation.

To install the simulation tool (including both Matpower and YALMIP), simply unzip ece4320project_pandemic.zip and add the associated files and folders to the Matlab path. To do this, either use the "Set Path" button on the Matlab toolbar or by execute the following command on the Matlab command line: addpath(genpath('c:\path\to\unzipped\files'));

After installing the code, start the simulation via the GUI by executing the command "ece4320" on Matlab's command line or use the function-based interface described in the documentation.

Documentation for the simulation tool and course project is included in the file ece4320project_pandemic.zip and is also directly accessible here: Project Documentation.

Example Project Reports

Examples of student project reports are available below. These reports are shared with permission from the students.



Pandemic Project GUI


Defend Ukraine

Students are tasked with defending the Ukrainian power grid during the war with Russia. The project's goal is to place defenses to interdict missile attacks that the attacker targets at electric transmission lines. Missile defenses reduce the probability that an attack targeted at a defended line will be successful. The attacker observes the locations of the defenses and then targets a set of transmission lines in order to maximize the expected amount of power outages that will result after the system operator dispatches the generators to maximize the supplied load. In other words, the project considers an intelligent attacker who plans their targets considering that 1) some of their attacks might fail, 2) they know the defender's allocation of defensive resources, and 3) the defender will redispatch the generators in response to any successful attacks. Students therefore need to be more intelligent in placing defenses to mitigate the attacker's ability to cause power outages.

Code and Installation

The simulation code and all data files are given in Matlab format in ece4320project_ukraine.zip. The simulation code is developed for Matlab 2019a. To avoid potential incompatibilities, install version 2019a or later. Note that Matlab's Mapping toolbox and the Optimization toolbox are required to run this tool. Both of these toolboxes are available with the Georgia Tech Matlab license.

The simulation also relies on Matpower, an open-source Matlab package that is included with the project. Matpower solves power flow and optimal power flow problems. The Matpower manual provides an extensive description of the functionality of this package.

To install the simulation tool (including Matpower), simply unzip ece4320project_ukraine.zip and add the associated files and folders to the Matlab path. To do this, either use the "Set Path" button on the Matlab toolbar or by execute the following command on the Matlab command line: addpath(genpath('c:\path\to\unzipped\files'));

After installing the code, see the file "demo.m" to see an example of how to run the simulation and visualize the results.

Documentation for the simulation tool and course project is included in the file ece4320project_ukraine.zip and is also directly accessible here: Project Documentation.

Example Project Reports

Examples of student project reports are available below. These reports are shared with permission from the students.



Ukraine Project GUI

Student Feedback

Feedback obtained from both CIOS and emails from students was very positive. Examples of student feedback on these course projects include:

  • This was one of my favorite projects to work on during my time at Georgia Tech.
  • The end of year project was exciting.
  • I enjoyed our final project as it related power systems to everything that is happening in the world with the pandemic right now.
  • I appreciate how relevant this course was, especially including the project.
  • The final project was very interesting, much better than a traditional final. The project gave real world experience.
  • I very much enjoyed the final project, as it was both topical to current events and very applicable to what we had learned throughout the course.
  • Thank you for the awesome project!