## Numerical Optimization : How does it work ?

### INTRODUCTION

1
**Numerical optimization** is the process of finding the best solution for a given problem using simulation software
and optimization software.

#### Here are a few examples of typical optimization applications:

1. What is the best **shape** of an airplane wing that will minimize the fuel consumption, minimize the construction cost?

2. What is the best **shape** of the impeller blades of a car turbocharger that will maximize the pressure ratio on a wide range of operating conditions?

3. What is the best **bridge** structure and beam thicknesses that will minimize the price while maintaining a sufficient safety margin with respect to the
bridge resistance and life cycle constraints?

4. What is the best **insulation thicknesses** on the wall, floor and roof than will allow to meet the
energy consumption objectives while minimizing the construction costs.

Mathematically speaking, numerical optimization is the process of finding the minimum (or maximum) of a mathematical function.

### Step 1 - You have a simulation program

2
The first ingredient is to have a ** simulation software**. A simulation software is a software capable to evaluate one
configuration of the application being optimized.
Simulation is a broad term used to describe computer simulation technologies and programs.
Here are a few examples:

1. For the design of a shape such as the example of the airplane wing or car turbocharger, the simulation software is generally a CFD (Computational Fluid Dynamic) software.

2. For the example of ressource allocation, it could be a simple excel sheet computing the operating revenue as a function of the worker allocation.

3. For the bridge example it can be a CSM (Somputational Structural Mechanics) software able to compute the mechanical stresses based on the bridge geometry definition.

4. In engineering, simulation software is based on the process of modeling a real phenomenon with a set of mathematical formulas. All fields are possible: fluid, structure, electronic, multi-physics, ...

5. It can also be a simulation in a Excel sheet. All fields are possible : building cost, manufacturing cost, ...

6. It can also be your own simulation program

All these simulation programs are able to compute in a fully automated way the performance or responses of the process or design you want to optimize based on the value of design variables

#### Some definitions

__ Design variables__ are the variables allowing to define the configuration of the application (i.e the
parameters defining the wing shape of the airplane).

1. For the airplane example, the design variables are the geometrical parameters defining the airplane wings.

2. For the turbocharger example, the design variables are parameters defining the shape of the impeller blades or wheel.

3. For the resource allocation application, the design variables are the assignement of resources per task at given period of time

4. For the bridge optimization, the design variables are the parameters defining the length and thicknesses of the bridge structures and beams.

__ Responses variables__ are variables computed by the analysis software based on the design variables. For the airplan example,
the responses are the wing lift and drag as well as the manufacturing cost, manintenance cost and life expectation. For the
turbocharger example,

### Step 2 - You want to optimize some performance

3
All these simulation programs are able to compute in a fully automated way the performance or responses
of the process or design you want to optimize based on the value of design variables

The second ingredient is to have a __ numerical optimization software__ capable to find the set of design variables
leading to the best solution for the application being optimized. The numercial optimization process will continuously modify the
design variables in order to maximize your objective.