Skip to content

Choose policies for sequential decision problems by defining state correctly, deriving Bellman recursions, proving policy optimality, and connecting discrete-time dynamic programming to continuous-time optimal control.

Textbook draft, not yet final-ready; pending independent mathematical review. Builds on: Linear Algebra · Probability Theory · Continuous Optimization

Chapters

  1. Sequential Models and Sufficient State A small shop sells one product. 5 worked examples · 18 exercises
  2. Finite-Horizon Bellman Recursion In the shop of Chapter 1 the cheapest order for a single day, from an empty shelf, is one unit. 5 worked examples · 18 exercises Builds on Chapter 1
  3. Deterministic Dynamic Programming and Reachability Remove the disturbance from the model of Chapter 1 and three things happen at once. 5 worked examples · 18 exercises Builds on Chapter 2
  4. Discounted Infinite-Horizon Markov Decision Processes A machine is run week after week with no planned end. 5 worked examples · 18 exercises Builds on Chapter 3
  5. Policy Evaluation, Improvement, and Value Iteration 6 worked examples · 18 exercises Builds on Chapter 4
  6. Stochastic Control, Information, and Policy Classes A reservoir operator chooses today's release before today's inflow is known. 5 worked examples · 18 exercises Builds on Chapter 5
  7. Belief States and Partial Observation A machine is either in good condition or in bad condition, and nobody can see which. 4 worked examples · 18 exercises Builds on Chapter 6
  8. Optimal Stopping and Threshold Policies Someone has a house to sell and a week in which to sell it. 5 worked examples · 18 exercises Builds on Chapter 7
  9. Hamilton–Jacobi–Bellman and Pontryagin Conditions A cart at rest one metre from where it should be can be pushed with a force of at most one unit in either direction. 6 worked examples · 20 exercises Builds on Chapter 3
  10. Approximate Dynamic Programming, Model Predictive Control, and Synthesis Every method in this book so far has been exact, and every one has a price that grows with the size of the state space. 6 worked examples · 18 exercises Builds on Chapters 8 and 9
  11. Cumulative Review Mixed problems drawn from every chapter of Dynamic Programming and Optimal Control. 14 exercises

Maps

How the chapters build on each other: an arrow runs from a chapter to a later one that cites it.
How the chapters of Dynamic Programming and Optimal Control build on each other Chapter 2 cites Chapter 1 22 times Chapter 3 cites Chapter 2 4 times Chapter 4 cites Chapter 3 2 times Chapter 9 cites Chapter 3 6 times Chapter 5 cites Chapter 4 28 times Chapter 6 cites Chapter 5 1 time Chapter 7 cites Chapter 6 5 times Chapter 8 cites Chapter 7 2 times Chapter 10 cites Chapter 8 1 time Chapter 10 cites Chapter 9 8 times Chapter 1: Sequential Models and Sufficient StateChapter 1Sequential Models andSufficient State Chapter 2: Finite-Horizon Bellman RecursionChapter 2Finite-Horizon BellmanRecursion Chapter 3: Deterministic Dynamic Programming and ReachabilityChapter 3Deterministic DynamicProgramming and… Chapter 4: Discounted Infinite-Horizon Markov Decision ProcessesChapter 4Discounted Infinite-Horizon Markov Decision… Chapter 5: Policy Evaluation, Improvement, and Value IterationChapter 5Policy Evaluation,Improvement, and Value… Chapter 6: Stochastic Control, Information, and Policy ClassesChapter 6Stochastic Control,Information, and Policy… Chapter 7: Belief States and Partial ObservationChapter 7Belief States and PartialObservation Chapter 8: Optimal Stopping and Threshold PoliciesChapter 8Optimal Stopping andThreshold Policies Chapter 9: Hamilton–Jacobi–Bellman and Pontryagin ConditionsChapter 9Hamilton–Jacobi–Bellmanand Pontryagin Conditions Chapter 10: Approximate Dynamic Programming, Model Predictive Control, and SynthesisChapter 10Approximate DynamicProgramming, Model…
The courses this one builds on, down to it: an arrow runs from a course to one that builds on it.
The courses Dynamic Programming and Optimal Control builds on CalculusCalculus Multivariable CalculusMultivariable Calculus Linear AlgebraLinear Algebra Probability TheoryProbability Theory Continuous OptimizationContinuousOptimization Dynamic Programming and Optimal ControlDynamic Programmingand Optimal Control

About This Course

This book is about decisions that are made in sequence, where each decision changes the situation in which the next one is made. A warehouse orders stock before it knows demand, a maintenance crew decides whether to repair a machine whose condition it can only guess, a seller turns down an offer in the hope of a better one, a spacecraft fires or coasts. In every case the object to be chosen is not a number but a rule, called a policy, that says what to do in each situation that can arise. The book teaches how to find the best such rule and how to prove that it is best.

It is written for a reader working alone: an advanced undergraduate or beginning graduate student in mathematics, engineering, operations research, economics, or computer science. You need four things before starting. From Probability Theory: conditional probability, expectation, and conditional expectation for discrete random variables. From Stochastic Processes: what a Markov chain and its transition matrix are; this book does not develop their theory, it chooses among them. From Continuous Optimization: first-order conditions for minimizing a differentiable function, with and without constraints, and what convexity buys. From Differential Equations and Linear Algebra: solving linear systems of differential equations, and positive definite matrices. When a result owned by one of those courses is used, it is stated with the hypotheses the argument needs and marked once with its library identifier; it is not proved again here.

The book aims at six abilities, each of which you should be able to exercise with the book closed. Formulate a sequential decision problem with a state that is small enough to compute with and large enough to be correct. Solve a finite-horizon problem by backward induction and read both a value and a policy from the table. Solve a discounted infinite-horizon problem by value iteration or policy iteration, and bound the error of a value function that has not yet converged. Replace an unobserved state by a belief and update it. Recognise a threshold rule in a stopping problem and compute the threshold. Write the Hamilton–Jacobi–Bellman equation and the Pontryagin conditions for a continuous-time problem, solve the linear-quadratic case through a Riccati equation, and work a minimum-time problem to its switching curve.

The notation is fixed across the book. Time is discrete in Chapters 1 to 8 and 10, with stages \(k=0,1,\dots,N-1\) ; the state at stage \(k\) is \(x_k\) , the control is \(u_k\) , and the random disturbance is \(w_k\) . A policy is \(\pi=(\mu_0,\dots,\mu_{N-1})\) , where \(\mu_k\) maps states to controls. The optimal cost from stage \(k\) onward is \(J_k\) , and in infinite-horizon problems the optimal cost is \(J^\star\) . Costs are minimized unless a problem is stated in terms of rewards, in which case the text says so and maximizes. In Chapter 9 time is continuous, the value function is \(V(t,x)\) , the Hamiltonian is \(H\) , and the costate is \(p(t)\) . Vectors are columns and \(A^{\top}\) is a transpose. For symmetric matrices, \(K\succeq 0\) means positive semidefinite and \(K\succ 0\) positive definite.

Each chapter ends with exercises that run from recall through computation to proof. The companion solutions give full arguments for some, hints for others, and bare answers for a few. Many of the worked examples and solutions have been recomputed by machine, and you are encouraged to do the same: nearly every table in this book can be reproduced with a dozen lines of code, and writing those lines is the fastest way to find out whether you have understood a recursion. A number of exercises present an argument that sounds right and is wrong, and ask you to say where it fails. Sequential decision problems are rich in such arguments, and learning to locate the faulty step is part of learning the subject.

Search knowledge base

Explore

On this page

Note