CDS 110b: Optimal Control
CDS 110b | Schedule | Project | Course Text |
This lecture provides an overview of optimal control theory. Beginning with a review of optimization, we introduce the notion of Lagrange multipliers and provide a summary of the Pontryagin's maximum principle.
- Lecture notes: optimal control
- Homework 2 (due 22 Jan @ 5 pm): problems 2.3, 2.4a-d, 2.6
References and Further Reading
- R. M. Murray, Optimization-Based Control. Preprint, 2008: Chapter 2 - Optimal Control
- Excerpt from LS95 on optimal control - This excerpt is from Lewis and Syrmos, 1995 and gives a derivation of the necessary conditions for optimaliity. A few pages have been left out from the middle that contained some additional examples (which you can find in similar books in the library, if you are interested). Other parts of the book can be searched via Google Books and purchased online.
- Notes on Pontryagin's Maximum Principle - these come from a set of lecture notes on optimization and control by Richard Weber at Cambridge University. The notes are based on dynamic programming (DP) and uses a slightly different notation than we used in class.
Frequently Asked Questions
Q: In Problem 2.4d, are the boundary conditions for the differentially-flat trajectory correct?
Please ignore the boundary conditions given in part 2.4d for the differentially-flat trajectory and instead use x(0)=1 for the initial condition and x(1)=0 for the condition at final time t=1. Moreover, use c=100 instead of c=1. Note: the x(tf) of the optimal solution won't be exactly 0, but will be close enough for the intent of this problem.
Luis Soto, 21 Jan 08
Q: In problem 2.4(d) of the homework, to what positive value should the parameter b be set?
Use b = 1 for part d when solving for and comparing the two trajectories found symbolically in previous parts.
Julia Braman, 18 Jan 08
Q: In the example on Bang-Bang control discussed in the lecture, how is the control law for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u} obtained?
Pontryagin's Maximum Principle says that Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u} has to be chosen to minimise the Hamiltonian Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H(x,u,\lambda)} for given values of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \lambda} . In the example, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H = 1 + ({\lambda}^TA)x + ({\lambda}^TB)u} . At first glance, it seems that the more negative Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u} is the more Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H} will be minimised. And since the most negative value of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u} allowed is Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle -1} , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u=-1} . However, the co-efficient of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u} may be of either sign. Therefore, the sign of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u} has to be chosen such that the sign of the term Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle ({\lambda}^TB)u} is negative. That's how we come up with Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u = -sign({\lambda}^TB)} .
Shaunak Sen, 12 Jan 06
Q: Notation question for you: In the Lecture notes from Wednesday, I'm assuming that Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle T} is the final time and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle T} (superscript T) is a transpose operation. Am I correct in my assumption?
Yes, you are correct.
Jeremy Gillula, 07 Jan 05