You are here

Introduction to Applied Optimization

Urmila Diwekar
Publication Date: 
Number of Pages: 
Springer Optimization and Its Applications 22
[Reviewed by
John D. Cook
, on

Urmila Diwekar's book Introduction to Applied Optimization, second edition, opens with the following quote from Leonard Euler.

Since the fabric of the universe is most perfect, and is the work of a most wise Creator, nothing whatsoever takes place in the universe in which some form of maximum and minimum does not appear.

This quote was widely ridiculed when I was in college, and yet as I get older, I see more truth in it. Many systems that I once thought were clearly sub-optimal I now believe actually are optimal. These systems may be optimal according to criteria that were not obvious, or they may be optimal subject to constraints that I had not considered. For example, apparently irrational behavior is often perfectly rational once you understand a person's incentives. Rather than asking whether a system is optimal, it is often useful to ask under what criteria and constraints the system is optimal.

Writing a book is a sort of optimization problem, in fact a multi-objective optimization problem. The author has several criteria that he or she seeks to optimize: scope, depth, accessibility, length, effort, etc. And certainly an author works under personal and professional constraints, as well as constraints imposed by editors and publishers. And as Diwekar points out in her book, multi-objective optimization problems are messy. Objectives are in tension with one another, and explicitly stating one's preferences between various options can be more work than many are willing to carry out.

How does Introduction to Applied Optimization address the problem of multiple criteria? For starters, consider scope and length. We would all like books that tell us everything about a subject in just a few pages. Obviously these criteria are in conflict. Diwekar's book covers a wide variety of optimization topics, including some recent developments, in under 300 pages. The table of contents gives an indication of the book's scope, covering linear and nonlinear programming, discrete optimization, and more subtle situations involving uncertainty, multiple objectives, and control. We could imagine the author solving the problem of covering as much material as possible in a book short enough that she could finish in a reasonable time and short enough that readers would be willing to go through it.

Next consider the criteria of accessibility and rigor. The book definitely places more emphasis on the former than the latter. It contains many concrete examples, diagrams, and expository discussions. It does not, however, contain much careful theory. The lack of theory is not a flaw but a choice of optimization criteria: a book covering such a variety of problems cannot be accessible to a wide audience and also contain a great deal of rigorous theory. Readers preferring more emphasis on theory, particularly the unification of linear and non-linear optimization techniques, may prefer to read Convex Optimization by Stephen Boyd or Nonlinear Programming by Dimitri P. Bertsekas.

Diwekar gives practical advice on the selection of optimization methods, taking into account not only mathematical criteria such as algorithm efficiency and stability, but also human criteria such as the willingness of clients to provide certain information and the ability of clients to interpret results. Here is a quote from the book along these lines.

Overall, selecting an appropriate multiobjective optimization method itself is a problem with multiple objectives, as a large variety of methods exist for these problems and none can claim to be superior to the others in every aspect.

The book would be suitable as a textbook; it contains numerous exercises and a solutions manual is available. However, an instructor using the book may need to provide supplementary material, since no single topic is covered in great detail. The final chapter requires significantly more mathematical sophistication than the earlier chapters. An instructor may wish to assign this chapter to an advanced student for self-study.

John D. Cook is a research statistician at M. D. Anderson Cancer Center and a blogger.


1. Introduction

2. Linear Programming

3. Nonlinear Programming

4. Discrete Optimization

5. Optimization under Uncertainty

6. Multi-objective Optimization

7. Optimal Control and Dynamic Optimization