Courses

This page outlines a series of courses and seminars, some of which were taught at Princeton University, on topics related to sequential decision analytics:

Framing Decision Problems

Bridging Decision Problems Vol I cover

The traditional view of mathematical modeling is as a bridge between a real problem and an application. The problem with this approach is that it typically involves using someone skilled in mathematical modeling to ask the questions to formulate the model.

But which skills? People may be trained in machine learning, Monte Carlo simulation, decision trees, or integer programming. Their training determines the vocabulary they use to understand a problem. They ask the questions to fit the framework and solution approaches they are trained in — a characteristic I refer to as expertise filtering.

We propose that framing should be an intermediate step, performed by people trained in how to ask the right questions, but without the bias of any particular form of analytics.

We replace the traditional process with one that starts with four steps:

  1. Describing the problem in plain English.
  2. Framing the problem, which consists of identifying metrics, types of decisions, and uncertainties. At this point, we may feel we understand the problem well enough to make the decisions, but if not, we progress to step 3.
  3. Develop a formal model using the universal modeling framework, where decisions are made with the four classes of policies.
  4. Software implementation, either as a simulator or as a production system.

These four steps lay the foundation for improving any process, where we still need to design the processes for collecting information and implementing decisions.

We approach framing centered on three questions:

  1. What are the performance metrics?
  2. What types of decisions are being made (and who makes them)?
  3. What are the sources of uncertainty (and the form they take) that affect performance?

Sequential Decision Analytics and Modeling (SDAM)

Sequential Decision Analytics and Modeling book cover

Description. This course was taught at Princeton to undergraduates in operations research. It introduces the general field of sequential decision problems, using a teach-by-example style. The course follows a downloadable book (see below) that provides the general framework for sequential decision problems, followed by a series of examples that are all modeled using the same style. The examples were chosen to illustrate the four classes of policies, as well as other issues such as modeling uncertainty.

This course will not provide the comprehensive overview of methodology provided by the graduate course. It is focused on teaching students how to think clearly about sequential decision problems using a powerful, universal modeling framework. All of this is done through a series of carefully chosen examples designed to illustrate creating and solving models.

Audience. The course was originally written for undergraduates in Operations Research and Financial Engineering at Princeton. The only mathematical prerequisite is a course in probability and statistics. One chapter (on blood management) uses linear programming, but the material can be covered without prior knowledge of linear programming.

Notes. It is extremely easy to create new lectures built around different applications. On two occasions I invited students doing senior thesis research with me to help me run a lecture, where they would provide the answers to questions needed to fill in the five elements of the modeling framework. Students best understand material that is centered on applications they are familiar with, and this is where the material can be easily customized to new problem settings.

Readings. This course is taught from the downloadable book: Sequential Decision Analytics and Modeling.

Syllabus. Download syllabus here.

Programming. There are exercises at the end of each chapter. Most chapters are accompanied by a Python module that can be found at https://tinyurl.com/sdagithub. Often the exercises can be completed without touching the code, but the software was designed to allow students to modify the logic. I suggest designing questions that fit the programming skills of the audience.

Lecture slides

Lectures from the course I taught Fall 2018, in PDF and PowerPoint formats.

Full-course PDFs: First half of course · Second half of course

Individual lectures (PowerPoint):

SDAM as a weekly seminar series

The idea of this weekly seminar series is to focus on developing the process of modeling in the context of actual applications. I recommend following the style of the application chapters (every chapter except chapters 1 and 7) in Sequential Decision Analytics and Modeling (SDAM).

Reinforcement Learning and Stochastic Optimization (RLSO)

Reinforcement Learning and Stochastic Optimization book cover

Course syllabus.

Course description. Making decisions under uncertainty is a universal human activity — something we have all done our entire lives, and generally something we do every day. The study of this rich problem area can be organized under a broad umbrella called stochastic optimization. Normally taught as a mathematically deep topic, ORF 544 will be taught with a primary emphasis on proper modeling, and the design and analysis of practical algorithms.

The course will present a unified framework for stochastic optimization that cuts across the many communities that contribute to the general problem of the design and control of systems under uncertainty (I call this the “jungle of stochastic optimization”). This modeling framework has been tested in problem domains spanning transportation and logistics, energy, health, finance, internet search, and even the laboratory sciences.

Audience. The course is appropriate for students in operations research, economics, computer science, applied math, and any field of engineering (e.g. for students interested in engineering controls). It is open to undergraduates with a strong interest in models and algorithms. The course requires a basic background in probability and statistics at the undergraduate level (e.g. ORF 245 — if you have ORF 309, even better). There is a small amount of material where a background in linear programming is useful, but this will not be required on problem sets or exams. I will occasionally bridge to more advanced probabilistic concepts, but this will be aimed at students without this background and is not required.

Readings. Reinforcement Learning and Stochastic Optimization: A unified framework for sequential decisions.

Lecture slides (Spring 2019)

RLSO as a weekly seminar series

Given the lack of existing courses that use my book Reinforcement Learning and Stochastic Optimization, I recommend setting up a weekly seminar where graduate students or professionals teach it to themselves. This course requires strong analytical skills, and is appropriate for people who are interested in developing models and algorithms for real applications.

Below is a sketch of what I recommend could be covered each week.

Optimal Learning

Optimal Learning book cover

Course syllabus.

Course text: Optimal Learning, 2nd edition, updated March 11, 2018.

Notation notes (designed to help with notation). · Tutorial article aimed at experimental scientists.

Optimal Learning addresses the problem of making decisions that control what we observe, and therefore how we learn. Unlike classical machine learning, where you might be given a large dataset or a flow of data over which you have no control, we address problems where we control what we observe.

Optimal Learning is a topic that is covered under a variety of names including multiarmed bandit problems and derivative-free stochastic search.

Examples arise in all walks of life. Some examples: trying different medications on a patient to find the one that works best; traveling different paths over a network to find the shortest path; bidding on ads to maximize ad-clicks; finding the price on Amazon to maximize sales; or finding the best starting lineup for a basketball team.

Students will learn how to formulate these problems formally as sequential decision problems in terms of belief models, decisions, the information that is learned from the decision, and the metrics that we use to evaluate our performance. Our decisions have to balance learning against doing the best we can now given what we know. A special case is known as the multi-armed bandit problem, but our framework will be more general. Students will learn all four classes of policies that encompass the entire literature on active learning problems.

Learning problems are solved by designing policies that determine what experiment to run next (choice of drug, bid for an ad, path through a network) given current beliefs. We describe two fundamental strategies for designing policies, each of which is divided into two classes — creating the four classes of policies that cover all possible approaches for solving these problems. Students will learn how to tune and evaluate policies.

Prerequisites. The course requires a basic course in probability and statistics, but a more advanced course at the level of ORF 309 is valuable.

Requirements. Weekly problem sets in the first half of the semester. In the second half, there will be several problem sets, but students will also participate in one of two activities: