With the large number of linear programming books already
in print, one wonders what a new book can add to the existing resources.
Therefore the criteria used to evaluate this book were whether it added
to the existing literature, how easily it read, how easily could it be
used, and how did it integrate the concepts of interior point methods into
the general discussion. Based on these criteria the book was a pleasant
surprise.

The book consists of three distinct parts. Part I is
a classical overview and development of linear programming (LP). The authors
do not plow any new ground here and do not attempt anything that is pedagogically
daring. However, their writing style and use of examples are very good.
In particular, the authors are to be lauded for devoting a whole chapter
to the modeling process. This is one of the most important aspects of mathematical
programming, yet is often overlooked or given only cursory treatment in
most texts. The authors also do a good job of leading the reader through
the foundations of the simplex method so that an understanding of the concepts
is developed before the nuts and bolts of the method are discussed. This
is important since it is the understanding that is desired, not the ability
to do the simplex method by hand. Part I also includes a section on alternative
methods for LP in which the ellipsoid method, the affine method, and the
projective method are discussed. This Chapter was slightly disappointing
in that it did not truly integrate concepts with the rest of the chapters.
But this is true of every LP book on the market. The authors do make a
wise choice in presenting the affine method in detail instead of the projective
method but fail to note that the affine method has not, as of yet, been
shown to be polynomial. The exercises for this section are somewhat limited
as well. Part I concludes with one of the highlights and strengths of this
text, which is a chapter on applications of LP. This chapter discusses
a variety of different, interesting, and entertaining applications such
as pattern classification, cluster analysis, and neural network design.
It is well written and gives excellent insight into the flexibility and
power of LP.

The second part of the book deals with network and integer
models. Again, the authors' presentation is classical in nature, but well
done. Part II starts with the introduction of networks and the development
of the network simplex method. As before, emphasis is on conceptual understanding,
not just computational development. After establishing the network simplex
method, the transportation and assignment methods are discussed. These,
however, are the only network models presented. A cursory treatment of
integer programming is presented next in which the classic concepts of
branch and bound and implicit enumeration are presented. Another highlight
of the text concludes this part. This is a chapter devoted to heuristic
programming. This is an area that has grown considerably over the last
decade and deserves more recognition and treatment than it has received
in texts thus far. The authors do an excellent job of presenting basic
types of heuristics, their usefulness, their applications, and the concept
of metaheuristics. The summaries and observations for genetic algorithms,
simulated annealing, and tabu search give the reader a good feel for these
methods and their limitations.

The third part of this text is probably what sets it
apart from other texts. This part deals with multiobjective optimization.
It is thorough, yet easily accessible and discusses in detail one of the
newer approaches in the field, the multiplex method. All aspects of the
method are discussed including duality results and several variants of
the method are also presented. In addition, examples and a discussion of
modeling and formulation issues are given.

In summary, this is a well written text that can be used
in three basic ways. The first is to use Part I of the text as an undergraduate
course on LP. The second would be to use Part I and sections of Part II
for an advanced course on LP. Lastly, the third would be to use Part III
for a course on multiobjective optimization. The highlights of the text
are the chapters on modeling, LP applications and heuristic programming,
and Part III of the text dealing with the multiplex method. The strengths
of the text are its conceptual developments and emphasis on understanding
of the material. This is a book that is worth consideration as a class
text and that would make a nice library edition.

**Cerry M. Klein, Department of Industrial Engineering,
University of Missouri, Columbia, MO 65203.**