SHIMIAO LI
  • About Me
  • Research
  • TEACHING
  • People
  • PUBLICATIONS
  • MISC
  • HOBBY

EE459/559 Special topics:
Optimization & AI for next-gen smart grid

Instructor: Shimiao Li
​(Spring 2026, University at Buffalo)
In-Person Venue: Baldy 108, 
MW, 9:30 AM – 10:50 AM

About

This course​
This course discusses computational models used for power system analysis and optimizations. By the end of the course, it is expected that students will have familiarity with nonlinear programming, convex & non-convex optimization, sparse optimization, and physics-informed ML techniques in power system applications. This course involves course projects in which students implement traditional and state-of-the-art models on MATLAB / PYTHON. They will also be positioned to understand from literature the cyber and physical threats in the next-generation smart grid infrastructure.​
Instructor
Shimiao Li: shimiaol [at] buffalo.edu​
Prerequisites
​Graduate Students or Senior Undergraduates; Engineering Majors or EE Minors Only
We will be using MATLAB or PYTHON in this class, so you will need to be able to program with either of these tools
You will (preferably) need familiarity with basic calculus (differentiation, chain rule), linear algebra, and basic probability.
Units
3 units
Communication
The syllabus, course announcements and grades will be accessible through UB Learns.
Grading components
​The graded components of this course consist of projects and in-class quizzes:
  • 20 in-class Quizzes = 40%.  If you have attended at least 90% of these (randomly chosen) quizzes, you get the 40 points.
  • Guided Individual Project [project info here] = 30%. The project is guided, consisting of several derivation and programming assignments.
  • Team Project = 30%. Students team up and pick their topic of interest. Each team consists of 2-3 members.
We will convert numerical course grades to letter grades based on grade boundaries that are determined at the end of the semester. The following is a list of upper bounds on the grade cutoffs we will use; in all likelihood, these will be adjusted down at the end of the semester:
  • A: ≥ 90%
  • A-: ≥ 85%
  • B+: ≥ 80%
  • B: ≥ 75%
  • B-: ≥ 70%
  • C+: ≥ 65%
  • C: ≥ 60%
  • C-: ≥ 55%
  • D+: ≥ 50%
  • D: ≥ 45%
  • F: < 40%
Incomplete grades (I/IU): The instructor will follow UB’s incomplete policy for undergraduate students. 

Textbooks

This course does not exactly follow any one textbook. However, most lectures will have some optional reading to help you better understand the material or see a different presentation/perspective. We recommend you read these after the corresponding lecture. Some of these readings will be drawn from the following texts, many of which are freely available online:
"Electronic Circuit and System Simulation Methods". Lawrence Pileggi.
“Deep Learning”. Ian Goodfellow. [GitHub]
​

Schedule of Lectures

Lecture
Date
Topics & Slides
Supplementary Reading
Notes
1
Wed, 1/21
Introduction [slides]
  
 
2
Wed, 1/28
Preliminaries: linear algebra, matrix calculus and optimization [slides]
[linear algebra review],
[probability review]
last day to drop/add
3
Mon, 2/2
Preliminaries continued: matrix calculus and optimization [slides]
[convex optimization, part 1]
[convex optimization, part 2]
[Deep Learning, CH7]
[interior-point method for LASSO]
 
4
Wed, 2/4
Preliminaries continued (same slides as lec3)
 
 
5
Mon, 2/9
Circuit and power system simulation: problem formulation [slides]
 
 
6
Wed, 2/11
Circuit and power system simulation: problem formulation 
[Slides | Filled Answers]
Pileggi Book Chapter 1 (circuit simulation)
 
7
Mon, 2/16
Newton-raphson as a solver [slides | Filled answers]
Pileggi Book Chapter 1 (circuit simulation),
Pileggi Book Chapter 10 (newton raphson for nonlinear simulation),
 
8
Wed, 2/18
An optimization perspective to simulation [slides]
[feasibility paper] (also available on arxiv)
 
9
Mon 2/23
An optimization perspective to simulation (continued) [slides | Filled answers]
[Stamping tutorial]
[Proj description]
Individual Project starts
midterm due: 3/11
final due 3/31
[Coding template here]
10
Wed 2/25
Sparse optimization for simulation
[slides | Filled answers]
[SparseFeas paper] (also available on arxiv)
 
11
Mon 3/2
Sparse optimization for simulation (continued) [slides | Filled answers]
 
 
12
Wed 3/4
Optimization heuristics for convergence [ slides ]
 
 
13
Mon 3/9
Optimization heuristics (Continued) [slides]
 
 
14
Wed 3/11
Optimization heuristics (Continued) [slides]
more variants of newton method:
[Quasi newton method]
[Trust region method]
Individual project stamping functions due 11:50 pm
 
3/16-3/20
No class, spring break
 
 
15 
Mon 3/23
Neural nets as universal approximator: an alternative to nonlinear optimizations. [slides]
[CMU 11-785 lecture]
 
16
Wed 3/25
Imposing constraints on neural nets [slides]
[CMU 11-785 lecture gradient descent, backpropagation]
[self-supervised PDL AAAI22]
[DC3 ICLR21]
individual proj early bird due 11:59 pm
17
Mon 3/30
Imposing constraints on neural nets [slides | Filled answers]
 
individual proj due 3/31 11:59 pm
18
Wed 4/1
Imposing constraints on neural nets (continued) [New Slides | Filled answers]
[unrolled NN for state estimation]
[PGM-contingency analysis]
 
19
Mon 4/6
Implicit differentiation [slides]
[Deep implicit layer tutorial]
[DC3 ICLR21] [DC3  code github]
 
20
Wed 4/8
Implicit differentiation [slides | Filled answers]
 
 
 
 
 
 
Team project topic selection due 4/12
21
Mon 4/13
Anomaly detection on dynamic graphs [Slides]
[Dynwatch][Dynwatch Github]
 
22
Wed 4.15
Anomaly detection on dynamic graphs [Slides]
 
Team project proposal due
23
Mon 4/20
State estimation: WLS method [slides]
[ACSE-Schweppe]
 
24
Wed 4/22
Robust state estimation: sparse optimization method [slides]
[Robust ckt-SE]
 
Academic Integrity:
Students are expected to comply with the University at Buffalo’s academic integrity policy and procedures, available at the following links: 
Undergraduate Academic Integrity Policy (see Appendix C for sample infractions and sanctions), Undergraduate Academic Integrity Procedures.
You are allowed to talk with and work with other students on project/assignments.
You can share ideas but not code. You should submit your own code for the individual project.
The course instructor reserves the right to determine an appropriate penalty based on the violation of academic dishonesty that occurs.
Proudly powered by Weebly
  • About Me
  • Research
  • TEACHING
  • People
  • PUBLICATIONS
  • MISC
  • HOBBY