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 No Class (Statutory Holiday)
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 Optimization
How 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 No Class (Statutory Holiday)
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 No Class (Statutory Holiday)
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 Learning
How 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 Design
How 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 No Class (Reading Week Break)
Nov. 11 No Class (Reading Week Break)
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