16-745: Dynamic Optimization
Instructor: Chris Atkeson, cga at cmu
TA: Sasanka Nagavalli snagaval at andrew
MW 3-4:20 NSH 3002
Events of Interest
Last year's course
Jan 12: Introduction to the course.
Goal: Introduce course.
This years emphases is TO BE DETERMINED
Low level parallelization of quadratic programming (QP) across N cores on one
Jan 12: Function Optimization Example
Goal: Introduce you to a useful tool, MATLAB
and its optimization subroutines, and show you how to use them on an example.
Robotics: redundant inverse kinematics.
Using Matlab's fminsearch and fminunc.
Using Matlab's fminsearch and fminunc, with
Using Matlab's fmincon.
Relationship of Jacobian approach to gradient descent.
Function optimization using
order gradient methods.
Goal: Review gradient descent approaches.
A nice chapter on function optimization techniques:
Numerical Recipes in C, chapter 10
(2nd or 3rd edition, 2nd edition is electronically available for free
under Obsolete Versions):
Minimization or Maximization of Functions,
This material from any other numerical methods book is also fine.
software list 1,
conjugate gradient v2,
quasi-Newton/variable metric methods, and
Jan 19: No Class
Jan 21: Non-gradient ("derivative-free") function optimization methods:
Goal: Review non-gradient approaches.
local unimodal sampling,
Nelder Mead/Simplex/Amoeba method,
fit surfaces (for example
Response Surface Methodology (RSM),
Memory-based Stochastic Optimization, and
Derivative-free optimization: A review of algorithms and comparison of software implementations by Luis Miguel Rios and Nikolaos V. Sahinidis,
Book: Introduction to Derivative-Free Optimization
Covariance Matrix Adaptation Evolution Strategy.
See also Hansen web page.
Jan 26: Constraints.
Soft/hard constraints, penalty functions,
Augmented Lagrangian method,
Interior point methods vs. Simplex methods vs. soft constraint methods,
Quadratic Programming and
Sequential quadratic programming,
Jan 28: Automatic differentiation
Jan 28: Dynamics and Numerical Integration
Continous time, discrete time. Euler integration, Forward and inverse dynamics. Linearization.
Feb x: Formulating trajectory optimization as function optimization.
Examples of formulating a trajectory optimization problem
as a function optimization problem:
Case Studies In Trajectory Optimization: Trains, Planes, And Other
Robert J. Vanderbei
Example use of AMPL
A free trial version of AMPL is available from here.
AMPL is also available for remote use through the Neos Server.
Click on SNOPT/[AMPL Input] under Nonlinearly Constrained Optimization.
Example use of Matlab: pend1-x-u,
Spacetime Optimization: Witkin paper text
Witkin paper figures
Use of splines in trajectory optimization.
Cubic Hermite spline.
Policy optimization I: Use function optimization.
What is a policy?
Known in machine learning/reinforcement learning as policy search or refinement, ...
See examples in CMA-ES section for policy optimization.
Feb x: Ways to robustify function optimization:
Problems: How choose method?, more of an art than a science, local minima, bad answers, discontinuities, redundant/rank deficient constraints,
bad scaling, no formulas for derivatives, you are lazy, computational cost.
Techniques: Levenberg Marquardt,
scaling and preconditioning, regularize parameters, soft constraints,
Paper on continuation methods,
Hand of God, allow constraint violations, add extra constraints,
Linear Quadratic Regulator,
Differential Dynamic Programming
Feb x: Receding Horizon Control (a.k.a. Model Predictive Control (MPC)).
Feb x: Ways to reduce the curse of dimensionality
Feb x: Policy Optimization II: Optimization using model-based gradients
Feb x: Robustness using Linear Matrix Inequalities
Robustness to parametric uncertainty in the linear(ized) model.
I can't find a good reference on robustness using linear matrix inequalities,
but here is a tutorial on LMIs
Feb x: Robustness
Robustness to random disturbances, varying initial conditions, parametric
model error, structural modeling error such as
high frequency unmodelled dynamics,
and model jumps (touchdown and liftoff during walking, for example).
Monte Carlo trajectory/policy optimization.
Feb x: Robustness: Policy Optimization with Multiple Models.
Monte-Carlo, DP, and DDP approaches to Multiple Models.
Gaussian Propagation (like Kalman Filter),
Unscented (like Unscented Filter), Second Order Kalman Filter (See Kendrick below).
Review of Gaussians slides
State estimation slides
Matlab Kalman filter example
minimum jerk trajectory subroutine.
Example mobile robot Kalman filter slides
Information state DP.
March x: Local Approaches to Dual Control/Stochastic DDP
Information state trajectory optimization.
Stochastic Control for Economic Models,
David Kendrick, Second Edition 2002.
March x: Robustness and state estimation:
Example of bad interactions, Loop Transfer Recovery (LTR),
A paper on the topic,
Policy optimization approaches.
March 9-11: No Class
March x: Other ways in trajectory optimization to handle contact:
March x: Avoiding obstacles: CHOMP
March x: Sampling based methods: RRT,
Random Sampling DP
March x: A*-like algorithms: R*
March x: Reinforcement Learning: Model free policy optimization.
Kober, J.; Peters, J. (2011). Policy Search for Motor Primitives in Robotics, Machine Learning, 84, 1-2, pp.171-203
March x: Comparison of various RL methods: CMA-ES, CEM, PI2.
Freek Stulp and Olivier Sigaud. Path Integral Policy Improvement with Covariance Matrix Adaptation. In Proceedings of the 29th International Conference on Machine Learning (ICML), 2012.
March x: Adaptive Control
March x: Learning From Demonstration
April x: Inverse Optimal Control
Sergey Levine, Vladlen Koltun. Continuous Inverse Optimal Control with Locally Optimal Examples. ICML 2012
Trajectory optimization based on integrating the dynamics:
calculus of variations,
Pontryagin's minimum principle,
multiple shooting methods,
Learning during optimization
Apr. 27: Project presentations
Apr. 28: Project presentations
May. xx: Final Projects Due
Learning Heuristic Functions
How do GPUs and other forms of SIMD parallelism affect optimization
Assignment 0 (Due Jan. 18): Send CGA email:
Who are you?
Why are you here?
What research do you do?
Describe any optimization you have done (point me to papers or
web pages if they exist).
Any project ideas?
What topics would you especially like the course to cover?
Be sure your name is obvious in the email, and you mention the course
name or number. I teach more than one course, and a random email from
firstname.lastname@example.org is hard for me to process.