KTH /
Teknikvetenskap
/
Matematik
/
Optimeringslära och systemteori
SF2852 Optimal Control, 2017, 7.5hp.
Next time this course will be given is during fall 2018 (period 1).
We will answer questions about the exam and hand out homeworks on
Tuesday May 23, 13.0014.00. Room 3550, Lindstedtsv 25.
News: Seminar and master thesis project

Thank you David Anisi at ABB Oslo for giving an interesting presentation on MPC and industry applications in ABB.
Please contact David Anisi if you are interested in doing a master thesis project at ABB.
 Thank you Tobias Ryden and Anders Blomqvist at Lynx for giving an interesting presentation on trend following models and optimal control in futures trading.
Please contact Anders Blomqvist if you are interested in doing a master thesis project at Lynx.
Some material from the lectures can be found on this
page
Course home page address:
http://www.math.kth.se/optsyst/grundutbildning/kurser/SF2852/.
Examiner and lecturer:
Johan Karlsson,
email: johan.karlsson@math.kth.se,
room 3550,
Lindstedtsv 25,
phone: 790 8440
Tutorial exercises:
Silun Zhang,
silunz@kth.se,
room 3736,
Lindstedtsv 25,
phone: 790 6294.
Introduction Optimal control is the problem of
determining the control function for a dynamical system to minimize a
performance index. The subject has its roots in the calculus of
variations but it evolved to an independent branch of applied
mathematics and engineering in the 1950s. The rapid development of the
subject during this period was due to two factors. The first are two
key innovations, namely the maximum principle by L. S. Pontryagin and
the dynamic programming principle by R. Bellman. The second was the
space race and the introduction of the digital computer, which led to
the development of numerical algorithms for the solution of optimal
control problems. The field of optimal control is still very active
and it continues to find new applications in diverse areas such as
robotics, finance, economics, and biology.
Course goals
The goal of the course is to provide an understanding of the main
results in optimal control and how they are used in various
applications in engineering, economics, logistics, and biology. After
the course you should be able to
 describe how the dynamic programming principle works (DynP) and apply it to discrete optimal control problems over finite and infinite time horizons,
 use continuous time dynamic programming and the associated
HamiltonJacobiBellman equation to solve linear quadratic control
problems,
 use the Pontryagin Minimum Principle (PMP) to solve optimal
control problems with control and state constraints,
 use Model Predictive Control (MPC) to solve optimal control
problems with control and state constraints. You should also be able
understand the difference between the explicit and implicit MPC
control and explain their respective advantages,
 formulate optimal control problems on standard form from
specifications on dynamics, constraints and control objective. You
should also be able to explain how various control objectives affect
the optimal performance,
 explain the principles behind the most standard algorithms for
numerical solution of optimal control problems and use Matlab to solve
fairly simple but realistic problems.
For the highest grade you should be able to integrate the tools you have learnt during the course and apply them to more complex problems. In particular you should be able to
 explain how PMP and DynP relates to each other and know their
respective advantages and disadvantages. In particular, you should be
able to describe the difference between feedback control versus open
loop control and you should use be able to compare PMP and DynP with
respect to computational complexity.
 explain the mathematical methods used to derive the results and
combine them to derive the solution to variations of the problems
studied in the course.
Course topics
Dynamic Programming Discrete
dynamic programming, principle of optimality,
HamiltonJacobiBellman equation, verification theorem.
Pontryagin minimum principle Several versions of
Pontryagin Minimum Principle (PMP) will be discussed.
Infinite Horizon Optimal Control Optimal control over an
infinite time horizon, stability, LQ optimal control.
Model Predictive Control Explicit and implicit model
predictive control.
Applications Examples from economics, logistics,
aeronautics, and robotics will be discussed.
Computational Algorithms The most common methods for numerical
solution of optimal control problems are presented.
Course material
The required course material consists of the following lecture and
exercise notes on sale at Kårbokhandeln.
[Lecture notes],
[Exercise notes].
 Ulf Jönsson et. al. Optimal Control, Lecture notes, KTH.
 Peter Ögren et. al. Exercise Notes on Optimal Control , KTH.

Supplementary material will
be handed out during the course.
Prerequisites
The student is required to have passed the course optimization SF1841
or a course with similar content. The student should hence be familiar
with concepts and theory for optimization: linear, quadratic, and
nonlinear optimization; optimality conditions, lagrangian relaxation
and duality theory. Familiarity with systems theory and state space is
not required but recommended.
Course requirements
The course requirements consist of an obligatory final written
examination. There are also three optional homework sets that we
strongly encourage you to do. The homework sets give you bonus credits
in the examination.
PhD course SF3852
It is possible to read this course as a PhD level course. For this, an
extra project and at least a B on the exam is required. If you are
interested in this option, email me that you would like to take this course and include a project that you are interested in working on
(at the latest April 17).
Homework sets
Homework set 0: This homework set provides some review of systems theory and optimization as well as a Matlab exercise that use the toolbox CVX. I recommend that everyone does problem 2. Homework set 0 does not give bonus points to the exam, however, you can get feedback on your solutions if you hand it in before the deadline.
Each of the homework sets 13 consists of threefive problems. The first twothree problems are methodology problems where you practice on the topics of the course and apply them to examples. Among the last two problems, one will focus on more theoretical nature and helps you to understand the mathematics behind the course. It can, for example, be to derive an extension of a result in the course or to provide an alternative proof of a result in the course. The other will focus on implementation and the student is required to make a Matlab program that solve a problem numerically.
Each successfully completed homework set gives you maximally 2 bonus points for the exam. The bonus is only valid during the year it is acquired. The exact requirements will be posted on each separate homework set. The homework sets will be posted on the homepage roughly two weeks before the deadline. You may email the solutions to the homework. If you choose to do so, the solution should be submitted as one pdf prepared in LaTeX or comparable software.
 Homework 0: This homework set covers some basic systems theory and optimization. (Due April 3, at 13.14).
Here is the first homework set:
[pdf].
 Homework 1: This homework set covers problems on discrete dynamic programming and model predictive control. (Due on April 20, at 13.14).
Here is the first homework set:
[pdf].
 Homework 2: This homework covers computational methods for
solving optimal control problems. Random groups will be assigned for this
project. Please sign up on [Form] by April 18.
A report should be handed in
by May 9, at 10.14.
Results should then be presented in seminar form on Thursday May 11, at
8.15, and attendance is mandatory for receiving the bonus points.
[pdf]
 Homework 3: This homework set covers problems on PMP and related
topics (Due on May 16, at 10.14).
[pdf]
Matlab code
Here are some Matlab routines that are used in the excerise notes. You may use this for the solution of your homeworks.
Written exam
You may use Beta Mathematics Handbook and the following formula sheet
(pdf) .
The exam will consist of five problems that give maximally 50
points. These problems will be similar to those in the homework
assignments and the tutorial exercises. The preliminary grade levels
are distributed according to the following rule, where the total score
is the sum of your exam score and maximally 6 bonus points from the
homework assignments (max credit is 56 points). These grade limits can
only be modified to your advantage.
Total credit (points)  Grade


4556  A
 3944  B
 3338  C
 2832  D
 2527  E
 2324  FX

The grade FX means that you are allowed to make an appeal, see below.

[info,
room, etc.].

You need to register for the exam.
Information on how to register for the exam can be found
here.
Appeal
If your total score (exam score + maximum 6 bonus points from the
homework assignments and the computational exercises) is in the range 2324
points then you are allowed to do a complementary examination for
grade E. In the complementary examination you will be asked to solve
two problems on your own. The solutions should be handed in to the
examiner in written form and you must be able to defend your solutions
in an oral examination. Contact the examiner no later than three weeks
after the final exam if you want to do a complementary exam.
Course evaluation
At the end of the course you will be asked to complete a course
evaluation form online.
Schedule for 2017
Type  Day  Date  Time  Room  Topic  Content
 L1  Monday  20170320  13:00  Q21  Introduction Discrete dynamic programming  Introduction slides Lecture notes page 1723
 L2  Tuesday  20170321  10:00  D34  Discrete dynamic programming Discrete PMP  Knapsack problem LQ problem. Pages 2224,
 E1  Thursday  20170323  08:00  E31  Discrete dynamic programming Linear systems
 L3  Monday  20170327  13:00  Q21  Discrete dynamic programming Infinite time horizon  Pages 2426, 32
 L4  Tuesday  20170328  10:00  D34  Model predictive control  MPC article (handed out in class)
 L5  Thursday  20170330  08:00  D34  Dynamic programming
 Pages 3539
 E2  Monday  20170403  13:00  D34  Model predictive control
 L6  Tuesday  20170404  10:00  D34  Dynamic programming and review  Pages 3944 Pages 57
 E3  Thursday  20170406  08:00  D34  Dynamic programming
 L7  Tuesday  20170418  10:00  D34  Mathematical preliminaries (ODE theory etc)  Pages 4754
 L8  Thursday  20170420  08:00  E51  Pontryagins minimum principle (PMP) (using small variations)  Pages 5962 and a basic example
 E4  Thursday  20170420  13:00  E31  PMP I
 L9  Monday  20170424  13:00  D34  PMP (control constraints)  Examples on pages 6263, 7475
 L10  Tuesday  20170425  10:00  V23  PMP (optimal control to a manifold)  Pages 7181
 E5  Thursday  20170427  08:00  D34  PMP II: Time optimal control
 L11  Tuesday  20170502  10:00  D34  PMP (generalizations)
 Pages 8188
 L12  Thursday  20170504  08:00  E31  PMP applications
 Pages 9096
 E6  Thursday  20170504  13:00  E31  PMP III
 L13  Monday  20170508  13:00  E31  PMP and infinite time horizon
 Pages 97109
 E7  Tuesday  20170509  10:00  D34  PMP IV
 L14  Thursday  20170511  08:00  E31  Computational methods Seminar (student presentation)
 Group discussions HW #2 Presentation by Lynx
 L15  Monday  20170515  13:00  D34  Topics: Infinite time horizon optimal control
 Presentation by ABB Example and page 111
 E8  Tuesday  20170516  10:00  D34  Infinite time horizon optimal control and Review: old exams
 L16  Thursday  20170518  08:00  L51  Review  LQ example Review
 Exam  Wednesday  20170531  08:00  Q34, Q36, V01, V1112, V2123, V3235  Exam

Welcome!
Last years exams can be found here:
2017
exam and
solutions
exam and
solutions
2016
exam and
solutions
exam and
solutions
2015
exam and
solutions
2014
exam and solutions
2013
exam a
solutions a
2012
exam b
solutions b
exam a
solutions a
2011
exam b
solutions b
exam a
solutions a
