Class Syllabus

This course considers the operation of large scale power systems. We will define and discuss the major problems in steady state power system analysis, design and code a computer program to efficiently solve large systems of linear and nonlinear equations, learn how to take advantage of sparsity, solve power flow and optimal power flow problems, and understand pros and cons of different algorithms. For more information, see syllabus.

Class: TTh, 2:30pm to 4:30pm, online
Instructor: Baosen Zhang,, Office: EEB M310
Project Presentations: Last week of class
Zoom Link:

Office Hours:

  1. Please email me to schedule office hours.


  1. This course will be taught entirely online, which is new for me. It’s important to have frequent communication with me to let me know what is working and what is not.
  2. There are no required textbook for the class. Some useful references are:
    • Power System Generation, Operation and Control, by A. Wood & B. Wollenberg
    • Computational Methods for Electric Power Systems, M. L. Crow
    • Convex Optimization of Power Systems, J. Taylor
  3. We use the material provided by Tom Overbye, Ned Mohan and Bruce Wollenberg. Many thanks to them for making their course materials publicly available.
  4. I will try to respond to emails within 24 hours. Please write EE554 in the subject.

Schedule of Classes:

  1. Logistics of the course, overview of power system analysis, Lecture 1, Lecture 2
  2. Solution of systems of non-linear equations, Lecture 3, Lecture 4
  3. Sensitivities and Contingencies, Lecture 5, Lecture 6, 2003 Blackout Report,
  4. State Estimation, Lecture 7, Lecture 8
  5. Optimal Power Flow, Lecture 9, Lecture 10, more on interior point methods can be found in Convex Optimization Chapter 11
  6. Unit Commitment, Lecture 11
  7. Unit Commitment, Lecture 12, Lecture 13
  8. Unit Commitment, Stability, Lecture 13, Lecture 14
  9. Dealing with Uncertainties, Lecture 15, Lecture 16
  10. Dealing with Uncertainties, Lecture 17, Lecture 18

Optimization Software

  1. You can use whatever software you like. Matlab is probably the easiest to use with established tools like MatPower, although some developers are moving away from it. Newer languages like Python and Julia both have active communities developing power system toolboxes, like PyPSA and PowerModels.


  1. There will be biweekly homework assignments. No late homework would be accepted.
  2. Grade distribution: homework 40%, project 40%, participation 20%

Homework Assignments:

  1. Homework 1, Due April 16, 11:59pm, submit by email.
  2. Homework 2, Due April 30, 11:59pm, submit by email.
  3. Homework 3, Due May 16, 11:59pm, submit by email.