Provides an introduction to the applications, theory, and algorithms of linear and nonlinear optimization. The emphasis is on practical aspects - discussing modern algorithms, as well as the influence of theory on the interpretation of solutions or on the design of software. The book includes several examples of realistic optimization models that address important applications. The succinct style of this second edition is punctuated with numerous real-life examples and exercises, and the authors include accessible explanations of topics that are not often mentioned in textbooks, such as duality in nonlinear optimization, primal-dual methods for nonlinear optimization, filter methods, and applications such as support-vector machines. The book is designed to be flexible. It has a modular structure, and uses consistent notation and terminology throughout. It can be used in many different ways, in many different courses, and at many different levels of sophistication.