CMPUT 676: Optimization and Decision-Making under Uncertainty
Fall 2026
Instructor: Xiaoqi Tan (xiaoqi.tan$\textsf{@}$ualberta.ca)
Location & Time: UComm 2-001, MW 1:00 PM – 2:20 PM
Office hour: After class or by appointment
Course Overview
Many real-world problems require making decisions before all relevant information is known. Such uncertainty arises in applications such as internet advertising, electrical grids with renewable energy, financial trading, and healthcare. Although these applications may appear quite different, many can be studied using a common set of optimization models and algorithmic techniques.
In this research-oriented course, we provide a broad survey of optimization and sequential decision-making under three primary forms of uncertainty, emphasizing conceptual breadth across key techniques rather than deep mechanical derivations. We begin with a concise introduction to convex optimization, covering convex sets, functions, canonical problems, Lagrange multipliers, duality, optimality conditions, and core optimization algorithms (gradient descent, Newton’s and barrier methods, and dual ascent). This foundation supports the three main parts of the course. Adversarial uncertainty: Future inputs are unknown and may be arbitrary or chosen adversarially; we study online algorithms and online optimization using competitive ratios and regret, covering online search, knapsack variants, online matching, online convex optimization, online linear programming, and framework developments beyond worst-case analysis. Statistical uncertainty: Outcomes are generated by a stochastic process; we examine multi-armed bandits, stochastic approximation, and stochastic gradient descent and its adaptive variants. Strategic uncertainty: Outcomes depend on the actions and private information of self-interested decision-makers; we explore algorithmic game theory and mechanism design, including Nash equilibria, auctions, VCG mechanisms, and prophet inequalities.
The course draws on theoretical computer science, machine learning, economics, operations research, and control. The emphasis is theoretical, but practical applications and current research will help explain why the models are useful and where their assumptions matter. Students are expected to complete a course project: study selected research papers and carry out a theoretical, computational, or empirical investigation related to the course.
Notes: Advanced undergraduate students are welcome to audit or take the course, subject to administrative approval.
Course Project
The main assignment of this course is to complete a course project which includes a proposal (20%), an in-class presentation (30%), and a final report (50%).
Proposal (20%): You need to select 1-2 papers from this list and prepare a one-page review (covering the main idea, methodologies, and key results of the selected papers) and a separate one-page proposal (containing potentially multiple ideas, such as improvements, alternative approaches, or new discoveries).
Presentation (30%): You will give an in-class presentation based on your paper review and proposal.
Final Report (50%): You are expected to complete this course with an 8-10 page final report. As a research-oriented graduate course, it is up to you to decide the focus of your final report—whether it be a proof of a new theorem, a new implementation, or a new survey—but it must be related to your proposal.
Notes on AI use: You are encouraged to use AI to assist with your course project, but you must remain the primary thinker and author throughout the process. You are responsible for understanding and verifying everything in your proposal, presentation, and final report. Be prepared to explain your work in class, defend your arguments and conclusions, and answer questions about any material you include.
Course Schedule and Readings
| Date | Topics | References and Readings |
|---|---|---|
| Sept. 2 | Lec 1: Overview Course topics; Logistics |
L1-slides |
| Sept. 7 | ||
Convex Optimization (A Brief Intro)How do we find good decisions when the objective and constraints are given? |
||
| Sept. 9 | Lec 2: Concepts Convex sets Convex functions Convex problems |
L2-slides BV Book: Ch1-Ch4 |
| Sept. 14 | Lec 3: Theory Lagrange multipliers Duality theory Optimality conditions |
L3-slides BV Book: Ch5 DB Book |
| Sept. 16 | Lec 4: Algorithms Gradient descent Newton’s methods Barrier methods Dual ascent |
L4-slides BV Book: Ch9-Ch11 |
Online OptimizationHow do we make decisions sequentially without knowing future inputs? |
||
| Sept. 21 | Lec 5: Online Algorithms (Basics) Ski rental problem Deterministic vs Randomized Yao’s principle |
L5-slides, L5-notes Ski rental |
| Sept. 23 | Lec 6: Online Primal-Dual (OPD) Time series search $k$-max and $k$-min search Online selection (adversarial) The OPD approach (1st look) |
L6-slides, L6-notes Online search and one-way trading $k$-max and $k$-min search Online selection with convex costs |
| Sept. 28 | Lec 7: Online Knapsack Threshold-based algorithms The OPD approach (2nd look) |
L7-slides, L7-notes Online knapsack and variants Online multiple knapsack |
| Sept. 30 | ||
| Oct. 5 | Lec 8: Online Matching BALANCE + RANKING The OPD approach (3rd look) |
L8-slides, L8-notes AM Survey, OPD Survey Papers on RANKING: KVV paper; An elegant proof; Economic-based analysis; Randomized OPD analysis |
| Oct. 7 | Lec 9: Online Convex Optimization (OCO) The Experts problem OCO: intro + algorithms + variants Competitive ratio vs. Regret (1st look) |
L9-slides EH Book, FO Book |
| Oct. 12 | ||
| Oct. 14 | Lec 10: Online Linear Programming (OLP) OLP: intro + variants Adversarial inputs vs. Random inputs Competitive ratio vs. Regret (2nd look) |
L10-slides Random-order models Online LP under ROM Online LP under IID |
| Oct. 19 | Lec 11: Beyond Worst-Case Analysis (WCA) Beyond WCA: why + how Learning-augmented algorithms Data-driven algorithm design |
L11-slides Beyond WCA Algorithms with predictions Data-driven algorithm design |
Stochastic Optimization and LearningHow do we learn to make better decisions from noisy observations? |
||
| Oct. 21 | Lec 12: Multi-Armed Bandits Bandit problems: intro + variants Stochatic bandits; Algorithms |
L12-slides, L12-notes (Kushagra Chandak) LS Book |
| Oct. 26 | Lec 13: Stochastic Optimization (Part I) Intro + variants Sample average approximation (SAA) Stochastic approximation (SA) SA: The Robbins-Monro algorithm |
L13-slides, L13-notes |
| Oct. 28 | Lec 14: Stochastic Optimization (Part II) Stochastic gradient descent (SGD) Adaptive SGD; Momentum Summary: Online vs. Stochastic |
L14-slides, L14-notes |
Algorithmic Game Theory; Mechanism DesignHow do we make decisions in strategic settings? |
||
| Nov. 2 | Lec 15: Game Theory Pure-strategy Nash equilibrium Mixed-strategy Nash equilibrium |
L15-slides, L15-notes AGT book |
| Nov. 4 | Lec 16: Mechanism Design Key concepts Auctions; VCG mechanisms Optimal auctions |
L16-slides, L16-notes AGT book |
| Nov. 9 | ||
| Nov. 11 | ||
| Nov. 16 | Lec 17: Online Mechanisms Intro + variants Online auctions Prophet inequalities Course summary |
L17-slides, L17-notes |
| Project Presentations | ||
| Nov. 18 | ||
| Nov. 23 | ||
| Nov. 25 | ||
| Nov. 30 | ||
| Dec. 2 | ||
| Dec. 7 |