INTRODUCTION TO MATHEMATICAL PROGRAMMING, APPLICATIONS AND ALGORITHMS (SECOND EDITION)
by Wayne L. Winston Duxbury Press, Belmont, CA 94002, 1995, 818pp.
This is not a new book, but I feel it is so outstanding that it should receive some attention. Recently, I had the opportunity to teach a class on linear optimization. Most of the students in this course are industrial engineering majors. I required a textbook that contained the necessary mathematics, but would be accessible to my class, and this book was an ideal match.
The biggest asset of this text is the vast collection of applications that the author uses in the exercises and in the context of each subsection. There is an excellent mix of textbook problems as well as applications that come from industry and science. The familiar question, "Where am I going to use this stuff?" was never uttered in this class since the book did such a wonderful job of tying everything to applications. Many textbooks for this kind of class contain examples of applications, but Winston makes a notable effort in casting a wide net when finding applications for the material.
This is a particularly perspicuous textbook. Students seemed to have an easy time reading it since it has small chapter sections, skillfully selected examples, and accessible prose. As a result, I was able to rely on the students reading their book, which allowed me to allocate more class time for small group work and to strive for a higher level of comprehension of the material.
The text is not without difficulties. Although the title includes the words "Mathematical" and "Programming", it would be fair to say the book is not highly mathematical nor does it involve a whole lot of programming. The author avoids content that is mathematically intensive and keeps his focus on an audience that would prefer to avoid mathematical details. There is little in the way of programming, with some consideration on interpreting the results from pre-packaged software. However, I believe that a majority of students taking linear programming match this target audience quite well.
Winston provides enough material to accommodate a year-long course. For a semester course, there is a dilemma as to what to cover. Chapter 1 is a short introduction and Chapter 2 is a crash course in matrix theory. The third chapter covers what a linear programming (LP) problem is and introduces the vocabulary that is used in the subsequent chapters. A complication with this chapter is that considerable time is spent formulating numerous examples of LP problems, whereas the algorithm used to solve these problems awaits, but in Chapter 4. It might be advisable to cover only part of Chapter 3 in order to move more quickly onto solving LP problems. …