Aim of this intensive course is to give both theoretical background and hands-on practical knowledge in numerical methods to solve optimal control problems with nonlinear differential equation models. In particular, participants shall become able to formulate and to numerically solve optimal control problems with help of modern computing tools.
Dates and Registration
The summer school on Numerical Optimal Control takes place from 27th July – 7th August 2015. To apply for a place in the course, please fill in the following webform: http://goo.gl/forms/viB7v5Qi1r Registration/application deadline is June 1st, 2015. More information can be found on the Course Announcement Flyer.
Course schedule
>> The detailed program for the course can be found here. <<
Note: for the course registration (where you will receive the welcome package etc), you are kindly invited to arrive between 8:30 and 9:00am on Monday, July 27th.
Social event: hike in the black forest
>> The detailed information for the hike can be found here. <<
! UPDATE for the hikers: a summary can be found here, our group “drone” video here and some extra pictures here !
Course material
>> Your feedback on the Summer School is important for us <<
>> To be informed about future events, you can subscribe to our mailing list here.
Project presentations
The order of project presentations can be found here
>> To upload your PDF slides (max 5 slides, 6 mins presentation): use the folder here <<
>> To provide feedback on the project work and presentation: use the form here <<
Software tools: installation instructions
Mainly, you will need a recent MATLAB installation to which you have access (remotely). It is best if your version is from 2011 or more recent and we will need the Control System and Optimization toolboxes already installed.
In addition, the following tools will be used from MATLAB throughout the course and therefore need to be installed by all participants beforehand. This is the complete list in the order in which we will use these tools in the corresponding exercise sessions (again, please install these before the exercises):
YALMIP – home page, installation instructions (while this website is down, you can clone the git repository here)
qpOASES – home page, installation instructions
FORCES Pro – home page, installation instructions
ECOS – home page, installation instructions
ACADO – home page, installation instructions
MPT3 – home page, installation instructions
Other useful tools for embedded optimization, but not covered in the exercises of this course (incomplete list):
qpDUNES – home page, installation instructions
HPMPC – home page
FiOrdOs – home page, installation instructions
CVXPY – home page, installation instructions
CVXGEN – home page
Exercises: sheets, template files and solutions
- Monday, July 27, 2015
* Exercise 1 on “Nonlinear simulation and LQR”: sheets, templates, solutions with code and feedback
* Exercise 2 on “Dynamic programming”: sheets, templates, solutions with code and feedback - Tuesday, July 28, 2015
* Exercise 3 on “Solving NLPs”: sheets, (no templates), solutions with code and feedback
* Exercise 4 on “Shooting methods”: sheets, templates, solutions with code and feedback - Wednesday, July 29, 2015
* Exercise 5 on “Convex optimization: YALMIP”: sheets, templates, solutions with code and feedback
* Exercise 6 on “Linear MPC using qpOASES”: sheets, templates, solutions with code and feedback - Thursday, July 30, 2015
* Exercise 7 on “Convex optimization: FORCES”: sheets, templates, solutions with code and feedback
* Exercise 8 on “Convex optimization: ECOS”: sheets, templates, solutions with code and feedback - Friday, July 31, 2015
* Exercise 9 on “SQP and Gauss-Newton”: sheets, templates, solutions with code and feedback
* Exercise 10 on “Nonlinear MPC using ACADO codegen”: sheets, templates, solutions with code and feedback - Monday, August 3, 2015
* Exercise 11 on “Explicit MPC using MPT3″: sheets, templates, solutions (part 1, part 2) with code and feedback - Tuesday, August 4, 2015
* Exercise 12 on “ADMM algorithm”: sheets, templates, solutions with code and feedback - Project commitments: here
Lectures: slides, videos and additional material
For downloading the videos please right-click on the links and select “Save link as…”
If you encounter the audio-signal of the videos only on the left channel please playback in mono on your PC (easy with VLC player) or wait 1-2 days after each Video is released. Issue will be fixed on each video after some time.
- Monday, July 27, 2015
* Lectures 1: Introduction, Optimization Overview, Dynamic System Models .
_ _video-stream, video-download
* Lectures 2: Optimal Control Overview , Dynamic Programming.
_ _video-stream Part 1, video-download Part 1
_ _video-stream Part 2, video-download Part 2 - Tuesday, July 28, 2015
8:00 Extra Morning Lecture on Dynamic Programming Details (optional).
_ _video-stream, video-download
* Lecture 3: Newtons Method , Simulation methods.
_ _video-stream, video-download
* Lecture 4: (supplementary Introduction to Unconstrained Optimization) , Introduction to Constrained Optimization , Newton Type Optimization and Sequential Quadratic Programming , Direct Shooting Methods .
_ _video-stream Part 1, video-download Part 1
_ _video-stream Part 2, video-download Part 2 - Wednesday, July 29, 2015
* Lecture 5: Convex Optimization, (supplementary slides, by S. Boyd).
_ _video-stream Part 1, video-download Part 1
_ _video-stream Part 2, video-download Part 2
* Lecture 6: “qpOASES” (Joachim Ferreau)
_ _video-stream, video-download - Thursday, July 30, 2015
* Extra Morning Lecture on Unconstrained Optimization (optional)
_ _video-stream, video-download
*Lecture 7: “Interior Point Methods (FORCES)” (Alexander Domahidi)
_ _video-stream Part 1, video-download Part 1
_ _video-stream Part 2, video-download Part 2
* Lecture 8: “Interior Point Methods (ECOS)” (Alexander Domahidi)
_ _video-stream, video-download - Friday, July 31, 2015
* Lecture 9: “Real-Time Optimization for Nonlinear MPC“
_ _video-stream Part 1, video-download Part 1
_ _video-stream Part 2, video-download Part 2
* Lecture 10: “Real-Time Iterations and ACADO” (with demo)
_ _video-stream, video-download - Monday, August 3, 2015
* Lecture 11: “Explicit MPC“ and “MPT toolbox”
_ _video-stream Part 1, video-download Part 1
_ _video-stream Part 2, video-download Part 2 - Tuesday, August 4, 2015
* Lecture 12: “Splitting methods”
_ _video-stream Part 1, video-download Part 1
_ _video-stream Part 2, video-download Part 2
* Lecture 13: “Splitting methods”
_ _video-stream Part 1, video-download Part 1
_ _video-stream Part 2, video-download Part 2 - Wednesday, August 5, 2015
* Lecture 14: “Block Condensing for qpDUNES”
_ _video-stream Part 1, video-download Part 1
* Lecture 15: “Efficient Methods for Inverse Optimal Control Problems” (H.G. Bock)
_ _video-stream Part 1, video-download Part 1
Recomended books and other links
- A script which covers most contents of the course (and more), is available here: M. Diehl: Optimal Control And Estimation
- Bryson, A., and Ho, Y. Applied optimal control: optimization, estimation, and control. Blaisdell, Waltham, MA, 1969.
- Biegler, L. T. Nonlinear Programming. MOS-SIAM Series on Optimization. SIAM, 2010.
- Betts, J. Practical Methods for Optimal Control and Estimation Using Nonlinear Programming, 2nd ed. SIAM, 2010.
- Book “Model Predictive Control” by J. Rawlings and D. Mayne