The purpose of this chapter is not to make the reader an expert on all aspects of mathematical optimization but to provide a broad overview of the field. The beginning sections introduce the terminology of optimization and the ways in which problems and their solutions are formulated and classified. Subsequent sections consider the most appropriate methods for several classes of optimization problems, with emphasis placed on powerful, versatile algorithms well suited to optimizing functions of many variables on high performance computational platforms. High-performance computational issues, such as vectorization and parallelization of optimization codes, are beyond the scope of this chapter. This field is still in its infancy at this time, with general strategies adopted from numerical linear algebra codes. However, the last section contains a brief overview of possible approaches.

(See the Linear Algebra chapter.)

- 1.1 Definitions
- 1.2 Classifications
- 1.3 Optimality Conditions
- 1.4 Numerical Example and Programming Notes