Topic outline

  • About this course

    This course examines dynamic optimization models; i.e. models that are defined over continuous time, multiple stages, etc. They capture many relevant real-life problems: scheduling, route planning, solving optimal strategies for games, inventory control, investment problems, machine repair, text processing, DNA sequence matching, stopping problems, airplane/rocket flight path optimization, minimum time/effort problems, optimal fishery management, saving/consumption optimization, optimization of water allocation in hyrdrology, optimal feedback controllers for plants and regulator problems and so on.

    The models that are examined are:

    • Optimal control problem. The task is to find a control function that is admissible, i.e. satisfies some control constraints, that minimizes a given cost function, subject to (usually first-order) differential equation constraints.
    • Calculus of variations problem. Find twice continuously differentiable function with given boundary conditions that minimizes an integral functional over a fixed time horizon. The famous example is the Brachistochrone problem, where we seek shortest time curve, or curve of fastest descent, for a ball to slide down under uniform gravitational field. The problem was posed by Johann Bernoulli in 1696, and solved soon after that by Newton.
    • Dynamic Programming (DP) problem. Here the problem is formulated in a form that can be solved numerically using the recursive backward (or forward) dynamic programming algorithm. We will study dynamic, both deterministic and stochastic optimization problems in detail, and derive various DP algorithms for solving them. 

    Course details

    The course consists of 12 lectures, and 12 exercise classes. There are 10 rounds of homework assignment, as well as 10 rounds of student presentation assignments.

    Lecturer: Jonas Tölle, jonas.tolle@aalto.fi

    Assistant: Armando Gutiérrez, armando.gutierrez@aalto.fi

    Teaching: Lectures, exercise classes (contact-teaching)

    Lectures:  Wednesday, 12:15 – 14:00; Thursday, 10:15 – 12:00

    Location: Lecture Hall U5, Otakaari 1, Espoo.

    Exercises: Wednesday, 14:30 – 16:00; Friday, 10:15 – 12:00

    Location: Wednesday 326 (Mechanical Engineering building, Otakaari 4, Espoo), Friday C-hall (Y205), Otakaari 1, Espoo

    Assessment methods: Exam, homework assignments, presentation assignments

    Grading scale: 0–5

    Completing the course gives 5 ECTS credits. See Guide to the Course for more details on how to complete the course.

    Study material: Lecture slides and exercises are based on the material in the following books.

    • D. E. Kirk: Optimal Control Theory. Prentice Hall, 1970 (2004).
    • D. P. Bertsekas: Dynamic Programming and Optimal Control, vol 1 (and vol 2). Athena Scientific, 1995.
    • M. L. Kamien and N. L. Schwartz: Dynamic Optimization - The calculus of variations and optimal control in economics and management, 2nd edition. North Holland, 1991.

    The course books can be found as pdf-versions with a Google search. It is not necessary to read the books, but they can provide additional material for those who are interested. For example, they contain more problems and solutions.

    Language of instruction: English

    Prerequisites: 1st and 2nd year's math, recommended MS-C2105 Introduction to Optimization (or equivalent)

    Mid-term course feedback:

    https://presemo.aalto.fi/dynamicoptimization2023

    Password will be provided in the lecture.

    Weekly schedule (subject to change)

    The lectures and exercises follow the following schedule:
    1. Introduction, calculus of variations, Euler equation (Week 1).
    2. Calculus of variations, transversality conditions (Week 2).
    3. Optimal control (Week 2, Week 3).
    4. Pontryagin minimum principle, infinite time horizon in calculus of variations (Week 3).
    5. Minimum time and control-effort problems (Week 4).
    6. Dynamic Programming (DP), discrete time/state problems (Week 4).
    7. DP applications (Week 5).
    8. Continuous time problem, HJB equation (Week 6).
    9. Discounted problems, numerical methods (self-study).