The starting point in the formulation of any numerical problem is to take an intuitive idea about the problem in question and to translate it into precise mathematical language. This book provides step-by-step descriptions of how to formulate numerical problems and develops techniques for solving them. A number of engineering case studies motivate the development of efficient algorithms that involve, in some cases, transformation of the problem from its initial formulation into a more tractable form. Five general problem classes are considered: linear systems of equations, non-linear systems of equations, unconstrained optimization, equality-constrained optimization and inequality-constrained optimization. The book contains many worked examples and homework exercises and is suitable for students of engineering or operations research taking courses in optimization. Supplementary material including solutions, lecture slides and appendices are available online at www.cambridge.org/9780521855648.ContentsList of illustrations; Preface; 1. Introduction; 2. Problems, algorithms and solutions; 3. Transformation of problems; Part I: Linear simultaneous equations; 4. Case studies; 5. Algorithms; Part II: Non-linear simultaneous equations; 6. Case Studies; 7. Algorithms; 8. Solution of the case studies; Part III: Unconstrained optimization; 9. Case studies; 10 Algorithms; 11. Solution of the case studies; Part IV: Equality-constrained optimization; 12. Case studies; 13. Algorithms for linear constraints; 14. Algorithms for non-linear constraints; Part V: Inequality-constrained optimization; 15. Case studies; 16. Algorithms for non-negativity constraints; 17. Algorithms for linear constraints; 18. Solution of the linearly constrained case studies; 19. Algorithms for non-linear constraints; 20. Solution of the non-linearly constrained case studies; References; Index; Appendices.