"Is it inevitable that when describing a system we inherently improve it? The author takes the reader, with patience (and humor), to the discovery of algorithmic methods to address this issue. Characterized by a progressive and comprehensive approach, amply supported with examples, exercises, and personal projects, this book tackles the extent of optimization with quality documentation, and a constant pedagogical concern and a constant focus on relevant illustrations. It offers an excellent introduction to the subject in full swing, both from the point of view of applications, today countless, as well as for gaining a deeper understanding of the principles."—Prof. Philippe Toint, Department of Mathematics, University of Namur, Belgium"An excellent introduction to optimization, in full swing."—Prof. Philippe Toint, Department of Mathematics, University of Namur, Belgium"This book is a useful introduction to non-linear programming for engineering students."—Prof. Joseph Bonnans, Centre de Mathématiques Appliquées Ecole Polytechnique, France