This undergraduate textbook introduces students of science and engineering to the fascinating field of optimization. It is a unique book that brings together the subfields of mathematical programming, variational calculus, and optimal control, thus giving students an overall view of all aspects of optimization in a single reference. As a primer on optimization, its main goal is to provide a succinct and accessible introduction to linear programming, nonlinear programming, numerical optimization algorithms, variational problems, dynamic programming, and optimal control. Prerequisites have been kept to a minimum, although a basic knowledge of calculus, linear algebra, and differential equations is assumed. There are numerous examples, illustrations, and exercises throughout the text, making it an ideal book for self-study. Applied mathematicians, physicists, engineers, and scientists will all find this introduction to optimization extremely useful.