mathematical programminig
TRANSCRIPT
BOOK REVIEWS
where the number of variables considerably exceeds the number ofconstraints. Upper bounding methods are also discussed in this chapter.Partitioning procedures are extended to NLP cases in Chapter 7.Particular attention is given to Rosen's algorithm and Benders'partitioning algorithm for mixed-variable programming (appearingfor the first time in a textbook). Chapter 8 is dedicated to the subjectof duality and decomposition. It includes the subjects of saddlepoints, Everett's theorem, integer 0-1 problems, gradient algorithmsfor solving the dual optimal control of discrete time dynamic systems,and scheduling problems. It is indeed one of the most informativechapters in the book. The author concludes by decomposition byright-hand-side allocation in Chapter 9, reflecting the contributions ofSilverman and Geoffrion. The book includes two appendices onconvex functions.The book is clearly and attractively written. It contains numerous
examples, applications, problems, and references. Despite its ap-parent narrowness in scope, it is a good candidate for a textbook in agraduate course in operations research or systems engineering. Withthe advent of numerous multivariable and complicated problemsfacing our society, it is quite conceivable that a special course dedicatedexclusively to the methods of solution of large-scale systems could beoffered. This book could be actively used in such a course as well asin other optimization courses.
DANIEL TABAKHartford Graduate Center
Rensselaer Polytech. Inst. of Conn.East Windsor Hill, Conn. 06028
Mathematical Programminig-Claude McMillan, Jr. (New York:Wiley, 1970, 496 pp.)
This book constitutes a comprehensive introduction to the varioustechniques of mathematical programming. The book tries to exposenonmathematicians to the concepts and applications of mathematicalprogramming without going into the theory and proofs of varioustechniques. In only 13 chapters the author has covered a lot of groundby including a wide variety of topics. The nonmathematical approachto such topics as nonlinear programming, dynamic programming,branch and bound techniques, and 0-1 programming is commendable.Most of the techniques are presented through examples, and verylittle effort is made to present the reader with the theory of the technique.In fact the whole book appears to be a collection ofwell-chosen examplesto demonstrate the existence of various techniques. In short the author,through examples, has presented a comprehensive documentation of awide variety of techniques in mathematical programming. The bookshould prove useful for practicing managers and as an introductorytext for undergraduate courses in mathematical programming.The book begins with a preface where the author gives the concept
of optimization and suboptimization and a preview of the followingchapters. Chapter 1 starts with a simple two-products and two-machine linear programming problem. The simplex procedure isintroduced through the use of Gauss-Jordan elimination. No mentionis made of the two-phase method. The chapter ends with some examplesof nonlinear programming problems and their solution throughexhaustive search. The inclusion of this section in Chapter 1 seems tobe out of place. The chapter succeeds in presenting a very simplecookbook approach to linear programming.
In Chapter 2, the author discusses some of the terminology andproperties of functions. The concepts are presented in a very simplenonmathematical and straightforward manner. A liberal use of figuresshould help the reader to understand the chapter rather easily. Chapter
3, in the words of the author (p. 78), is unnecessary for those who arefamiliar with differential calculus. This chapter is merely a review ofhigh-school calculus. Chapter 4 is an extension of Chapter 3 to func-tions of more than one variable and introduces the method of Lagrangemultipliers. The chapter is well versed with examples and is very wellpresented in a simple manner.
Gradient methods of optimization are discussed in Chapter 5. Thischapter starts with an introductory discussion of vector algebra anddiscusses the gradient technique of optimization in general. There is nomention of the various search techniques, especially direct-searchtechniques. The reference list fails to mention important works in thisarea [1], [2]. Chapter 6 discusses methods based on simplex algorithms tosolve nonlinear programming problems with continuous functions.Topics covered include quadratic programming, separable program-ming, and sequential search methods. Quadratic programming andseparable programming are covered in excellent detail through the useof simple examples, but there is very little explanation on convexprogramming. Once again, the list of references could easily be ex-panded [3], [4]. Chapter 7 is devoted to the treatment of geometricprogramming. The nonmathematical coverage of this topic is quitepleasing and should not prove taxing on the part of the reader.Dynamic programming is the subject of study in Chapter 8. The
author makes no effort to introduce the concepts of dynamic program-ming in general terms: the chapter is completely devoted to examplesand should serve the purpose of introducing the reader to dynamicprogramming. Chapter 9 presents the branch and bound algorithm,This chapter, like the preceding one, is a collection of various examplessolved through the use of branch and bound technique. Here again,some important references could easily be added to the list of referencesprovided [5], [6].
Integer linear programming is the topic of Chapter 10. Two methodsof solving integer and mixed integer programming problems arepresented. Gomory's cutting plane method and the branch and boundmethods are presented through the use of example problems. Thenext two chapters are concerned with binary or 0-1 programming.Chapter 12 is merely an extension of Chapter 11. A wide variety ofproblems are formulated in terms of 0-1 programming. Chapter 12discusses Balas algorithm through the use of an example. These twochapters give a very good cookbook exposure to 0-1 programmingand should prove interesting to the reader.The last chapter deals with the growing area of heuristic program-
ming. Here again, the author has tried to demonstrate the applicationof heuristics through examples on resource allocation and assemblyline balancing. The references at the end are quite adequate. Theauthor has provided a number of appendices. Appendices A, C, H,and I give Fortran programs for various techniques discussed in thetext. There is an appendix provided for matrix algebra, testing ofconvexity-concavity, Newton-Raphson method, and vector projection.On the whole, the book is well written and easy to read. Because of
its versatility and numerous examples and problems, it could serve as a
standard textbook for an introductory course in mathematical program-ming. It is very pleasing to see such a wide variety of topics coveredin one book. The book could also serve as a self-study text forbusinessmen.
RAMESH C. JAINHartford Graduate Center
Rensselaer Polytech. Inst. of Conn.East Windsor Hill, Conn. 06028
REFERENCES[I] A. Lavi and T. Vogel, Recent Advances in Optimiiization Techniques. New York:
Wiley, 1965.[2] D. J. Wilde, Optimum Seeking Methods. Englewood Cliffs, N.J.: Prentice-Hall,
1964.[3] H. P. Knnzi, W. Krelle, and W. Oettli, Nonlinear Programming. Waltham,
Mass.: Blaisdell, 1966.[4] W. I. Zangwill, Nonlinear Programming. Englewood Cliffs, N.J.: Prentice-Hall,
1969._[5] N. Agin, "Optimum seeking with branch and bound," Manag. Sci., vol. 13,
1966, pp. B176-BI85.[6] L. G. Mitten, "Branch and bound methods, general formulation and properties,"
Oper. Res., vol. 18, 1970, p. 24.
301