Dynamic Programming and Optimal Control (2024)

by Dimitri P.Bertsekas

ISBNs: 1-886529-43-4 (Vol. I, 4th Edition), 1-886529-44-2(Vol. II, 4th Edition), 1-886529-08-6 (Two-Volume Set, i.e., Vol. I, 4th ed. and Vol. II, 4th edition)
Vol. I, 4TH EDITION, 2017, 576 pages,hardcover
Vol. II, 4TH EDITION: APPROXIMATE DYNAMIC PROGRAMMING 2012, 712pages, hardcover

Prices:
Vol. I (ISBN10: 1-886529-43-4 or ISBN13: 978-1-886529-43-4): $89.00,
Vol. II (ISBN10: 1-886529-44-2 or ISBN13: 978-1-886529-44-1): $89.00,
Two-volume set, latest editions (ISBN10: 1-886529-08-6 or ISBN13: 978-1-886529-08-3): $134.50

The TWO-VOLUME SET consists of the LATEST EDITIONS OF VOL. I AND VOL. II, i.e., Vol. I, 4th ed. and Vol. II, 4th ed.

Contents,Preface,Ordering,DP Videos (12-hours) from Youtube,Approximate Finite-Horizon DP Videos (4-hours) from Youtube,Home

Dynamic Programming and Optimal Control (1) Dynamic Programming and Optimal Control (2)

The leading and most up-to-date textbook on the far-rangingalgorithmic methododogy of Dynamic Programming, which can be used for optimal control,Markovian decision problems, planning and sequential decision making under uncertainty, anddiscrete/combinatorial optimization. The treatment focuses on basic unifyingthemes, andconceptual foundations. Itillustrates the versatility, power, and generality of the method withmany examples and applicationsfrom engineering, operations research, and other fields. It alsoaddresses extensively the practicalapplication of the methodology, possibly through the use of approximations, andprovides an extensive treatment of the far-reaching methodology ofNeuro-Dynamic Programming/Reinforcement Learning.

The first volume is oriented towards modeling, conceptualization, andfinite-horizon problems, but also includes a substantive introductionto infinite horizon problems that is suitable for classroom use. Thesecond volume is oriented towards mathematical analysis andcomputation, treats infinite horizon problems extensively, and provides an up-to-date account of approximate large-scale dynamic programming and reinforcement learning. Thetext contains many illustrations, worked-out examples, and exercises.

This extensive work, aside from its focus on the mainstream dynamicprogramming and optimal controltopics, relates to our Abstract Dynamic Programming (Athena Scientific, 2013),a synthesis of classical research on the foundations of dynamic programming with modern approximate dynamic programming theory, and the new class of semicontractive models, Stochastic Optimal Control: The Discrete-TimeCase (Athena Scientific, 1996),which deals with the mathematical foundations of the subject, Neuro-Dynamic Programming (Athena Scientific,1996), which develops the fundamental theory for approximation methods in dynamic programming,and Introduction to Probability (2nd Edition, Athena Scientific,2008), which provides the prerequisite probabilistic background.


New features of the 4th edition of Vol. I (see the Preface fordetails):

New features of the 4th edition of Vol. II (see the Preface fordetails):

  • Contains a substantial amount of new material, as well as a reorganization of old material. The length has increased by more than 60% from the third edition, andmost of the old material has been restructured and/or revised. Volume II now numbers more than 700 pages and is larger in size than Vol. I. It can arguably be viewed as a new book!

  • A major expansion of the discussion of approximate DP (neuro-dynamic programming), which allows the practical application of dynamic programming to large and complex problems. Approximate DP has become the central focal point of this volume.

  • Extensive new material, the outgrowth of research conducted in the six years since the previous edition, has been included.

  • The first account of the emerging methodology of Monte Carlo linear algebra, which extends the approximate DP methodology to broadly applicable problems involving large-scale regression and systems of linear equations.

  • Expansion of the theory and use of contraction mappings in infinite state space problems andin neuro-dynamic programming.

Review of Vol. I, 4th Edition:

"Prof. Bertsekas book is an essential contribution that provides practitioners with a 30,000 feet view in Volume I - the second volume takes a closer look at the specific algorithms, strategies and heuristics used - of the vast literature generated by the diverse communities that pursue the advancement of understanding and solving control problems. This is achieved through the presentation of formal models for special cases of the optimal control problem, along with an outstanding synthesis (or survey, perhaps) that offers a comprehensive and detailed account of major ideas that make up the state of the art in approximate methods. The book ends with a discussion of continuous time models, and is indeed the most challenging for the reader. Still I think most readers will find there too at the very least one or two things to take back home with them.

Each Chapter is peppered with several example problems, which illustrate the computational challenges and also correspond either to benchmarks extensively used in the literature or pose major unanswered research questions. At the end of each Chapter a brief, but substantial, literature review is presented for each of the topics covered.

This is a book that both packs quite a punch and offers plenty of bang for your buck. Graduate students wanting to be challenged and to deepen their understanding will find this book useful. PhD students and post-doctoral researchers will find Prof. Bertsekas' book to be a very useful reference to which they will come back time and again to find an obscure reference to related work, use one of the examples in their own papers, and draw inspiration from the deep connections exposed between major techniques. Undergraduate students should definitely first try the online lectures and decide if they are ready for the ride."
Miguel, at Amazon.com, 2018.

Review of Vol. II, 4th Edition:

" This is an excellent textbook on dynamic programming written by a master expositor. Between this and the first volume, there is an amazing diversity of ideas presented in a unified and accessible manner. This new edition offers an expanded treatment of approximate dynamic programming, synthesizing a substantial and growing research literature on the topic."
Benjamin Van Roy, at Amazon.com, 2017.

Amongits special features, the book:

  • provides a unifying framework for sequential decision making

  • treats simultaneously deterministic and stochastic control problems popular in modern control theory and Markovian decision popular in operations research

  • develops the theory of deterministic optimal control problems including the Pontryagin Minimum Principle

  • introduces recent suboptimal control and simulation-based approximation techniques (neuro-dynamicprogramming), which allow the practical application of dynamic programming to complex problems that involve the dual curse of large dimension and lack of an accurate mathematical model

  • provides a comprehensive treatment of infinite horizon problems in the second volume, and an introductory treatment in thefirst volume


Reviews of Pre-2005 Editions:

Review of Vols. I and II, 3rd Edition:

"In conclusion, the new edition represents a major upgrade of this well-established book. The coverage is significantly expanded, refined, and brought up-to-date. This is the only book presenting many of the research developments of the last 10 years in approximate DP/neuro-dynamic programming/reinforcement learning (the monographs by Bertsekas and Tsitsiklis, and by Sutton and Barto, were published in 1996 and 1998, respectively). The book is a rigorous yet highly readable and comprehensive source on all aspects relevant to DP: applications, algorithms, mathematical aspects, approximations, as well as recent research. It should be viewed as the principal DP textbook and reference work at present.With its rich mixture of theory and applications, its many examples and exercises, its unified treatment of the subject, and its polished presentation style, it is eminently suited for classroom use or self-study."
Panos Pardalos, inOptimization Methods & Software Journal, 2007.

Review of Vol. I, 3rd Edition:

"In addition to being very well written and organized, the material has several special featuresthat make the book unique in the class of introductory textbooks on dynamic programming. Forinstance, it presents both deterministic and stochastic control problems, in both discrete- andcontinuous-time, and it also presents the Pontryagin minimum principle for deterministic systemstogether with several extensions. It contains problems with perfect and imperfect information,as well as minimax control methods (also known as worst-case control problems or games againstnature). I also has a full chapter on suboptimal control and many related techniques, such asopen-loop feedback controls, limited lookahead policies, rollout algorithms, and modelpredictive control, to name a few. ... In conclusion the book is highly recommendable for anintroductory course on dynamic programming and its applications."
Onesimo Hernandez Lerma, inMathematic Reviews, Issue 2006g.

"In conclusion, this book is an excellent source of reference ... Themain strengths of the book are the clarity of theexposition, the quality and variety of the examples, and its coverageof the most recent advances."
Thomas W.Archibald, in IMA Jnl. of Mathematics Applied in Business & Industry

"Here is a tour-de-force in the field."
David K. Smith, inJnl. of Operational Research Society

"By its comprehensive coverage, very good materialorganization, readability of the exposition, includedtheoretical results, and its challenging examples andexercises, the reviewed book is highly recommendedfor a graduate course in dynamic programming or forself-study. It is a valuable reference for control theorists,mathematicians, and all those who use systems and control theory in theirwork. Students will for sure find the approach very readable, clear, andconcise. Misprints are extremely few."
Vasile Sima, in SIAM Review

"In this two-volume work Bertsekas caters equally effectively totheoreticians who care for proof of such concepts as theexistence and the nature of optimal policies and topractitioners interested in the modeling and the quantitative andnumerical solution aspects of stochastic dynamic programming."
Michael Caramanis, in Interfaces

"The textbook by Bertsekas is excellent, both as a reference for thecourse and for generalknowledge. It is well written, clear and helpful"
Student evaluation guide for the Dynamic Programming and StochasticControl course at theMassachusetts Institute of Technology

The author is McAfee Professor of Engineering at theMassachusetts Institute of Technology and a member of the prestigious US NationalAcademy of Engineering. He is the recipient of the 2001 A. R. Raggazini ACC education award, the 2009 INFORMS expository writing award, the 2014 Kachiyan Prize, the 2014 AACC Bellman Heritage Award, and the 2015 SIAM/MOS George B. Dantsig Prize.He has been teaching the material included in this bookin introductory graduate courses for more than forty years.

Supplementary Material:

The material listed below can be freely downloaded, reproduced, anddistributed.

[Return to Athena Scientific Homepage]
Dynamic Programming and Optimal Control (2024)

FAQs

Does dynamic programming give optimal solution? ›

It is guaranteed that Dynamic Programming will generate an optimal solution as it generally considers all possible cases and then choose the best. A greedy method follows the problem solving heuristic of making the locally optimal choice at each stage.

What is the role of dynamic programming in optimization? ›

Dynamic programming is an optimization approach that transforms a complex problem into a sequence of simpler problems; its essential characteristic is the multistage nature of the optimization procedure.

What is optimal control system? ›

Optimal control theory is a branch of mathematical optimization that deals with finding a control for a dynamical system over a period of time such that an objective function is optimized. It has numerous applications in science, engineering and operations research.

What is dynamic programming in decision making? ›

Dynamic programming (DP) is a powerful tool for solving a wide class of sequential decision-making problems under uncertainty. In principle, it en- ables us to compute optimal decision rules that specify the best possible decision in any situation.

What are the benefits of dynamic programming? ›

What are the advantages of dynamic programming? Dynamic programming (also known as dynamic optimization) is a popular method for solving a complex problem by breaking it down into a collection of simpler subproblems, solving each of those subproblems just once, and storing their solutions.

Why do we use dynamic programming? ›

Dynamic programming is used where we have problems, which can be divided into similar sub-problems, so that their results can be re-used. Mostly, these algorithms are used for optimization. Before solving the in-hand sub-problem, dynamic algorithm will try to examine the results of the previously solved sub-problems.

What is dynamic programming in simple words? ›

Dynamic programming is nothing but recursion with memoization i.e. calculating and storing values that can be later accessed to solve subproblems that occur again, hence making your code faster and reducing the time complexity (computing CPU cycles are reduced).

What are the features of dynamic programming? ›

Dynamic programming has two important characteristics, which include:
  • Subproblems overlap. Subproblems are smaller variations of an original, larger problem. ...
  • Substructure has optimal property.

Which problems can be solved using dynamic programming? ›

Following are the top 10 problems that can easily be solved using Dynamic programming:
  • Longest Common Subsequence.
  • Shortest Common Supersequence.
  • Longest Increasing Subsequence problem.
  • The Levenshtein distance (Edit distance) problem.
  • Matrix Chain Multiplication.
  • 0–1 Knapsack problem.
  • Partition problem.
  • Rod Cutting.

What are the advantages of optimal control? ›

There are two main advantages of the method just described. One is that it can handle very general objective functions; the objective function need not be quadratic and need not even be additive across time. The second is that the method is extremely easy to use.

What are the types of optimal control problem? ›

We describe the specific elements of optimal control problems: objective functions, mathematical model, constraints. It is introduced necessary terminology. We distinguish three classes of problems: the simplest problem, two-point performance problem, general problem with the movable ends of the integral curve.

Is optimal control important? ›

To understand the link between Q and R, and closed loop system performance, you should play around both analytically and numerically with a one dimensional problem, i.e., with a system that has a single state. Optimal control is important because of the properties it naturally brings to the control action.

Has dynamic programming improve decision-making? ›

Dynamic programming (DP) is a powerful tool for solving a wide class of sequential decision-making problems under uncertainty. In principle, it enables us to compute optimal decision rules that specify the best possible decision in any situation.

How dynamic programming obtains principle of optimality? ›

Dynamic programming computes its solution bottom up by synthesizing them from smaller subsolutions, and by trying many possibilities and choices before it arrives at the optimal set of choices. There is no a priori litmus test by which one can tell if the Greedy method will lead to an optimal solution.

How do you use dynamic programming? ›

My Dynamic Programming Process
  1. Step 1: Identify the sub-problem in words. ...
  2. Step 2: Write out the sub-problem as a recurring mathematical decision. ...
  3. Step 3: Solve the original problem using Steps 1 and 2. ...
  4. Step 4: Determine the dimensions of the memoization array and the direction in which it should be filled.
31 Jul 2017

Why is dynamic programming called dynamic? ›

The word dynamic was chosen by Bellman to capture the time-varying aspect of the problems, and because it sounded impressive. The word programming referred to the use of the method to find an optimal program, in the sense of a military schedule for training or logistics.

What are some examples of dynamic programming algorithms? ›

The standard All Pair Shortest Path algorithms like Floyd-Warshall and Bellman-Ford are typical examples of Dynamic Programming.

What is dynamic programming model? ›

Dynamic programming is a mathematical modeling theory that is useful for solving a select set of problems involving a sequence of interrelated decisions. Dynamic programming provides a systematic means of solving multistage problems over a planning horizon or a sequence of probabilities.

Is dynamic programming used in real life? ›

Dynamic programming is applicable in graph theory; game theory; AI and machine learning; economics and finance problems; bioinformatics; as well as calculating the shortest path, which is used in GPS.

Which algorithm uses dynamic programming approach? ›

Algorithms that use dynamic programming (from wikipedia)

Beat tracking in Music Information Retrieval. Stereo algorithms for solving the Correspondence problem used in stereo vision. The Bellman-Ford algorithm for finding the shortest distance in a graph. Some approximate solution methods for the linear search problem.

Why is dynamic programming so hard? ›

Dynamic programming (DP) is as hard as it is counterintuitive. Most of us learn by looking for patterns among different problems. But with dynamic programming, it can be really hard to actually find the similarities. Even though the problems all use the same technique, they look completely different.

Why is dynamic programming better than recursion? ›

Dynamic Programming takes care of the above problem by storing already calculating values and using them as and when required in future. In DP we store the value of overlapping sub problem so the time complexity decreases in comparison to recursion.

Who invented dynamic programming? ›

Richard E. Bellman (1920-1984) is best known as the father of dynamic programming. He was the author of many books and the recipient of many honors, including the first Norbert Wiener Prize in Applied Mathematics.

How many types of dynamic programming are there? ›

There are two approaches to dynamic programming: Top-down approach. Bottom-up approach.

How do you know if a problem is dynamic programming? ›

Dynamic programming is definitionally about two things:
  1. Optimal substructure. Larger solutions can be derived from smaller solutions; solving is not bidirectional.
  2. Overlapping subproblems. The small solutions will be reused many times.
28 Nov 2013

When would you not use dynamic programming? ›

You shouldn't use dynamic programming if it doesn't work. Here are a few examples: linear programming, linear equations, maximum matching, maximum flow. Is longest path an instance where you can or cannot use DP?

Which algorithm design technique does not give optimal solution? ›

The greedy algorithm doesn't always guarantee the optimal solution however it generally produces a solution that is very close in value to the optimal.

Which algorithm does not yield any optimal solution? ›

However, in many problems, a greedy strategy does not produce an optimal solution. For example, in the animation below, the greedy algorithm seeks to find the path with the largest sum. It does this by selecting the largest available number at each step.

Is it true for some optimization problems dynamic programming will overkill? ›

For many optimization problems, using dynamic programming to determine the best choices is overkill; simpler, more efficient algorithms will do.

Which problems can be solved using dynamic programming? ›

Following are the top 10 problems that can easily be solved using Dynamic programming:
  • Longest Common Subsequence.
  • Shortest Common Supersequence.
  • Longest Increasing Subsequence problem.
  • The Levenshtein distance (Edit distance) problem.
  • Matrix Chain Multiplication.
  • 0–1 Knapsack problem.
  • Partition problem.
  • Rod Cutting.

Which is the most optimal solution algorithm? ›

A greedy algorithm, as the name suggests, always makes the choice that seems to be the best at that moment. This means that it makes a locally-optimal choice in the hope that this choice will lead to a globally-optimal solution.

How do you choose between greedy and dynamic programming? ›

But how to choose between these two? Well, if the problem holds the Greedy Choice Property, its best to solve it using the Greedy Approach. And if it has overlapping subproblems, solve it with Dynamic Programming.

What is the difference between dynamic programming and greedy method? ›

Greedy programming is the approach that tries to solve a problem as quickly as possible, while dynamic programming is the approach that tries to solve a problem as efficiently as possible. In greedy programming, you try to solve a problem as quickly as possible by trying to find the smallest possible solution.

Is greedy algorithm optimal? ›

Greedy algorithms are simple instinctive algorithms used for optimization (either maximized or minimized) problems. This algorithm makes the best choice at every step and attempts to find the optimal way to solve the whole problem.

What are the characteristics of Dynamic Programming? ›

Dynamic programming has two important characteristics, which include:
  • Subproblems overlap. Subproblems are smaller variations of an original, larger problem. ...
  • Substructure has optimal property.

Why greedy best first search algorithm is not optimal? ›

In the greedy BFS algorithm, all nodes on the border (or fringe or frontier) are kept in memory, and nodes that have already been expanded do not need to be stored in memory and can therefore be discarded. In general, the greedy BFS is also not optimal, that is, the path found may not be the optimal one.

Top Articles
Latest Posts
Article information

Author: Dan Stracke

Last Updated:

Views: 6081

Rating: 4.2 / 5 (43 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Dan Stracke

Birthday: 1992-08-25

Address: 2253 Brown Springs, East Alla, OH 38634-0309

Phone: +398735162064

Job: Investor Government Associate

Hobby: Shopping, LARPing, Scrapbooking, Surfing, Slacklining, Dance, Glassblowing

Introduction: My name is Dan Stracke, I am a homely, gleaming, glamorous, inquisitive, homely, gorgeous, light person who loves writing and wants to share my knowledge and understanding with you.