Introduction
Mathematical optimization is a wide area of applied mathematics. It consists of finding the best solution to a given problem. Many real-world problems can be expressed in an optimization framework. What is the shortest path on the road from point A to point B? What is the best strategy to solve a puzzle? What is the most energy-efficient shape of a car (automotive aerodynamics)? Mathematical optimization is relevant in many domains including engineering, economics, finance, operations research, image processing, data analysis, and others.
Mathematically, an optimization problem consists of finding the maximum or minimum value of a function. We sometimes use the terms continuous optimization or discrete optimization, according to whether the function variable is real-valued or discrete.
In this chapter, we will focus on numerical methods for solving continuous optimization problems. Many optimization algorithms are implemented in the scipy.optimize
module. We will come across...