Starting with illustrative real-world examples, this book exposes in a tutorial way algorithms for numerical optimization: fundamental ones (Newtonian methods, line-searches, trust-region, sequential quadratic programming, etc.), as well as more specialized and advanced ones (nonsmooth optimization, decomposition techniques, and interior-point methods). Most of these algorithms are explained in a detailed manner, allowing straightforward implementation. Theoretical aspects are addressed with care, often using minimal assumptions.
The present version contains substantial changes with respect to the first edition. Part I on unconstrained optimization has been completed with a section on quadratic programming. Part II on nonsmooth optimization has been thoroughly reorganized and expanded. In addition, nontrivial application problems have been inserted, in the form of computational exercises. These should help the reader to get a better understanding of optimization methods beyond their abstract description, by addressing important features to be taken into account when passing to implementation of any numerical algorithm.
This level of detail is intended to familiarize the reader with some of the crucial questions of numerical optimization: how algorithms operate, why they converge, difficulties that may be encountered and their possible remedies.