### Prof. Dr. Moritz Diehl

The course’s aim is to give an introduction into numerical methods for the solution of optimal control problems in science and engineering. The focus is on both discrete time and continuous time optimal control in continuous state spaces. It is intended for a mixed audience of students from mathematics, engineering and computer science.

The course covers the following topics: Introduction to Dynamic Systems and Optimization - Rehearsal of Numerical Optimization - Rehearsal of Parameter Estimation - Discrete Time Optimal Control - Dynamic Programming - Continuous Time Optimal Control - Numerical Simulation Methods - Hamilton-Jacobi-Bellmann Equation - Pontryagin and the Indirect Approach - Direct Optimal Control - Differential Algebraic Equations - Periodic Optimal Control - Real-Time Optimization for Model Predictive Control.

The lecture (6 ECTS) is accompanied by intensive weekly computer exercises (based on MATLAB) and a project in the last third of the semester. The project (3 ECTS), which is obligatory for students of mathematics but optional for students of engineering, consists in the formulation and implementation of a self-chosen optimal control problem and numerical solution method, resulting in documented computer code, a project report, and a public presentation. It is strongly recommended to participate in both lecture and project.

**Lecturer: **Prof. Dr. Moritz Diehl

**Lecture rooms and times:** Monday and Wednesday, 14:00 -16:00, HS II, Albertstrasse 23b

**Assignments:** Tuesday 16:00 - 18:00, Georges-Koehler-Allee ~~074, 00 019 MST-Pool~~ 101, SR 01-009/13 (Exercise room changed! See announcements below)

**Tutors:** Andrea Zanelli (andrea.zanelli(at)imtek.uni-freiburg.de), Dimitris Kouzoupis, Dang Doan

**Question and answer session: **Tuesday, 14:00-16:00, Georges-Koehler-Allee 102-01

**Literature:**

1) Manuscript of Numerical Optimal Control by M. Diehl and S. Gros (last update 17.05.2017)

2) Biegler, L. T., Nonlinear Programming, SIAM, 2010

3) Betts, J., Practical Methods for Optimal Control and Estimation Using Nonlinear Programming, SIAM, 2010

**Recordings:**

Lecture 1 - Introduction (Not recorded)

Lecture 2 - Chapter 1.2 *Continuous time Systems* to Chapter 2.1 *Local Convergence Rates*

Lecture 3 - Chapter 2.2 *Local Contraction* to Chapter 2.5 *Globalization*

Lecture 4 - Chapter 3 *Nonlinear Optimization* to Chapter 3.2 *First Order Optimality Conditions**
--note: in Lecture 4 the microphone's battery died at the end of the lecture, so the last 10 minutes are mute.*

Lecture 5 - Chapter 3.3

*Second Order Optimality Conditions*to Chapter 4.1

*Equality Constraint Optimization*

Lecture 6 - Chapter 3.3

*Second Order Optimality Conditions (recall)*to Chapter 4.2

*Local Convergence of Newton-Type Methods*

Lecture 7 - Chapter 4.3

*Inequality Constrained Optimization*to Chapter 4.4

*Globalisation Strategies*

Lecture 8 - Chapter 5

*Derivatives*to Chapter 5.4

*Algorithmic Differentiation Software*

Lecture 9 - Chapter 7

*Discrete Optimal Control*to Chapter 7.3

*Sparsity Structure*

Lecture 10 - Chapter 7.3

*Sparsity Structure*

Lecture 11 - Chapter 8

*Dynamic Programming*to Chapter 8.3

*Infinite Horizon Problems*

Lecture 12 - Chapter 8.3

*Infinite Horizon Problems*to Chapter 8.8

*A Discrete Time Minimum Principle*

Lecture 13 - Chapter 8.9

*Differential Dynamic Programming*

Lecture 14 - Chapter 9

*Continuous Time Optimal Control*to Chapter 10.2

*Implicit Integration*

Lecture 15 - Chapter 10.2

*Implicit Integration*to end Chapter 10

Lecture 16 - Talk by Michael Neunert and Chapter 11

*Hamilton Jacobi Bellman Equation*

Lecture 17 - Chapter 12

*Pontryagin and the Indirect Approach*

Lecture 18 - Chapter 13

*Direct Approaches*

Lecture 19 - Chapter 15

*Model Predictive Control*

Lecture 20 - Chapter 16

*Parametric Nonlinear Optimization*

**Announcements:**

*12.7.2017 - No lectures on July 12 and July 17, 2017 - (unsupervised project work can take place in this time)*

*25.04.2017 - Due to the high number of participants the room for exercise sessions has been changed to Georges-Koehler-Allee 101, SR 01-009/13.*

*17.06.2017 - There will be no lectures on Monday 19.06 and Wednesday 21.06. However, the exercise session will take place regularly on Tuesday 20.06 at 16:00. The exercise sheet will be uploaded to this page on Monday 19.06 at 14:00. *

*21.07.2017 - Project deadline postponed to August 17.*

*24.07.2017 - Since this is the first time that the course is taught, there are no past exams available. However, the following two past exams from different courses contain some questions that might be similar to the one that will be asked: *

https://www.syscop.de/files/2015ss/optcont/OCE-exam2014.pdf

https://www.syscop.de/files/2015ws/numopt/exam-release.pdf

*Notice that the scope and topics covered in the two courses are different than for the present course.*

*25.07.2017 - Since the problem with project enrollment through HiSinOne seems to persist for many people, the following course code has to be provided to the Prüfungsamt in order to be able to register:*

**Numerical Optimal Control - Project |** 11LE50Pro-5250 | Lehrveranstaltung

*21.08.2017 - Project presentations scheduled on Friday 25.08.2017 at 14:00 in room * 01-012, Georges-Köhler-Allee 102.

*13.09.2017 - Final Exam: the information provided in Exercise 0 still holds (in particular, it is indeed possible to use four A4 pages of notes).*

*21.09.2017 - Final Exam (cont'd): for those of you who have not found this information in HISinOne, the exam will take place on September 22 at 14:00 in room HS 00 026 µ - SAAL (*Georges-Köhler-Allee 101, 79110 Freiburg*)*

**Exercises:**

- Exercise 0 - General Information and Environment Setup
- Exercise 1 - Initial Value Problems
- Exercise 2 - Nonlinear Optimization and Newton-type Methods - (ex2_code)
- Exercise 3 - Equality Constrained Optimization - (ex3_code)
- Exercise 4 - Interior-Point Methods - (ex4_code)
- Exercise 5 - Algorithmic Differentiation
- Exercise 6 - Optimal Control Formulations
- Exercise 7 - Dynamic Programming - (ex7_code)
- Exercise 8 - Differential Dynamic Programming and Continuous-Time Optimal Control (deadline postponed to Friday 14.07 at 12:00)
- Exercise 9 - Pontryagin's Minimum Principle (deadline postponed by 1 week, July 18 at 12:00)
- Exercise 10 (Bonus) - Model Predictive Control

**Links of interest:**

- Two vacancies in numerical optimal control at Dutch company deltares
- Master theses at Systems Control and Optimization Laboratory
- Open student assistant positions in optimal control software