2 Optimization
”The great watershed in optimization is not between linearity and nonlinearity, but convexity and nonconvexity”
R. Tyrrell Rockafellar
The purpose of this chapter is to provide some background on the nonlinear programming (NLP) problem. Indeed, an exhaustive discussion of both theoretical and practical aspects
of nonlinear programming can be the subject matter of an entire book.
There are several reasons for studying nonlinear programming in an optimal control class:
-
anyone interested in optimal control should know about a number of fundamental results in nonlinear programming; in fact, as optimal control problems are optimization problems in (infinite-dimensional) functional spaces while NLP
problems are optimization problems in Euclidean spaces, optimal control can be seen as a generalization of nonlinear programming;
-
NLP techniques are used routinely and are particularly efficient in solving optimal control problems (in the case of a discrete control problem, i.e. when the controls are exerted at discrete points, the problem can be directly
stated as a NLP problem; in a continuous control problem, on the other hand, i.e. when the controls are functions to be exerted over a prescribed planning horizon, an approximate solution can be found by solving a NLP problem).