What, Another Textbook? or How This Book Was Born

Those who write tomes of mostly unreadable stuff owe it to their readers to explain what drove them to it. 

Like most textbooks, this work grew out of an increasingly large collection of handouts that were distributed to students over a twenty-year period of teaching the undergraduate operations research class to Industrial Engineering students. It was my favorite class to teach and there was much good natured ribbing from the students as their notebooks bulged more and more with LP handouts to explain things that the textbook did not. After a few semesters they quit buying the assigned textbook because they claimed it wasn't needed. "Hey, Mama Grosh, why don't you just write your own book?" Good idea! Here it is.

The purpose of this monograph is to fill a gap in the linear programming literature, that of explaining the steps that are illustrated but not always fully explained in every elementary operations book— the steps that lead from the elementary and intuitive graphical method of solution to the more advanced simplex tableau method.

Make no mistake: not everybody needs to learn this material! Most of the world, even those technically trained, can get along very well by seeing a few illustrations of simple linear programming problems solved graphically, followed by instruction in the use of computer software for solving real-world problems. But there needs to be a coterie of initiates who understand the process well enough to explain it to others, to know what the pitfalls, ramifications and special cases are, and to provide further developments.

After I had been assigned to teach Linear Programming the first time -- without ever having studied it, I learned it by turning from one textbook to another in a frantic search for the secrets. A mathematician friend once confided that he had tried to learn the subject by himself and found it difficult to do. I have used an informal narrative style with a number of worked out examples and  detailed explanations, to put the topic within reach of those lonely souls who must study without a teacher, as my friend and I did..

The goal in linear programming is to design optimal production schedules, i.e. to allocate resources in such a way that a quantitative goal is achieved in the best way possible, subject to some set of  inherent limitations.  The aim might be to maximize profit or it might be to minimize the idle time of a new expensive machine. The inherent limitations are usually assumed to be factors like raw material availability, plant capacity, labor pool, etc.

All the illustrations are elementary (toy problems, really)  because the goal is to learn what linear programming procedures are about, recognizing that after you learn to understand the process you will rely on good computer software to carry out the calculations.