MSc-Level Course, 5 ECTS
Operating a complex system such as the power grid requires making informed decisions under uncertainty and risk, whether defining optimal market clearing for electricity and ancillary services, identifying strategic bidding strategies for producers, or determining long-term investments for grid operators. In each case, decision-makers must ask: What is the best possible outcome? What actions lead to it? What are the trade-offs and constraints?
This course equips students with the tools to answer these questions by introducing the fundamental principles of optimization techniques, with a focus on their application to real-world decision-making problems in modern power systems.
The course combines traditional instruction with hands-on activities to emphasize computational thinking and model-based reasoning as foundational skills for formulating and solving decision-making problems using mathematical optimization. Through these activities, the students will learn how to identify and describe the structure of real-world decision-making problems in power systems, translate them into well-defined mathematical optimization models, solve these models using computational tools, critically evaluate their solutions, and derive and communicate valuable insights to support operational and planning decisions.
While the focus is on power systems, the techniques and mindset developed throughout the course are broadly applicable to diverse domains such as finance, transportation, and logistics.
A student who has met the objectives of the course will be able to:
Describe the fundamental principles of convex optimization and linear programming, including problem structure, feasibility, optimality, and computational complexity.
Explain and compare methods for optimization under uncertainty, examining their problem structure, underlying assumptions, and computational trade-offs.
Formulate and analyze the dual and optimality conditions of convex optimization problems.
Interpret the geometric and techno-economic implications of the dual and optimality conditions of optimization problems in power systems, by linking them to marginal costs, resource valuations, and operational constraints.
Translate real-life decision-making problems in power systems from natural language into well-defined mathematical optimization models, identifying objectives, decision variables, constraints, and input data.
Critically evaluate the solutions of optimization models by analyzing how modeling choices affect feasibility, optimality, and computational complexity, and extract actionable insights for operational or planning decisions.
Collaboratively design and implement scientific code to solve real-life power systems optimization problems, integrating contributions across group members and documenting workflows clearly.
Effectively communicate the solutions of complex decision-making problems in power systems to a broad audience through clear and compelling narratives and visualization aids.
Communicate the formulation, solution process, and insights of complex optimization problems to a broad audience through clear written analysis, compelling narratives, and visualization aids.
Lecture 1: Course introduction (Slides, Exercise, Solutions, Code)
Lecture 2: Linear Programming and Duality (Slides, Exercise, Solutions, Code)
Lecture 3: Economic Dispatch and Optimal Power Flow (Slides, Exercise, Solutions, Code)
Lecture 4: Convex Optimization and Lagrangian Duality (Slides, Exercise, Solutions, Code)
Lecture 5: Optimization Problems with Decomposable Structure (Slides, Exercise, Solutions, Code)
Lecture 6: Lagrange Relaxation and Alternating Direction of Multipliers Method (ADMM) (Slides, Exercise, Solutions, Code)
Lecture 7: Applications of ADMM (Slides, Exercise, Solutions, Code)
Lecture 8: Optimization under Uncertainty (Slides, Exercise, Solutions, Code)
Lecture 9: Sample Average Approximation (Slides, Exercise, Solutions, Code)
Lecture 10: Benders Decomposition (Slides, Exercise, Solutions, Code)
Lecture 11: Robust Optimization (Slides, Exercise, Solutions, Code)
Lecture 12: Chance-Constrained Optimization (Slides, Exercise, Solutions, Code)
Lecture 13: Course Recap and Discussions (Slides, Exercise, Solutions, Code)