I led the tutorials and labs over three fall terms and wrote the eight lab notebooks for Fall 2024. The notebooks combine mathematical formulations with guided exercises in modeling and algorithm implementation.
Courses, lab materials, and tutorials in optimization.
Courses
At the University of Toronto, I led tutorials and labs in mathematical optimization and machine learning. My teaching connects mathematical formulations, computational methods, and their behavior in practice, helping students understand how modeling and algorithmic choices affect solutions.
I designed the assignments, exam problems, and lab exercises, and led the labs. The exercises ask students to formulate decision problems as linear, network, and integer programs and solve them, pairing the theory of mathematical programming with practice in modeling.
I led the tutorials and labs. The labs connect machine-learning methods with their optimization foundations, from formulating regularized regression problems in CVXPY to implementing the splitting criteria of decision trees.
Tutorials
PyEPO is the library I develop for decision-focused learning. These tutorials teach the idea behind it: a predictive model should be judged by the decisions it leads to, not by its prediction error alone. The tutorial materials then cover the workflow: embedding an optimization model in PyTorch training, learning with decision-focused losses, and comparing decision regret with that of a conventional two-stage baseline.
2024
ACC Workshop on Physics-informed Machine Learning
Hands-on PyEPO tutorial
2024
AAAI Workshop on Learnable Optimization
Hands-on PyEPO tutorial
2023
CORIDM Lecture Series
Invited lecture