Algorithmic Principles of Mathematical Programming investigates the mathematical structures and principles underlying the design of efficient algorithms for optimization problems. Recent advances in algorithmic theory have shown that the traditionally separate areas of discrete optimization, linear programming, and nonlinear optimization are closely linked. This book offers a comprehensive introduction to the whole subject and leads the reader to the frontiers of current research. The prerequisites to use the book are very elementary. All the tools from numerical linear algebra and calculus are fully reviewed and developed. Rather than attempting to be encyclopedic, the book illustrates the important basic techniques with typical problems. The focus is on efficient algorithms with respect to practical usefulness. Algorithmic complexity theory is presented with the goal of helping the reader understand the concepts without having to become a theoretical specialist. Further theory is outlined and supplemented with pointers to the relevant literature.
The book is equally suited for self-study for a motivated beginner and for a comprehensive course on the principles of mathematical programming within an applied mathematics or computer science curriculum at advanced undergraduate or graduate level. The presentation of the material is such that smaller modules on discrete optimization, linear programming, and nonlinear optimization can easily be extracted separately and used for shorter specialized courses on these subjects.