1. Introduction; 2. A short history of optimization; 3. Numerical models and solvers; 4. Unconstrained gradient-based optimization; 5. Constrained gradient-based optimization; 6. Computing derivatives; 7. Gradient-free optimization; 8. Discrete optimization; 9. Multiobjective optimization; 10. Surrogate-based optimization; 11. Convex optimization; 12. Optimization under uncertainity; 13. Multidisciplinary design optimization; A. Mathematics background; B. Linear solvers; C. Quasi-Newton methods; D. Test problems.